From 60b5c1090d4b378146597418627049ae574856e6 Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Fri, 8 Mar 2019 19:04:35 +0100 Subject: [PATCH] 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). --- lisp/window.el | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lisp/window.el b/lisp/window.el index 907b3d038fc..58e22a2306a 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -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 -- 2.39.2