latest version 0.17.0

Linedit is a readline-style library written in Common Lisp that provides customizable line-editing features, licensed under a MIT-style license.

Linedit uses UFFI for foreign bindings, so it is a least theoretically portable, though REPL-wrapping is currently SBCL specific.



If you're not yet using Quicklisp, you should be! ...but if you need the tarball, latests release of Linedit can manually be downloaded from here: linedit_latest.tar.gz .

The bleeding edge is available from our Git repo:

git clone git://

Installing Linedit at the REPL from .sbclrc

;;; Check for --no-linedit command-line option.
(if (member "--no-linedit" sb-ext:*posix-argv* :test 'equal)
    (setf sb-ext:*posix-argv* 
	  (remove "--no-linedit" sb-ext:*posix-argv* :test 'equal))
    (when (interactive-stream-p *terminal-io*)
      (require :sb-aclrepl)
      (require :linedit)
      (funcall (intern "INSTALL-REPL" :linedit) :wrap-current t)))

Additionally, to prevent Linedit from causing trouble with Slime, in your .emacs:

(setq inferior-lisp-program "sbcl --noinform --no-linedit")

Terminfo note

Linedit uses terminfo.lisp by Paul Foley, which is currently kept mirrored in the Linedit CVS.

The terminfo interface is distributed available as a separate asdf-installable bundle: Terminfo.


Questions, feature requests, and bug-reports are welcome on linedit-devel.

Valid XHTML 1.1! Valid CSS!