summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Roberts <nickrob@snap.net.nz>2006-08-24 20:40:53 +0000
committerNick Roberts <nickrob@snap.net.nz>2006-08-24 20:40:53 +0000
commitfab45703d34ca5c8c0adea32a1731bc8b73d77db (patch)
tree0ed0e594f308dc03275264077f54f13a4e126983
parent6410aac93b73dae0e18f1df7c25fc945a33549bd (diff)
downloademacs-fab45703d34ca5c8c0adea32a1731bc8b73d77db.tar.gz
(Fswitch_to_buffer): Move buffer to front of
buffer-alist if necessary.
-rw-r--r--src/buffer.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 07d0f676aa2..f6c45852b51 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1684,9 +1684,13 @@ the window-buffer correspondences. */)
char *err;
if (EQ (buffer, Fwindow_buffer (selected_window)))
- /* Basically a NOP. Avoid signalling an error if the selected window
- is dedicated, or a minibuffer, ... */
- return Fset_buffer (buffer);
+ {
+ if (NILP (norecord) && !EQ (buffer, XCDR (XCAR (Vbuffer_alist))))
+ record_buffer (buffer);
+ /* Basically a NOP. Avoid signalling an error if the selected window
+ is dedicated, or a minibuffer, ... */
+ return Fset_buffer (buffer);
+ }
err = no_switch_window (selected_window);
if (err) error (err);