""))))
(and (> count 0) count)))
+(defvar-local dired--inhibit-auto-revert nil
+ "A non-nil value prevents `auto-revert-mode' from reverting the buffer.")
+
(defmacro dired-map-over-marks (body arg &optional show-progress
distinguish-one-marked)
"Eval BODY with point on each marked line. Return a list of BODY's results.
;;endless loop.
;;This warning should not apply any longer, sk 2-Sep-1991 14:10.
`(prog1
- (let ((inhibit-read-only t) case-fold-search found results)
+ (let ((dired--inhibit-auto-revert t) (inhibit-read-only t)
+ case-fold-search found results)
,(let ((else `(let ((regexp (dired-marker-regexp)) next-position)
(save-excursion
(goto-char (point-min))
;; Do not auto-revert when the dired buffer can be currently
;; written by the user as in `wdired-mode'.
buffer-read-only
+ ;; When a dired operation using dired-map-over-marks is in
+ ;; progress, dired--inhibit-auto-revert is bound to some
+ ;; non-nil value and we must not auto-revert because that could
+ ;; change the order of files leading to skipping or
+ ;; double-processing (see bug#75626).
+ (not dired--inhibit-auto-revert)
(dired-directory-changed-p dirname))))
(defcustom dired-auto-revert-buffer nil