Function: c-after-change-include-<>
c-after-change-include-<> is a byte-compiled function defined in
cc-mode.el.gz.
Signature
(c-after-change-include-<> BEG END OLD-LEN)
Documentation
Apply category/syntax-table properties to each #include <..>.
In particular, to the < and > characters to mark them as matching parens using these properties. This is done on every such #include <..> with a portion between BEG and END.
This function is used solely as a member of
c-before-font-lock-functions where is should appear late, but before
c-neutralize-syntax-in-CPP. It should be used only together with
c-before-change-include-<>.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-mode.el.gz
(defun c-after-change-include-<> (beg end _old-len)
"Apply category/syntax-table properties to each #include <..>.
In particular, to the < and > characters to mark them as matching parens
using these properties. This is done on every such #include <..> with a
portion between BEG and END.
This function is used solely as a member of
`c-before-font-lock-functions' where is should appear late, but before
`c-neutralize-syntax-in-CPP'. It should be used only together with
`c-before-change-include-<>'."
(c-save-buffer-state ((search-end (progn (goto-char end)
(c-end-of-macro)
(point)))
hash-pos)
(goto-char beg)
(c-beginning-of-macro)
(while (and (< (point) search-end)
(search-forward-regexp c-cpp-include-key search-end 'bound)
(setq hash-pos (match-beginning 0)))
(c-forward-comments (c-point 'eoll))
(when (and (< (point) search-end)
(looking-at "\\(<\\)[^>\n\r]*\\(>\\)")
(not (cdr (c-semi-pp-to-literal (match-beginning 0)))))
(c-mark-<-as-paren (match-beginning 1))
(when (< hash-pos c-new-BEG) (setq c-new-BEG hash-pos))
(c-mark->-as-paren (match-beginning 2))
(when (> (match-end 2) c-new-END) (setq c-new-END (match-end 2)))))))