]> code.delx.au - gnu-emacs/commitdiff
(frames_bury_buffer): Don't add a buffer to the frame's
authorGerd Moellmann <gerd@gnu.org>
Tue, 16 May 2000 11:47:30 +0000 (11:47 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 16 May 2000 11:47:30 +0000 (11:47 +0000)
buffer list that wasn't selected in that frame.

src/ChangeLog
src/frame.c

index 6a32598eb035a011d7af9266820467727eaca49f..390e364a62524d79ffa0fccdeb0b22125248b6ab 100644 (file)
@@ -1,5 +1,8 @@
 2000-05-16  Gerd Moellmann  <gerd@gnu.org>
 
+       * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
+       buffer list that wasn't selected in that frame.
+
        * filelock.c (get_boot_time): To obtain an 8 char file name, which
        is needed on mescaline, use a 2 char prefix, and call
        make_temp_name with second arg non-zero.
index 9cb2537c3b56d169a7815f6b5ca9bc5f7008fef7..a234229cf49e8fcefa5f960def611c82790108cb 100644 (file)
@@ -1864,9 +1864,13 @@ frames_bury_buffer (buffer)
 
   FOR_EACH_FRAME (tail, frame)
     {
-      XFRAME (frame)->buffer_list
-       = nconc2 (Fdelq (buffer, XFRAME (frame)->buffer_list),
-                 Fcons (buffer, Qnil));
+      struct frame *f = XFRAME (frame);
+      Lisp_Object found;
+      
+      found = Fmemq (buffer, f->buffer_list);
+      if (!NILP (found))
+       f->buffer_list = nconc2 (Fdelq (buffer, f->buffer_list),
+                                Fcons (buffer, Qnil));
     }
 }