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