Subject: bug#9873: 24.0.90; dired - window changes size when trying to delete more than one file

From: martin rudalics <[email-masked]>
Date: Thu, 27 Oct 2011 15:15:39 +0200

>> Its introduction modifies the behavior of splitting, resizing and
 >> deleting windows in the order described in the example in the manual.
 >
 > I understand that it affects resizing (by changing which other window
 > is resized as side effect of changing the size of the window we want
 > to resize), and deleting (by controlling which window will be given
 > the space released by the deleted one).  But what is modified in the
 > behavior of splitting?

There's yet another new variable called `window-splits'.  That variable
allows to steal space from other windows when splitting, so you can
"split" windows which are otherwise too small.  Now if `window-nest' is
non-nil, `window-splits' has no effect.

 > What I mean is that the user have no way of resizing the internal
 > windows, only the live windows, AFAIK.
 >
 > A Lisp program can resize an internal window, but doing so is
 > precisely equivalent to resizing one of the live windows on the same
 > frame (again, AFAIK).

No.  Resizing an internal window with two child windows usually resizes
_both_ child windows proportionally (usually so, because edge dragging
behaves different from other forms of resizing).

 > When you talk about resizing a live window, I understand exactly what
 > is meant.

Then you know more than me.  Resizing a live window can resize all other
windows on the same frame.  Adjusting the edge of a live window can be
different from enlarging that window.  In addition, the nest and splits
status of the window affect the outcome as well.  All I know is that
when I resize a window in a certain way, I can live with the result, or
not.  In the latter case, I try to fix the behavior.  But I gave up
understanding what happens some time ago.

 > If by "vertical combination" you mean the internal window
 > that is the parent of 2 or more live windows, I can understand that as
 > well, assuming that you are talking about a Lisp program.

A vertical combination is slightly more than a parent window.  It
encompasses number and sizes of the parent's child windows too, which
can be retrieved only by looking at these child windows.  Also, a
vertical combination can be the parent of 2 or more internal windows, or
live and internal windows.

 >> By resizing their parent window or a sibling of their parent window.  Or
 >> by resizing the containing frame.  Or by resizing the minibuffer window.
 >
 > Some of these are unavailable to users.

... but maybe hidden in operations available to the user ...

 > We were talking about a user
 > option.

... which is hard to explain, I know.

martin