# HG changeset patch # User adrian # Date 1081025366 0 # Node ID 6a91a3c8f1dc4aeb78d34e28b989f19824822194 # Parent f32f3ddaf534f6b3cb9ac1539cd8b7c42b296cf1 [xemacs-hg @ 2004-04-03 20:49:25 by adrian] [PATCH] dedicated window deletion patch <82ad1yyjvs.fsf@us.dmz.local> diff -r f32f3ddaf534 -r 6a91a3c8f1dc src/ChangeLog --- a/src/ChangeLog Sat Apr 03 20:00:26 2004 +0000 +++ b/src/ChangeLog Sat Apr 03 20:49:26 2004 +0000 @@ -1,3 +1,10 @@ +2004-03-30 Zajcev Evgeny + + * window.c: Declare `allow_deletion_of_last_visible_frame' extern. + * window.c (window_loop): [fix] Take into account + `allow-deletion-of-last-visible-frame' variable. + * window.c (replace-buffer-in-windows): Ditto. + 2004-03-22 Stephen J. Turnbull * XEmacs 21.5.17 "chayote" is released. diff -r f32f3ddaf534 -r 6a91a3c8f1dc src/window.c --- a/src/window.c Sat Apr 03 20:00:26 2004 +0000 +++ b/src/window.c Sat Apr 03 20:49:26 2004 +0000 @@ -61,6 +61,8 @@ #endif #endif +extern int allow_deletion_of_last_visible_frame; + EXFUN (Fnext_window, 4); static int window_pixel_width_to_char_width (struct window *w, @@ -2919,7 +2921,8 @@ of its own, kill the frame. */ if (EQ (w, FRAME_ROOT_WINDOW (f)) && !NILP (p->dedicated) - && other_visible_frames (f)) + && (allow_deletion_of_last_visible_frame + || other_visible_frames (f))) { /* Skip the other windows on this frame. There might be one, the minibuffer! */ @@ -3371,7 +3374,8 @@ if (!NILP (XWINDOW (window)->dedicated) && EQ (window, FRAME_ROOT_WINDOW (XFRAME (frame))) - && other_visible_frames (XFRAME (frame))) + && (allow_deletion_of_last_visible_frame + || other_visible_frames (XFRAME (frame)))) { delete_frame_internal (XFRAME (frame), 0, 0, 0); /* GC */ }