diff options
author | Karl Heuer <[email protected]> | 1995-05-24 21:34:23 +0000 |
---|---|---|
committer | Karl Heuer <[email protected]> | 1995-05-24 21:34:23 +0000 |
commit | c4c6d073e610be2945218fc6f6fc6b0aee793784 (patch) | |
tree | 6e0f3765c8e0a6fc23b3aa86b87227ad99d9681c /src/frame.c | |
parent | 0b60f47d26cb643b62389a8ec482237a72ebdb6a (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.c | 16 |
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; } } |