aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorŠtěpán Němec2020-03-31 05:38:50 +0200
committerŠtěpán Němec2020-04-13 12:15:13 +0200
commitf84aed5fd233d59196d942acfb67bb4051c69cf1 (patch)
tree6a096f13faea8904b23e0e975d77d3cae754bfa4
parent81d07da788e7caea266f4a520cd9922c990d04e9 (diff)
downloademacs-f84aed5fd233d59196d942acfb67bb4051c69cf1.tar.gz
emacs-f84aed5fd233d59196d942acfb67bb4051c69cf1.zip
Clarify documentation on inhibit-modification-hooks intended usage
Cf. bug#40332 and the discussion at https://lists.gnu.org/archive/html/emacs-devel/2020-03/msg00921.html * doc/lispref/text.texi (Change Hooks): * src/insdel.c (syms_of_insdel): Clarify the intended usage of 'inhibit-modification-hooks'.
-rw-r--r--doc/lispref/text.texi7
-rw-r--r--src/insdel.c8
2 files changed, 14 insertions, 1 deletions
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index f027cdf8ede..ffdf952b081 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -5776,4 +5776,11 @@ code that is itself run from a modification hook, then rebind locally
5776may cause recursive calls to the modification hooks, so be sure to 5776may cause recursive calls to the modification hooks, so be sure to
5777prepare for that (for example, by binding some variable which tells 5777prepare for that (for example, by binding some variable which tells
5778your hook to do nothing). 5778your hook to do nothing).
5779
5780We recommend that you only bind this variable for modifications that
5781do not result in lasting changes to buffer text contents (for example
5782face changes or temporary modifications). If you need to delay change
5783hooks during a series of changes (typically for performance reasons),
5784use @code{combine-change-calls} or @code{combine-after-change-calls}
5785instead.
5779@end defvar 5786@end defvar
diff --git a/src/insdel.c b/src/insdel.c
index 21acf0e61db..dfa1cc311ca 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -2397,7 +2397,13 @@ This affects `before-change-functions' and `after-change-functions',
2397as well as hooks attached to text properties and overlays. 2397as well as hooks attached to text properties and overlays.
2398Setting this variable non-nil also inhibits file locks and checks 2398Setting this variable non-nil also inhibits file locks and checks
2399whether files are locked by another Emacs session, as well as 2399whether files are locked by another Emacs session, as well as
2400handling of the active region per `select-active-regions'. */); 2400handling of the active region per `select-active-regions'.
2401
2402To delay change hooks during a series of changes, use
2403`combine-change-calls' or `combine-after-change-calls' instead of
2404binding this variable.
2405
2406See also the info node `(elisp) Change Hooks'. */);
2401 inhibit_modification_hooks = 0; 2407 inhibit_modification_hooks = 0;
2402 DEFSYM (Qinhibit_modification_hooks, "inhibit-modification-hooks"); 2408 DEFSYM (Qinhibit_modification_hooks, "inhibit-modification-hooks");
2403 2409