Function: combine-after-change-calls
combine-after-change-calls is a macro defined in subr.el.gz.
Signature
(combine-after-change-calls &rest BODY)
Documentation
Execute BODY, but don't call the after-change functions till the end.
If BODY makes changes in the buffer, they are recorded
and the functions on after-change-functions are called several times
when BODY is finished.
The return value is the value of the last form in BODY.
If before-change-functions is non-nil, then calls to the after-change
functions can't be deferred, so in that case this macro has no effect.
Do not alter after-change-functions or before-change-functions
in BODY.
Probably introduced at or before Emacs version 20.1.
Source Code
;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defmacro combine-after-change-calls (&rest body)
"Execute BODY, but don't call the after-change functions till the end.
If BODY makes changes in the buffer, they are recorded
and the functions on `after-change-functions' are called several times
when BODY is finished.
The return value is the value of the last form in BODY.
If `before-change-functions' is non-nil, then calls to the after-change
functions can't be deferred, so in that case this macro has no effect.
Do not alter `after-change-functions' or `before-change-functions'
in BODY."
(declare (indent 0) (debug t))
`(unwind-protect
(let ((combine-after-change-calls t))
. ,body)
(combine-after-change-execute)))