changeset 56453:b8b142a8e2c6

(Fdelete_frame): If we're in single_bboard_state on this kboard, and we delete its last frame, go to any_kboard_state.
author Richard M. Stallman <rms@gnu.org>
date Sat, 17 Jul 2004 14:45:01 +0000
parents ff1b3d52a8cd
children 1e0c70660fff
files src/frame.c
diffstat 1 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/frame.c	Sat Jul 17 14:43:49 2004 +0000
+++ b/src/frame.c	Sat Jul 17 14:45:01 2004 +0000
@@ -1327,6 +1327,36 @@
 	}
     }
 
+  /* If there's no other frame on the same kboard, get out of
+     single-kboard state if we're in it for this kboard.  */
+  {
+    Lisp_Object frames;
+    /* Some frame we found on the same kboard, or nil if there are none.  */
+    Lisp_Object frame_on_same_kboard;
+
+    frame_on_same_kboard = Qnil;
+
+    for (frames = Vframe_list;
+	 CONSP (frames);
+	 frames = XCDR (frames))
+      {
+	Lisp_Object this;
+	struct frame *f1;
+
+	this = XCAR (frames);
+	if (!FRAMEP (this))
+	  abort ();
+	f1 = XFRAME (this);
+
+	if (FRAME_KBOARD (f) == FRAME_KBOARD (f1))
+	  frame_on_same_kboard = this;
+      }
+
+    if (NILP (frame_on_same_kboard))
+      not_single_kboard_state (FRAME_KBOARD (f));
+  }
+
+
   /* If we've deleted this keyboard's default_minibuffer_frame, try to
      find another one.  Prefer minibuffer-only frames, but also notice
      frames with other windows.  */