Subject: Re: bug#15961: 24.3.50; display-buffer-at-bottom not at bottom

From: martin rudalics <[email-masked]>
Date: Sun, 24 Nov 2013 11:10:56 +0100

> In emacs -Q that is wide enough to contain two side-by-side windows
 > in the *scratch* buffer evaluate:
 >
 > (add-to-list 'display-buffer-alist '("\\*Completions\\*" display-buffer-at-bottom (nil)))
 >
 > (display-buffer (get-buffer-create "*Completions*"))
 >
 > The *Completions* window is displayed to the right from the *scratch* window,
 > not below.

Strictly spoken, the new window also appears at the bottom of the frame ;-)

An obvious solution to do what you mean is to bind
`split-width-threshold' to nil in `display-buffer-at-bottom' as

	     (let (split-width-threshold)
	       (setq window (window--try-to-split-window bottom-window alist)))

But this should be better done _around_ calling `display-buffer'.  There
an application should also bind `split-height-threshold' and
`window-min-height' appropriately as well as a specify a `window-height'
alist entry.  Otherwise, Emacs will often refuse to make a new window
which is probably not what we want when displaying *Completions*.

martin