GNU bug report logs - #78221
31.0.50; Improving *-change-functions notifications

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Fri, 2 May 2025 21:49:02 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Alan Mackenzie <acm <at> muc.de>
Cc: 78221 <at> debbugs.gnu.org, yantar92 <at> posteo.net, monnier <at> iro.umontreal.ca, joaotavora <at> gmail.com
Subject: bug#78221: 31.0.50; Improving *-change-functions notifications
Date: Sat, 03 May 2025 18:52:11 +0300
> Date: Sat, 3 May 2025 15:15:24 +0000
> Cc: monnier <at> iro.umontreal.ca, 78221 <at> debbugs.gnu.org, joaotavora <at> gmail.com,
>   yantar92 <at> posteo.net
> From: Alan Mackenzie <acm <at> muc.de>
> 
> > That's not how nested notifications happen in most, if not all, the
> > cases.  They happen because a function that calls the before-change at
> > the beginning and an after-change at the end calls, as part of its
> > processing, some other function, which itself modifies buffer text or
> > the text properties, and thus emits its own "nested" notifications.
> 
> OK.  Most Lisp code shouldn't be running the hook explicitly,
> though.

No, but the C code does.  And it's very easy to imagine a situation
where one such primitive is invoked in the middle of another.  A case
in point is coding.c, where Stefan eliminated such a "nesting" just a
few hours ago (by a change that we have yet to see if it's safe).
With all the hooks we provide, such situations can emerge very easily.




This bug report was last modified 32 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.