Next: External Lisp, Previous: Lisp Debug, Up: Running [Contents][Index]
The buffer ‘*scratch*’, which is selected when Emacs starts up, is provided for evaluating Lisp expressions interactively inside Emacs. Both the expressions you evaluate and their output goes in the buffer.
The ‘*scratch*’ buffer’s major mode is Lisp Interaction mode, which
is the same as Emacs-Lisp mode except for one command, LFD. In
Emacs-Lisp mode, LFD is an indentation command. In Lisp
Interaction mode, LFD is bound to eval-print-last-sexp
. This
function reads the Lisp expression before point, evaluates it, and inserts
the value in printed representation before point.
The way to use the ‘*scratch*’ buffer is to insert Lisp expressions at the end, ending each one with LFD so that it will be evaluated. The result is a complete typescript of the expressions you have evaluated and their values.
The rationale for this feature is that Emacs must have a buffer when it starts up, but that buffer is not useful for editing files since a new buffer is made for every file that you visit. The Lisp interpreter typescript is the most useful thing I can think of for the initial buffer to do. M-x lisp-interaction-mode will put any buffer in Lisp Interaction mode.