Subject: bug#32825: 27.0.50; Deterministic window management

From: Juri Linkov <[email-masked]>
Date: Wed, 05 Dec 2018 00:24:16 +0200

>> Another reason why this urgently needs to be fixed using
>> 'display-buffer-below-selected' with 'window-height' is that
>> for example visiting a gpg file that fails to decrypt displays
>> the *Backtrace* buffer with (file-error "Opening input file" "Can't decrypt"
>> in another window that hides another essential buffer *Error*
>> (with explanation of the error raised while decrypting)
>> displayed in the same window.  But using 'display-buffer-below-selected'
>> both essential buffers will be displayed in separate windows.
>
> So what should we do?  I earlier proposed a 'min-height' entry like in
> the code below.

Thanks, I tried and it works well.

> Would that suffice?  If so, would we use the same for
> 'display-buffer-pop-up-window' and 'display-buffer-at-bottom'?

I don't know about display-buffer-pop-up-window, but for
display-buffer-at-bottom where the height depends on the
number of lines in the displayed buffer like e.g. *Completions*
this is not needed.

> Should we check the window below (if we "use" but do not "reuse" it)
> if it's high enough?  I think we should provide exact semantics for
> any such 'min-height' entry so we can easily tell which action
> functions should check it.

I think the semantics of 'min-height' should be a minimal height
of the displayed window wherever it can be displayed.