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.

View in manual

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)))