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


Message #313 received at 75626 <at> debbugs.gnu.org (full text, mbox):

From: Tassilo Horn <tsdh <at> gnu.org>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Michael Heerdegen <michael_heerdegen <at> web.de>, 75626 <at> debbugs.gnu.org,
 Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#75626: 31.0.50; Dired misses or double-processes files when
 auto-revert-mode is enabled
Date: Mon, 03 Feb 2025 07:12:14 +0100
Michael Albinus <michael.albinus <at> gmx.de> writes:

> Thanks. I'll polish the patch, and if nobody objects, I'll push it to
> master in a couple of days.

No objections from me.  You are the master of auto-revert. ;-)

I'd argue that we also remove the buffer-read-only check from
dired-buffer-stale-p and use the new inhibit-auto-revert-buffers for
activating and deactivating wdired-mode but that can come afterwards.

>> Side-note: at first, it did not work after applying the patch and
>> running "make" in the emacs directory (reproducibly!), a problem I've
>> had before somewhere up the thread.  The original bug was there
>> again.  I placed a watch on inhibit-auto-revert-buffers which
>> revealed that it was set by the computation for all marked files in
>> order to present them at the yes-or-no-p prompt.  But it was not set
>> during the actual processing!  I had to manually delete the dired and
>> autorevert ELC files and "make" again.
>>
>> Does anyone have a clue why?  Does a recompile of a changed file with
>> existing ELC not produce it from scratch?
>
> Usually, this is due to macro-expansion. If you change a macro, you
> must also recompile the file(s) using the macro. IOW, removing
> dired.elc prior compiling would have been sufficient.

Ah, now I understand.  dired.el was changed and recompiled but
dired-do-compress lives in dired-aux.el which hasn't been changed but
needed recompiling because it uses the dired macro dired-map-over-marks.
So in fact, deleting dired-aux.elc was what has been needed.

Thanks,
Tassilo




This bug report was last modified 197 days ago.

Previous Next


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