Commit bd99e242 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(adjust_window_trailing_edge): Correctly distinguish

series vs parallel cases, even when window has no parent.
parent 67cf9997
......@@ -4275,18 +4275,30 @@ adjust_window_trailing_edge (window, delta, horiz_flag)
while (1)
{
Lisp_Object first_parallel = Qnil;
p = XWINDOW (window);
parent = p->parent;
/* Make sure there is a following window. */
if (NILP (parent)
&& (horiz_flag ? 1
: NILP (XWINDOW (window)->next)))
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)
{
if (! NILP (parent) && !NILP (XWINDOW (parent)->vchild))
first_parallel = XWINDOW (parent)->vchild;
}
else
{
if (! NILP (parent) && !NILP (XWINDOW (parent)->hchild))
first_parallel = XWINDOW (parent)->hchild;
}
/* Don't make this window too small. */
if (XINT (CURSIZE (window)) + delta
< (horiz_flag ? window_min_width : window_min_height))
......@@ -4304,12 +4316,11 @@ adjust_window_trailing_edge (window, delta, horiz_flag)
XINT (CURSIZE (window)) + delta);
/* If this window has following siblings in the desired dimension,
make them smaller.
make them smaller, and exit the loop.
(If we reach the top of the tree and can never do this,
we will fail and report an error, above.) */
if (horiz_flag
? !NILP (XWINDOW (parent)->hchild)
: !NILP (XWINDOW (parent)->vchild))
if (NILP (first_parallel))
{
if (!NILP (XWINDOW (window)->next))
{
......@@ -4331,9 +4342,7 @@ adjust_window_trailing_edge (window, delta, horiz_flag)
else
/* Here we have a chain of parallel siblings, in the other dimension.
Change the size of the other siblings. */
for (child = (horiz_flag
? XWINDOW (parent)->vchild
: XWINDOW (parent)->hchild);
for (child = first_parallel;
! NILP (child);
child = XWINDOW (child)->next)
if (! EQ (child, window))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment