Subject: Re: bug#39822: 27.0.90; Cannot set *Completions* buffer height using display-buffer-alist

From: martin rudalics <[email-masked]>
Date: Fri, 13 Mar 2020 10:38:26 +0100

> Here is the first step, this patch seems to keep the original behavior,
 > but I need your help to finish it.  Could you confirm that calls of
 > window-preserve-size at the end of with-displayed-buffer-window are
 > not needed anymore after this patch is applied, because there are the
 > same calls of window-preserve-size at the end of window--display-buffer
 > that are called later after buffer contents is filled
 > by after-display-function in the middle of window--display-buffer:

Didn't we agree that 'vaction' is harmful anyway so these "same calls"
should never have been applied in the first place?  I wouldn't bother
about them at the moment, when something fails we find out soon enough.

But what if a function like 'dired-format-columns-of-files' wanted to

(1) know the width of the window used for displaying the buffer,

(2) according to that (presumably fixed) width adjust columns, establish
a maximum width of buffer lines or do something else width related,

(3) leave it to 'window--display-buffer' to adjust the window height
afterwards?

And be able to do (1)-(3) in the orthogonal direction, that is, base (2)
on a presumably fixed window height?

I conjecture that in such case, the function (functions?) specified by
'after-display-function' should be supplied the window to display the
buffer as first argument (just in case there's another window showing
the same buffer).  WDYT?

martin