From 0f790c74e1c595fb8ce3984ba7a7492ac951db44 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Fri, 12 Sep 2003 00:52:08 +0000 Subject: [PATCH] (kill-buffer-and-window): Remove `yes-or-no-p' so that the function is less noisy. Now only `kill-buffer' can ask questions. --- lisp/window.el | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lisp/window.el b/lisp/window.el index 0dadd4195c6..2cfc254b220 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -532,11 +532,18 @@ Return non-nil if the window was shrunk." (defun kill-buffer-and-window () "Kill the current buffer and delete the selected window." (interactive) - (if (yes-or-no-p (format "Kill buffer `%s'? " (buffer-name))) - (let ((buffer (current-buffer))) - (delete-window (selected-window)) - (kill-buffer buffer)) - (error "Aborted"))) + (let ((window-to-delete (selected-window)) + (delete-window-hook (lambda () + (condition-case nil + (delete-window) + (error nil))))) + (add-hook 'kill-buffer-hook delete-window-hook t t) + (if (kill-buffer (current-buffer)) + ;; If `delete-window' failed before, we rerun it to regenerate + ;; the error so it can be seen in the minibuffer. + (when (eq (selected-window) window-to-delete) + (delete-window)) + (remove-hook 'kill-buffer-hook delete-window-hook t)))) (defun quit-window (&optional kill window) "Quit the current buffer. Bury it, and maybe delete the selected frame. -- 2.39.2