Superior Elisp mode for Emacs
git clone
Log | Files | Refs | LICENSE

selime.el – SLIME emulation for Emacs Lisp

selime.el – SLIME emulation for Emacs Lisp

This package is my attempt at recreating some features of SLIME for Elisp.



Download selime.el, and use M-x package-install-file RET path/to/selime.el.


Evaluate the following:

 '(selime :type git
          :flavor melpa
          :repo "git://"))

Manual installation

  1. Download selime.el
  2. Stick it in load-path
  3. Update autoloads
  4. (optionally) byte-compile it



Selime adds the following keybindings for byte-compilation:

C-c C-c Compile top-level form
C-c C-e Compile last s-expression
C-c M-k Compile the buffer's file, without loading it
C-c C-k Compile and load the current buffer


Selime binds the following keys for documentation:

Note: If the package helpful is installed, selime uses helpful's variants of these functions.

C-c C-d C-d Describe symbol
C-c C-d d Describe symbol
C-c C-d C-f Describe function
C-c C-d f Describe function
C-c C-d C-v Describe variable
C-c C-d v Describe variable


Selime defines a function, selime-ielm, which acts more like slime-switch-to-output-buffer. With a prefix argument (C-u), you can select the name for the IELM buffer.

C-c C-z Switch to IELM in other window


If point is on a function, disassemble it. Otherwise, prompt for a function name.

C-c M-d Disassemble function at point


Like SLIME, C-c C-t toggles tracing of a function. The function name is read from the minibuffer, with the symbol at point being the default input.

C-c C-t Toggle trace


Selime implements a very minimal (i.e. crap) form of macro expansion. The command selime-macroexpand will open a new buffer containing the expansion of the s-expression around point.

C-c RET Macroexpand sexp around point

TODO Integrate with macrostep