3.2 Evaluation commands

These commands each evaluate a Common Lisp expression in a different
way. Usually they mimic commands for evaluating Emacs Lisp code. By
default they show their results in the echo area, but a prefix
argument causes the results to be inserted in the current buffer.

C-x C-e

M-x slime-eval-last-expression

Evaluate the expression before point and show the result in the echo
area.

C-M-x

M-x slime-eval-defun

Evaluate the current toplevel form and show the result in the echo
area. ‘C-M-x’ treats ‘defvar’ expressions specially. Normally,
evaluating a ‘defvar’ expression does nothing if the variable it
defines already has a value. But ‘C-M-x’ unconditionally resets the
variable to the initial value specified in the ‘defvar’ expression.
This special feature is convenient for debugging Lisp programs.

If C-M-x or C-x C-e is given a numeric argument, it
inserts the value into the current buffer, rather than displaying it
in the echo area.

C-c :

M-x slime-interactive-eval

Evaluate an expression read from the minibuffer.

C-c C-r

M-x slime-eval-region

Evaluate the region.

C-c C-p

M-x slime-pprint-eval-last-expression

Evaluate the expression before point and pretty-print the result in a
fresh buffer.

C-c E

M-x slime-edit-value

Edit the value of a setf-able form in a new buffer *Edit <form>*.
The value is inserted into a temporary buffer for editing and then set
in Lisp when committed with C-c C-c.

C-x M-e

M-x slime-eval-last-expression-display-output

Display the output buffer and evaluate the expression preceding point.
This is useful if the expression writes something to the output stream.