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;