aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman2004-07-17 14:45:01 +0000
committerRichard M. Stallman2004-07-17 14:45:01 +0000
commit8ceb7434dfcad287b590e4493f94db48bf88afd1 (patch)
tree821718e88221a5a9ee097eb8445672b11e3fbf9c /src
parentb3264fd2a8803c90ddb0a21b675b25f5d6ff72f4 (diff)
downloademacs-8ceb7434dfcad287b590e4493f94db48bf88afd1.tar.gz
emacs-8ceb7434dfcad287b590e4493f94db48bf88afd1.zip
(Fdelete_frame): If we're in single_bboard_state on
this kboard, and we delete its last frame, go to any_kboard_state.
Diffstat (limited to 'src')
-rw-r--r--src/frame.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/frame.c b/src/frame.c
index 934c11d98bc..691ff8c44d5 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1327,6 +1327,36 @@ The functions are run with one arg, the frame to be deleted. */)
1327 } 1327 }
1328 } 1328 }
1329 1329
1330 /* If there's no other frame on the same kboard, get out of
1331 single-kboard state if we're in it for this kboard. */
1332 {
1333 Lisp_Object frames;
1334 /* Some frame we found on the same kboard, or nil if there are none. */
1335 Lisp_Object frame_on_same_kboard;
1336
1337 frame_on_same_kboard = Qnil;
1338
1339 for (frames = Vframe_list;
1340 CONSP (frames);
1341 frames = XCDR (frames))
1342 {
1343 Lisp_Object this;
1344 struct frame *f1;
1345
1346 this = XCAR (frames);
1347 if (!FRAMEP (this))
1348 abort ();
1349 f1 = XFRAME (this);
1350
1351 if (FRAME_KBOARD (f) == FRAME_KBOARD (f1))
1352 frame_on_same_kboard = this;
1353 }
1354
1355 if (NILP (frame_on_same_kboard))
1356 not_single_kboard_state (FRAME_KBOARD (f));
1357 }
1358
1359
1330 /* If we've deleted this keyboard's default_minibuffer_frame, try to 1360 /* If we've deleted this keyboard's default_minibuffer_frame, try to
1331 find another one. Prefer minibuffer-only frames, but also notice 1361 find another one. Prefer minibuffer-only frames, but also notice
1332 frames with other windows. */ 1362 frames with other windows. */