GNU bug report logs -
#25111
How modification-hooks let-bind inhibit-modification-hooks?
Previous Next
Full log
View this message in rfc822 format
> From: Noam Postavsky <npostavs <at> users.sourceforge.net>
> Date: Mon, 5 Dec 2016 12:39:29 -0500
> Cc: Phillip Lord <phillip.lord <at> russet.org.uk>, 25111 <at> debbugs.gnu.org
>
> >> The documentation for "modification-hooks" on overlays says:
> >>
> >> If these functions modify the buffer, they should bind
> >> ‘inhibit-modification-hooks’ to ‘t’ around doing so, to avoid
> >> confusing the internal mechanism that calls these hooks.
> >>
> >> But as far as I can see, the only place these gets called
> >> "signal_after_change"
> >> and "signal_before_change", inhibit-modification-hooks is already specbound
> >> to t, so this advice is unnecessary.
> >>
> >> Also, the documentation for inhibit-modification-hooks says:
> >>
> >> If you do want modification hooks to be run in a particular
> >> piece of code that is itself run from a modification hook, then
> >> rebind locally ‘inhibit-modification-hooks’ to ‘nil’.
> >>
> >> which suggests that, in fact, it is possible to call the modification
> >> hooks from inside another call to these functions.
> >
> > Given these two excerpts, it seems to me that there's no inaccuracies
> > in the manual, perhaps we just need to tell both stories in the same
> > place or something? Or do you still think there's something incorrect
> > in these two fragments?
>
> Would following the advice in the second fragment confuse the
> "internal mechanism" (as suggested in the first fragment) or not?
Only if the other hooks that modify buffer, and do NOT want hooks to
be run, don't bind inhibit-modification-hooks to t. AFAIU, at least.
This bug report was last modified 6 years and 29 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.