@c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000, 2001
+@c Copyright (C) 1985, 86, 87, 93, 94, 95, 97, 2000, 2001, 2004
@c Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Buffers, Windows, Files, Top
A buffer's size cannot be larger than some maximum, which is defined
by the largest buffer position representable by the @dfn{Emacs integer}
data type. This is because Emacs tracks buffer positions using that
-data type. For 32-bit machines, the largest buffer size is 128
+data type. For 32-bit machines, the largest buffer size is 256
megabytes.
@menu
current buffer. Here is an example of a buffer list:@refill
@smallexample
-CRM Buffer Size Mode File
+CRM Buffer Size Mode File
. * .emacs 3294 Emacs-Lisp ~/.emacs
% *Help* 101 Help
search.c 86055 C ~/cvs/emacs/src/search.c
specify a name that is in use for some other buffer, an error happens and
no renaming is done.
- @kbd{M-x rename-uniquely} renames the current buffer to a similar name
-with a numeric suffix added to make it both different and unique. This
-command does not need an argument. It is useful for creating multiple
-shell buffers: if you rename the @samp{*Shell*} buffer, then do @kbd{M-x
-shell} again, it makes a new shell buffer named @samp{*Shell*};
-meanwhile, the old shell buffer continues to exist under its new name.
-This method is also good for mail buffers, compilation buffers, and most
-Emacs features that create special buffers with particular names.
+@findex rename-uniquely
+ @kbd{M-x rename-uniquely} renames the current buffer to a similar
+name with a numeric suffix added to make it both different and unique.
+This command does not need an argument. It is useful for creating
+multiple shell buffers: if you rename the @samp{*Shell*} buffer, then
+do @kbd{M-x shell} again, it makes a new shell buffer named
+@samp{*Shell*}; meanwhile, the old shell buffer continues to exist
+under its new name. This method is also good for mail buffers,
+compilation buffers, and most Emacs features that create special
+buffers with particular names. (With some of these features, such as
+@kbd{M-x compile}, @kbd{M-x grep} an @kbd{M-x info}, you need to
+switch to some other buffer before using the command, in order for it
+to make a different buffer.)
@findex view-buffer
@kbd{M-x view-buffer} is much like @kbd{M-x view-file} (@pxref{Misc
@item 1
Immediately select this line's buffer in a full-screen window.
@item 2
-Immediately set up two windows, with this line's buffer in one, and the
-previously current buffer (aside from the buffer @samp{*Buffer List*})
-in the other.
+Immediately set up two windows, with this line's buffer selected in
+one, and the previously current buffer (aside from the buffer
+@samp{*Buffer List*}) displayed in the other.
@item b
Bury the buffer listed on this line.
@item m
and select the buffer list manually, you can use all of the commands
described here.
- The buffer @samp{*Buffer List*} is not updated automatically when
+ Normally, the buffer @samp{*Buffer List*} is not updated automatically when
buffers are created and killed; its contents are just text. If you have
created, deleted or renamed buffers, the way to update @samp{*Buffer
List*} to show what you have done is to type @kbd{g}
(@code{revert-buffer}) or repeat the @code{buffer-menu} command.
+ The @samp{*Buffer List*} buffer does automatically update every
+@code{auto-revert-interval} seconds if you enable Auto Revert mode in
+it. (As long as it is not marked modified.) Global Auto Revert mode
+does not update the @samp{*Buffer List*} buffer by default, but it
+does if @code{global-auto-revert-non-file-buffers} is non-@code{nil}.
+@inforef{Autorevert,, emacs-xtra}, for details.
+
The command @code{buffer-menu-other-window} works the same as
@code{buffer-menu}, except that it displays the buffers list in
another window.
One way to use indirect buffers is to display multiple views of an
outline. @xref{Outline Views}.
-@cindex multiple @samp{*info*} and @samp{*Help*} buffers
A quick and handy way to make an indirect buffer is with the command
@kbd{M-x clone-indirect-buffer}. It creates and selects an indirect
buffer whose base buffer is the current buffer. With a numeric
argument, it prompts for the name of the indirect buffer; otherwise it
defaults to the name of the current buffer, modifying it by adding a
-@samp{<@var{n}>} prefix if required. @kbd{C-x 4 c}
+@samp{<@var{n}>} suffix if required. @kbd{C-x 4 c}
(@code{clone-indirect-buffer-other-window}) works like @kbd{M-x
-clone-indirect-buffer}, but it selects the cloned buffer in another
-window. These commands come in handy if you want to create new
-@samp{*info*} or @samp{*Help*} buffers, for example.
+clone-indirect-buffer}, but it selects the new buffer in another
+window.
- The more general way is with the command @kbd{M-x
-make-indirect-buffer}. It creates an indirect buffer from buffer
-@var{base-buffer}, under the name @var{indirect-name}. It prompts for
-both @var{base-buffer} and @var{indirect-name} using the minibuffer.
+ The more general way to make an indirect buffer is with the command
+@kbd{M-x make-indirect-buffer}. It creates an indirect buffer from
+buffer @var{base-buffer}, under the name @var{indirect-name}. It
+prompts for both @var{base-buffer} and @var{indirect-name} using the
+minibuffer.
@node Buffer Convenience
@section Convenience Features and Customization of Buffer Handling
prefer. It replaces the bindings of @code{mouse-buffer-menu},
normally on @kbd{C-Down-Mouse-1}, and the menu bar buffer menu. You
can customize the menu in the @code{msb} Custom group.
+
+@ignore
+ arch-tag: 08c43460-f4f4-4b43-9cb5-1ea9ad991695
+@end ignore