Variable: c-font-lock-keywords-3
c-font-lock-keywords-3 is a variable defined in cc-fonts.el.gz.
Value
Large value
(c-maybe-font-lock-wrong-style-comments
("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$"
4 font-lock-string-face t)
(#[257
"\302\300!\303!\210`W\203j\304\305\306#\203j\307\224b\210\303!\204\307\225b\210\310 \311\312\"\216\313\314\224\314\225\315 $)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203]\313\211T\320\321$\210\313\211T\320\322$\266\202e\323\211T\324#\266)\210\202)\325\207"
[parse-sexp-lookup-properties font-lock-string-face boundp
c-skip-comments-and-strings
re-search-forward
"\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<\\([^>\n
]*\\)>?\\)"
t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t] 3]
put-text-property 8 face
#[0 "\301\300\302\"\207"
[V0 set-match-data t] 3]
62 category c-<-as-paren-syntax
c->-as-paren-syntax
remove-text-properties
(category nil) nil]
9 "\n\n(fn LIMIT)"])
(#[257
"\302\300!\303!\210`W\203z\304\305\306#\203z\307\224b\210\303!\204\307\225b\210\310 \311\312\"\216\313\224\203l\214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321 !\203h\314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203h\323u\210\202B)\202u\314\315\224\315\225\316\322$\210)\210\202)\323\207"
[parse-sexp-lookup-properties c-symbol-key boundp
c-skip-comments-and-strings
re-search-forward
"\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *define\\(\\(\\s \\|[\n
]\\)\\|//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_$][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)"
t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t] 3]
8 put-text-property 6 face
font-lock-function-name-face
c-forward-sws looking-at
font-lock-variable-name-face nil 44]
7 "\n\n(fn LIMIT)"])
(#[257
"\303\300! \304=\203@\212\305 \210`)\306!\210\307\310\311#\203?\312\224b\210\306!\204\312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202\210\306!\210`W\203\207\307\321\311#\203\207\312\224b\210\306!\204D\312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201\316\317\224\317\225\320\n$\210\202m)\266\202D)\325\207"
[parse-sexp-lookup-properties c-font-lock-context
c-preprocessor-face-name boundp
in-cpp-expr c-end-of-macro
c-skip-comments-and-strings
re-search-forward
"\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)"
t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t] 3]
put-text-property 1 face
"\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n
]\\)\\|[^\n
]\\)*"
3
#[0 "\301\300\302\"\207"
[V0 set-match-data t] 3]
move nil]
8 "\n\n(fn LIMIT)"])
(#[257
"\302\300!\303!\210`W\2039\304\305\306#\2039\307\224b\210\303!\204\307\225b\210\310 \311\312\"\216\313\314\224\314\225\315 $)\266\202)\316\207"
[parse-sexp-lookup-properties c-preprocessor-face-name boundp
c-skip-comments-and-strings
re-search-forward
"\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)"
t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t] 3]
put-text-property 3 face nil]
7 "\n\n(fn LIMIT)"])
(eval list
#[257
"\300\301!\210\302\303\304#\211\262\203\305\224b\210\301!\204\305\225b\210\207"
[nil c-skip-comments-and-strings re-search-forward
"\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *if\\(n\\)def\\>"
t 0]
6 "\n\n(fn LIMIT)"]
3 c-negation-char-face-name 'append)
(eval list "\240" 0
(progn
(unless (c-face-name-p 'c-nonbreakable-space-face)
(c-make-inverse-face 'font-lock-warning-face
'c-nonbreakable-space-face))
''c-nonbreakable-space-face))
("\\s|" 0 font-lock-warning-face t nil)
c-font-lock-invalid-single-quotes
(eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1
c-constant-face-name)
("\\<\\(\\(?:_\\(?:Generic\\|_\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\)\\|a\\(?:sm\\|uto\\)\\|break\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:f\\|nline\\)\\|re\\(?:gister\\|strict\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\|ruct\\)\\|witch\\)\\|type\\(?:\\(?:de\\|o\\)f\\)\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$]\\|$\\)"
1 font-lock-keyword-face)
(eval list "\\(!\\)[^=]" 1 c-negation-char-face-name)
c-font-lock-complex-decl-prepare c-font-lock-cut-off-declarators
c-font-lock-declarations c-font-lock-enclosing-decls
c-font-lock-c++-using
("\\<\\(\\(?:_\\(?:Bool\\|Complex\\|Imaginary\\)\\|char\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\>"
1 'font-lock-type-face)
c-font-lock-ids-with-dollar c-font-lock-enum-tail
c-font-lock-enum-body
(eval list
"\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_$][[:alnum:]_$]\\{,1000\\}\\)"
(list 2 c-label-face-name nil t)))
Documentation
Accurate normal font locking for C mode.
Like the variable c-font-lock-keywords-2(var)/c-font-lock-keywords-2(fun) but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for c-font-lock-extra-types.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-fonts.el.gz
(defconst c-font-lock-keywords-3 (c-lang-const c-matchers-3 c)
"Accurate normal font locking for C mode.
Like the variable `c-font-lock-keywords-2' but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for `c-font-lock-extra-types'.")