@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998 Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999
+@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/buffers
@node Buffers, Windows, Backups and Auto-Saving, Top
@comment node-name, next, previous, up
@section Buffer Basics
-@ifinfo
+@ifnottex
A @dfn{buffer} is a Lisp object containing text to be edited. Buffers
are used to hold the contents of files that are being visited; there may
also be buffers that are not visiting files. Although several buffers
buffer} at any time. Most editing commands act on the contents of the
current buffer. Each buffer, including the current buffer, may or may
not be displayed in any windows.
-@end ifinfo
+@end ifnottex
Buffers in Emacs editing are objects that have distinct names and hold
text that can be edited. Buffers appear to Lisp programs as a special
Buffers that are ephemeral and generally uninteresting to the user
have names starting with a space, so that the @code{list-buffers} and
-@code{buffer-menu} commands don't mention them. A name starting with
+@code{buffer-menu} commands don't mention them (but if such a buffer
+visits a file, it @strong{is} mentioned). A name starting with
space also initially disables recording undo information; see
@ref{Undo}.
number inside of @samp{<@dots{}>}.
If the optional second argument @var{ignore} is non-@code{nil}, it
-should be buffer name in the sequence to be tried. That name will be
-considered acceptable, if it is tried, even if a buffer with that name
-exists.
+should be a string; it makes a difference if it is a name in the
+sequence of names to be tried. That name will be considered acceptable,
+if it is tried, even if a buffer with that name exists. Thus, if
+buffers named @samp{foo}, @samp{foo<2>}, @samp{foo<3>} and @samp{foo<4>}
+exist,
+
+@example
+(generate-new-buffer-name "foo")
+ @result{} "foo<5>"
+(generate-new-buffer-name "foo" "foo<3>")
+ @result{} "foo<3>"
+(generate-new-buffer-name "foo" "foo<6>")
+ @result{} "foo<5>"
+@end example
See the related function @code{generate-new-buffer} in @ref{Creating
Buffers}.
@defun other-buffer &optional buffer visible-ok frame
This function returns the first buffer in the buffer list other than
@var{buffer}. Usually this is the buffer selected most recently (in
-frame @var{frame} or else the currently selected frame), aside from
-@var{buffer}. Buffers whose names start with a space are not considered
-at all.
+frame @var{frame} or else the currently selected frame, @pxref{Input
+Focus}), aside from @var{buffer}. Buffers whose names start with a
+space are not considered at all.
If @var{buffer} is not supplied (or if it is not a buffer), then
@code{other-buffer} returns the first buffer in the selected frame's
Any processes that have this buffer as the @code{process-buffer} are
sent the @code{SIGHUP} signal, which normally causes them to terminate.
(The basic meaning of @code{SIGHUP} is that a dialup line has been
-disconnected.) @xref{Deleting Processes}.
+disconnected.) @xref{Signals to Processes}.
If the buffer is visiting a file and contains unsaved changes,
@code{kill-buffer} asks the user to confirm before the buffer is killed.