Subject: Re: bug#17554: 24.3.91; [Regression] re-usage of dired *Marked Files* buffer window

From: martin rudalics <[email-masked]>
Date: Wed, 11 Jun 2014 09:15:06 +0200

> The standard terminal size is 80x25.  80*2 = 160 which is a good
 > default width for `split-width-threshold'.  Correspondingly, 25*2 = 50
 > would be a better default height for `split-height-threshold'
 > to be changed in the trunk.  (Another good change for the trunk
 > is to use `display-buffer-at-bottom' for *Completions*).

What does it use currently?

 > For the emacs-24 branch `split-window-preferred-function' won't help
 > if the window height is smaller than `split-height-threshold',

We'd have to write our own `split-window-preferred-function' which would
set `split-height-threshold' accordingly.  This is not entirely clean
though since we'd bind a user variable.  A user could override it via
`display-buffer-alist' but this is not entirely obvious.

Usually, the right choice would be to pass appropriate functions via the
ACTION argument.  Unfortunately, the `display-buffer' call issued for
*Completions* is virtually nested in the call for *Marked Files* which
makes things more complicated than expected.

(1) I wouldn't want to change the general behavior of how *Completions*
     are presented just in order to fix the problem at hand.

(2) Changing the ACTION argument for the `display-buffer' call used to
     show *Completions* such as to check whether a *Marked Files* buffer
     is currently shown and avoid using that or the original dired window
     is no viable alternative either.

(3) Marking any of the dired or *Marked Files* windows as dedicated is
     somewhat dangerous (even when done softly) when the user quits the
     *Completions* window in some non-standard, non-modal way.

(4) Using `display-buffer-overriding-action' is clearly to harsh.

 > and *Completions* still will be displayed in the small window
 > of *Marked Files*.  This could be fixed only by displaying
 > *Completions* in the window containing the Dired buffer
 > (without using split-window) like it was in previous releases.
 > This is why I tried to mark *Marked Files* as dedicated.

But the 24.3 code handles Roland's scenario by displaying *Completions*
in a third window.  At least it does so here.  What do you get?

martin