Add a command to recreate the *scratch* buffer

* doc/emacs/building.texi (Lisp Interaction): Mention it.
* lisp/simple.el (scratch-buffer): New command.
This commit is contained in:
Lars Ingebrigtsen 2022-05-02 12:26:31 +02:00
parent 2fba71cf1f
commit 10f347a062
3 changed files with 22 additions and 0 deletions

View file

@ -1742,6 +1742,10 @@ 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 @kbd{M-x lisp-interaction-mode}.
@findex scratch-buffer
If you kill the @file{*scratch*} buffer, you can recreate it with
the @kbd{M-x scratch-buffer} command.
@findex eval-print-last-sexp
@kindex C-j @r{(Lisp Interaction mode)}
In the @file{*scratch*} buffer, and other Lisp Interaction mode

View file

@ -707,6 +707,13 @@ script that was used in ancient South Asia. A new input method,
* Changes in Specialized Modes and Packages in Emacs 29.1
** Miscellaneous
+++
*** New command 'scratch-buffer'.
This switches to the *scratch* buffer. If it doesn't exist, create it
first.
** Debugging
*** New user option 'debug-allow-recursive-debug'.

View file

@ -10213,6 +10213,17 @@ This is an integer indicating the UTC offset in seconds, i.e.,
the number of seconds east of Greenwich.")
)
(defun scratch-buffer ()
"Switch to the \*scratch\* buffer.
If the buffer doesn't exist, create it first."
(interactive)
(if (get-buffer "*scratch*")
(pop-to-buffer-same-window "*scratch*")
(pop-to-buffer-same-window (get-buffer-create "*scratch*"))
(when initial-scratch-message
(insert initial-scratch-message))
(funcall initial-major-mode)))
(provide 'simple)