Fix description of 'display-buffer-in-previous-window' again (Bug#36161)
* lisp/window.el (display-buffer-in-previous-window): Make doc-string more explicit (Bug#36161). * doc/lispref/windows.texi (Buffer Display Action Functions): Make description of 'display-buffer-in-previous-window' more explicit. (Buffer Display Action Alists): Mention 'display-buffer-in-previous-window' in description of 'reusable-frames' entry.
This commit is contained in:
parent
7be50cda56
commit
eca2677b1d
2 changed files with 51 additions and 19 deletions
|
@ -2581,25 +2581,47 @@ operations (@pxref{Preserving Window Sizes}).
|
||||||
This function fails if no window can be split. More often than not,
|
This function fails if no window can be split. More often than not,
|
||||||
this happens because no window is large enough to allow splitting.
|
this happens because no window is large enough to allow splitting.
|
||||||
Setting @code{split-height-threshold} or @code{split-width-threshold}
|
Setting @code{split-height-threshold} or @code{split-width-threshold}
|
||||||
to lower values may help in this regard. Spliting also fails when the
|
to lower values may help in this regard. Splitting also fails when
|
||||||
selected frame has an @code{unsplittable} frame parameter;
|
the selected frame has an @code{unsplittable} frame parameter;
|
||||||
@pxref{Buffer Parameters}.
|
@pxref{Buffer Parameters}.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun display-buffer-in-previous-window buffer alist
|
@defun display-buffer-in-previous-window buffer alist
|
||||||
This function tries to display @var{buffer} in a window where it was
|
This function tries to display @var{buffer} in a window where it was
|
||||||
previously displayed. If @var{alist} has a non-@code{nil}
|
displayed previously.
|
||||||
@code{inhibit-same-window} entry, the selected window is not eligible
|
|
||||||
for reuse. If @var{alist} contains a @code{reusable-frames} entry,
|
|
||||||
its value determines which frames to search for a suitable window.
|
|
||||||
|
|
||||||
If @var{alist} has a @code{previous-window} entry and the window
|
If @var{alist} contains a non-@code{nil} @code{inhibit-same-window}
|
||||||
specified by that entry is live and not dedicated to another buffer,
|
entry, the selected window is not eligible for use. A dedicated
|
||||||
that window will be preferred, even if it never showed @var{buffer}
|
window is usable only if it already shows @var{buffer}. If
|
||||||
|
@var{alist} contains a @code{previous-window} entry, the window
|
||||||
|
specified by that entry is usable even if it never showed @var{buffer}
|
||||||
before.
|
before.
|
||||||
|
|
||||||
This function will not choose the selected window if it finds another
|
If @var{alist} contains a @code{reusable-frames} entry (@pxref{Buffer
|
||||||
eligible window that has shown @var{buffer} previously.
|
Display Action Alists}), its value determines which frames to search
|
||||||
|
for a suitable window. If @var{alist} contains no
|
||||||
|
@code{reusable-frames} entry, this function searches just the selected
|
||||||
|
frame if @code{display-buffer-reuse-frames} and @code{pop-up-frames}
|
||||||
|
are both @code{nil}; it searches all frames on the current terminal if
|
||||||
|
either of those variables is non-@code{nil}.
|
||||||
|
|
||||||
|
If more than one window qualifies as usable according to these rules,
|
||||||
|
this function makes a choice in the following order of preference:
|
||||||
|
|
||||||
|
@itemize @bullet
|
||||||
|
@item
|
||||||
|
The window specified by any @code{previous-window} @var{alist} entry,
|
||||||
|
provided it is not the selected window.
|
||||||
|
|
||||||
|
@item
|
||||||
|
A window that showed @var{buffer} before, provided it is not the
|
||||||
|
selected window.
|
||||||
|
|
||||||
|
@item
|
||||||
|
The selected window if it is either specified by a
|
||||||
|
@code{previous-window} @var{alist} entry or showed @var{buffer}
|
||||||
|
before.
|
||||||
|
@end itemize
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun display-buffer-use-some-window buffer alist
|
@defun display-buffer-use-some-window buffer alist
|
||||||
|
@ -2786,7 +2808,9 @@ Ordering}).
|
||||||
|
|
||||||
A major client of this is @code{display-buffer-reuse-window}, but all
|
A major client of this is @code{display-buffer-reuse-window}, but all
|
||||||
other action functions that try to reuse a window are affected as
|
other action functions that try to reuse a window are affected as
|
||||||
well.
|
well. @code{display-buffer-in-previous-window} consults it when
|
||||||
|
searching for a window that previosuly displayed the buffer on another
|
||||||
|
frame.
|
||||||
|
|
||||||
@vindex inhibit-switch-frame@r{, a buffer display action alist entry}
|
@vindex inhibit-switch-frame@r{, a buffer display action alist entry}
|
||||||
@item inhibit-switch-frame
|
@item inhibit-switch-frame
|
||||||
|
|
|
@ -7457,10 +7457,13 @@ selected frame."
|
||||||
(defun display-buffer-in-previous-window (buffer alist)
|
(defun display-buffer-in-previous-window (buffer alist)
|
||||||
"Display BUFFER in a window previously showing it.
|
"Display BUFFER in a window previously showing it.
|
||||||
If ALIST has a non-nil `inhibit-same-window' entry, the selected
|
If ALIST has a non-nil `inhibit-same-window' entry, the selected
|
||||||
window is not eligible for reuse.
|
window is not usable. A dedicated window is usable only if it
|
||||||
|
already shows BUFFER. If ALIST contains a `previous-window'
|
||||||
|
entry, the window specified by that entry is usable even if it
|
||||||
|
never showed BUFFER before.
|
||||||
|
|
||||||
If ALIST contains a `reusable-frames' entry, its value determines
|
If ALIST contains a `reusable-frames' entry, its value determines
|
||||||
which frames to search for a reusable window:
|
which frames to search for a usable window:
|
||||||
nil -- the selected frame (actually the last non-minibuffer frame)
|
nil -- the selected frame (actually the last non-minibuffer frame)
|
||||||
A frame -- just that frame
|
A frame -- just that frame
|
||||||
`visible' -- all visible frames
|
`visible' -- all visible frames
|
||||||
|
@ -7472,12 +7475,17 @@ selected frame if `display-buffer-reuse-frames' and
|
||||||
`pop-up-frames' are both nil; search all frames on the current
|
`pop-up-frames' are both nil; search all frames on the current
|
||||||
terminal if either of those variables is non-nil.
|
terminal if either of those variables is non-nil.
|
||||||
|
|
||||||
If ALIST has a `previous-window' entry, the window specified by
|
If more than one window is usable according to these rules,
|
||||||
that entry may override any other window found by the methods
|
apply the following order of preference:
|
||||||
above, even if that window never showed BUFFER before.
|
|
||||||
|
|
||||||
Avoid using the selected window if another eligible window has
|
- Use the window specified by any 'previous-window' ALIST entry,
|
||||||
shown BUFFER before."
|
provided it is not the selected window.
|
||||||
|
|
||||||
|
- Use a window that showed BUFFER before, provided it is not the
|
||||||
|
selected window.
|
||||||
|
|
||||||
|
- Use the selected window if it is either specified by a
|
||||||
|
'previous-window' ALIST entry or showed BUFFER before."
|
||||||
(let* ((alist-entry (assq 'reusable-frames alist))
|
(let* ((alist-entry (assq 'reusable-frames alist))
|
||||||
(inhibit-same-window
|
(inhibit-same-window
|
||||||
(cdr (assq 'inhibit-same-window alist)))
|
(cdr (assq 'inhibit-same-window alist)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue