Each buffer has a unique name, which is a string. Many of the functions that work on buffers accept either a buffer or a buffer name as an argument. Any argument called buffer-or-name is of this sort, and an error is signaled if it is neither a string nor a buffer. Any argument called buffer must be an actual buffer object, not a name.
Buffers that are ephemeral and generally uninteresting to the user
have names starting with a space, so that the list-buffers
and
buffer-menu
commands don't mention them. A name starting with
space also initially disables recording undo information; see
section Undo.
If buffer-name
returns nil
, it means that buffer
has been killed. See section Killing Buffers.
(buffer-name) => "buffers.texi" (setq foo (get-buffer "temp")) => #<buffer temp> (kill-buffer foo) => nil (buffer-name foo) => nil foo => #<killed buffer>
Ordinarily, rename-buffer
signals an error if newname is
already in use. However, if unique is non-nil
, it modifies
newname to make a name that is not in use. Interactively, you can
make unique non-nil
with a numeric prefix argument.
One application of this command is to rename the `*shell*' buffer to some other name, thus making it possible to create a second shell buffer under the name `*shell*'.
nil
. If buffer-or-name is a buffer, it
is returned as given. (That is not very useful, so the argument is usually
a name.) For example:
(setq b (get-buffer "lewis")) => #<buffer lewis> (get-buffer b) => #<buffer lewis> (get-buffer "Frazzle-nots") => nil
See also the function get-buffer-create
in section Creating Buffers.
See the related function generate-new-buffer
in section Creating Buffers.
Go to the first, previous, next, last section, table of contents.