Emacs: Evaluate Elisp Code

By Xah Lee. Date: . Last updated: .

Evaluate Elisp Code

Here's ways to eval elisp code, roughly in order of usefulness:

Alt+x eval-last-sexpCtrl+x Ctrl+e
Eval lisp expression to the left of cursor.

Result is placed in Messages Buffer, and temporarily displayed at bottom.

emacs lisp eval 2022-07-25
eval emacs lisp code
Alt+x eval-region
Eval text selection.
Alt+x eval-buffer
Eval whole buffer.
Alt+x load-file
Eval a file. It prompts for a filename.
Alt+x eval-defun
Eval function definition the cursor is in. (the elisp code must be well-indended, otherwise emacs may have problem finding function.) 〔see Emacs: narrow-to-defun, eval-defun, bug
Alt+x eval-expression
Prompts you to type a emacs lisp expression.

Emacs Lisp Command Line Interface (REPL)

Alt+x ielm to start emacs interactive emacs lisp shell.

emacs elisp REPL ielm 2017 01 04
emacs lisp interactive command line interface (REPL) ielm

I recommend working in a buffer instead of REPL.

Working in a buffer (sometimes called notebook inteface) allows you to use full editing power, and eval any expression, in any order, anytime, anywhere. 〔see Command Line Interface (REPL) vs Notebook Interface

Working with Elisp