Adjust display-buffer-at-bottom.

* window.el (display-buffer-at-bottom): Prefer bottom-left
window to other bottom windows.  Reuse a bottom window if it
shows the buffer already.  Suggested by Juri Linkov
<juri@jurta.org> in discussion of (Bug#18181).
This commit is contained in:
Martin Rudalics 2014-08-29 12:39:17 +02:00
parent 1764ec4414
commit f0e709846e
2 changed files with 26 additions and 6 deletions

View file

@ -1,3 +1,10 @@
2014-08-29 Martin Rudalics <rudalics@gmx.at>
* window.el (display-buffer-at-bottom): Prefer bottom-left
window to other bottom windows. Reuse a bottom window if it
shows the buffer already. Suggested by Juri Linkov
<juri@jurta.org> in discussion of (Bug#18181).
2014-08-29 Leo Liu <sdl.web@gmail.com>
* files.el (minibuffer-with-setup-hook): Allow (:append FUN) to

View file

@ -6469,13 +6469,26 @@ the selected one."
(defun display-buffer-at-bottom (buffer alist)
"Try displaying BUFFER in a window at the bottom of the selected frame.
This either splits the window at the bottom of the frame or the
frame's root window, or reuses an existing window at the bottom
of the selected frame."
(let (bottom-window window)
This either reuses such a window provided it shows BUFFER
already, splits a window at the bottom of the frame or the
frame's root window, or reuses some window at the bottom of the
selected frame."
(let (bottom-window bottom-window-shows-buffer window)
(walk-window-tree
(lambda (window) (setq bottom-window window)) nil nil 'nomini)
(or (and (not (frame-parameter nil 'unsplittable))
(lambda (window)
(cond
((window-in-direction 'below window))
((and (not bottom-window-shows-buffer)
(eq buffer (window-buffer window)))
(setq bottom-window-shows-buffer t)
(setq bottom-window window))
((not bottom-window)
(setq bottom-window window)))
nil nil 'nomini))
(or (and bottom-window-shows-buffer
(window--display-buffer
buffer bottom-window 'reuse alist display-buffer-mark-dedicated))
(and (not (frame-parameter nil 'unsplittable))
(let (split-width-threshold)
(setq window (window--try-to-split-window bottom-window alist)))
(window--display-buffer