From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org
Subject: Re: Lisp primitives and their calling of the change hooks
Date: Thu, 04 Jan 2018 13:16:23 -0500 [thread overview]
Message-ID: <jwvwp0x7b44.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <20180104155111.GB6846@ACM> (Alan Mackenzie's message of "Thu, 4 Jan 2018 15:51:11 +0000")
>> FWIW, we do not try to make those numbers match (and their begin/end
>> specs don't necessarily match either).
> In practice, these numbers match for the vast majority of buffer
> changing calls, and they match at 1-1.
Yes, as discussed numerous times in the past ;-)
> These numbers, in an ideal world, would match.
Not in my ideal world, no.
> It is also not true:
As mentioned, I'd consider that as a bug.
> insert-file-contents, in circumstances explored in
> summer 2016, invokes only a-c-f, not b-c-f.
And indeed, I considered it a bug and AFAIK this is now fixed.
>> For most of the others, a deeper inspection would be needed to figure
>> out if there's an actual bug or if it's just a normal occurrence.
> We know there is a bug in insert-file-contents (See summer 2016).
^^
was
> I would be surprised indeed if there weren't others, too.
I would too.
> However, we could improve the documentation of this situation in the
> elisp manual.
We currently say:
Do @emph{not} expect the before-change hooks and the after-change
hooks be called in balanced pairs around each buffer change. Also
don't expect the before-change hooks to be called for every chunk of
text Emacs is about to delete. These hooks are provided on the
assumption that Lisp programs will use either before- or the
after-change hooks, but not both, and the boundaries of the region
where the changes happen might include more than just the actual
changed text, or even lump together several changes done piecemeal.
which is lax enough that any behavior could be argued to be acceptable.
IOW I think it's too lax. We should probably try and fix it to reflect
the fact that every change should be covered by the last preceding b-c-f
and should be followed by a corresponding call to a-c-f (and this
before the next call to b-c-f).
Stefan
next prev parent reply other threads:[~2018-01-04 18:16 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-03 12:45 Lisp primitives and their calling of the change hooks Alan Mackenzie
2018-01-03 21:51 ` Stefan Monnier
2018-01-04 15:51 ` Alan Mackenzie
2018-01-04 18:16 ` Stefan Monnier [this message]
2018-01-04 21:11 ` Alan Mackenzie
2018-01-04 21:36 ` Stefan Monnier
2018-01-06 15:18 ` Alan Mackenzie
2018-01-06 15:51 ` Stefan Monnier
2018-01-06 16:18 ` Eli Zaretskii
2018-01-06 19:06 ` Alan Mackenzie
2018-01-06 20:24 ` Alan Mackenzie
2018-01-07 11:36 ` Alan Mackenzie
2018-01-07 11:49 ` Eli Zaretskii
2018-01-07 12:08 ` Alan Mackenzie
2018-01-07 13:56 ` Alan Mackenzie
2018-01-07 15:21 ` [SUSPECTED SPAM] " Stefan Monnier
2018-01-07 16:47 ` Eli Zaretskii
2018-01-07 17:50 ` Stefan Monnier
2018-01-07 17:58 ` Eli Zaretskii
2018-01-07 19:04 ` Stefan Monnier
2018-01-07 19:48 ` Alan Mackenzie
2018-01-07 19:58 ` Eli Zaretskii
2018-01-07 21:10 ` Alan Mackenzie
2018-01-08 3:41 ` Eli Zaretskii
2018-01-08 19:24 ` Alan Mackenzie
2018-01-08 21:15 ` Eli Zaretskii
2018-01-08 22:24 ` Stefan Monnier
2018-01-09 3:55 ` Eli Zaretskii
2018-01-09 13:30 ` Stefan Monnier
2018-01-09 18:50 ` Eli Zaretskii
2018-01-09 19:53 ` Alan Mackenzie
2018-01-09 20:05 ` Eli Zaretskii
2018-01-10 18:29 ` Alan Mackenzie
2018-01-12 16:40 ` Alan Mackenzie
2018-01-09 20:07 ` Stefan Monnier
2018-01-10 18:45 ` Alan Mackenzie
2018-01-10 19:30 ` Stefan Monnier
2018-01-10 19:48 ` Alan Mackenzie
2018-01-10 20:33 ` Stefan Monnier
2018-01-10 21:03 ` Alan Mackenzie
2018-01-11 13:36 ` Stefan Monnier
2018-01-11 17:39 ` Alan Mackenzie
2018-01-11 19:35 ` Stefan Monnier
2018-01-11 19:46 ` Alan Mackenzie
2018-01-11 20:15 ` Stefan Monnier
2018-01-11 21:20 ` Alan Mackenzie
2018-01-11 23:42 ` Stefan Monnier
2018-01-12 16:14 ` Alan Mackenzie
2018-01-10 22:06 ` Clément Pit-Claudel
2018-01-10 22:20 ` Alan Mackenzie
2018-01-08 4:29 ` Stefan Monnier
2018-01-07 17:54 ` Alan Mackenzie
2018-01-07 18:05 ` Eli Zaretskii
2018-01-05 6:55 ` Eli Zaretskii
2018-01-05 11:41 ` Alan Mackenzie
2018-01-05 13:00 ` Eli Zaretskii
2018-01-05 13:34 ` Alan Mackenzie
2018-01-05 14:08 ` Eli Zaretskii
2018-01-05 15:54 ` Alan Mackenzie
2018-01-05 16:50 ` Stefan Monnier
2018-01-05 17:38 ` Alan Mackenzie
2018-01-05 18:09 ` Stefan Monnier
2018-01-05 19:53 ` Eli Zaretskii
2018-01-05 22:28 ` Stefan Monnier
2018-01-06 9:05 ` Eli Zaretskii
2018-01-06 15:26 ` Stefan Monnier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvwp0x7b44.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=acm@muc.de \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).