aboutsummaryrefslogtreecommitdiffstats
path: root/src/frame.c
diff options
context:
space:
mode:
authorKarl Heuer <[email protected]>1995-05-24 21:34:23 +0000
committerKarl Heuer <[email protected]>1995-05-24 21:34:23 +0000
commitc4c6d073e610be2945218fc6f6fc6b0aee793784 (patch)
tree6e0f3765c8e0a6fc23b3aa86b87227ad99d9681c /src/frame.c
parent0b60f47d26cb643b62389a8ec482237a72ebdb6a (diff)
(Fdelete_frame): When updating Vdefault_minibuffer_frame,
insist on a frame on the proper keyboard.
Diffstat (limited to 'src/frame.c')
-rw-r--r--src/frame.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/frame.c b/src/frame.c
index abad2114b2..e6392da3d1 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1014,9 +1014,9 @@ but if the second optional argument FORCE is non-nil, you may do so.")
}
}
- /* 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 @@ but if the second optional argument FORCE is non-nil, you may do so.")
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;
}
}