[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Lisp primitives and their calling of the change hooks
From: |
Stefan Monnier |
Subject: |
Re: Lisp primitives and their calling of the change hooks |
Date: |
Fri, 05 Jan 2018 17:28:15 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> We don't normally include such "preemptive" explanations in the
> manual. If the text doesn't say one should expect balanced calls, the
> reader has no reason to expect balanced calls.
I think the name of the hooks suggests such a balance, and actual
experimentation can very easily lead the user to think that
they're balanced. Alan may not be the "average Emacs coder", but
I think his experience is not completely unexpected.
> The current text even makes a point of saying that explicitly.
Indeed, and this discussion wants to replace this with something a bit
more specific.
> This basically says the calls are mostly balanced, but don't rely on
> that, because sometimes they aren't".
It says a bit more because it describes the way in which they're
not balanced.
> The text about after-change-functions being called zero or more times
> adds non-trivial information, but what is its practical usefulness?
It says that subsequent calls to a-c-f aren't calls with a missing b-c-f
but that they "belong" to (I think of it as "they are covered by") the
last b-c-f.
> Same with the text about BEG and END.
Not sure how important it is, but I think it can help the coder have
a mental model of the kind of unbalancedness that can occur.
> Maybe I don't understand what are we trying to accomplish with these
> changes, and that's why I fail to see why the proposed changes are for
> the better.
The current text basically says "don't rely on them being balanced" but
doesn't say what the coder can rely on if he wants to share information
between a-c-f and b-c-f.
The new text tries to be sufficiently loose that if Emacs doesn't obey
it it's actually a bug, yet sufficiently precise that an Elisp coder
can make use of it to reliably share information between a-c-f and
b-c-f.
Stefan
- Re: Lisp primitives and their calling of the change hooks, (continued)
- Re: Lisp primitives and their calling of the change hooks, Eli Zaretskii, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Alan Mackenzie, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Eli Zaretskii, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Alan Mackenzie, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Eli Zaretskii, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Alan Mackenzie, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Stefan Monnier, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Alan Mackenzie, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Stefan Monnier, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks, Eli Zaretskii, 2018/01/05
- Re: Lisp primitives and their calling of the change hooks,
Stefan Monnier <=
- Re: Lisp primitives and their calling of the change hooks, Eli Zaretskii, 2018/01/06
- Re: Lisp primitives and their calling of the change hooks, Stefan Monnier, 2018/01/06