From: Richard M. Stallman Date: Tue, 13 Jun 2006 23:07:56 +0000 (+0000) Subject: (adjust_window_trailing_edge): Don't break out of the loop X-Git-Tag: emacs-pretest-22.0.90~1965 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c32de52a4f02cd411dea9620bf6d6770691238d7;p=emacs.git (adjust_window_trailing_edge): Don't break out of the loop because there's no next window, if there are parallel windows. Do break out when WINDOW is nil. --- diff --git a/src/window.c b/src/window.c index e0ea9beb211..6993f29e01d 100644 --- a/src/window.c +++ b/src/window.c @@ -4279,15 +4279,17 @@ adjust_window_trailing_edge (window, delta, horiz_flag) { Lisp_Object first_parallel = Qnil; - p = XWINDOW (window); - parent = p->parent; - - if (NILP (XWINDOW (window)->next)) + if (NILP (window)) { + /* This can happen if WINDOW on the previous iteration was + at top level of the tree and we did not exit. */ Fset_window_configuration (old_config); - error ("No other window following this one"); + error ("Specified window edge is fixed"); } + p = XWINDOW (window); + parent = p->parent; + /* See if this level has windows in parallel in the specified direction. If so, set FIRST_PARALLEL to the first one. */ if (horiz_flag) @@ -4301,6 +4303,14 @@ adjust_window_trailing_edge (window, delta, horiz_flag) first_parallel = XWINDOW (parent)->hchild; } + /* If this level's succession is in the desired dimension, + and this window is the last one, its trailing edge is fixed. */ + if (NILP (XWINDOW (window)->next) && NILP (first_parallel)) + { + Fset_window_configuration (old_config); + error ("Specified window edge is fixed"); + } + /* Don't make this window too small. */ if (XINT (CURSIZE (window)) + delta < (horiz_flag ? window_min_width : window_min_height)) @@ -4324,7 +4334,7 @@ adjust_window_trailing_edge (window, delta, horiz_flag) we will fail and report an error, above.) */ if (NILP (first_parallel)) { - if (!NILP (XWINDOW (window)->next)) + if (!NILP (p->next)) { /* This may happen for the minibuffer. In that case the window_deletion_count check below does not work. */