IELM: Inferior Emacs Lisp Mode

A nice little mode that acts like an interactive Lisp interpreter. It doesn’t do all the fancy shell stuff such as redirection – use the EmacsShell if you need that. IELM is an alternative to Lisp Interactive mode, which is the mode of buffer ‘*scratch*’.

Start it using ‘M-x ielm’. Then type ‘C-h m’ as usual for more help.

It’s real little read-eval-print loop (REPL).

IELM is a ComintMode.

Common customization

You can put this in your init file to enable eldoc mode by default:

    (defun my-ielm-mode-hook ()
    (add-hook 'ielm-mode-hook (lambda () (run-hooks 'my-ielm-mode-hook)))

If you use ParEdit, and already have it installed, you can enable it in IELM automatically by using this instead:

    (defun my-ielm-mode-hook ()
      (and (featurep 'paredit) (paredit-mode 1)))

Icicles Enhancements to IELM

You can use Icicles completion in IELM. Whenever there are multiple completion candidates, Icicles completion is used (if Icicle minor mode is on). This means you can cycle to choose a candidate, complete using one or more substrings or regexps (progressive completion), and so on. See Icicles - Completion in Comint Modes.

Emacs as an `inferior-lisp-program`

You can use emacs itself as an inferior-lisp-program ( link) which means you’re still sending lisp forms to an external process.