Mercurial > emacs
comparison src/window.c @ 8536:b97057eb17d3
(window_loop, case UNSHOW_BUFFER):
When we delete a frame, skip all the windows on that frame.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 13 Aug 1994 23:13:10 +0000 |
parents | 6d2f0901efe9 |
children | c64388cd7346 |
comparison
equal
deleted
inserted
replaced
8535:8819276a0458 | 8536:b97057eb17d3 |
---|---|
1335 /* If this window is dedicated, and in a frame of its own, | 1335 /* If this window is dedicated, and in a frame of its own, |
1336 kill the frame. */ | 1336 kill the frame. */ |
1337 if (EQ (w, FRAME_ROOT_WINDOW (f)) | 1337 if (EQ (w, FRAME_ROOT_WINDOW (f)) |
1338 && !NILP (XWINDOW (w)->dedicated) | 1338 && !NILP (XWINDOW (w)->dedicated) |
1339 && other_visible_frames (f)) | 1339 && other_visible_frames (f)) |
1340 Fdelete_frame (WINDOW_FRAME (XWINDOW (w)), Qnil); | 1340 { |
1341 /* Skip the other windows on this frame. | |
1342 There might be one, the minibuffer! */ | |
1343 if (! EQ (w, last_window)) | |
1344 while (f == XFRAME (WINDOW_FRAME (XWINDOW (next_window)))) | |
1345 { | |
1346 /* As we go, check for the end of the loop. | |
1347 We mustn't start going around a second time. */ | |
1348 if (EQ (next_window, last_window)) | |
1349 { | |
1350 last_window = w; | |
1351 break; | |
1352 } | |
1353 next_window = Fnext_window (next_window, | |
1354 mini ? Qt : Qnil, | |
1355 frame_arg); | |
1356 } | |
1357 /* Now we can safely delete the frame. */ | |
1358 Fdelete_frame (WINDOW_FRAME (XWINDOW (w)), Qnil); | |
1359 } | |
1341 else | 1360 else |
1342 #endif | 1361 #endif |
1343 { | 1362 { |
1344 /* Otherwise show a different buffer in the window. */ | 1363 /* Otherwise show a different buffer in the window. */ |
1345 XWINDOW (w)->dedicated = Qnil; | 1364 XWINDOW (w)->dedicated = Qnil; |