Provide more details in doc-string of 'delete-windows-on' (Bug#34749)

* lisp/window.el (delete-windows-on): Provide more details in
doc-string (Bug#34749).
This commit is contained in:
Martin Rudalics 2019-03-08 19:04:35 +01:00
parent f0be0f1bed
commit 60b5c1090d

View file

@ -4706,9 +4706,21 @@ Interactively, FRAME is the prefix argument, so you can
use \\[universal-argument] 0 to specify all windows only on
the current terminal's frames.
When a window showing BUFFER-OR-NAME is dedicated and the only
window of its frame, that frame is deleted when there are other
frames left."
If a frame's root window shows the buffer specified by
BUFFER-OR-NAME and is dedicated to that buffer and that frame
does not host the active minibuffer window and there is at least
one other frame on that frame's terminal, delete that frame.
Otherwise, do not delete a frame's root window if it shows the
buffer specified by BUFFER-OR-NAME and do not delete any frame's
main window showing that buffer either. Rather, in any such
case, call `switch-to-prev-buffer' to show another buffer in that
window and make sure the window is no more dedicated to its
buffer.
If the buffer specified by BUFFER-OR-NAME is shown in a
minibuffer window, do nothing for that window. For any window
that does not show that buffer, remove the buffer from that
window's lists of previous and next buffers."
(interactive "BDelete windows on (buffer):\nP")
(let ((buffer (window-normalize-buffer buffer-or-name))
;; Handle the "inverted" meaning of the FRAME argument wrt other