The documentation of inhibit-modification-hooks states

Non-nil means don't run any of the hooks that respond to buffer changes.

This affects before-change-functions and after-change-functions,
as well as hooks attached to text properties and overlays.
Setting this variable non-nil also inhibits file locks and checks
whether files are locked by another Emacs session, as well as
handling of the active region per select-active-regions.

Besides before-change-functions and after-change-functions, how can I get a list of all "hooks attached to text properties and overlays"? Are these the only hooks that inhibit-modification-hooks inhibits or are there others? For example, wouldn't first-change-hook be inhibited as well?


An overlay can have property modification-hooks, which specifies particular hooks.

Buffer text or a string can have text property modification-hooks, which is similar but slightly different.

See the Elisp manual:

There you'll see how inhibit-modification-hooks relates to these properties.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.