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 c-font-lock-cpp-messages
("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\(^\\s *\\(#\\)\\s *\\_<\\(embed\\|include\\)\\_>[ ]*\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<\\([^>\n
]*\\)>?\\)"
11 font-lock-string-face t)
(#[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\315\"\216\312\225\307\310\323#\203\201\316\317\224\317\225\320\n$\210\202m)\266\202D)\324\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\\)\\_>" 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 *\\_<\\(\\(?:eli\\(?:f\\(?:n?de\\)\\)?\\|i\\)f\\)\\_>\\(\\\\\\(.\\|[\n
]\\)\\|[^\n
]\\)*"
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\\|false\\|nullptr\\|true\\)\\_>\\)\\_>"
1 c-constant-face-name)
("\\_<\\_<\\(_\\(?:Align\\(?:as\\|of\\)\\|Generic\\|Static_assert\\|Thread_local\\|_\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\)\\|a\\(?:lign\\(?:as\\|of\\)\\|sm\\|uto\\)\\|break\\|c\\(?:ase\\|on\\(?:st\\(?:expr\\)?\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:f\\|nline\\)\\|re\\(?:gister\\|strict\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_assert\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:hread_local\\|ype\\(?:def\\|of\\(?:_unqual\\)?\\)\\)\\|union\\|\\(?:volat\\|wh\\)ile\\)\\_>"
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
("\\_<\\(\\_<\\(_\\(?:B\\(?:itInt\\|ool\\)\\|Complex\\|Decimal\\(?:128\\|32\\|64\\)\\|Imaginary\\)\\|bool\\|char\\(?:\\(?:16\\|32\\|8\\)_t\\)?\\|double\\|float\\|int\\|long\\|nullptr_t\\|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 3
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'.")