;ELC   
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305!\210\300\306!\207" [require cc-defs cc-vars cc-engine provide cc-fonts font-lock] 2)
(defconst c-preprocessor-face-name (byte-code "\300\211\301 >\262\203\f \300\207\302\211\301 >\262\203 \302\207\303\207" [font-lock-preprocessor-face face-list font-lock-builtin-face font-lock-reference-face] 3))
(defconst c-label-face-name (byte-code "\301\211\302 >\262\203\f \301\207\300\211\302 >\262\203 \300=\203 \300\207\303\207" [font-lock-constant-face font-lock-label-face face-list font-lock-reference-face] 3))
(defconst c-constant-face-name (byte-code "\300\211\302 >\262\203 \300=\203 \300\207	\207" [font-lock-constant-face c-label-face-name face-list] 3))
(defconst c-reference-face-name (byte-code "\300\211\302 >\262\203 \300=\203 \300\207	\207" [font-lock-reference-face c-label-face-name face-list] 3))
(defconst c-doc-face-name (byte-code "\300\211\301 >\262\203\f \300\207\302\211\301 >\262\203 \302\207\303\207" [font-lock-doc-string-face face-list font-lock-doc-face font-lock-comment-face] 3))
(defconst c-doc-markup-face-name (byte-code "\301\211\302 >\262\203\f \301\207\207" [c-label-face-name font-lock-doc-markup-face face-list] 3))
(defconst c-negation-char-face-name (byte-code "\300\211\301 >\262\205 \300\207" [font-lock-negation-char-face face-list] 3))
#@24 

(fn OLDFACE NEWFACE)
(defalias 'c-make-inverse-face #[514 "\300\"\210\301\302!\203 \302!?\205' \303!\207\301\304!\205' \304\305\"?\205' \303!\207" [copy-face fboundp face-inverse-video-p invert-face face-property-instance reverse] 5 (#$ . 1441)])
(defvar c-annotation-face 'c-annotation-face)
(custom-declare-face 'c-annotation-face '((default :inherit font-lock-constant-face)) "Face for highlighting annotations in Java mode and similar modes." :version "24.1" :group 'c)
(defvar c-font-lock-context nil)
(make-variable-buffer-local 'c-font-lock-context)
#@21 

(fn FROM TO FACE)
(defalias 'c-put-font-lock-face '(macro . #[771 "\300\301!\203\f \301F\207\302\303\257\207" [fboundp font-lock-set-face put-text-property 'face] 8 (#$ . 2013)]))
(put 'c-put-font-lock-face 'edebug-form-spec t)
#@16 

(fn FROM TO)
(defalias 'c-remove-font-lock-face '(macro . #[514 "\300\301!\203 \301E\207\302\303BBB\207" [fboundp font-lock-remove-face remove-text-properties ('(face nil))] 6 (#$ . 2256)]))
(put 'c-remove-font-lock-face 'edebug-form-spec t)
#@16 

(fn FROM TO)
(defalias 'c-put-font-lock-string-face '(macro . #[514 "\300\301BBB\207" [c-put-font-lock-face ('font-lock-string-face)] 6 (#$ . 2511)]))
(put 'c-put-font-lock-string-face 'edebug-form-spec t)
#@27 

(fn VARLIST &rest BODY)
(defalias 'c-fontify-types-and-refs '(macro . #[385 "\300\301\302BB\303\304B\305BBE\207" [let (c-record-type-identifiers t) c-record-ref-identifiers prog1 progn ((c-fontify-recorded-types-and-refs))] 7 (#$ . 2727)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put c-fontify-types-and-refs lisp-indent-function 1 put edebug-form-spec let*] 5)
#@14 

(fn LIMIT)
(defalias 'c-skip-comments-and-strings #[257 "`\301\302\"\211:\203\" \211\203 \211@>\204 \211A\262\202 \266\202\202' \211>\266\203\205c \303`\302\304$b\210`W\203b `\301\302\"\211:\203Z \211\203U \211@>\204U \211A\262\202C \266\202\202_ \211>\266\203\204* \305\207" [c-literal-faces get-text-property face next-single-property-change nil t] 6 (#$ . 3122)])
#@15 

(fn REGEXP)
(defalias 'c-make-syntactic-matcher #[257 "\300\301\302\303\304\305\306\307\310\311\n\312BBE\313BBD\314BBBE!\207" [byte-compile lambda (limit) let (res) while and setq res re-search-forward (limit t) ((progn (goto-char (match-beginning 0)) (or (c-skip-comments-and-strings limit) (progn (goto-char (match-end 0)) nil)))) (res)] 13 (#$ . 3512)])
#@48 

(fn REGEXP HIGHLIGHTS &optional CHECK-POINT)
(defalias 'c-make-font-lock-search-form #[770 "\300\203 \301\302\303\304BBE\202 \303\305BB\306\307\310\311\312\"BBBE\207" [while and (< (point) limit) re-search-forward (limit t) (limit t) unless (progn (goto-char (match-beginning 0)) (c-skip-comments-and-strings limit)) (goto-char (match-end 0)) mapcar #[257 "\211@\250\203. \3008\301=\204 \302\303\"\210\3048\203 \302\305\"\210\306\307\310@D\311@D\312\234FD\207\3048\2039 \302\313\"\210\314A@\306@D\3008F\207" [2 t error "The override flag must currently be t in %s" 3 "The laxmatch flag may currently not be set in %s" save-match-data c-put-font-lock-face match-beginning match-end 1 "Match highlights currently not supported in %s" progn] 7 "\n\n(fn HIGHLIGHT)"]] 11 (#$ . 3878)])
#@32 

(fn REGEXP &rest HIGHLIGHTS)
(defalias 'c-make-font-lock-search-function #[385 "\300\301\302\303\304\305\"E\306BBB!\207" [byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) c-make-font-lock-search-form (nil)] 10 (#$ . 4689)])
#@32 

(fn REGEXP &rest HIGHLIGHTS)
(defalias 'c-make-font-lock-BO-decl-search-function #[385 "\300\301\302\303\304\305\306\"F\307BBB!\207" [byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties))) (BOD-limit (c-determine-limit 1000))) (goto-char (let ((here (point))) (if (eq (car (c-beginning-of-decl-1 BOD-limit)) 'same) (point) here))) c-make-font-lock-search-form (nil)] 11 (#$ . 5003)])
#@35 

(fn NORMAL &rest STATE-STANZAS)
(defalias 'c-make-font-lock-context-search-function #[385 "\300\301\302\303\304\305\306\307\"\310	@\nA\311#\312B\"BBE!\207" [byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) append mapcar #[257 "\211@A@\3008AAA\301\302\303\304DE\305\306DC\307\"EE\207" [2 if eq c-font-lock-context quote let limit c-make-font-lock-search-form] 12 "\n\n(fn STANZA)"] c-make-font-lock-search-form t (nil)] 13 (#$ . 5470)])
(defalias 'c-fontify-recorded-types-and-refs #[0 "\303:\203 @\262A\304@A\305\306$\210\202 	\2050 	@\262	A\304@A\305\n$\210\202 \207" [c-record-type-identifiers c-record-ref-identifiers c-reference-face-name nil put-text-property face font-lock-type-face] 6])
(byte-code "\300\301\302\303BC\"\207" [c-define-lang-constant c-cpp-matchers t #[0 "\300\301\302\303\"\205\276\304\305!\301\306\307\"\301\310\311\"\300\301\312\313\"\205# \301\314\315\"\205# \316\301\317\320\"\205G \321\322\301\317\323\"\"\304!\305\301\302\324\"\325R\\T\326BBC\266\202\301\327\330\"\205\230 \321\331\301\327\332\"\"\304!\333\305\301\302\334\"\301\335\336\"\337\260\340\n\341$\342B\343\344\345\340\341$DD\346\347\350\340\n\341$DDDD\351BB\352B#CC\266\202\301\353\354\"\205\333\305\301\302\355\"\301\353\356\"\301\357\360\"\361\301\362\363\"\364\260\365\345\340\366\f\301\367\370\"$D\371\372\345T\f\\D\350T\\D\373BBB\374\350\340\366\301\367\375\"$DD\376BBB\372\345T\f\\D\350T\\D\377BBBFC\"CC\301\201@ \201A \"\205w\301\201B \201C \"\205w\321\201D \301\201@ \201E \"\"\321\201D \301\201B \201F \"\"\201G \305\301\302\201H \"\201I R\343\201J \201K \201L \201M BB\201N BBE\374\350TDDDD\201O \201P \201Q BBB\"CC\266\202\333\201R \301\302\201S \"\201T \301\201U \201V \"\201W \260\nT\201X B\"C\201Y \201Z \201[ \305\301\302\201\\ \"\201] Q!\fT\201^ BBBBD&\266\203\201_ \201` !\205\313\201a \201b #\207" [append c-get-lang-constant c-opt-cpp-prefix (cc-langs) regexp-opt-depth "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)" c-syntactic-ws-depth (cc-langs) c-nonempty-syntactic-ws-depth (cc-langs) c-block-comment-starter (cc-langs) c-line-comment-starter (cc-langs) (c-maybe-font-lock-wrong-style-comments) c-cpp-message-directives (cc-langs) c-make-keywords-re appendable (cc-langs) (cc-langs) "\\s +\\(.*\\)$" (font-lock-string-face t) c-cpp-include-directives (cc-langs) nil (cc-langs) c-make-font-lock-search-function (cc-langs) c-syntactic-ws (cc-langs) "\\(<[^>\n]*>?\\)" + 1 (font-lock-string-face t) let beg match-beginning end 1- match-end ((if (eq (char-after end) 62) (progn (c-mark-<-as-paren beg) (c-mark->-as-paren end)) (c-unmark-<->-as-paren beg))) (nil) c-opt-cpp-macro-define (cc-langs) (cc-langs) (cc-langs) c-nonempty-syntactic-ws (cc-langs) "\\(" c-symbol-key (cc-langs) "\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" if 3 c-symbol-key-depth (cc-langs) save-restriction c-put-font-lock-face ('font-lock-function-name-face) goto-char (cc-langs) ((narrow-to-region (point-min) limit) (while (and (progn (c-forward-syntactic-ws) (looking-at c-symbol-key)) (progn (c-put-font-lock-face (match-beginning 0) (match-end 0) 'font-lock-variable-name-face) (goto-char (match-end 0)) (c-forward-syntactic-ws) (eq (char-after) 44))) (forward-char))) ('font-lock-variable-name-face) c-cpp-expr-directives (cc-langs) c-cpp-expr-functions (cc-langs) t (cc-langs) (cc-langs) c-make-font-lock-context-search-function (cc-langs) "\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" ((limit (match-end 0))) while re-search-forward (limit 'move) ((c-put-font-lock-face (match-beginning 1) (match-end 1) c-preprocessor-face-name)) in-cpp-expr (save-excursion (c-end-of-macro) (point)) ((1 c-preprocessor-face-name t)) "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(" (cc-langs) "[" c-symbol-chars (cc-langs) "]+\\)" (c-preprocessor-face-name t) eval list c-make-syntactic-matcher (cc-langs) "if\\(n\\)def\\>" (c-negation-char-face-name 'append) c-lang-major-mode-is pike-mode ((eval list "\\`#![^\n]*" 0 c-preprocessor-face-name)) ((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)))] 23]] 4)
#@14 

(fn LIMIT)
(defalias 'c-font-lock-invalid-single-quotes #[257 "\301 \302\211\211\203 Ab\210`W\203_ `\262\303`\302\211\211\304&\262`\262b\210\305w\210`W\203P \306`\304\"\307\232\203J \306`\310\"\204J \311``T\312$\210\302u\210\202( \303\302\211\304&\210\202 \266\302\207" [font-lock-warning-face c-literal-limits nil parse-partial-sexp syntax-table "^'" get-text-property (1) c-digit-separator put-text-property face] 12 (#$ . 9730)])
#@14 

(fn LIMIT)
(defalias 'c-maybe-font-lock-wrong-style-comments #[257 "\203\305 \304`!\211@A@\203Z A@\305=\203% \306`\307\211\310&\262\202Z 	\204O A@\311=\203O \306`\307\211\310&\262\3128\204Z \313`\nGZ`\314$\210\202Z \306`\307\211\310&\262`W\203\303 \306`\307\211\310&\262\3158\204\204 \3128\203\222 \3168	?\205\200 \317=\203\222 \306`\307\211\310&\262\202Z \3128\203Z \313\3208`\314$\210\306`\307\211\310&\262	\204Z \3128\204Z \313`\nGZ`\314$\210\202Z \266\307\207" [c-mark-wrong-style-of-comment c-block-comment-flag c-block-comment-ender font-lock-warning-face c-semi-pp-to-literal string parse-partial-sexp nil syntax-table c 4 put-text-property face 3 7 1 8] 10 (#$ . 10193)])
(byte-code "\300\301\302\303BC\"\207" [c-define-lang-constant c-basic-matchers-before t #[0 "\301\302\303\304\305\306\"\205 \307\304\310\311\"\205: \312\313\304\310\314\"\"\315\316!\203- \317\320\321\322Q\323BBBC\2028 \317\320\324\322Q\325BBBC\262\315\316!\203K \326\304\327\330\"P\331B\202S \332\304\327\333\"P\334BC\304\335\336\"\205\335 \315\337!\203\233 \340\304\335\341\"\304\342\343\"\344\345\346\304\347\350\"\351\260R\352\353\354\355\356\357\360\361\362\363\364\365\304\347\366\"D\367BB\257\370BBB\371BBF\372B\"C\202\335 \373\374\375\355\376\377\304\201@ \201A \"\201B \304\342\201C \"\344\304\335\201D \"\304\342\201E \"\201F \304\201G \201H \"\201B \260\n\201I BB\201J BBE!CC\315\201K !\205\366 \340\201L \201M \"\340\201N \201O \"D\201P &BB\207" [c-upper ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes append c-get-lang-constant c-ml-string-opener-re (cc-langs) (c-font-lock-ml-strings) c-constant-kwds (cc-langs) c-make-keywords-re nil (cc-langs) c-lang-major-mode-is pike-mode eval list "\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(" "\\)\\>" (2 c-constant-face-name) "\\<\\(" (1 c-constant-face-name) "\\(\\=.?\\|[^>]\\|[^-]>\\)\\<" c-regular-keywords-regexp (cc-langs) (2 font-lock-keyword-face) "\\<" (cc-langs) (1 font-lock-keyword-face) c-opt-identifier-concat-key (cc-langs) java-mode c-make-font-lock-search-function (cc-langs) c-simple-ws (cc-langs) "*" "\\([" "][" c-symbol-chars (cc-langs) "]*\\|\\*\\)" let (id-end) (goto-char (1+ (match-beginning 0))) while and (eq (char-before) 46) progn (backward-char) (c-backward-syntactic-ws) (setq id-end (point)) < skip-chars-backward (cc-langs) (0) ((not (get-text-property (point) 'face))) ((c-put-font-lock-face (point) id-end c-reference-face-name) (c-backward-syntactic-ws)) (nil (goto-char (match-end 0))) byte-compile lambda (limit) re-search-forward "\\(\\<\\(" c-symbol-key (cc-langs) "\\)" (cc-langs) (cc-langs) (cc-langs) "*\\)\\(" c-opt-after-id-concat-key (cc-langs) (limit t) ((unless (progn (goto-char (match-beginning 0)) (c-skip-comments-and-strings limit)) (or (get-text-property (match-beginning 2) 'face) (c-put-font-lock-face (match-beginning 2) (match-end 2) c-reference-face-name)) (goto-char (match-end 1)))) objc-mode "\\[" ((c-fontify-types-and-refs nil (c-forward-syntactic-ws limit) (let ((start (point))) (when (eq (c-forward-type) 'known) (goto-char start) (let ((c-promote-possible-types t)) (c-forward-type)))) (if (> (point) limit) (goto-char limit)))) "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" ((c-fontify-types-and-refs ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) (c-forward-objc-directive) nil) (goto-char (match-beginning 0))) ((eval list "\\(!\\)[^=]" 1 c-negation-char-face-name))] 23]] 4)
#@14 

(fn LIMIT)
(defalias 'c-font-lock-complex-decl-prepare #[257 "o\203 \304\305\306\307\310$\311!\210`W\205\361 \212```\312Ze]\206! eV\2036 \214`\312Ze]\206/ ed}\210\313 \210)o\204I \314`S\315\"\316>\203I `S\202J \211\310W\203^ \314\315\"\203^ \266\202\202v \317\315\310$\211\262W\203s \211\266\202\202v 	\266\202\211W\203\202 \320\321#\210\266)\322 \210\212``\312Ze]\206\223 eV\203\250 \214`\312Ze]\206\241 ed}\210\313 \210)o?\205\262 \314`S\315\")\211\323>\203\334 `\206\277 dW\203\320 \214e\206\312 d}\210\324 \210)\325\326\327=\330`!?$\210\210\212\n\205\356 \331 \205\356 \332\n!\205\356 \333)\310\207" [c-found-types most-positive-fixnum c-cpp-expr-intro-re c-font-lock-context make-hash-table :test equal :weakness nil c-skip-comments-and-strings 500 c-backward-sws get-text-property c-type (c-decl-arg-start c-decl-end c-decl-id-start c-decl-type-start) next-single-property-change remove-text-properties (c-type nil) c-parse-state (c-decl-id-start c-decl-type-start) c-forward-sws c-font-lock-declarators t c-decl-type-start c-bs-at-toplevel-p c-beginning-of-macro looking-at in-cpp-expr] 9 (#$ . 13716)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-<>-arglists #[257 "\306!\210`W\203+\307\211\310\211\211\211\211\211\211`\nW\203(`\211\262\203(\311\312\307\310\307%\203(`\262\212\313u\210`\206B eV\203S \214\211\206L ed}\210\314 \210)\315\316\317\f\320\260\307#\203l \321\224\262\321\225\262\202r \310\262\310\262)\203 b\210\306\n!\204 \310\262\310\322\323\"\262\324\267\202\254 \202\"\325!\203\"\326\321!\327\"\"\262\211\262\202\304 \314 \210`Sf\330>\203\303 \322`S\331\"\332=\204\303 \307\307\203\"Sb\210\306\n!\204 \307\310#$\333\334N\266\202!\203%\203\322\323\"\204\335 \210\325%!\203\336\323&$\210\202\310f\337=\204\336\323\340$\210\341 \210*b\210\202 b\210\202 +\266	\310\207" [c-restricted-<>-arglists c-parse-and-markup-<>-arglists parse-sexp-lookup-properties c-nonsymbol-key c-symbol-key c-opt-<>-sexp-key c-skip-comments-and-strings t nil c-syntactic-re-search-forward "<" -1 c-backward-sws re-search-backward "\\(\\`\\|" "\\)\\(" "\\)\\=" 2 get-text-property face #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (font-lock-type-face 147 font-lock-keyword-face 150)) looking-at match-string intern-soft (40 44) c-type c-decl-arg-start c-forward-<>-arglist c-<>-type-kwds c-forward-sws put-text-property 40 font-lock-type-face c-fontify-recorded-types-and-refs c-keywords-obarray c-record-ref-identifiers c-record-type-identifiers c-opt-identifier-concat-key c-reference-face-name] 16 (#$ . 14857)])
#@58 

(fn LIMIT LIST TYPES NOT-TOP &optional TEMPLATE-CLASS)
(defalias 'c-font-lock-declarators #[1284 "\302\303\304\305\267\202 \306\202 \307\202 \303\310\311\n	$%\210\303\312 \210*\207" [c-record-ref-identifiers c-record-type-identifiers t nil c-do-declarators #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 15 nil 19)) c-decl-type-start c-decl-id-start make-closure #[1542 "\301\305=\203 \305b\210\306 \210)\2029 \f\2039 \307\f@\310\"\2049 \311\f@\fA\310\301\312>\204. \301\2027 \2036 \313\2027 \314$\210\302\205R \211\315=\205R b\210\316\317\320\300#\210\305\306\305!)\207" [V0 V1 V2 c-promote-possible-types c-last-identifier-range t c-forward-type get-text-property face put-text-property (nil t) font-lock-function-name-face font-lock-variable-name-face 61 c-forward-token-2 1 nil] 12 "\n\n(fn ID-START ID-END END-POS NOT-TOP IS-FUNCTION INIT-CHAR)"] c-fontify-recorded-types-and-refs] 15 (#$ . 16381)])
#@50 

(fn MATCH-POS NOT-FRONT-DECL &optional TOPLEV)
(defalias 'c-get-fontification-context #[770 "eV\205 \306S\307\"\206 `Sf\310>\204 \205 \311C\207\206# `Sf\312=\203\\ \212b\210\313u\210\314 \210\315!\203? \316C\202X \315	!\204Q \315\n!\204Q \315!\203W \316\317B\202X \316)\206CeX\203f \320\317B\207\211\321\267\202r \322C\207\323C\207\f\324=\203\264 \206} `Sf\312=\203\264 \212b\210\314 \210\3251\230 \326`\313\"b0\202\235 \210\316\202\242 \205\242 \327 )\203\264 S\330\211T\307\331$\266\322C\207\206\271 `Sf\332=\203\331 \333S\334 A\316#\203\331 S\330\211T\307\335$\266\323C\207\206\336 `Sf\332=\203\354 \205\352 \311C\207\211\336=\204\376 \206\367 `Sf\337=\203\340C\207\211\203	\320\317B\207\f\324=\203[\206`Sf\312=\203[\212b\210\314\341!\342U\205T\315!\205T`\343\306\344\"\211:\203O\211\203J\211@>\204J\211A\262\2028\266\202\202T\211>\266\203)\203[\323C\207\203|0\203n\212b\210\345 )\204|S\330\211T\307\331$\266\322C\207\206\201`Sf\312=\203\245\212b\210\314 \342U\203\232\316f\312=\204\214\3151!)\203\245\316C\207\206\252`Sf\346=\203\317\f\324=\203\317\212b\210\345 )\203\317S\330\211T\307\335$\266\323C\207\212b\210\206\330`Sf\347>\2059\214`\350Ze]\203\360`\350Ze]d}\210\3511\375\352\313\353#0\202\377\210\316)\211\205\211b\210\317\262\2059\316f\312=\2059\306`\307\"\211\354>\2067\355 \210\356 \2057\355 \210o\2067\306`S\307\"\262\211\357>\262)\203@\322C\207\320\317B\207" [c-paren-stmt-key c-block-stmt-2-key c-block-stmt-1-2-key c-typeof-key c-buffer-is-cc-mode c-identifier-start get-text-property c-type (40 44 91 60 123) top 40 -1 c-backward-token-2 looking-at nil t arglist #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (c-decl-arg-start 108 c-not-decl 111)) decl not-decl c++-mode (error) scan-sexps c-looking-at-c++-lambda-capture-list put-text-property c-decl-arg-start 123 c-inside-bracelist-p c-parse-state c-not-decl c-<>-arg-sep 60 <> 2 0 (font-lock-variable-name-face) face c-back-over-member-initializers 44 (40 44) 2000 (error) scan-lists 1 (c-decl-arg-start c-decl-type-start) c-backward-sws c-back-over-compound-identifier (c-decl-arg-start c-decl-type-start) c-recognize-paren-inits c-arithmetic-op-regexp] 10 (#$ . 17355)])
#@52 

(fn LIMIT DECL-OR-CAST MATCH-POS CONTEXT TOPLEV)
(defalias 'c-font-lock-single-decl #[1285 "\212AA@\205\255 \214\305\306!\203 \305\306!d}\210\3071\" \310`\311\312#0\202$ \210\313)\211\205- \211b\210\314\262\205\255 \313f\315=\205\255 \316 \210\317\320!\321W\204u \322=\205\255 `\323\313x\321W\203l \324\313x\321W\203l \325	!\203l \321\225Y\203l \314\202p \211b\210\313\262\205\255 \325\n!\205\255 b\210`Sf\326=\203\250 \3271\223 \310`\311\321#0\202\225 \210\313\211\205\235 \211b\210\211\262\203\250 \316 \210\202~ `Sf\330=)\203\310 :\205\275 AAA@\236\211\203\306 \331\"\314\207@b\210\332>\204&\206\327 `Sf\315=\205'\212Sb\210\316 \210\317\320!\321W\204\322=\205\"`\323\313x\321W\203\324\313x\321W\203\325	!\203\321\225Y\203\314\202\211b\210\313\262\205\"\325\n!)\202'\314\333=\2058\212b\210\334 \210\325\f!)\203[\212\316 \210o\204Z`S\335\211T\336\nA@\203V\337\202W\340$\266)\341d^A@???%\266\342 \210\313\207" [c-buffer-is-cc-mode c-symbol-key c-paren-stmt-key c-record-type-identifiers c-template-typename-key c-determine-limit 500 (error) scan-lists -1 1 nil t 40 c-backward-sws skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" "`" looking-at 41 (error) 59 c-delq-from-dotted-list (nil top) <> c-forward-sws put-text-property c-type c-decl-type-start c-decl-id-start c-font-lock-declarators c-fontify-recorded-types-and-refs] 13 (#$ . 19641)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-declarations #[257 "\306!\210`W\205d \214\307C\307C\307C\307C\310C\310C\310C\307\311\307C\307\311\211\n\312\313!X\203> e\212b\210\307w\210`)}\210\314\315!\316\317&\n$\210-\266\n)\307\207" [parse-sexp-lookup-properties c-parse-and-markup-<>-arglists c-record-ref-identifiers c-record-type-identifiers c-restricted-<>-arglists c-nonsymbol-chars c-skip-comments-and-strings nil 0 t line-beginning-position 2 c-find-decl-spots eval make-closure #[770 "\301`\240\210\311`\312\"\313=\203 \314.!\204l/\203  \314/!\204l\315\211\203, \306\242\202. \305\242W#\302@\240\210\211A0\210\3141!\204o ``\316Ze]\206L eV\203a \214`\316Ze]\206Z ed}\210\317 \210)\320 \210\3141!\204o \301\242b\2102\321=\203\207 \314\3223\323Q!\203\207 \324\225b\210\325 \210\302\242\326=\203\252 \304\327\240\210\330\331\300d^\332\333$\203\250 `S\334\211T\335\336$\266\327\207\304\337\302\242\303\242#\240\210\206\271 `Sf\340=\203\307\242V\203\212b\210\320 \210\327f\340=\203\212\320 \210\3144!?\205``\316Ze]\206\353 eV\203 \214`\316Ze]\206\371 ed}\210\317 \210)`Sf\341>\205\311`S\335\"\342=?)0\343\327!)\203\307`\240\210)\304\242\344=\203/\303`\240\210\345 \210\327\207\304\242\203h\203F`\306\242V\203Q\306`\240\210\202Q`\305\242V\203Q\305`\240\210\301\242b\210\346\300\304\242\302\242\206d\347\304\2428%\202i\333\205\272\301\242b\210\310\350\333\327#\240\205\272\310\242\351=\203\222\3345@@5@A\3126$\210\202\266\310\242\352=\203\251\3345@@5@A\312\313$\210\202\266\310\242\353=\203\266\354\3555\"\210\3275\333\207" [V0 V1 V2 V3 V4 V5 V6 V7 V8 get-text-property face font-lock-keyword-face looking-at c-get-fontification-context 1000 c-backward-sws c-backward-token-2 c++-mode "\\(more\\)\\([^" "]\\|$\\)" 1 c-forward-sws not-decl nil c-syntactic-re-search-forward "," at-limit t put-text-property c-type c-not-decl c-forward-decl-or-cast-1 60 (40 44) c-decl-arg-start c-forward-<>-arglist cast c-fontify-recorded-types-and-refs c-font-lock-single-decl 4 c-forward-label goto-target qt-1kwd-colon qt-2kwds-colon mapc #[257 "\300@A\301\302$\207" [put-text-property face font-lock-keyword-face] 6 "\n\n(fn KWD)"] c-not-decl-init-keywords c-macro-with-semi-re c-restricted-<>-arglists c-typedef-key c-buffer-is-cc-mode c-symbol-chars c-opt-<>-sexp-key c-record-ref-identifiers c-label-face-name] 10 "\n\n(fn MATCH-POS INSIDE-MACRO &optional TOPLEV)"] c-decl-start-re c-maybe-decl-faces] 26 (#$ . 21062)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-enum-body #[257 "`W\203% \301\302#\203% \212\303u\210\304 )\203  \305 \210\306\302\307\302$\210\202  \307\207" [c-enum-clause-introduction-re search-forward-regexp t -1 c-backward-over-enum-header c-forward-sws c-font-lock-declarators nil] 6 (#$ . 23570)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-enum-tail #[257 "\300!\210`W\203A \301 \302!\211\203? \211f\303=\203? \212\211b\210\304 )\203? \305\306\307\310#\210`S\311\211T\312\313$\266\314 \210\315\310\307\310$\210\266\307\207" [c-skip-comments-and-strings c-parse-state c-most-enclosing-brace 123 c-backward-over-enum-header c-syntactic-skip-backward "^{," nil t put-text-property c-type c-decl-id-start c-forward-sws c-font-lock-declarators] 9 (#$ . 23873)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-cut-off-declarators #[257 "\302!\210`W\205\321 `\303\304!\305\211\211\211\211\211\211\211\211\212\306!\204\315 m\204. \307\310!\204. \305u\210\311\312	\313#\210`Sf\314=\203[ \3151J \316`\317\320#0\202L \210\305\211\203S \211b\210\210\311\312	\313#\210o\204g `Sf\321>\203\315 `\262`	\206q dW\203\203 \214e	\206} d}\210\322 \210)`	W\203\315 `\262\323 \262\324!\211\262\203\242 f\325=\203\315 \326 \262\327\305#\211@\262\211A\210\330\305#\262:\203\315 b\210\331\n%\210+\266	\305\207" [c-recognize-knr-p c-restricted-<>-arglists c-skip-comments-and-strings c-determine-limit 1000 nil c-back-over-member-initializers looking-at "\\s(\\|\\s)" c-syntactic-skip-backward "^;{}" t 125 (error) scan-lists -1 0 (59 123 125) c-forward-sws c-parse-state c-most-enclosing-brace 123 c-at-toplevel-p c-get-fontification-context c-forward-decl-or-cast-1 c-font-lock-single-decl] 16 (#$ . 24339)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-enclosing-decls #[257 "\302!\210`W\205s \303 \304\305!\306\211\205q @\262A\262\211:\204 \211f\307=\203 \211b\210\310\311\"\210\312 \210\313!\262\203@ \314 \210	\203 \313	!\203 \211b\210\3151Z \316`\317\"b0\202^ \210\202 \203 \312 \210\320\321\322`!?$\210\202 \266\204\207" [c-typedef-key c-opt-block-decls-with-vars-key c-skip-comments-and-strings c-parse-state c-determine-limit 1000 nil 123 c-syntactic-skip-backward "^;{}" c-forward-sws looking-at c-forward-over-token-and-ws (error) scan-sexps 1 c-font-lock-declarators t c-bs-at-toplevel-p] 11 (#$ . 25296)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-ml-strings #[257 "\301`!\211A@\302=\205 \211AA@\211\205 \212\211Tb\210\303 )\211\205$ \211\304!B\305`W\203W\204k \306\307#\211\262\203N \310\224eV\203N \311\310\224S\312\"\313>\2040 \211\203% \314\224\314\225\315\224BB\262\304!B\262@@b\210\202% \203\353 `@A@Y\203\353 A\203\205 `A@W\203\353 A\203\222 A@b\210\202% \311@A@S\316\"\317\232\203\331 `\211W\203\274 \311\316\"\320\232\204\274 \321\316\305\n$\262\202\240 \211W\205\313 \211b\210\322\323!\210`\262\204\323 b\210\305\262\202% \324\325@A@S\"\210\326 \210\305\262\202% \203 A\203 `A@Y\203 \327A@A@T\312\330$\210\331A@TAA@\332#\210AA@b\210\305\262\202% A\203B\331@@@A@S\332#\210\327@A@S@A@\312\330$\210\202N\327@@@A@\312\333$\210@A@b\210\202% \305\207" [c-ml-string-opener-re c-semi-pp-to-literal string c-ml-string-opener-around-point c-get-ml-closer nil re-search-forward limit 0 get-text-property face (font-lock-comment-face font-lock-string-face font-lock-comment-delimiter-face) 1 2 syntax-table (15) (15) next-single-property-change search-forward-regexp "\\(\n\\|.\\)" message "Missing '(15) syntax-table property at %d" ding put-text-property font-lock-string-face remove-text-properties (face nil) font-lock-warning-face] 12 (#$ . 25922)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-c++-lambda-captures #[257 "\301\211\211\211\211\211\211\211`	W\203d\302\303\n\304#\203d\305u\210\306 \301u\210\203 \307 \210\301f\310>\205/ \301f\262\203c \301\262\212\301u\210\307 \210\301f\311>\203[ \262\301f\312=\203X \301u\210\307 \210`\262)\211\203c \211b\210\313\314!\204T`	W\203T\301f\315=\203\203 \315\262\301u\210\307 \210\202\206 \316\262\317 \2039`\262\301u\210\320 \210`\262\307 \210\301f\316=\262\203\255 \301u\210\307 \210`\262`	W\203\276 \321\322\n\304\211$\204\356 \214\203\311 e	}\210\3231\326 \324`\325\211#0\202\330 \210\301)\211\205\341 \211b\210\304\262\203\364 `Sf\326=\203\364 \305u\210\202\370 b\210\203\212`\262b\210\327!\210)\330\331\203\332\2024\n\203(=\203(\333\2024\316=\2033\2024\332$\210\202A\321\322\n\334\304$\210\307 \210\301f\312=\203c \301u\210\307 \210\202c \301\262`	W\203 \301u\210\202 \266\301\207" [font-lock-constant-face nil search-forward "[" t -1 c-looking-at-c++-lambda-capture-list c-forward-sws (61 38) (44 93) 44 looking-at "\\s)" 38 61 c-on-identifier c-end-of-current-token c-syntactic-re-search-forward "," (error) scan-lists 1 93 c-font-lock-c++-lambda-captures put-text-property face font-lock-variable-name-face font-lock-warning-face bound] 15 (#$ . 27227)])
(byte-code "\300\301\302\303BC\"\210\300\304\302\305BC\"\207" [c-define-lang-constant c-simple-decl-matchers t #[0 "\300\301\302!\205 \303\304\305\"\306\307!\310BDC\311\312\313\314\315\316#EC\303\317\320\"\205_ \321\322\303\317\323\"\"\324\325!\\\303\326\327\"\\\313\330\331\303\332\333\"\334\335\303\336\337\"\331Q\260\340B\341\342\343\344DD\345BB\343\344DDE#CC\266\202\303\346\347\"\205t \313\330\350\303\346\351\"!\352Q\353\"CC\303\354\355\"\205| \356%\207" [append c-lang-major-mode-is objc-mode c-get-lang-constant c-opt-method-key (cc-langs) byte-compile #[257 "\301\214e}\210\302 \210*\303\207" [parse-sexp-lookup-properties t c-font-lock-objc-method nil] 3 "\n\n(fn LIMIT)"] ((goto-char (match-end 1))) eval list c-make-font-lock-search-function c-known-type-key (1 'font-lock-type-face t) ((c-font-lock-declarators limit t nil nil) (save-match-data (goto-char (match-end 1)) (c-forward-syntactic-ws)) (goto-char (match-end 1))) c-type-prefix-kwds (cc-langs) c-make-keywords-re nil (cc-langs) 2 regexp-opt-depth c-simple-ws-depth (cc-langs) "\\<\\(" "\\)" c-simple-ws (cc-langs) "+" "\\(" c-symbol-key (cc-langs) ('font-lock-type-face t) (c-font-lock-declarators limit t nil nil) save-match-data goto-char match-end ((c-forward-syntactic-ws)) c-typeless-decl-kwds (cc-langs) regexp-opt (cc-langs) "\\)\\>" ((c-font-lock-declarators limit t nil nil) (save-match-data (goto-char (match-end 1)) (c-forward-syntactic-ws)) (goto-char (match-end 1))) c-recognize-colon-labels (cc-langs) (c-font-lock-labels)] 15] c-complex-decl-matchers #[0 "\300\301\302\303!\205 \304\305\306\307\310\301\311\312\313\"\311\314\315\"\316#\"\"\317\"\320B\321\311\322\323\"\205' \324\302\325!\205. \326\311\327\330\"\2056 \331\305\316\311\332\333\"\"\302\334!\203L \335\336Q\337B\202R \340\336Q\341B\262C\302\325!\205\\ \342&B\207" [c-font-lock-complex-decl-prepare append c-lang-major-mode-is objc-mode c-make-font-lock-search-function c-make-keywords-re t delete "@class" c-get-lang-constant c-protection-kwds (cc-langs) c-other-decl-kwds (cc-langs) nil ((c-put-char-property (1- (match-end 1)) 'c-type 'c-decl-end)) (c-font-lock-objc-methods) (c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-decls) c-recognize-<>-arglists (cc-langs) (c-font-lock-<>-arglists) c++-mode (c-font-lock-c++-lambda-captures) c-using-key (cc-langs) (c-font-lock-c++-using) c-primitive-type-kwds (cc-langs) pike-mode "\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(" "\\)\\>" (2 font-lock-type-face) "\\<\\(" (1 'font-lock-type-face) (("\\<new\\>" (c-font-lock-c++-new)))] 12]] 4)
#@14 

(fn LIMIT)
(defalias 'c-font-lock-labels #[257 "\303\211\304\305\306\304#\203p `\262\307\224b\210\310!\204 \311 \210\312 \211\262\203j \313\314\"\204j \211b\210\311 \210`Sf\315>\204Z `Sf\316=\203U \317u\210\311 \210o\204U \313`S\314\"	=\204Z \320 \203j \211b\210\321\n!\210\322\307\224\307\225\314	$\210b\210\202 )\266\303\207" [parse-sexp-lookup-properties c-label-face-name c-symbol-key nil t re-search-forward ":[^:]" 0 c-skip-comments-and-strings c-backward-sws c-on-identifier get-text-property face (125 123 59) 58 -1 c-after-conditional looking-at put-text-property] 8 (#$ . 31126)])
(byte-code "\300\301\302\303BC\"\210\300\304\302\305BC\"\210\300\306\302\307BC\"\210\300\310\302\311BC\"\207" [c-define-lang-constant c-basic-matchers-after t #[0 "\300\301\302\303\"\205	 \304\301\305\306\"\2051 \307\310\311\301\305\312\"\"\313\314\315\301\316\317\"\320\260\313\321!\322\\\323BBE\262BC\301\324\325\"\204F \301\326\327\"\204F \301\330\331\"\205_ \332\314\310\311\300\301\324\333\"\301\326\334\"\301\330\335\"#\"\336Q\337\"CC\301\340\341\"\205u \342\314\310\311\301\340\343\"\"\336Q\344\"CC\345\346!\205| \347%\207" [append c-get-lang-constant c-brace-list-decl-kwds (cc-langs) (c-font-lock-enum-tail c-font-lock-enum-body) c-before-label-kwds (cc-langs) eval c-make-keywords-re nil (cc-langs) list "\\<\\(" "\\)\\>\\s *\\(" c-symbol-key (cc-langs) "\\)" regexp-opt-depth 2 (c-label-face-name nil t) c-type-list-kwds (cc-langs) c-ref-list-kwds (cc-langs) c-colon-type-list-kwds (cc-langs) c-make-font-lock-BO-decl-search-function (cc-langs) (cc-langs) (cc-langs) "\\)\\>" ((c-fontify-types-and-refs ((c-promote-possible-types t)) (c-forward-keyword-clause 1) (if (> (point) limit) (goto-char limit)))) c-paren-type-kwds (cc-langs) c-make-font-lock-search-function (cc-langs) ((c-fontify-types-and-refs ((c-promote-possible-types t)) (c-forward-keyword-clause 1) (if (> (point) limit) (goto-char limit)))) c-lang-major-mode-is java-mode ((eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face))] 13] c-matchers-1 #[0 "\300\301!\207" [c-get-lang-constant c-cpp-matchers] 2] c-matchers-2 #[0 "\300\301\302!\301\303!\301\304!\301\305!$\207" [append c-get-lang-constant c-matchers-1 c-basic-matchers-before c-simple-decl-matchers c-basic-matchers-after] 6] c-matchers-3 #[0 "\300\301\302!\301\303!\301\304!\301\305!$\207" [append c-get-lang-constant c-matchers-1 c-basic-matchers-before c-complex-decl-matchers c-basic-matchers-after] 6]] 4)
(defalias 'c-get-doc-comment-style #[0 "\242:\203 	\236\206 \302\236\243\207\207" [c-doc-comment-style c-buffer-is-cc-mode other] 2])
#@18 

(fn BASE-LIST)
(defalias 'c-compose-keywords-list #[257 "	>\204\n 	B\302 \303\304<\203 \202 C\"\244\305>\203- \305\306\305\307\310\"\"B\262\207" [c-doc-face-name c-literal-faces c-get-doc-comment-style mapcan #[257 "\300\301!\302P!\303!\203 \211 \207\304!\205 \305\306!\307\"\207" [intern symbol-name "-font-lock-keywords" fboundp boundp append eval nil] 5 "\n\n(fn DOC-STYLE)"] c-font-lock-complex-decl-prepare delq append nil] 9 (#$ . 33735)])
#@16 

(fn DEF-VAR)
(defalias 'c-override-default-keywords #[257 "\300!\205 \211J\301\302\303\304\"\305\"B>\205 \306!\207" [boundp nil mapcar make-closure #[257 "\301\302\300!P!\303!\205 \211J\207" [V0 intern symbol-name boundp] 4 "\n\n(fn SUFFIX)"] ("-1" "-2" "-3") makunbound] 7 (#$ . 34207)])
(c-override-default-keywords 'c-font-lock-keywords)
#@143 Minimal font locking for C mode.
Fontifies only preprocessor directives (in addition to the syntactic
fontification of strings and comments).
(defconst c-font-lock-keywords-1 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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))) c-get-lang-constant c-matchers-1 nil c-mode] 4) (#$ . 34565))
#@287 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'.
(defconst c-font-lock-keywords-2 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?: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) (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 "\\<\\(\\(?:enum\\|struct\\|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 "\\<\\(\\(?: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))) c-get-lang-constant c-matchers-2 nil c-mode] 4) (#$ . 38677))
#@226 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'.
(defconst c-font-lock-keywords-3 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?: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-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t))) c-get-lang-constant c-matchers-3 nil c-mode] 4) (#$ . 45694))
#@45 Default expressions to highlight in C mode.
(defvar c-font-lock-keywords c-font-lock-keywords-3 (#$ . 50982))
(defalias 'c-font-lock-keywords-2 #[0 "\301!\207" [c-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'c-font-lock-keywords-3 #[0 "\301!\207" [c-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'c-font-lock-keywords #[0 "\301!\207" [c-font-lock-keywords c-compose-keywords-list] 2])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-c++-using #[257 "\303\304\305#\203~ \306 \210`\262\307 \203 \310 \203 \303f\311=\203- \211b\210\312\303\313\303$\210\202q \212	\205c \3141? \315`\316\317#0\202A \210\303\211\205I \211b\210\313\262\205c \303f\320=\205c \321\322\323!!@\324=\205c \325	!)\204q \211b\210\312\303\n\303$\210\303f\326=\203 \303u\210\202	 \303\207" [c-using-key c-colon-type-list-re c-label-face-name nil c-syntactic-re-search-forward end c-forward-sws c-on-identifier c-forward-name 61 c-font-lock-declarators t (error) scan-lists -1 1 123 c-beginning-of-decl-1 c-determine-limit 1000 same looking-at 44] 7 (#$ . 51406)])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-c++-new #[257 "\304!\2046\212\30524\306\211\307\306\307\310 \210\306f\311=\2038 `T\262\3121/ \313`\314\"b0\210\2025 \210\315\305\307\"\210\310 \210`T\262\306f\311=\204N \307\316 )\204N \306\262\203.\211\204b b\210\307\316 \210)\202.\211\206g `Sf\311=\203.\306\211b\210\316 \211\262\203\204 \317\320!\204\204 \306\262b\210\316 \211\262\203\301 \317\320!\204\230 \306\262\3211\245 \322`\314\211#0\202\247 \210\306\211\205\257 \211b\210\307\262\203\301 \310 \210\306f\311=\203\301 \306\262\323>\204,\211\324>\204,\325=\204,\211\325=\204,\326=\203\355 \307b\210\316 \210)\266\202.\211\326=\203\307b\210\316 \210)\266\202.\327=\203\211\204\307b\210\316 \210)\266\202.\204,\211\327=\203,\307b\210\316 \210)\266\330 +\266\2020\210)\306\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers c-promote-possible-types c-skip-comments-and-strings false-alarm nil t c-forward-sws 40 (scan-error) scan-sexps 1 throw c-forward-type looking-at "[[:alpha:]_]\\|[*:)[]" (error) scan-lists (t known prefix) (t known prefix) decltype found maybe c-fontify-recorded-types-and-refs] 9 (#$ . 52056)])
(c-override-default-keywords 'c++-font-lock-keywords)
#@145 Minimal font locking for C++ mode.
Fontifies only preprocessor directives (in addition to the syntactic
fontification of strings and comments).
(defconst c++-font-lock-keywords-1 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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))) c-get-lang-constant c-matchers-1 nil c++-mode] 4) (#$ . 53320))
#@293 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'.
(defconst c++-font-lock-keywords-2 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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\262b\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)"])) c-get-lang-constant c-matchers-2 nil c++-mode] 4) (#$ . 57438))
#@232 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'.
(defconst c++-font-lock-keywords-3 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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) c-font-lock-complex-decl-prepare c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists c-font-lock-c++-lambda-captures c-font-lock-c++-using ("\\<\\(\\(?:bool\\|char\\(?:\\(?:16\\|32\\)_t\\)?\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|unsigned\\|void\\|wchar_t\\)\\)\\>" 1 'font-lock-type-face) ("\\<new\\>" (c-font-lock-c++-new)) 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\262b\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)"])) c-get-lang-constant c-matchers-3 nil c++-mode] 4) (#$ . 66632))
#@47 Default expressions to highlight in C++ mode.
(defvar c++-font-lock-keywords c++-font-lock-keywords-3 (#$ . 74160))
(defalias 'c++-font-lock-keywords-2 #[0 "\301!\207" [c++-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'c++-font-lock-keywords-3 #[0 "\301!\207" [c++-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'c++-font-lock-keywords #[0 "\301!\207" [c++-font-lock-keywords c-compose-keywords-list] 2])
(defalias 'c-font-lock-objc-method #[0 "\304\305\304\211\306 \210\305f\307=\203; \305u\210\306 \210\310 \210\3111) \312`\313\211#0\202+ \210\305\211\2053 \211b\210\304\262\306 \210\202< \304\205\201 \314!\205\201 \315\225b\210\316\315\224`\317\203V \320\202W \321$\210\306 \210\314!\203q \315\225b\210\316\315\224`\317\320$\210\306 \210\305f\322=\205\201 \305u\210\305\262\202	 \323 \210+\207" [c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-symbol-key t nil c-forward-sws 40 c-forward-type (error) scan-lists 1 looking-at 0 put-text-property face font-lock-function-name-face font-lock-variable-name-face 58 c-fontify-recorded-types-and-refs] 8])
#@14 

(fn LIMIT)
(defalias 'c-font-lock-objc-methods #[257 "\301\302\303\304\305$\210)\304\207" [parse-sexp-lookup-properties t c-find-decl-spots "[-+]" nil #[770 "\300u\210\301 \207" [nil c-font-lock-objc-method] 4 "\n\n(fn MATCH-POS INSIDE-MACRO &optional TOP-LEVEL)"]] 6 (#$ . 75291)])
(c-override-default-keywords 'objc-font-lock-keywords)
#@149 Minimal font locking for Objective-C mode.
Fontifies only compiler directives (in addition to the syntactic
fontification of strings and comments).
(defconst objc-font-lock-keywords-1 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\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))) c-get-lang-constant c-matchers-1 nil objc-mode] 4) (#$ . 75640))
#@303 Fast normal font locking for Objective-C mode.
In addition to `objc-font-lock-keywords-1', this adds fontification of
keywords, simple types, declarations that are easy to recognize, the
user defined types on `objc-font-lock-extra-types', and the doc
comment styles specified by `c-doc-comment-style'.
(defconst objc-font-lock-keywords-2 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\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 (eval list "\\<\\(\\(?:IB\\(?:Action\\|Outlet\\)\\|N\\(?:O\\|S_\\(?:DURING\\|\\(?:END\\)?HANDLER\\)\\|il\\)\\|YES\\|nil\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@\\(?:autoreleasepool\\|c\\(?:atch\\|\\(?:las\\|ompatibility_alia\\)s\\)\\|d\\(?:efs\\|ynamic\\)\\|en\\(?:code\\|d\\)\\|finally\\|i\\(?:mplementation\\|nterface\\)\\|optional\\|p\\(?:ackage\\|r\\(?:ivate\\|o\\(?:perty\\|t\\(?:ected\\|ocol\\)\\)\\)\\|ublic\\)\\|required\\|s\\(?:elector\\|yn\\(?:chronized\\|thesize\\)\\)\\|t\\(?:hrow\\|ry\\)\\)\\|auto\\|b\\(?:reak\\|y\\(?:copy\\|ref\\)\\)\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:nout\\|[fn]\\)\\|o\\(?:neway\\|ut\\)\\|return\\|s\\(?:elf\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|typedef\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$@]\\|$\\)" 1 font-lock-keyword-face) #[257 "\304\300!\305\306\307#\203_ \310\224b\210\311!\204 \310\225b\210\312 \313\314\"\216\307\315`\206+ dW\203< \214e\2066 d}\210\316 \210)`\317 \320=\203M \211b\210\307\317 \210)\210`V\203W b\210\321 \210+\210\202 )\315\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers c-promote-possible-types 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] nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"] #[257 "\303\300!\304\305\306#\2038 \307\224b\210\310!\204 \307\225b\210\307\224b\210\311 \312\313\"\216\306\314\303\300!\315 \210\316 \210,\210\202 )\314\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" 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-objc-directive c-fontify-recorded-types-and-refs] 6 "\n\n(fn LIMIT)"] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) ("^\\s *\\([+-]\\)\\(\\s \\|[\n]\\)*\\(([^)]*)\\(\\s \\|[\n]\\)*\\)?\\([[:alpha:]_@][[:alnum:]_$@]*\\)" (#[257 "\301\214e}\210\302 \210*\303\207" [parse-sexp-lookup-properties t c-font-lock-objc-method nil] 3 "\n\n(fn LIMIT)"] (goto-char (match-end 1)))) (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#\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 "\\<\\(\\(?:@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\|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\262b\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\\)\\)\\>" 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 "\\<\\(\\(?:@defs\\)\\)\\>" 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)"])) c-get-lang-constant c-matchers-2 nil objc-mode] 4) (#$ . 79785))
#@242 Accurate normal font locking for Objective-C mode.
Like the variable `objc-font-lock-keywords-2' but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for `objc-font-lock-extra-types'.
(defconst objc-font-lock-keywords-3 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\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 (eval list "\\<\\(\\(?:IB\\(?:Action\\|Outlet\\)\\|N\\(?:O\\|S_\\(?:DURING\\|\\(?:END\\)?HANDLER\\)\\|il\\)\\|YES\\|nil\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@\\(?:autoreleasepool\\|c\\(?:atch\\|\\(?:las\\|ompatibility_alia\\)s\\)\\|d\\(?:efs\\|ynamic\\)\\|en\\(?:code\\|d\\)\\|finally\\|i\\(?:mplementation\\|nterface\\)\\|optional\\|p\\(?:ackage\\|r\\(?:ivate\\|o\\(?:perty\\|t\\(?:ected\\|ocol\\)\\)\\)\\|ublic\\)\\|required\\|s\\(?:elector\\|yn\\(?:chronized\\|thesize\\)\\)\\|t\\(?:hrow\\|ry\\)\\)\\|auto\\|b\\(?:reak\\|y\\(?:copy\\|ref\\)\\)\\|c\\(?:ase\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtern\\)\\|for\\|goto\\|i\\(?:nout\\|[fn]\\)\\|o\\(?:neway\\|ut\\)\\|return\\|s\\(?:elf\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|typedef\\|union\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$@]\\|$\\)" 1 font-lock-keyword-face) #[257 "\304\300!\305\306\307#\203_ \310\224b\210\311!\204 \310\225b\210\312 \313\314\"\216\307\315`\206+ dW\203< \214e\2066 d}\210\316 \210)`\317 \320=\203M \211b\210\307\317 \210)\210`V\203W b\210\321 \210+\210\202 )\315\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers c-promote-possible-types 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] nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"] #[257 "\303\300!\304\305\306#\2038 \307\224b\210\310!\204 \307\225b\210\307\224b\210\311 \312\313\"\216\306\314\303\300!\315 \210\316 \210,\210\202 )\314\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" 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-objc-directive c-fontify-recorded-types-and-refs] 6 "\n\n(fn LIMIT)"] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare #[257 "\301\300!\302\303\304#\2032 \305\224b\210\306!\204 \305\225b\210\307 \310\311\"\216\312\225S\313\211T\314\315$\266)\210\202 )\316\207" [parse-sexp-lookup-properties boundp re-search-forward "\\(\\(?:@\\(?:compatibility_alias\\|d\\(?:efs\\|ynamic\\)\\|end\\|optional\\|p\\(?:ackage\\|r\\(?:ivate\\|o\\(?:perty\\|tected\\)\\)\\|ublic\\)\\|required\\|synthesize\\)\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 1 put-text-property c-type c-decl-end nil] 8 "\n\n(fn LIMIT)"] c-font-lock-objc-methods c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists c-font-lock-c++-using ("\\<\\(\\(?:BOOL\\|Class\\|IMP\\|SEL\\|char\\|double\\|float\\|i\\(?:d\\|nt\\)\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\>" 1 'font-lock-type-face) 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\262b\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\\)\\)\\>" 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 "\\<\\(\\(?:@defs\\)\\)\\>" 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)"])) c-get-lang-constant c-matchers-3 nil objc-mode] 4) (#$ . 89071))
#@55 Default expressions to highlight in Objective-C mode.
(defvar objc-font-lock-keywords objc-font-lock-keywords-3 (#$ . 97693))
(defalias 'objc-font-lock-keywords-2 #[0 "\301!\207" [objc-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'objc-font-lock-keywords-3 #[0 "\301!\207" [objc-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'objc-font-lock-keywords #[0 "\301!\207" [objc-font-lock-keywords c-compose-keywords-list] 2])
(byte-code "\301\302\303\"\304\"\305\232\203 \306\307\310!\207" [objc-font-lock-extra-types sort append nil string-lessp ("BOOL" "Class" "IMP" "SEL") ("[[:upper:]]\\sw*") c-override-default-keywords java-font-lock-keywords] 4)
#@115 Minimal font locking for Java mode.
Fontifies nothing except the syntactic fontification of strings and
comments.
(defconst java-font-lock-keywords-1 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 ((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))) c-get-lang-constant c-matchers-1 nil java-mode] 4) (#$ . 98382))
#@296 Fast normal font locking for Java mode.
In addition to `java-font-lock-keywords-1', this adds fontification of
keywords, simple types, declarations that are easy to recognize, the
user defined types on `java-font-lock-extra-types', and the doc
comment styles specified by `c-doc-comment-style'.
(defconst java-font-lock-keywords-2 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 ((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 "\\<\\(\\(?:false\\|null\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@interface\\|abstract\\|break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtends\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\)\\|goto\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:stanceof\\|terface\\)\\)\\|n\\(?:ative\\|ew\\)\\|p\\(?:ackage\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:t\\(?:atic\\|rictfp\\)\\|uper\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|y\\)\\)\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) #[257 "\302\300!\303\304\305#\203^ \306\224b\210\307!\204 \306\225b\210\310 \311\312\"\216\313\306\224Tb\210`Sf\314=\203T \315u\210\316 \210`\262\317\313x\306W\203T \320`\321\"\204T \322`\321	$\210\316 \210\202' \210)\210\306\225b\210\202 )\313\207" [parse-sexp-lookup-properties c-reference-face-name boundp re-search-forward "\\(\\.\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 8 "\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#\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 "\\<\\(\\(?:@interface\\|class\\|enum\\|interface\\)\\)\\>" 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 "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[257 "\304\300!\305\306!`\307!@\310=\203 `\202 \211\262b\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 "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" 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)"]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-2 nil java-mode] 4) (#$ . 98867))
#@231 Accurate normal font locking for Java mode.
Like variable `java-font-lock-keywords-2' but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for `java-font-lock-extra-types'.
(defconst java-font-lock-keywords-3 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 ((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 "\\<\\(\\(?:false\\|null\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@interface\\|abstract\\|break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\|xtends\\)\\|f\\(?:inal\\(?:ly\\)?\\|or\\)\\|goto\\|i\\(?:f\\|mp\\(?:lements\\|ort\\)\\|n\\(?:stanceof\\|terface\\)\\)\\|n\\(?:ative\\|ew\\)\\|p\\(?:ackage\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:t\\(?:atic\\|rictfp\\)\\|uper\\|witch\\|ynchronized\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|y\\)\\)\\|\\(?:volat\\|wh\\)ile\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) #[257 "\302\300!\303\304\305#\203^ \306\224b\210\307!\204 \306\225b\210\310 \311\312\"\216\313\306\224Tb\210`Sf\314=\203T \315u\210\316 \210`\262\317\313x\306W\203T \320`\321\"\204T \322`\321	$\210\316 \210\202' \210)\210\306\225b\210\202 )\313\207" [parse-sexp-lookup-properties c-reference-face-name boundp re-search-forward "\\(\\.\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 8 "\n\n(fn LIMIT)"] (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-<>-arglists c-font-lock-c++-using ("\\<\\(\\(?:b\\(?:oolean\\|yte\\)\\|char\\|double\\|float\\|int\\|long\\|short\\|void\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[257 "\304\300!\305\306!`\307!@\310=\203 `\202 \211\262b\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 "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" 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)"]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-3 nil java-mode] 4) (#$ . 103078))
#@48 Default expressions to highlight in Java mode.
(defvar java-font-lock-keywords java-font-lock-keywords-3 (#$ . 106261))
(defalias 'java-font-lock-keywords-2 #[0 "\301!\207" [java-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'java-font-lock-keywords-3 #[0 "\301!\207" [java-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'java-font-lock-keywords #[0 "\301!\207" [java-font-lock-keywords c-compose-keywords-list] 2])
(c-override-default-keywords 'idl-font-lock-keywords)
#@120 Minimal font locking for CORBA IDL mode.
Fontifies nothing except the syntactic fontification of strings and
comments.
(defconst idl-font-lock-keywords-1 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\)\\)\\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))) c-get-lang-constant c-matchers-1 nil idl-mode] 4) (#$ . 106768))
#@299 Fast normal font locking for CORBA IDL mode.
In addition to `idl-font-lock-keywords-1', this adds fontification of
keywords, simple types, declarations that are easy to recognize, the
user defined types on `idl-font-lock-extra-types', and the doc comment
styles specified by `c-doc-comment-style'.
(defconst idl-font-lock-keywords-2 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\)\\)\\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 (eval list "\\<\\(\\(?:\\(?:FALS\\|TRU\\)E\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:a\\(?:bstract\\|s\\|ttribute\\)\\|bindsTo\\|c\\(?:a\\(?:se\\|talog\\)\\|o\\(?:mpo\\(?:nent\\|sition\\)\\|n\\(?:s\\(?:t\\|umes\\)\\|text\\)\\)\\|ustom\\)\\|de\\(?:fault\\|legatesTo\\)\\|e\\(?:mits\\|n\\(?:tity\\|um\\)\\|venttype\\|x\\(?:ception\\|ecutor\\)\\)\\|f\\(?:ac\\(?:et\\|tory\\)\\|inder\\)\\|getraises\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|n\\(?:out\\|terface\\)?\\)\\|key\\|local\\|m\\(?:anages\\|\\(?:odu\\|ultip\\)le\\)\\|native\\|o\\(?:f\\|neway\\|ut\\)\\|p\\(?:r\\(?:i\\(?:mary\\(?:key\\)?\\|vate\\)\\|o\\(?:cess\\|vides\\|xy\\)\\)\\|ubli\\(?:c\\|shes\\)\\)\\|r\\(?:aises\\|eadonly\\)\\|s\\(?:cope\\|e\\(?:gment\\|rvice\\|ssion\\|traises\\)\\|t\\(?:ate\\|or\\(?:age\\(?:\\(?:hom\\|typ\\)e\\)?\\|e\\(?:dOn\\|s\\)\\)\\|ruct\\)\\|upports\\|witch\\)\\|t\\(?:runcatable\\|ype\\(?:def\\|id\\|prefix\\)\\)\\|u\\(?:nion\\|ses\\)\\|valuetype\\)\\)\\([^[: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#\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 "\\<\\(\\(?:c\\(?:atalog\\|omponent\\)\\|e\\(?:num\\|venttype\\|x\\(?:ception\\|ecutor\\)\\)\\|f\\(?:ac\\(?:et\\|tory\\)\\|inder\\)\\|home\\|interface\\|key\\|manages\\|native\\|s\\(?:egment\\|t\\(?:or\\(?:age\\(?:\\(?:hom\\|typ\\)e\\)\\|es\\)\\|ruct\\)\\)\\|union\\|valuetype\\)\\)\\>" 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-enum-tail c-font-lock-enum-body (#[257 "\304\300!\305\306!`\307!@\310=\203 `\202 \211\262b\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 "\\<\\(\\(?:as\\|compo\\(?:nent\\|sition\\)\\|eventtype\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|nterface\\)\\|m\\(?:anages\\|odule\\)\\|native\\|of\\|primarykey\\|s\\(?:cope\\|torage\\(?:\\(?:hom\\|typ\\)e\\)\\|upports\\)\\|valuetype\\)\\)\\>" 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 "\\<\\(\\(?:switch\\)\\)\\>" 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)"])) c-get-lang-constant c-matchers-2 nil idl-mode] 4) (#$ . 110852))
#@238 Accurate normal font locking for CORBA IDL mode.
Like the variable `idl-font-lock-keywords-2' but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for `idl-font-lock-extra-types'.
(defconst idl-font-lock-keywords-3 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\)\\)\\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 (eval list "\\<\\(\\(?:\\(?:FALS\\|TRU\\)E\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:a\\(?:bstract\\|s\\|ttribute\\)\\|bindsTo\\|c\\(?:a\\(?:se\\|talog\\)\\|o\\(?:mpo\\(?:nent\\|sition\\)\\|n\\(?:s\\(?:t\\|umes\\)\\|text\\)\\)\\|ustom\\)\\|de\\(?:fault\\|legatesTo\\)\\|e\\(?:mits\\|n\\(?:tity\\|um\\)\\|venttype\\|x\\(?:ception\\|ecutor\\)\\)\\|f\\(?:ac\\(?:et\\|tory\\)\\|inder\\)\\|getraises\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|n\\(?:out\\|terface\\)?\\)\\|key\\|local\\|m\\(?:anages\\|\\(?:odu\\|ultip\\)le\\)\\|native\\|o\\(?:f\\|neway\\|ut\\)\\|p\\(?:r\\(?:i\\(?:mary\\(?:key\\)?\\|vate\\)\\|o\\(?:cess\\|vides\\|xy\\)\\)\\|ubli\\(?:c\\|shes\\)\\)\\|r\\(?:aises\\|eadonly\\)\\|s\\(?:cope\\|e\\(?:gment\\|rvice\\|ssion\\|traises\\)\\|t\\(?:ate\\|or\\(?:age\\(?:\\(?:hom\\|typ\\)e\\)?\\|e\\(?:dOn\\|s\\)\\)\\|ruct\\)\\|upports\\|witch\\)\\|t\\(?:runcatable\\|ype\\(?:def\\|id\\|prefix\\)\\)\\|u\\(?:nion\\|ses\\)\\|valuetype\\)\\)\\([^[: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) c-font-lock-complex-decl-prepare c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists c-font-lock-c++-using ("\\<\\(\\(?:Object\\|ValueBase\\|any\\|boolean\\|char\\|double\\|f\\(?:ixed\\|loat\\)\\|long\\|octet\\|ref\\|s\\(?:equence\\|hort\\|tr\\(?:[io]ng\\)\\)\\|unsigned\\|void\\|w\\(?:char\\|string\\)\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (#[257 "\304\300!\305\306!`\307!@\310=\203 `\202 \211\262b\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 "\\<\\(\\(?:as\\|compo\\(?:nent\\|sition\\)\\|eventtype\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|nterface\\)\\|m\\(?:anages\\|odule\\)\\|native\\|of\\|primarykey\\|s\\(?:cope\\|torage\\(?:\\(?:hom\\|typ\\)e\\)\\|upports\\)\\|valuetype\\)\\)\\>" 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 "\\<\\(\\(?:switch\\)\\)\\>" 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)"])) c-get-lang-constant c-matchers-3 nil idl-mode] 4) (#$ . 119510))
#@53 Default expressions to highlight in CORBA IDL mode.
(defvar idl-font-lock-keywords idl-font-lock-keywords-3 (#$ . 127044))
(defalias 'idl-font-lock-keywords-2 #[0 "\301!\207" [idl-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'idl-font-lock-keywords-3 #[0 "\301!\207" [idl-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'idl-font-lock-keywords #[0 "\301!\207" [idl-font-lock-keywords c-compose-keywords-list] 2])
(c-override-default-keywords 'pike-font-lock-keywords)
#@146 Minimal font locking for Pike mode.
Fontifies only preprocessor directives (in addition to the syntactic
fontification of strings and comments).
(defconst pike-font-lock-keywords-1 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[: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 "\\`#![^\n]*" 0 c-preprocessor-face-name) (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))) c-get-lang-constant c-matchers-1 nil pike-mode] 4) (#$ . 127549))
#@296 Fast normal font locking for Pike mode.
In addition to `pike-font-lock-keywords-1', this adds fontification of
keywords, simple types, declarations that are easy to recognize, the
user defined types on `pike-font-lock-extra-types', and the doc
comment styles specified by `c-doc-comment-style'.
(defconst pike-font-lock-keywords-2 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[: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 "\\`#![^\n]*" 0 c-preprocessor-face-name) (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 "\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:UNDEFINED\\)\\)\\>" 2 c-constant-face-name) ("\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:stant\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\)\\|f\\(?:inal\\|or\\(?:each\\)?\\)\\|g\\(?:auge\\|lobal\\|oto\\)\\|i\\(?:f\\|mport\\|n\\(?:herit\\|line\\)\\)\\|l\\(?:ambda\\|ocal\\)\\|nomask\\|optional\\|p\\(?:r\\(?:edef\\|ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:tatic\\|witch\\)\\|t\\(?:h\\(?:is\\|row\\)\\|ypedef\\)\\|variant\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" 2 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#\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 "\\<\\(\\(?:c\\(?:lass\\|onstant\\)\\)\\)\\>" 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 "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[257 "\304\300!\305\306!`\307!@\310=\203 `\202 \211\262b\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 "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" 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 "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" 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)"])) c-get-lang-constant c-matchers-2 nil pike-mode] 4) (#$ . 131852))
#@235 Accurate normal font locking for Pike mode.
Like the variable `pike-font-lock-keywords-2' but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for `pike-font-lock-extra-types'.
(defconst pike-font-lock-keywords-3 (byte-code "\301=\203 \302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (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 "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[: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 "\\`#![^\n]*" 0 c-preprocessor-face-name) (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 "\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:UNDEFINED\\)\\)\\>" 2 c-constant-face-name) ("\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:break\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|on\\(?:stant\\|tinue\\)\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\)\\|f\\(?:inal\\|or\\(?:each\\)?\\)\\|g\\(?:auge\\|lobal\\|oto\\)\\|i\\(?:f\\|mport\\|n\\(?:herit\\|line\\)\\)\\|l\\(?:ambda\\|ocal\\)\\|nomask\\|optional\\|p\\(?:r\\(?:edef\\|ivate\\|otected\\)\\|ublic\\)\\|return\\|s\\(?:tatic\\|witch\\)\\|t\\(?:h\\(?:is\\|row\\)\\|ypedef\\)\\|variant\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" 2 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) 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 ("\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:array\\|f\\(?:loat\\|unction\\)\\|int\\|m\\(?:apping\\|ixed\\|ultiset\\)\\|object\\|program\\|string\\|this_program\\|void\\)\\)\\>" 2 font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[257 "\304\300!\305\306!`\307!@\310=\203 `\202 \211\262b\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 "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" 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 "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" 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)"])) c-get-lang-constant c-matchers-3 nil pike-mode] 4) (#$ . 140323))
#@48 Default expressions to highlight in Pike mode.
(defvar pike-font-lock-keywords pike-font-lock-keywords-3 (#$ . 147833))
(defalias 'pike-font-lock-keywords-2 #[0 "\301 \210\302!\207" [pike-font-lock-keywords-2 c-set-doc-comment-res c-compose-keywords-list] 2])
(defalias 'pike-font-lock-keywords-3 #[0 "\301 \210\302!\207" [pike-font-lock-keywords-3 c-set-doc-comment-res c-compose-keywords-list] 2])
(defalias 'pike-font-lock-keywords #[0 "\301 \210\302!\207" [pike-font-lock-keywords c-set-doc-comment-res c-compose-keywords-list] 2])
#@15 

(fn SUFFIX)
(defalias 'c-set-doc-comment-re-element '(macro . #[257 "\300\301P!\302\303\304\305\306\307\310\311\312\313\314\315\316EDDC\317BBE\320BBE\321\322\323\306\324\325\326DD\327BB\330\326DDF\257\207" [intern "c-doc" let* ((styles (c-get-doc-comment-style)) elts) (when (atom styles) (setq styles (list styles))) setq elts mapcar lambda (style) let sym intern-soft concat (symbol-name style) ((and sym (boundp sym) (symbol-value sym))) (styles) (setq elts (delq nil elts)) (setq elts (and elts (concat "\\(" (mapconcat #'identity elts "\\|") "\\)"))) if set make-local-variable quote (elts) kill-local-variable] 16 (#$ . 148378)]))
(put 'c-set-doc-comment-re-element 'edebug-form-spec t)
#@15 

(fn SUFFIX)
(defalias 'c-set-doc-comment-char-list '(macro . #[257 "\300\301P!\302\303\304\305\306\307\310\311\312\313\314\315\316EDDC\317BBE\320BBE\321\322\306\323\324\325\nDD\326BB\327\325\nDDF\257\207" [intern "c-doc" let* ((styles (c-get-doc-comment-style)) elts) (when (atom styles) (setq styles (list styles))) setq elts mapcar lambda (style) let sym intern-soft concat (symbol-name style) ((and sym (boundp sym) (symbol-value sym))) (styles) (setq elts (delq nil elts)) if set make-local-variable quote (elts) kill-local-variable] 16 (#$ . 149087)]))
(put 'c-set-doc-comment-char-list 'edebug-form-spec t)
(defalias 'c-set-doc-comment-res #[0 "\303 \304:\204\f C\262\305\306\"\262\307\304\"\262\211\205$ \310\311\312\313#\314Q\262\211\2033 \315\300!\210\210\2028 \316\300!\266\303 \304:\204D C\262\305\317\"\262\307\304\"\262\211\205\\ \310\311\312\313#\314Q\262\211\203k \315\301!\210\210\202p \316\301!\266\303 \304:\204| C\262\305\320\"\262\307\304\"\262\211\203\224 \315\302!\210\211\211\207\316\302!\207" [c-doc-line-join-re c-doc-bright-comment-start-re c-doc-line-join-end-ch c-get-doc-comment-style nil mapcar #[257 "\300\301!\302P!\211\205 \303!\205 \211J\207" [intern-soft symbol-name "-line-join-re" boundp] 4 "\n\n(fn STYLE)"] delq "\\(" mapconcat identity "\\|" "\\)" make-local-variable kill-local-variable #[257 "\300\301!\302P!\211\205 \303!\205 \211J\207" [intern-soft symbol-name "-bright-comment-start-re" boundp] 4 "\n\n(fn STYLE)"] #[257 "\300\301!\302P!\211\205 \303!\205 \211J\207" [intern-soft symbol-name "-line-join-end-ch" boundp] 4 "\n\n(fn STYLE)"]] 7])
#@30 

(fn PREFIX LIMIT KEYWORDS)
(defalias 'c-font-lock-doc-comments #[771 "\302\211\211\303`\304\"\305>\203& \306 `\262`\262\211\203 \211b\210\307!\203% `\262\210\204\255 \310\311#\203\243 \312\224\262\303\304\"\211:\203Z \211\203U \211@>\204U \211A\262\202C \266\202\202_ \211>\266\203\203\235 eU\204\243 S\303\304\"\211:\203\213 \211\203\206 \211@>\204\206 \211A\262\202t \266\202\202\220 \211>\266\203\203\243 \212b\210\313 )\203\243 \302\262\202* \262\211\262\203l\314\211\315\\\"\316\234\203\337 b\210\317 \210\320`\304	$\210\321\322!\210`\262`\262`W\203\354 \307!\204\273 \202\354 b\210\317 \210\320`\304	$\210`V\203\365 b\210\302\262`\302\211\211\214TV\203b\210\323u\210\307\324!\203`\262}\210\203c@\262A\262@\262b\210;\203<\310\311#\202?!\203A\262\211@:\203\\\211\203.\325@!\210\211A\262\202L\325!\210\202.b\210)\266\202& \266\302\207" [c-literal-faces c-doc-face-name nil get-text-property face (font-lock-comment-face font-lock-comment-delimiter-face) c-literal-start looking-at re-search-forward t 0 c-in-literal parse-partial-sexp 2 7 c-forward-single-comment put-text-property skip-syntax-forward " " -2 "\\*/" #[257 "\211@\211\224\225\3008\204 \3018\206\213 \302\303#\207\304A@!\211\242\305=\2033 \306AA#\210\211A@\262\211\204A \307=\204A \310\202\211 \311\267\202} \312\305\310$\206\211 \313\305$\202\211 \313\305$\202\211 \314\305$\202\211 \315\305$\202\211 \316\305$\202\211 \211\206\204 \307=?\205\211 \310\262\207" [2 3 error "No match %d in highlight %S" eval face add-text-properties t nil #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 71 t 89 prepend 98 append 107 keep 116)) text-property-not-all put-text-property font-lock-prepend-text-property font-lock-append-text-property font-lock-fillin-text-property] 11 2327928]] 15 (#$ . 150733)])
(byte-code "\300\301\302\303#\300\207" [function-put c-font-lock-doc-comments lisp-indent-function 2] 4)
#@21 

(fn REGEXP LIMIT)
(defalias 'c-find-invalid-doc-markup #[514 "\301\302\303#\203 \304\305\224\211\262\306\"=?\202 \301\211\262\204 \211\205. \307\310!\310T!D!\210\303\207" [c-doc-face-name nil re-search-forward t get-text-property 0 face store-match-data copy-marker] 7 (#$ . 152774)])
(defconst gtkdoc-font-lock-doc-comments (byte-code "\301\302\303BBB\304\305\306BBB\307\302\310BBB\311\305\312BBBF\207" [c-doc-markup-face-name "^ \\* \\([a-zA-Z0-9_]+\\):[ 	]*$" 1 (prepend nil) "[a-zA-Z0-9_]+()" 0 (prepend nil) "^ \\* \\(@[a-zA-Z0-9_]+\\):" (prepend nil) "[#%@][a-zA-Z0-9_]+" (prepend nil)] 7))
(defconst gtkdoc-font-lock-doc-protection (byte-code "\301\302\303BBBC\207" [c-doc-markup-face-name "< \\(public\\|private\\|protected\\) >" 1 (prepend nil)] 4))
(defconst gtkdoc-font-lock-keywords (byte-code "\300CC\207" [#[257 "\302\303#\210\302\304	#\207" [gtkdoc-font-lock-doc-comments gtkdoc-font-lock-doc-protection c-font-lock-doc-comments "/\\*\\*\\([^*/\n].*\\)?$" "/\\*< "] 5 "\n\n(fn LIMIT)"]] 1))
(defconst javadoc-font-lock-doc-comments (byte-code "\301\302\303BBB\304\305\306BBB\307\302\310BBB\311\302\312BBB\313\314B\257\207" [c-doc-markup-face-name "{@[a-z]+[^}\n]*}" 0 (prepend nil) "^\\(/\\*\\)?\\(\\s \\|\\*\\)*\\(@[a-z]+\\)" 3 (prepend nil) "</?\\sw\\(\\sw\\|\\s \\|[=\n*.:]\\|\"[^\"]*\"\\|'[^']*'\\)*>" (prepend nil) "&\\(\\sw\\|[.:]\\)+;" (prepend nil) #[257 "\300\301\"\207" [c-find-invalid-doc-markup "[<>&]\\|{@"] 4 "\n\n(fn LIMIT)"] (0 'font-lock-warning-face prepend nil)] 7))
(defconst javadoc-font-lock-keywords (byte-code "\300CC\207" [#[257 "\301\302#\207" [javadoc-font-lock-doc-comments c-font-lock-doc-comments "/\\*\\*"] 5 "\n\n(fn LIMIT)"]] 1))
(defconst autodoc-decl-keywords "\\(\\(?:@\\(?:decl\\|elem\\|index\\|member\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)")
(defconst autodoc-decl-type-keywords "\\(\\(?:@\\(?:elem\\|member\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)")
#@14 

(fn LIMIT)
(defalias 'autodoc-font-lock-line-markup #[257 "\306\307Q	\nD`W\203\337 \310\311#\203\337 \312\225b\210\313!\203\265 `\312\225\211\314\315`\316$\210S\315\211T\317\320$\266b\210\314\210`\262`Sf\321=\203s m\204s \314u\210\322\323!\210\313!\203s \324\225b\210\325S\326#\210\315S\316$\210`\262\202: \325`Td^\326#\210b\210\310\327\330#\203\222 \315\324\224`\316\331$\210\202 b\210\313\f!\203\260 \311\314\311b\210\332 \210\333 \210\334 \210+\266\202 \315`\314\210`\316$\210`Sf\321=\203 m\204 \314u\210\322\323!\210\313!\203 \324\225b\210\202\265 \266\314\207" [c-current-comment-prefix c-doc-markup-face-name c-doc-face-name autodoc-decl-keywords autodoc-decl-type-keywords c-promote-possible-types "^\\(\\(/\\*!\\|\\s *\\(" "\\)\\)\\s *\\)@[A-Za-z_-]+\\(\\s \\|$\\)" re-search-forward t 1 looking-at nil put-text-property face c-type c-decl-end 64 skip-syntax-forward " " 0 remove-text-properties (face nil) "\"\\([^\\\"]\\|\\\\.\\)*\"\\|'\\([^\\']\\|\\\\.\\)*'" move font-lock-string-face c-forward-sws c-forward-type c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 13 (#$ . 154701)])
(defconst autodoc-font-lock-doc-comments (byte-code "\301\302\303BBB\304\305\306BE\207" [c-doc-markup-face-name "@\\(\\w+{\\|\\[\\([^]@\n]\\|@@\\)*\\]\\|[@}]\\|$\\)" 0 (prepend nil) (autodoc-font-lock-line-markup) #[257 "\300\301\"\207" [c-find-invalid-doc-markup "@"] 4 "\n\n(fn LIMIT)"] (0 'font-lock-warning-face prepend nil)] 4))
(defconst autodoc-line-join-re "@[\n][ 	]*/[/*]!")
(defconst autodoc-bright-comment-start-re "/[/*]!")
(defconst autodoc-line-join-end-ch 33)
(defalias 'autodoc-font-lock-keywords #[0 "\301\302CC\207" [c-type-decl-end-used t #[257 "\301\302#\207" [autodoc-font-lock-doc-comments c-font-lock-doc-comments "/[*/]!"] 5 "\n\n(fn LIMIT)"]] 1])
(defconst doxygen-font-lock-doc-comments (byte-code "\301\302\303BBB\304\305\306\307B\310\311B\257\207" [c-doc-markup-face-name "\\(?:^\\|[^\\@]\\)\\([\\@]\\(?:[a-eg-z][a-z]*\\|f\\(?:[][$}]\\|{\\(?:[a-zA-Z]+\\*?}{?\\)?\\|[a-z]+\\)\\|~[a-zA-Z]*\\|[$@&~<=>#%\".|\\\\]\\|::\\|---?\\)\\|</?\\sw\\(?:\\sw\\|\\s \\|[=\n*.:]\\|\"[^\"]*\"\\|'[^']*'\\)*>\\|&\\(?:\\sw+\\|#[0-9]+\\|#x[0-9a-fA-F]+\\);\\)" 1 (prepend nil) ("\\(?:^\\|[^\\@]\\)\\(\"[^\"[:cntrl:]]+\"\\)" 1 font-lock-string-face prepend nil) ("\\(?:^\\|[^\\@]\\)\\(<!--.*?-->\\)" 1 font-lock-comment-face prepend nil) "\\(?:^\\|[^\\@/%:]\\)\\(?:\\(?:[\\@]ref\\s-+\\)?\\(?1:\\(?:#\\|::\\)?\\(?:[a-zA-Z_][a-zA-Z_0-9]*\\(?:#\\|::\\)\\)+~?[a-zA-Z_][a-zA-Z_0-9]*\\)\\|\\(?:[\\@]ref\\s-+\\)?\\(?1:\\(?:#\\|::\\)~?[a-zA-Z_][a-zA-Z_0-9]*\\)\\|\\(?:[\\@]ref\\s-+\\)?\\(?1:\\(?:#\\|::\\)?~?[a-zA-Z_][a-zA-Z_0-9]*\\)\\(?:()\\|([^()]*)\\)\\|[\\@]ref\\s-+\\(?1:~?[a-zA-Z_][a-zA-Z_0-9]*\\)\\|\\(?:[\\@]ref\\s-+\\)?\\(?1:~[A-Z][a-zA-Z0-9_]+\\)\\)" (1 font-lock-function-name-face prepend nil) "\\(?:mailto:\\)?[a-zA-0_.]+@\\(?:[A-Za-z0-9]\\(?:[A-Za-z0-9-]\\{0,61\\}[A-Za-z0-9]\\)\\.\\)+[A-Za-z0-9]\\(?:[A-Za-z0-9-]\\{0,61\\}[A-Za-z0-9]\\)\\|https?://\\(?:[A-Za-z0-9]\\(?:[A-Za-z0-9-]\\{0,61\\}[A-Za-z0-9]\\)\\.\\)+[A-Za-z0-9]\\(?:[A-Za-z0-9-]\\{0,61\\}[A-Za-z0-9]\\)\\(?:/\\(?:[!-(*--/-=?-~]+[.]+\\)*[!-(*--/-=?-~]+\\)?" (0 font-lock-keyword-face prepend nil)] 6))
(defconst doxygen-font-lock-keywords (byte-code "\300CC\207" [#[257 "\301\302#\207" [doxygen-font-lock-doc-comments c-font-lock-doc-comments "/\\(?:/[/!]\\|\\*[\\*!]\\)"] 5 "\n\n(fn LIMIT)"]] 1))
(provide 'cc-fonts)
