Creating Buffers
This section describes the two primitives for creating buffers. get-buffer-create
creates a buffer if it finds no existing buffer with the specified name; generate-new-buffer
always creates a new buffer and gives it a unique name.
Other functions you can use to create buffers include with-output-to-temp-buffer
(see Temporary Displays) and create-file-buffer
(see Visiting Files). Starting a subprocess can also create a buffer (see Processes).
- Function: get-buffer-create buffer-or-name
-
This function returns a buffer named buffer-or-name. The buffer returned does not become the current buffer—this function does not change which buffer is current.
buffer-or-name must be either a string or an existing buffer. If it is a string and a live buffer with that name already exists,
get-buffer-create
returns that buffer. If no such buffer exists, it creates a new buffer. If buffer-or-name is a buffer instead of a string, it is returned as given, even if it is dead.(get-buffer-create "foo") ⇒ #<buffer foo>
The major mode for a newly created buffer is set to Fundamental mode. (The default value of the variable
major-mode
is handled at a higher level; see Auto Major Mode.) If the name begins with a space, the buffer initially disables undo information recording (see Undo).
- Function: generate-new-buffer name
-
This function returns a newly created, empty buffer, but does not make it current. The name of the buffer is generated by passing name to the function
generate-new-buffer-name
(see Buffer Names). Thus, if there is no buffer named name, then that is the name of the new buffer; if that name is in use, a suffix of the form ‘<n>’, where n is an integer, is appended to name.An error is signaled if name is not a string.
(generate-new-buffer "bar") ⇒ #<buffer bar>
(generate-new-buffer "bar") ⇒ #<buffer bar<2>>
(generate-new-buffer "bar") ⇒ #<buffer bar<3>>
The major mode for the new buffer is set to Fundamental mode. The default value of the variable
major-mode
is handled at a higher level. See Auto Major Mode.
Copyright © 1990-1996, 1998-2021 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Creating-Buffers.html