emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master cc2d3a6: Fix interaction between two dired cleanup variables


From: Lars Ingebrigtsen
Subject: master cc2d3a6: Fix interaction between two dired cleanup variables
Date: Sat, 30 Jan 2021 02:13:06 -0500 (EST)

branch: master
commit cc2d3a62c2a1f5be7907eda55d3c678e1149eb7b
Author: Jeff Spencer <jeffspencerd@gmail.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Fix interaction between two dired cleanup variables
    
    * lisp/dired.el (dired-clean-up-after-deletion): Kill the buffers
    if you have `dired-clean-up-buffers-too' set and
    `dired-clean-confirm-killing-deleted-buffers' nil (bug#38037).
    
    Copyright-paperwork-exempt: yes
---
 etc/NEWS      |  6 ++++++
 lisp/dired.el | 21 ++++++++++++---------
 2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 8e233f8..a6fd51b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -504,6 +504,12 @@ time zones will use a form like "+0100" instead of "CET".
 
 ** Dired
 
+---
+*** Behaviour change on 'dired-clean-confirm-killing-deleted-buffers'.
+Previously, if 'dired-clean-up-buffers-too' was non-nil, and
+'dired-clean-confirm-killing-deleted-buffers' was nil, the buffers
+wouldn't be killed.  This combination will now kill the buffers.
+
 +++
 *** New user option 'dired-switches-in-mode-line'.
 This user option controls how 'ls' switches are displayed in the mode
diff --git a/lisp/dired.el b/lisp/dired.el
index 3f11936..fe6ac1e 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -3532,18 +3532,21 @@ confirmation.  To disable the confirmation, see
   (when (and (featurep 'dired-x) dired-clean-up-buffers-too)
     (let ((buf (get-file-buffer fn)))
       (and buf
-           (and dired-clean-confirm-killing-deleted-buffers
-                (funcall #'y-or-n-p
-                         (format "Kill buffer of %s, too? "
-                                 (file-name-nondirectory fn))))
+           (or (and dired-clean-confirm-killing-deleted-buffers
+                    (funcall #'y-or-n-p
+                             (format "Kill buffer of %s, too? "
+                                     (file-name-nondirectory fn))))
+               (not dired-clean-confirm-killing-deleted-buffers))
            (kill-buffer buf)))
     (let ((buf-list (dired-buffers-for-dir (expand-file-name fn))))
       (and buf-list
-           (and dired-clean-confirm-killing-deleted-buffers
-                (y-or-n-p (format (ngettext "Kill Dired buffer of %s, too? "
-                                           "Kill Dired buffers of %s, too? "
-                                           (length buf-list))
-                                  (file-name-nondirectory fn))))
+           (or (and dired-clean-confirm-killing-deleted-buffers
+                    (y-or-n-p (format
+                               (ngettext "Kill Dired buffer of %s, too? "
+                                         "Kill Dired buffers of %s, too? "
+                                         (length buf-list))
+                               (file-name-nondirectory fn))))
+               (not dired-clean-confirm-killing-deleted-buffers))
            (dolist (buf buf-list)
              (kill-buffer buf))))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]