]> git.eshelyaron.com Git - emacs.git/commitdiff
(enlarge_window): Fix last change.
authorEli Zaretskii <eliz@gnu.org>
Sat, 2 Feb 2002 08:18:03 +0000 (08:18 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 2 Feb 2002 08:18:03 +0000 (08:18 +0000)
src/ChangeLog
src/window.c

index 183d10a3700c58c4b505ce82d5589b43d011b74b..e46003e4ca128907bf720ba7aa26739dd12ddd88 100644 (file)
@@ -1,3 +1,7 @@
+2002-02-02  Richard M. Stallman  <rms@gnu.org>
+
+       * window.c (enlarge_window): Fix last change.
+
 2002-02-01  Kim F. Storm  <storm@cua.dk>
 
        * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
index 81a64db55c0865dccd9f3163d3b376cd86f881d4..c58fd2f36b0e72a0bb853a8c26bc2cfe1c0ed642 100644 (file)
@@ -3525,17 +3525,29 @@ enlarge_window (window, delta, widthflag)
        {
          /* 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;
            }
        }