(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.
This commit is contained in:
parent
946a79d0f7
commit
c32de52a4f
1 changed files with 17 additions and 7 deletions
24
src/window.c
24
src/window.c
|
@ -4279,15 +4279,17 @@ adjust_window_trailing_edge (window, delta, horiz_flag)
|
|||
{
|
||||
Lisp_Object first_parallel = Qnil;
|
||||
|
||||
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 ("Specified window edge is fixed");
|
||||
}
|
||||
|
||||
p = XWINDOW (window);
|
||||
parent = p->parent;
|
||||
|
||||
if (NILP (XWINDOW (window)->next))
|
||||
{
|
||||
Fset_window_configuration (old_config);
|
||||
error ("No other window following this one");
|
||||
}
|
||||
|
||||
/* 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. */
|
||||
|
|
Loading…
Add table
Reference in a new issue