Function: c-invalidate-macro-cache
c-invalidate-macro-cache is a byte-compiled function defined in
cc-engine.el.gz.
Signature
(c-invalidate-macro-cache BEG END)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
;; Either nil, or the position of a comment which is open at the end of the
;; macro represented by `c-macro-cache'.
(defun c-invalidate-macro-cache (beg _end)
;; Called from a before-change function. If the change region is before or
;; in the macro characterized by `c-macro-cache' etc., nullify it
;; appropriately. BEG and END are the standard before-change-functions
;; parameters. END isn't used.
(cond
((null c-macro-cache))
((<= beg (car c-macro-cache))
(setq c-macro-cache nil
c-macro-cache-start-pos nil
c-macro-cache-syntactic nil
c-macro-cache-no-comment nil))
((and (cdr c-macro-cache)
(< beg (cdr c-macro-cache)))
(setcdr c-macro-cache nil)
(setq c-macro-cache-start-pos beg
c-macro-cache-syntactic nil
c-macro-cache-no-comment nil))
((and c-macro-cache-start-pos
(< beg c-macro-cache-start-pos))
(setq c-macro-cache-start-pos beg
c-macro-cache-syntactic nil
c-macro-cache-no-comment nil))))