27.10 Lisp Interaction Buffers

When Emacs starts up, it contains a buffer named *scratch*,
which is provided for evaluating Emacs Lisp expressions interactively.
Its major mode is Lisp Interaction mode. You can also enable Lisp
Interaction mode by typing M-x lisp-interaction-mode.

In the *scratch* buffer, and other Lisp Interaction mode
buffers, C-j (eval-print-last-sexp) evaluates the Lisp
expression before point, and inserts the value at point. Thus, as you
type expressions into the buffer followed by C-j after each
expression, the buffer records a transcript of the evaluated
expressions and their values. All other commands in Lisp Interaction
mode are the same as in Emacs Lisp mode.

At startup, the *scratch* buffer contains a short message, in
the form of a Lisp comment, that explains what it is for. This
message is controlled by the variable initial-scratch-message,
which should be either a string, or nil (which means to
suppress the message).

An alternative way of evaluating Emacs Lisp expressions
interactively is to use Inferior Emacs Lisp mode, which provides an
interface rather like Shell mode (see Shell Mode) for evaluating
Emacs Lisp expressions. Type M-x ielm to create an
*ielm* buffer which uses this mode. For more information, see
that command’s documentation.