Cc: address@hidden, address@hidden
From: Daniel Colascione <address@hidden>
Date: Mon, 29 Aug 2016 08:30:21 -0700
b-c-f and a-c-f are symmetric in name and signature. b-c-f is documented as "List of functions
to call before each text change." a-c-f is documented as "List of functions to call after
each text change." The elisp manual documentation is similarly symmetric. This symmetry
produces an expectation that the behavior is symmetric, and this expectation is reinforced by how
the observed behavior is almost always symmetric in practice. Symmetric behavior here is also what
intuitively makes sense.
This is a naïve interpretation of what a "change" means and entails.
It doesn't matter what a "change" means and entails. Whatever a "change"
is, b-c-f and a-c-f use the same word for it, and I've already explained
why it's natural to suppose symmetry between these hooks. In order for
b-c-f and a-c-f to be asymmetric, the definition of the word "change"
needs to somehow change.
Of course, you have changed the subject.
Do you really not understand why many people would find the current
behavior surprising? You have at least *three* people independently
annoyed by it: Alan, Phillip Lord, and me.
It doesn't matter what I understand or not, because that's not the
issue at hand. We are talking about code that runs virtually
unchanged for many years. Making significant changes in it needs a
good reason. When such good reasons emerge, we can discuss whether
they justify the risks. For now, the reasons presented do not.