Variable: c++-font-lock-keywords-2
c++-font-lock-keywords-2 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\304\305\306#\203d\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=\203W\313\211T\320\321$\210\313\211T\320\322$\266\202_\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\304\305\306#\203t\307\224b\210\303!\204\307\225b\210\310 \311\312\"\216\313\224\203f\214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321 !\203b\314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b\323u\210\202<)\202o\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\304\305\306#\2033\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 c-font-lock-ml-strings
(eval list "\\<\\(\\(?:NULL\\|false\\|nullptr\\|true\\)\\)\\>" 1 c-constant-face-name)
("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:lign\\(?:as\\|of\\)\\|nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:_\\(?:await\\|return\\|yield\\)\\|mpl\\|n\\(?:cept\\|st\\(?:_cast\\|e\\(?:val\\|xpr\\)\\|init\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:cltype\\|fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:p\\(?:\\(?:lici\\|or\\)t\\)\\|tern\\)\\)\\|f\\(?:inal\\|or\\|riend\\)\\|goto\\|i\\(?:f\\|mport\\|nline\\)\\|m\\(?:\\(?:odu\\|utab\\)le\\)\\|n\\(?:amespace\\|ew\\|o\\(?:except\\|t\\(?:_eq\\)?\\)\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\|verride\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|quires\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|r\\(?:ead_local\\|ow\\)\\)\\|ry\\|ype\\(?:def\\|id\\|name\\|of\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face)
(#[257 "\301\302\303#\205*\304\224b\210\305!\204\306\307\224\310\"\204#\311\307\224\307\225\310$\210\312\225b\210\202\207"
[c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\s \\|[\n
]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n
]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1]
6 "\n\n(fn LIMIT)"])
c-font-lock-c++-modules
(#[257 "\214e}\210\301!\210\302\303\304#\2054\305\224b\210\301!\204 \305\225b\210\306 \307\310\"\216\311\312\224\312\225\313$)\266\202 )\207"
[font-lock-type-face c-skip-comments-and-strings re-search-forward "\\(?:concept\\)\\(\\s \\|[\n
]\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\s \\|[\n
]\\)*=\\(?:[^=]\\|$\\)" t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
put-text-property 2 face]
7 "\n\n(fn LIMIT)"])
(eval list "\\(!\\)[^=]" 1 c-negation-char-face-name)
(eval list
#[257 "\302\300!\303!\210\304 \305#\203W\306\224b\210\303!\204\306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202)\322\207"
[parse-sexp-lookup-properties c-known-type-key boundp c-skip-comments-and-strings re-search-forward t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
put-text-property 1 face font-lock-type-face
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
c-forward-sws
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
c-font-lock-declarators nil]
7 "\n\n(fn LIMIT)"])
(#[257 "\301\300!\302!\210\303\304\305#\203W\306\224b\210\302!\204\306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202)\322\207"
[parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\(\\s \\|[\n
]\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)" t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
put-text-property 3 face font-lock-type-face
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
c-forward-sws
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
c-font-lock-declarators nil]
7 "\n\n(fn LIMIT)"])
(#[257 "\301\300!\302!\210\303\304\305#\203E\306\224b\210\302!\204\306\225b\210\307 \310\311\"\216\312\225b\210\313 )\266\307 \310\314\"\216\315\305\316\211$)\266\312\225b\210\202)\316\207"
[parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|union\\)\\)\\>" t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
1 c-forward-sws
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
c-font-lock-declarators nil]
7 "\n\n(fn LIMIT)"])
c-font-lock-labels 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))
(#[257 "\304 \211\203 \211b\210\210\305\300!\306\307!`\310!@\311=\203 `\202!\211\262b\210\312!\210\313\314\315#\203a\316\224b\210\312!\204)\316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Yb\210\325 ,\266\202))\266\322\207"
[parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs]
7 "\n\n(fn LIMIT)"])
(#[257 "\304\300!\305!\210\306\307\310#\203@\311\224b\210\305!\204\311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038b\210\320 ,\266\202)\315\207"
[parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 match-data make-closure
#[0 "\301\300\302\"\207"
[V0 set-match-data t]
3]
nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs]
5 "\n\n(fn LIMIT)"]))
Documentation
Fast normal font locking for C++ mode.
In addition to c++-font-lock-keywords-1, this adds fontification of
keywords, simple types, declarations that are easy to recognize, the
user defined types on c++-font-lock-extra-types, and the doc comment
styles specified by c-doc-comment-style.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/cc-fonts.el.gz
(defconst c++-font-lock-keywords-2 (c-lang-const c-matchers-2 c++)
"Fast normal font locking for C++ mode.
In addition to `c++-font-lock-keywords-1', this adds fontification of
keywords, simple types, declarations that are easy to recognize, the
user defined types on `c++-font-lock-extra-types', and the doc comment
styles specified by `c-doc-comment-style'.")