From: Richard M. Stallman Date: Sun, 20 Jan 2002 23:09:45 +0000 (+0000) Subject: (MIN_SAFE_WINDOW_HEIGHT): Value now 1. X-Git-Tag: ttn-vms-21-2-B4~17053 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dc1ab1eece01dc3ce4f6a67e41ed10d8546a960f;p=emacs.git (MIN_SAFE_WINDOW_HEIGHT): Value now 1. --- diff --git a/src/window.c b/src/window.c index be2f6330bf4..9f7dd58f0cc 100644 --- a/src/window.c +++ b/src/window.c @@ -2118,7 +2118,7 @@ replace_buffer_in_all_windows (buffer) might crash Emacs. */ #define MIN_SAFE_WINDOW_WIDTH (2) -#define MIN_SAFE_WINDOW_HEIGHT (2) +#define MIN_SAFE_WINDOW_HEIGHT (1) /* Make sure that window_min_height and window_min_width are not too small; if they are, set them to safe minima. */ @@ -3547,17 +3547,29 @@ enlarge_window (window, delta, widthflag, preserve_before) { /* If trying to grow this window to or beyond size of the parent, just delete all the sibling windows. */ - Lisp_Object tem, next; + Lisp_Object start, tem, next; - tem = XWINDOW (parent)->vchild; - if (NILP (tem)) - tem = XWINDOW (parent)->hchild; + start = XWINDOW (parent)->vchild; + if (NILP (start)) + start = XWINDOW (parent)->hchild; + /* Delete any siblings that come after WINDOW. */ + tem = XWINDOW (window)->next; while (! NILP (tem)) { next = XWINDOW (tem)->next; - if (!EQ (tem, window)) - delete_window (tem); + delete_window (tem); + tem = next; + } + + /* Delete any siblings that come after WINDOW. + Note that if START is not WINDOW, then WINDOW still + Fhas siblings, so WINDOW has not yet replaced its parent. */ + tem = start; + while (! EQ (tem, window)) + { + next = XWINDOW (tem)->next; + delete_window (tem); tem = next; } }