GNU bug report logs -
#75626
31.0.50; Dired misses or double-processes files when auto-revert-mode is enabled
Previous Next
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 #62 received at 75626 <at> debbugs.gnu.org (full text, mbox):
Tassilo Horn <tsdh <at> gnu.org> writes:
> Good idea. I've tried this simple patch and it fixes the issue for me.
>
> diff --git a/lisp/dired.el b/lisp/dired.el
> index bab5e833a76..1152d85f149 100644
> --- a/lisp/dired.el
> +++ b/lisp/dired.el
> @@ -1289,6 +1289,10 @@ dired-buffer-stale-p
> ;; 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, inhibit-read-only is set and we must not
Better say "bound" please.
> + ;; auto-revert.
> + (null inhibit-read-only)
And use `not' here, since we are testing a boolean valued flag.
> (dired-directory-changed-p dirname))))
>
> (defcustom dired-auto-revert-buffer nil
>
> Probably testing inhibit-read-only is not TRT but the expansion of
> dired-map-over-marks should explicitly let-bind some new
> dired--map-over-marks-in-progress variable to make it more explicit...
Yes. OTOH it's not bad either. `inhibit-read-only' bound (together
with buffer-read-only which we already have) is a good indicator for
that some operation is running and we should not auto revert.
Unless I'm missing something I would prefer this solution.
Michael.
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.