summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2016-08-13 09:59:14 +0200
committerMartin Rudalics <rudalics@gmx.at>2016-08-13 09:59:14 +0200
commit6bb55a25fa77ce0f92401aa9945a506e9343aad5 (patch)
tree2e4f15e6575c626c10674649b3370b7f367df3b6
parent50548fd9afe70c43b3a0c0869f8e889b307ee917 (diff)
Fix docs on `display-buffer-below-selected' (Bug#24213)
* lisp/window.el (display-buffer-below-selected): Fix doc-string (Bug#24213). * doc/lispref/windows.texi (Display Action Functions): Fix documentation of `display-buffer-below-selected'.
-rw-r--r--doc/lispref/windows.texi13
-rw-r--r--lisp/window.el8
2 files changed, 15 insertions, 6 deletions
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index ad0c3237e6..7a5d1bbf16 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -2524,10 +2524,17 @@ parameter; @pxref{Buffer Parameters}).
@defun display-buffer-below-selected buffer alist
This function tries to display @var{buffer} in a window below the
-selected window. This means to either split the selected window or use
-the window below the selected one. If it does create a new window, it
-will also adjust its size provided @var{alist} contains a suitable
+selected window. If there is a window below the selected one and that
+window already displays @var{buffer}, it reuses that window.
+
+If there is no such window, this function tries to create a new window
+by splitting the selected one and display @var{buffer} there. It will
+also adjust that window's size provided @var{alist} contains a suitable
@code{window-height} or @code{window-width} entry, see above.
+
+If splitting the selected window fails and there is a non-dedicated
+window below the selected one showing some other buffer, it uses that
+window for showing @var{buffer}.
@end defun
@defun display-buffer-in-previous-window buffer alist
diff --git a/lisp/window.el b/lisp/window.el
index bf1f13e776..11d7a4e90d 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -6879,7 +6879,6 @@ raising the frame."
(defun display-buffer--maybe-pop-up-frame-or-window (buffer alist)
"Try displaying BUFFER based on `pop-up-frames' or `pop-up-windows'.
-
If `pop-up-frames' is non-nil (and not `graphic-only' on a
text-only terminal), try with `display-buffer-pop-up-frame'.
@@ -6894,8 +6893,11 @@ again with `display-buffer-pop-up-window'."
(defun display-buffer-below-selected (buffer alist)
"Try displaying BUFFER in a window below the selected window.
-This either splits the selected window or reuses the window below
-the selected one."
+If there is a window below the selected one and that window
+already displays BUFFER, use that window. Otherwise, try to
+create a new window below the selected one and show BUFFER there.
+If that attempt fails as well and there is a non-dedicated window
+below the selected one, use that window."
(let (window)
(or (and (setq window (window-in-direction 'below))
(eq buffer (window-buffer window))