summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lispref/buffers.texi19
1 files changed, 16 insertions, 3 deletions
diff --git a/lispref/buffers.texi b/lispref/buffers.texi
index a01d7e56922..de2d43052d9 100644
--- a/lispref/buffers.texi
+++ b/lispref/buffers.texi
@@ -646,11 +646,24 @@ begin with a space. The elements are actual buffers, not their names.
"buffer.c" "*Help*" "TAGS")
@end group
@end example
-
-This list is a copy of a list used inside Emacs; modifying it has no
-effect on the ordering of buffers.
@end defun
+ The list that @code{buffer-list} returns is constructed specifically
+by @code{buffer-list}; it is not an internal Emacs data structure, and
+modifying it has no effect on the order of buffers. If you want to
+change the order of buffers in the list, here is an easy way:
+
+@example
+(defun reorder-buffer-list (new-list)
+ (while new-list
+ (bury-buffer (car new-list))
+ (setq new-list (cdr new-list))))
+@end example
+
+ With this method, you can specify any order for the list, but there is
+no danger of losing a buffer or adding something that is not a valid
+live buffer.
+
@defun other-buffer &optional buffer visible-ok
This function returns the first buffer in the buffer list other than
@var{buffer}. Usually this is the buffer most recently shown in