GNU bug report logs - #75626
31.0.50; Dired misses or double-processes files when auto-revert-mode is enabled

Previous Next

Package: emacs;

Reported by: Tassilo Horn <tsdh <at> gnu.org>

Date: Fri, 17 Jan 2025 07:43:01 UTC

Severity: normal

Found in version 31.0.50

Done: Tassilo Horn <tsdh <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 75626-done <at> debbugs.gnu.org, Tassilo Horn <tsdh <at> gnu.org>
Subject: bug#75626: 31.0.50; Dired misses or double-processes files when auto-revert-mode is enabled
Date: Sun, 02 Feb 2025 11:05:57 +0100
[Message part 1 (text/plain, inline)]
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

Hi Michael,

>> I know, that the variant with 'inhibit-auto-revert' has been
>> refused. However, I repeat this proposal. The difference is, that I
>> propose not to use t and nil as values, but a list of buffers or nil. By
>> this, a buffer could be suppressed temporarily from auto-revert by
>> adding it to this list, for example in a let-bind.
>
> But this will come with the same problems - or we need to change each
> command individually and third party packages can still be affected by
> the same issue - which is something I rather would prefer to avoid.

You must change any package, like you did already with
dired.el. auto-revert-mode needs an indication that it should pause for
the current buffer temporarily.

> What advantage would your approach have?  A global variable bound to a
> list of buffers has its advantages, but also its disadvantages, it still
> has to be kept up to date explicitly, dead buffers have to be removed,
> etc.  What you say seems a bit unrelated to what I outlined.

I have added a patch as proof-of-concept. It adresses your concerns.

It adds the global variable inhibit-auto-revert-buffers and the macro
inhibit-auto-revert. I ran the recipe given in the original posting of
this bug many times, even pressing 'Z' while the previous dired
operation didn't finish, and it works as expected.

Could you and Thassilo check this?

> I haven't thought about any other cases than dired at all, though.

They should apply a similar change as I have shown in dired.el. Of
course, this must be documented properly.

> Thx,
>
> Michael.

Best regards, Michael.

[Message part 2 (text/x-patch, attachment)]

This bug report was last modified 196 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.