changeset 11906:3ca56969ba07

(Fdelete_frame): When updating Vdefault_minibuffer_frame, insist on a frame on the proper keyboard.
author Karl Heuer <kwzh@gnu.org>
date Wed, 24 May 1995 21:34:23 +0000
parents 3f5326542cf6
children 0f03ad1cac1e
files src/frame.c
diffstat 1 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/frame.c	Wed May 24 20:50:54 1995 +0000
+++ b/src/frame.c	Wed May 24 21:34:23 1995 +0000
@@ -1014,9 +1014,9 @@
 	}
     }
 
-  /* If we've deleted Vdefault_minibuffer_frame, try to find another
-     one.  Prefer minibuffer-only frames, but also notice frames
-     with other windows.  */
+  /* 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.  */
   if (EQ (frame, FRAME_KBOARD (f)->Vdefault_minibuffer_frame))
     {
       Lisp_Object frames;
@@ -1030,16 +1030,20 @@
 	   frames = XCONS (frames)->cdr)
 	{
 	  Lisp_Object this;
+	  struct frame *f1;
 
 	  this = XCONS (frames)->car;
 	  if (!FRAMEP (this))
 	    abort ();
-	  f = XFRAME (this);
+	  f1 = XFRAME (this);
 
-	  if (FRAME_HAS_MINIBUF_P (f))
+	  /* Consider only frames on the same kboard
+	     and only those with minibuffers.  */
+	  if (FRAME_KBOARD (f) == FRAME_KBOARD (f1)
+	      && FRAME_HAS_MINIBUF_P (f1))
 	    {
 	      frame_with_minibuf = this;
-	      if (FRAME_MINIBUF_ONLY_P (f))
+	      if (FRAME_MINIBUF_ONLY_P (f1))
 		break;
 	    }
 	}