Prevent auto-revert when deleting entry (bug#71264)
authorManuel Giraud <manuel@ledu-giraud.fr>
Mon, 17 Jun 2024 09:06:28 +0000 (11:06 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 22 Jun 2024 08:52:32 +0000 (11:52 +0300)
* lisp/dired.el (require): Require "autorevert" for
`auto-revert-mode' usage.
(dired-internal-do-deletions): Temporarily prevent auto-revert.

lisp/dired.el

index c51e5e42c29a87b52109959276b153dcbe50c1a1..0adf06f471efc829c02d477987e7ae6878ebe55b 100644 (file)
@@ -36,6 +36,7 @@
 
 (eval-when-compile (require 'subr-x))
 (eval-when-compile (require 'cl-lib))
+(eval-when-compile (require 'autorevert))
 ;; When bootstrapping dired-loaddefs has not been generated.
 (require 'dired-loaddefs nil t)
 (require 'dnd)
@@ -4015,7 +4016,11 @@ non-empty directories is allowed."
               (dired-move-to-filename)
              (let ((inhibit-read-only t))
                (condition-case err
-                   (let ((fn (car (car l))))
+                   (let ((fn (car (car l)))
+                          ;; Temporarily prevent auto-revert while
+                          ;; deleting entry in the dired buffer
+                          ;; (bug#71264).
+                          (auto-revert-mode nil))
                      (dired-delete-file fn dired-recursive-deletes trash)
                      ;; if we get here, removing worked
                      (setq succ (1+ succ))