aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1995-05-24 21:34:23 +0000
committerKarl Heuer1995-05-24 21:34:23 +0000
commitc4c6d073e610be2945218fc6f6fc6b0aee793784 (patch)
tree6e0f3765c8e0a6fc23b3aa86b87227ad99d9681c /src
parent0b60f47d26cb643b62389a8ec482237a72ebdb6a (diff)
downloademacs-c4c6d073e610be2945218fc6f6fc6b0aee793784.tar.gz
emacs-c4c6d073e610be2945218fc6f6fc6b0aee793784.zip
(Fdelete_frame): When updating Vdefault_minibuffer_frame,
insist on a frame on the proper keyboard.
Diffstat (limited to 'src')
-rw-r--r--src/frame.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/frame.c b/src/frame.c
index abad2114b2d..e6392da3d10 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.")
1014 } 1014 }
1015 } 1015 }
1016 1016
1017 /* If we've deleted Vdefault_minibuffer_frame, try to find another 1017 /* If we've deleted this keyboard's default_minibuffer_frame, try to
1018 one. Prefer minibuffer-only frames, but also notice frames 1018 find another one. Prefer minibuffer-only frames, but also notice
1019 with other windows. */ 1019 frames with other windows. */
1020 if (EQ (frame, FRAME_KBOARD (f)->Vdefault_minibuffer_frame)) 1020 if (EQ (frame, FRAME_KBOARD (f)->Vdefault_minibuffer_frame))
1021 { 1021 {
1022 Lisp_Object frames; 1022 Lisp_Object frames;
@@ -1030,16 +1030,20 @@ but if the second optional argument FORCE is non-nil, you may do so.")
1030 frames = XCONS (frames)->cdr) 1030 frames = XCONS (frames)->cdr)
1031 { 1031 {
1032 Lisp_Object this; 1032 Lisp_Object this;
1033 struct frame *f1;
1033 1034
1034 this = XCONS (frames)->car; 1035 this = XCONS (frames)->car;
1035 if (!FRAMEP (this)) 1036 if (!FRAMEP (this))
1036 abort (); 1037 abort ();
1037 f = XFRAME (this); 1038 f1 = XFRAME (this);
1038 1039
1039 if (FRAME_HAS_MINIBUF_P (f)) 1040 /* Consider only frames on the same kboard
1041 and only those with minibuffers. */
1042 if (FRAME_KBOARD (f) == FRAME_KBOARD (f1)
1043 && FRAME_HAS_MINIBUF_P (f1))
1040 { 1044 {
1041 frame_with_minibuf = this; 1045 frame_with_minibuf = this;
1042 if (FRAME_MINIBUF_ONLY_P (f)) 1046 if (FRAME_MINIBUF_ONLY_P (f1))
1043 break; 1047 break;
1044 } 1048 }
1045 } 1049 }