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

From: Michael Albinus <[email-masked]>
Date: Sun, 02 Feb 2025 11:10:44 +0100

Tassilo Horn <[email-masked]> writes:

Hi Tassilo,

> Yes, I have the basically the same questions.  IIRC, the problem you,
> Michael A., wanted to address in your proposal was that if a buffer has
> been skipped during auto-revert and the trigger for auto-revert was a
> filesystem notification, the auto-revert should be retried later.
>
> But isn't that the case anyway because auto-revert-buffers is run from a
> timer every auto-revert-interval seconds, so unless one sets
> auto-revert-interval to some very high value, no harm is done?
>
> Even if we would like to cater for this case, I don't understand how
> your approach addresses the retries for buffers that skipped/inhibited
> auto-revert.  I mean, I can envision that auto-revert maintains a list
> of buffers it skipped but how would that be worked through?  Another
> timer that runs more often that auto-revert-interval?

I haven't investigated this yet. Perhaps you are right, and a later
polling does the job. But this problem is recent anyway (if it is a
problem); my proposal doesn't make it worse.

> One fact in favour for some inhibit-auto-revert variable is that
> currently we abuse buffer-stale-function whose docs state "Function to
> check wether a buffer _needs_ reverting" with functions that actually
> check if we need and _allow_ reverting.  If we had inhibit-auto-revert,
> the allowance part could and should be removed from
> buffer-stale-function.

See my patch, it does exactly this.

> Bye,
> Tassilo

Best regards, Michael.