Emacs: Evaluate Elisp Code

By Xah Lee. Date: . Last updated: .

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