GNU bug report logs -
#56210
29.0.50; Keyboard macros do not trigger after-change-functions
Previous Next
Reported by: Richard Hansen <rhansen <at> rhansen.org>
Date: Sat, 25 Jun 2022 06:23:02 UTC
Severity: normal
Found in version 29.0.50
Done: Richard Hansen <rhansen <at> rhansen.org>
Bug is archived. No further changes may be made.
Full log
Message #38 received at 56210 <at> debbugs.gnu.org (full text, mbox):
> Date: Mon, 27 Jun 2022 13:07:44 -0400
> Cc: larsi <at> gnus.org, 56210 <at> debbugs.gnu.org
> From: Richard Hansen <rhansen <at> rhansen.org>
>
> > Your test calls with-current-buffer-window, which calls
> > temp-buffer-window-setup, which inhibits modification hooks:
>
> Yup, that's it! If I set `inhibit-modification-hooks' back to nil then it works. Thank you.
>
> I thought I had a `(should (null inhibit-modification-hooks))` at some point in the past to rule that out, but I must not have had that inside the `with-current-buffer-window'.
>
> Perhaps the documentation should be updated to indicate that the modification hooks are inhibited? I can cook up a patch.
Is it really a good idea? In general, all the 'with-SOMETHING' macros
are likely to inhibit modification hooks, since they erase the
temporary buffers high and low. We'd need to stick these factoids in
umpteen APIs, and we'll still forget some. E.g., in this case, even
if temp-buffer-window-setup was documented to inhibit modification
hooks. how would you know it is relevant to your case -- it is not
explicitly called anywhere.
I think the rule of thumb should be to assume that any temporary
buffer has these kinds of hooks disabled, and if one needs them
enabled, one should enable them explicitly.
This bug report was last modified 2 years and 329 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.