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

From: Michael Heerdegen <[email-masked]>
Date: Sat, 25 Jan 2025 00:44:11 +0100

Eli Zaretskii <[email-masked]> writes:

> We have quite a few of similar inhibit-SOMETHING variables in Emacs.
> We use a simple rule for them: such a variable, when non-nil,
> unconditionally overrides everything else.  I've never had any
> problems with that, and I debug Emacs quite a lot.  It's actually the
> other way around in many cases: being able to inhibit some
> functionality by flipping a single variable is very easy and
> convenient.

100% agree, but my problem is not that at all, but the duplication we
introduce.

> > A complication without any practical benefit IMO.
>
> I think this opinion of yours is at least in part because you don't
> appreciate the simplicity and convenience of a variable as opposed to
> redefining or binding a function.

I would need more use cases to be able to decide that.  Which of the two
variables would be used/bound more in practice?

In the long run, code is longer maintained that created.  And the design
of autorevert.el is already not that trivial.  So when I in the future
would have to follow the binding of two variables instead of one to
understand what is going on, this is not an improvement, because the
existing variable is still there and hardly discoverable, and at least
potentially involved.

So you seem to look at this more from the perspective of use cases.  For
that perspective I even agree but I dunno how much it matters since I
don't know how useful this feature is.  And even then - as said, all
those use cases will be easier to implement but harder to debug.

> > So i would rather consider to rename the variable
> > `buffer-stale-function' for the discoverability - or just leave
> > things as they are.
>
> We cannot rename it.

Then I would prefer to keep the fix we have.

Michael.