Subject: Re: bug#75626: 31.0.50; Dired misses or double-processes files when auto-revert-mode is enabled

From: Tassilo Horn <[email-masked]>
Date: Fri, 17 Jan 2025 14:03:18 +0100

Eli Zaretskii <[email-masked]> writes:

>> I would expect that dired initially captures all marked files and
>> then processes them one by one.  But it looks like dired navigates
>> the dired buffer marked file by marked file and when the sorting
>> changes in between due to a refresh, it misses or double-processes
>> files.
>
> That's not how dired-do-* commands work, though.

Too bad. :-(

> So I think an easier solution would be to temporarily disable
> auto-revert-mode while the command runs.

First, I wanted to say that this wouldn't help because nobody hinders
the user to refresh himself.  But apparently no matter how hard I try to
hit g after starting the Z operation on all files, I can't reproduce the
issue.  I even ramped up to 1000 instead of 100 files.

What is the difference between auto-revert and manually reverting?  It
seems that with just manual reverting (repeatedly hitting g during the
(un)compress operation on many files), I only get one refresh initially
which doesn't change the sorting order (or possibly only with very exact
timing) and then Emacs is blocked until all files are (un)compressed.
With auto-revert-mode, I get many intermediate refreshes during the
operation.

Bye,
  Tassilo