Function: c-restore-<>-properties
c-restore-<>-properties is a byte-compiled function defined in
cc-engine.el.gz.
Signature
(c-restore-<>-properties BEG END OLD-LEN)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-engine.el.gz
(defun c-restore-<>-properties (_beg _end _old-len)
;; This function is called as an after-change function. It restores the
;; category/syntax-table properties on template/generic <..> pairs between
;; c-new-BEG and c-new-END. It may do hidden buffer changes.
(c-save-buffer-state ((c-parse-and-markup-<>-arglists t)
c-restricted-<>-arglists lit-limits)
(goto-char c-new-BEG)
(if (setq lit-limits (c-literal-limits))
(goto-char (cdr lit-limits)))
(while (and (< (point) c-new-END)
(c-syntactic-re-search-forward "<" c-new-END 'bound))
(backward-char)
(save-excursion
(c-backward-token-2)
(setq c-restricted-<>-arglists
(and (not (looking-at c-opt-<>-sexp-key))
(progn (c-backward-syntactic-ws) ; to ( or ,
(and (memq (char-before) '(?\( ?,)) ; what about <?
(not (eq (c-get-char-property (point) 'c-type)
'c-decl-arg-start)))))))
(or (c-forward-<>-arglist nil)
(c-forward-over-token-and-ws)
(goto-char c-new-END)))))