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 "\305\300!\306\307\310#\203l�\311\224b\210\312!\204�\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320	$\210)\210\313 \314\321\"\216\317\224\317\225S\211f\322=\203[�\n^\316\211T\323$\210\n^\316\211T\323\f$\266\202g�\n^\324\211T\325#\266)\210\202�)\326\207"
	[parse-sexp-lookup-properties font-lock-string-face c-syntax-table-hwm c-<-as-paren-syntax c->-as-paren-syntax boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      put-text-property 8 face
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      62 syntax-table remove-text-properties
				      (syntax-table nil)
				      nil]
	9 "\n\n(fn LIMIT)"])
 (#[257 "\302\300!\303\304\305#\203p�\306\224b\210\307!\204�\306\225b\210\310 \311\312\"\216\313\224\203b�\214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203^�\314\306\224\306\225\316\322$\210\306\225b\210\320 \210\323f\324=\203^�\323u\210\2028�)\202k�\314\315\224\315\225\316\322$\210)\210\202�)\323\207"
	[parse-sexp-lookup-properties c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *define\\(\\(\\s \\|[\n
]\\)\\|//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  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\307\310#\203;�\311\224b\210\312!\204�\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$\210)\210\202�\210`W\203�\306\321\310#\203�\311\224b\210\312!\204<�\311\225b\210\322\225b\210\313 \314\323\"\216\311\225\306\307\324#\203y�\316\317\224\317\225\320\n$\210\202e�\210)\210\202<�)\325\207"
	[parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n
]\\)\\|[^\n
]\\)*" 3
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      move nil]
	8 "\n\n(fn LIMIT)"])
 (#[257 "\302\300!\303\304\305#\203/�\306\224b\210\307!\204�\306\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$\210)\210\202�)\316\207"
	[parse-sexp-lookup-properties c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      put-text-property 3 face nil]
	7 "\n\n(fn LIMIT)"])
 (eval list
       #[257 "\300\301\302\303#\211\262\203�\304\224b\210\305!\204�\304\225b\210\207"
	     [nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings]
	     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\\(?:lignof\\|nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:_\\(?:await\\|return\\|yield\\)\\|mpl\\|n\\(?:st\\(?:_cast\\|expr\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:cltype\\|fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:inal\\|or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|o\\(?:except\\|t\\(?:_eq\\)?\\)\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\|verride\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|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:]_$]*\\)\\(\\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)"])
 (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name)
 (eval list
       #[257 "\302\300!\303	\304#\203S�\305\224b\210\306!\204�\305\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$\210)\210\307 \310\316\"\216\313\225b\210\317 \210)\210\307 \310\320\"\216\321\304\322\211$\210)\210\313\225b\210\202�)\322\207"
	     [parse-sexp-lookup-properties c-known-type-key boundp re-search-forward t 0 c-skip-comments-and-strings match-data make-closure
					   #[0 "\301\300\302\"\207"
					       [V0 set-match-data evaporate]
					       3]
					   put-text-property 1 face font-lock-type-face
					   #[0 "\301\300\302\"\207"
					       [V0 set-match-data evaporate]
					       3]
					   c-forward-sws
					   #[0 "\301\300\302\"\207"
					       [V0 set-match-data evaporate]
					       3]
					   c-font-lock-declarators nil]
	     7 "\n\n(fn LIMIT)"])
 (#[257 "\301\300!\302\303\304#\203S�\305\224b\210\306!\204�\305\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$\210)\210\307 \310\316\"\216\313\225b\210\317 \210)\210\307 \310\320\"\216\321\304\322\211$\210)\210\313\225b\210\202�)\322\207"
	[parse-sexp-lookup-properties boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\(\\s \\|[\n
]\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      put-text-property 3 face font-lock-type-face
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      c-forward-sws
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      c-font-lock-declarators nil]
	7 "\n\n(fn LIMIT)"])
 (#[257 "\301\300!\302\303\304#\203A�\305\224b\210\306!\204�\305\225b\210\307 \310\311\"\216\312\225b\210\313 \210)\210\307 \310\314\"\216\315\304\316\211$\210)\210\312\225b\210\202�)\316\207"
	[parse-sexp-lookup-properties boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      1 c-forward-sws
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  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:]_$]*\\)"
       (list 2 c-label-face-name nil t))
 (#[257 "\304\300!\305\306!`\307!@\310=\203�`\202�\211\262b\210\311\312\313#\203S�\314\224b\210\315!\204�\314\225b\210\316 \317\320\"\216\313\321\313\322\323!\210`V\203K�b\210\324 \210,\210\202�)\266\321\207"
	[parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  3]
				      nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs]
	7 "\n\n(fn LIMIT)"])
 (#[257 "\304\300!\305\306\307#\203<�\310\224b\210\311!\204�\310\225b\210\312 \313\314\"\216\307\315\307\316\317!\210`V\2034�b\210\320 \210,\210\202�)\315\207"
	[parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure
				      #[0 "\301\300\302\"\207"
					  [V0 set-match-data evaporate]
					  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'.")