]> git.eshelyaron.com Git - emacs.git/commitdiff
Use dired--inhibit-auto-revert for fixing bug#71264
authorTassilo Horn <tsdh@gnu.org>
Sun, 26 Jan 2025 08:44:59 +0000 (09:44 +0100)
committerEshel Yaron <me@eshelyaron.com>
Sun, 26 Jan 2025 18:53:39 +0000 (19:53 +0100)
The original fix bound auto-revert-mode to nil which had the side-effect
of disabling auto-revert forever in this buffer because
auto-revert-handler removes the buffer from auto-revert-buffer-list when
it's called but auto-revert-mode is nil.

* lisp/dired.el (dired-internal-do-deletions): Bind
dired--inhibit-auto-revert during deletion (bug#71264).

(cherry picked from commit 01d93d56cd469ddb45d142da948caef9f2dc1a3f)

lisp/dired.el

index 21dec6ac57d3a4f4a8ddbbdc449d55d118615907..d040540a49b3c16f52942533b86db0fe5d78585b 100644 (file)
@@ -4082,13 +4082,12 @@ non-empty directories is allowed."
            (while l
              (goto-char (marker-position (cdr (car l))))
               (dired-move-to-filename)
-             (let ((inhibit-read-only t))
+             (let ((inhibit-read-only t)
+                    ;; Temporarily prevent auto-revert while deleting
+                    ;; entry in the dired buffer (bug#71264).
+                    (dired--inhibit-auto-revert t))
                (condition-case err
-                   (let ((fn (car (car l)))
-                          ;; Temporarily prevent auto-revert while
-                          ;; deleting entry in the dired buffer
-                          ;; (bug#71264).
-                          (auto-revert-mode nil))
+                   (let ((fn (car (car l))))
                      (dired-delete-file fn dired-recursive-deletes trash)
                      ;; if we get here, removing worked
                      (setq succ (1+ succ))