# HG changeset patch # User Richard M. Stallman # Date 1090075501 0 # Node ID b8b142a8e2c6c0a56156f4eb1a5650f54dc752b0 # Parent ff1b3d52a8cd2c69dc6046a0fd8b1d54a6b3da27 (Fdelete_frame): If we're in single_bboard_state on this kboard, and we delete its last frame, go to any_kboard_state. diff -r ff1b3d52a8cd -r b8b142a8e2c6 src/frame.c --- 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. */