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.
- C-c C-u
- M-x slime-undefine-function
-
Undefine the function, with
fmakunbound
, for the symbol at
point.