;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; 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 "\301\211\302 >\262\203\f \301\207\303\211\302 >\262\203 \303\207\300\211\302 >\262\2030 \304\300!\2030 \300=\2030 \300\207\305\207" [font-lock-reference-face font-lock-preprocessor-face face-list font-lock-builtin-face boundp font-lock-constant-face] 3))
(defconst c-label-face-name (byte-code "\301\211\302 >\262\203\f \301\207\300\211\302 >\262\203$ \303\300!\203$ \300=\203$ \300\207\304\207" [font-lock-constant-face font-lock-label-face face-list boundp font-lock-reference-face] 3))
(defconst c-constant-face-name (byte-code "\300\211\302 >\262\203 \303\300!\203 \300=\203 \300\207	\207" [font-lock-constant-face c-label-face-name face-list boundp] 3))
(defconst c-reference-face-name (byte-code "\300\211\302 >\262\203 \303\300!\203 \300=\203 \300\207\304\211\302 >\262\203$ \304\207	\207" [font-lock-reference-face c-label-face-name face-list boundp font-lock-constant-face] 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 (#$ . 1654)])
(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 (#$ . 2225)]))
(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 (#$ . 2467)]))
(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 (#$ . 2721)]))
(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 (#$ . 2936)]))
(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 (#$ . 3330)])#@15 

(fn REGEXP)
(defalias 'c-make-syntactic-matcher #[257 "\300\301\302\303\304\305\306\307\310\311\312\313BBE\314BBD\315BBBBE!\207" [byte-compile lambda (limit) let (res) (c-skip-comments-and-strings limit) 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)] 14 (#$ . 3719)])#@48 

(fn REGEXP HIGHLIGHTS &optional CHECK-POINT)
(defalias 'c-make-font-lock-search-form #[770 "\300\301\302\203 \303\304\305\306BBE\202 \305\307BB\310\311\312\313\314\n\"BBBEE\207" [progn (c-skip-comments-and-strings limit) 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)"]] 13 (#$ . 4124)])#@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 (#$ . 4987)])#@32 

(fn REGEXP &rest HIGHLIGHTS)
(defalias 'c-make-font-lock-BO-decl-search-function #[385 "\300\301\302\303\304\305\306\307		\"F\310BBBB!\207" [byte-compile lambda (limit) (let ((lit-start (c-literal-start))) (when lit-start (goto-char lit-start))) 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)] 12 (#$ . 5300)])#@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 (#$ . 5848)])
(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 (#$ . 10113)])#@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 (#$ . 10576)])
(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\350 \201L \304\201M \201N \"\205<\373\374\201O \201P \201Q \201R \304\201S \201T \"\304\342\201U \"\201V \304\201@ \201W \"\201B \304\342\201X \"\201Y \260\304\201Z \201[ \"T\201\\ BC\"EE!CC\315\201] !\205U\340\201^ \201_ \"\340\201` \201a \"D\201b &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)))) c++-mode (c-font-lock-c++-modules) c-equals-nontype-decl-kwds (cc-langs) (limit) save-restriction (narrow-to-region (point-min) limit) c-make-font-lock-search-form c-equals-nontype-decl-key (cc-langs) (cc-langs) "+\\(" (cc-langs) (cc-langs) "*=\\(?:[^=]\\|$\\)" c-simple-ws-depth (cc-langs) (font-lock-type-face t) 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 "\303!\210`W\205\212```\304Ze]V\203# \214`\304Ze]d}\210\305 )\210o\2045 \306`S\307\"\310>\2035 `S\262\311W\203G \306\307\"\203G \202[ \312\307\311$\211\262W\203Z \211\202[ \262\211W\203i \313\314#\210\210\311W\203| \306\315\"\203| \202\220 \312\315\311$\211\262W\203\217 \211\202\220 \262\211W\203\236 \313\316#\210)\266\317 \210\212``\304Ze]V\203\274 \214`\304Ze]d}\210\305 )\210o?\205\306 \306`S\307\")\211\320>\203\360 `\206\323 dW\203\344 \214e\206\336 d}\210\321 )\210\322\323\324=\325`!?$\210\210\212	\205\326 \205\327	!\205\330)\311\207" [most-positive-fixnum c-cpp-expr-intro-re c-font-lock-context 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 c-not-decl) nil next-single-property-change remove-text-properties (c-type . #1=(nil)) c-<>-c-types-set (c-<>-c-types-set . #1#) 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] 8 (#$ . 14618)])#@14 

(fn LIMIT)
(defalias 'c-font-lock-<>-arglists #[257 "\306!\210`W\203'\307\211\310\211\211\211\211\211\211`\nW\203$`\262\311\312\307\310\307%\203$`\262\212\313u\210`\206> eV\203O \214\211\206H ed}\210\314 )\210\315\316\317\f\320\260\307#\203h \321\224\262\321\225\262\202n \310\262\310\262)\203 b\210\306\n!\204 \310\262\310\322\323\"\262\324\267\202\250 \202\325!\203\326\321!\327\"\"\262\211\262\202\300 \314 \210`Sf\330>\203\277 \322`S\331\"\332=\204\277 \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 143 font-lock-keyword-face 146)) 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 (#$ . 15791)])#@70 

(fn LIMIT LIST TYPES NOT-TOP &optional TEMPLATE-CLASS ACCEPT-ANON)
(defalias 'c-font-lock-declarators #[1540 "\302\303\247\203 d\202 \303C\304	\247\204# 	\302=\203' \305\202. 	?\205. \306\307\310	\f%&\210\247\203~ \311\312\"\313\242\314\315$\313\242\314\315$\211\203h \211@\316!\210A\266\202\202W \210\204q \211\203| \317	\211T\312\242$\210\266\266\303\320 *\210\207" [c-record-ref-identifiers c-record-type-identifiers t nil c-do-declarators c-decl-type-start c-decl-id-start make-closure #[1542 "\303\247\204 \303\306=\203, \203\314 \306b\210\307 )\210\303\247\203\314 \300\310\"\300\242B\240\210\202\314 \203\314 b\210\203m \311!\203D \312\225=\204m `W\203m \313\306#\203m `\301\206Y dW\203D \214e\301\206d d}\210\314 )\210\202D \315`\316\"\317>\203\220 \320`\316\303\321>\204\205 \303\202\216 \203\215 \322\202\216 \323$\210\324=\203\314 \310\"\325\232\203\314 b\210`\301\206\253 dW\203\274 \214e\301\206\266 d}\210\314 )\210\326 \203\314 \320`\327 \210`\316$\210\302\205\345 \211\330=\205\345 b\210\331\312\332\301#\210\306\307\306!)\207" [V0 V1 V2 V3 c-promote-possible-types c-opt-identifier-prefix-key t c-forward-type buffer-substring-no-properties looking-at 1 re-search-forward c-forward-sws get-text-property face (nil font-lock-string-face) put-text-property (nil t) font-lock-function-name-face font-lock-variable-name-face c++-mode "\"\"" c-on-identifier c-forward-over-token 61 c-forward-token-2 nil c-buffer-is-cc-mode] 12 "\n\n(fn ID-START ID-END END-POS NOT-TOP IS-FUNCTION INIT-CHAR)"] get-text-property c-typedef cl-set-difference :test equal c-unfind-type put-text-property c-fontify-recorded-types-and-refs] 19 (#$ . 17301)])#@50 

(fn MATCH-POS NOT-FRONT-DECL &optional TOPLEV)
(defalias 'c-get-fontification-context #[770 "eV\205 \306S\307\"\310\206 `Sf\311=\203U \3121% \313\314\315#0\202' \210\310\211\205/ \211b\210\211\262\203U \316 \210\317 \211\262\203U \211b\203U \316 \210`Sf\320=\203U \321`#\207\206Z `Sf\322>\204h \205f \323C\207\206m `Sf\320=\203\246 \212b\210\314u\210\324 \210\325!\203\211 \310C\202\242 \325	!\204\233 \325\n!\204\233 \325!\203\241 \310\326B\202\242 \310)\206\362eX\203\260 \327\326B\207\330\267\202\274 \331C\207\332C\207\f\333=\203\376 \206\307 `Sf\320=\203\376 \212b\210\324 \210\3341\342 \335`\314\"b0\202\347 \210\310\202\354 \205\354 \336 )\203\376 S\337\211T\307\340$\266\331C\207\206`Sf\341=\203#\342S\343 A\310#\203#S\337\211T\307\344$\266\332C\207\206(`Sf\341=\2036\2054\323C\207\345=\204H\206A`Sf\346=\203K\347C\207\203S\327\326B\207\f\333=\203\245\206^`Sf\320=\203\245\212b\210\324\350!\315U\205\236\325!\205\236`\351\306\352\"\211:\203\231\211\203\224\211@>\204\224\211A\262\202\202\266\202\202\236\211>\266\203)\203\245\332C\207\203\3065\203\270\212b\210\353 )\204\306S\337\211T\307\340$\266\331C\207\206\313`Sf\320=\203\357\212b\210\324 \315U\203\344\310f\320=\204\326\3256!)\203\357\310C\207\206\364`Sf\354=\203\f\333=\203\212b\210\353 )\203S\337\211T\307\344$\266\332C\207\212b\210\206\"`Sf\355>\205\335\214`\356Ze]\211\2037\211d}\210\3571E\313\314\360#0\202G\210\310)\262\211\205R\211b\210\326\262\205\335\310f\320=\205\335\306`\307\"\211\361>\206\333\316 \210\203\265`Sf\311=\203\265\212\214`\356Ze]\211\203\206\211d}\210\3621\223\313`\314\315#0\202\225\210\310)\262\211\205\240\211b\210\211\262\205\261\310f\320=\205\261\316 \210\363 )\202\333\212\363 \205\314\316 \210o\206\314\306`S\307\"\262\211\364>)\206\333\324 \315U\205\333\3257!\262)\203\357S\337\211T\307\340$\266\331C\207\327\326B\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 nil 41 (error) scan-lists -1 0 c-backward-sws c-on-identifier 40 c-get-fontification-context (40 44 91 60 123) top c-backward-token-2 looking-at t arglist #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (c-decl-arg-start 182 c-not-decl 185)) 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 (font-lock-variable-name-face) face c-back-over-member-initializers 44 (40 44) 2000 (error) 1 (c-decl-arg-start c-decl-type-start) (error) c-back-over-compound-identifier (c-decl-arg-start c-decl-type-start) c-recognize-paren-inits c-arithmetic-op-regexp c-fun-name-substitute-key] 11 (#$ . 19027)])#@52 

(fn LIMIT DECL-OR-CAST MATCH-POS CONTEXT TOPLEV)
(defalias 'c-font-lock-single-decl #[1285 "\212AA@\205\256 \214\305\306!\211\203 \211d}\210\3071! \310`\311\312#0\202# \210\313)\262\211\205. \211b\210\314\262\205\256 \313f\315=\205\256 \316 \210\317\320!\321W\204v \322=\205\256 `\323\313x\321W\203m \324\313x\321W\203m \325	!\203m \321\225Y\203m \314\202q \211b\210\313\262\205\256 \325\n!\205\256 b\210`Sf\326=\203\251 \3271\224 \310`\311\321#0\202\226 \210\313\211\205\236 \211b\210\211\262\203\251 \316 \210\202 `Sf\330=)\203\311 :\205\276 AAA@\236\211\203\307 \331\"\314\207@b\210\332>\204'\206\330 `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=\2059\212b\210\334 \210\325\f!)\203\\\212\316 \210o\204[`S\335\211T\336\nA@\203W\337\202X\340$\266)\341d^A@\204m\313\202wA@A@\206w\314?	\342>&\266\343 \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 (decl <>) c-fontify-recorded-types-and-refs] 15 (#$ . 21879)])#@14 

(fn LIMIT)
(defalias 'c-font-lock-declarations #[257 "\306!\210`W\205c \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\f&\n$-\266)\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 "\307`\240\210\311`\312\"\313=\203 \314.!\204^/\203  \314/!\204^\315\211\203, \302\242\202. \303\242W#\306@\240\210\211A0\210\3141!\204g ``\316Ze]V\203Y \214`\316Ze]d}\210\317 )\210\320 \210\3141!\204g \307\242b\2102\321=\203 \314\3223\323Q!\203 \324\225b\210\325 \210\306\242\326=\203\242 \304\327\240\210\330\331\310d^\332\333$\203\240 `S\334\211T\335\336$\266\327\207\304\337\306\242\305\242$\240\210\206\263 `Sf\340=\203\301\242V\203\212b\210\320 \210\327f\340=\203\212\320 \210\3144!?\205``\316Ze]V\203\362 \214`\316Ze]d}\210\317 )\210`Sf\341>\205\311`S\335\"\342=?)0\343\327!)\203\301`\240\210)\304\242\344=\203!\305`\240\210\345 \210\327\207\304\242\203Z\2038`\302\242V\203C\302`\240\210\202C`\303\242V\203C\303`\240\210\307\242b\210\346\310\304\242\306\242\206V\347\304\2428%\202[\333\205\254\307\242b\210\300\350\333\327#\240\205\254\300\242\351=\203\204\3345@@5@A\3126$\210\202\250\300\242\352=\203\233\3345@@5@A\312\313$\210\202\250\300\242\353=\203\250\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 (#$ . 23349)])#@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 (#$ . 25818)])#@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 (#$ . 26120)])#@14 

(fn LIMIT)
(defalias 'c-font-lock-cut-off-declarators #[257 "\302!\210`W\205\343 `\303\304!\305\211\211\211\211\211\211\211\211\212\306!\204\337 \307 \262m\2042 \310\311!\2042 \305u\210\312\313	\314#\210@:\203Q `Sf\315=\203Q @@b\210\202f @\247\203m @f\316=\203m @b\210\312\313	\314#\210o\204y `Sf\317>\203\337 `\262`	\206\203 dW\203\225 \214e	\206\217 d}\210\320 )\210`	W\203\337 `\262\307 \262\321!\211\262\203\264 f\316=\203\337 \322 \262\323\305#\211@\262\211A\210\324\305#\262:\203\337 b\210\325\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 c-parse-state looking-at "\\s(\\|\\s)" c-syntactic-skip-backward "^;{}" t 125 123 (59 123 125) c-forward-sws c-most-enclosing-brace c-at-toplevel-p c-get-fontification-context c-forward-decl-or-cast-1 c-font-lock-single-decl] 16 (#$ . 26585)])#@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 (#$ . 27535)])#@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 (#$ . 28160)])#@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 (#$ . 29464)])#@14 

(fn LIMIT)
(defalias 'c-forward-c++-module-name #[257 "\302!\2054 \303\225X\2054 \302	!?\2054 \303\225b\210\303\224\303\225B`\206# dW\2034 \214e\206. d}\210\304 )\210\207" [c-module-name-re c-keywords-regexp looking-at 0 c-forward-sws] 4 (#$ . 30787)])#@14 

(fn LIMIT)
(defalias 'c-forward-c++-module-partition-name #[257 "\302f\303=\205U \302u\210`\206 dW\203! \214e\206 d}\210\304 )\210\305!\205U \306\225X\205U \305	!?\205U \306\225b\210\306\224\306\225B`\206D dW\203U \214e\206O d}\210\304 )\210\207" [c-module-name-re c-keywords-regexp nil 58 c-forward-sws looking-at 0] 4 (#$ . 31051)])#@14 

(fn LIMIT)
(defalias 'c-font-lock-c++-modules #[257 "`W\205\326\304\305\306#\205\326\307\225b\210\310\211\211\211\211\311!\204\321\212\312\307!\313\232\203G `\206. dW\203@ \214e\206: d}\210\314 )\210\304\315\306#\210\312\307!\316\232\205} `W\205} `\206] dW\203o \214e\206i d}\210\314 )\210\317!\211\262\205} `\211\262)\203\232 C\262b\210\320!\211\262\203!B\262\202!\212\312\307!\313\232\203\303 `\206\252 dW\203\274 \214e\206\266 d}\210\314 )\210\304\321\306#\210\312\307!\322\232\205\357 `W\205\357 `\206\331 dW\203\353 \214e\206\345 d}\210\314 )\210`\211\262)\203\253b\210\317!\211\262\203B\262\202!\320!\211\262\203B\262\202!\310f\323=\203b`\262\32413\325`\307\"b\210\3060\2025\210\310\203b`Sf\323=\203F\262`\262`\206MdW\203!\214e\206Yd}\210\314 )\210\202!\326\327!\203\246\330\225W\203\246`\262\330\225b\210\307\225\203`\262\331\206\206`\332$\210`\206\221dW\203!\214e\206\235d}\210\314 )\210\202!\266\202  \212\312\330!\313\232\205\321`\206\273dW\203\315\214e\206\307d}\210\314 )\210`\211\262)\203\321`b\210\310f\333=\203\214\203\351e}\210\3341\366\335`\307\330#0\202\370\210\310)\211\205\211b\210\211\262\203`Sf\336=\204\321b\266\202  \337 \204\321b\266\202  	\340=\203\214\326\341!\203\214\212\3421;\335`\307\330#0\202=\210\310\211\205E\211b\210\211\262\205``Sf\343=\205``S\206X`Sf\343=\205``)\203\214\330\225W\203\214\330\225b\210`\206wdW\203!\214e\206\203d}\210\314 )\210\202!`W\203\271\310f\344=\203\271\310u\210\211\211\203\264\211@\331@A\332\n$\210A\266\202\202\236\266\202  \203\305\331\211T\332$\210\203\321\331S\332$\210\266\202  \207" [font-lock-string-face c-buffer-is-cc-mode c-reference-face-name font-lock-warning-face re-search-forward "\\<\\(module\\|export\\|import\\)\\>\\(?:[^_$]\\|$\\)" t 1 nil c-skip-comments-and-strings match-string-no-properties "export" c-forward-sws "\\=\\(module\\)\\>\\(?:[^_$]\\|$\\)" "module" c-forward-c++-module-name c-forward-c++-module-partition-name "\\=\\(import\\)\\>\\(?:[^_$]\\|$\\)" "import" 34 (error) scan-sexps looking-at "<\\(?:\\\\.\\|[^\\\n	>]\\)*\\(>\\)?" 0 put-text-property face 123 (error) scan-lists 125 c-end-of-decl-1 c++-mode "\\[\\[" (error) 93 59] 13 (#$ . 31401)])
(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 (#$ . 36304)])
(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 (#$ . 38912)])#@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 (#$ . 39383)])
(defvar c-re-redisplay-timer nil)#@25 

(fn BUFFER START END)
(defalias 'c-force-redisplay #[771 "rq\210\212\301\")\210\302\303!\303!\"\210\304\211)\207" [c-re-redisplay-timer c-font-lock-fontify-region jit-lock-force-redisplay copy-marker nil] 7 (#$ . 39721)])#@13 

(fn TYPE)
(defalias 'c-fontify-new-found-type #[257 "\205\215 \306\301!\205\215 	\307=\205\215 \310 \311\211\311\312\313\"\216\314\315\316p\317\311#\"\320\321Q\212\214~\210eb\210\322\323\311#\205\207 \324\325\224\326\"\203S \324\325\224\327\">\204S \330\325\224\325\225\326\323$\210\211\203\203 \211@\325\224AW\203| \325\225@V\203| \204| \331\325\323\332p\325\224\325\225&A\266\202\202T \210\2020 *\266\202,\262\207" [font-lock-mode font-lock-support-mode buffer-undo-list inhibit-read-only inhibit-modification-hooks c-literal-faces boundp jit-lock-mode buffer-modified-p t make-closure #[0 "\300\203\n \300\301=\205 \302\300!\207" [V0 autosaved restore-buffer-modified-p] 2] mapcar #[257 "\300!\301!B\207" [window-start window-end] 4 "\n\n(fn WIN)"] get-buffer-window-list no-mini "\\_<" "\\_>" re-search-forward nil get-text-property 0 fontified face put-text-property run-with-timer c-force-redisplay c-re-redisplay-timer] 14 (#$ . 39956)])
(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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil c-mode] 4) (#$ . 40982))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (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!\210\304	\305#\203W \306\224b\210\303!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties c-known-type-key boundp c-skip-comments-and-strings re-search-forward t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203W \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\(\\s \\|[\n]\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)" (list 2 c-label-face-name nil t))) c-get-lang-constant c-matchers-2 nil c-mode] 4) (#$ . 45090))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (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:]_$]\\{,1000\\}\\)" (list 2 c-label-face-name nil t))) c-get-lang-constant c-matchers-3 nil c-mode] 4) (#$ . 51540))#@45 Default expressions to highlight in C mode.
(defvar c-font-lock-keywords c-font-lock-keywords-3 (#$ . 56834))
(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 (#$ . 57257)])#@14 

(fn LIMIT)
(defalias 'c-font-lock-c++-new #[257 "\304!\2043\212\30521\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\354 \307b\210\316 )\266\202+\211\326=\203\377 \307b\210\316 )\266\202+\327=\203\211\204\307b\210\316 )\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 (#$ . 57906)])
(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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil c++-mode] 4) (#$ . 59160))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes c-font-lock-ml-strings (eval list "\\<\\(\\(?:NULL\\|false\\|nullptr\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:lign\\(?:as\\|of\\)\\|nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:_\\(?:await\\|return\\|yield\\)\\|mpl\\|n\\(?:cept\\|st\\(?:_cast\\|e\\(?:val\\|xpr\\)\\|init\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:cltype\\|fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:p\\(?:\\(?:lici\\|or\\)t\\)\\|tern\\)\\)\\|f\\(?:inal\\|or\\|riend\\)\\|goto\\|i\\(?:f\\|mport\\|nline\\)\\|m\\(?:\\(?:odu\\|utab\\)le\\)\\|n\\(?:amespace\\|ew\\|o\\(?:except\\|t\\(?:_eq\\)?\\)\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\|verride\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|quires\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|r\\(?:ead_local\\|ow\\)\\)\\|ry\\|ype\\(?:def\\|id\\|name\\|of\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[257 "\301\302\303#\205* \304\224b\210\305!\204  \306\307\224\310\"\204# \311\307\224\307\225\310$\210\312\225b\210\202  \207" [c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 6 "\n\n(fn LIMIT)"]) c-font-lock-c++-modules (#[257 "\214e}\210\301!\210\302\303\304#\2054 \305\224b\210\301!\204	 \305\225b\210\306 \307\310\"\216\311\312\224\312\225\313$)\266\202	 )\207" [font-lock-type-face c-skip-comments-and-strings re-search-forward "\\(?:concept\\)\\(\\s \\|[\n]\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\s \\|[\n]\\)*=\\(?:[^=]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 2 face] 7 "\n\n(fn LIMIT)"]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[257 "\302\300!\303!\210\304	\305#\203W \306\224b\210\303!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties c-known-type-key boundp c-skip-comments-and-strings re-search-forward t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203W \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\(\\s \\|[\n]\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203E \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\225b\210\313 )\266\307 \310\314\"\216\315\305\316\211$)\266\312\225b\210\202 )\316\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|union\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 1 c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-2 nil c++-mode] 4) (#$ . 63274))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes c-font-lock-ml-strings (eval list "\\<\\(\\(?:NULL\\|false\\|nullptr\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:lign\\(?:as\\|of\\)\\|nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:_\\(?:await\\|return\\|yield\\)\\|mpl\\|n\\(?:cept\\|st\\(?:_cast\\|e\\(?:val\\|xpr\\)\\|init\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:cltype\\|fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:p\\(?:\\(?:lici\\|or\\)t\\)\\|tern\\)\\)\\|f\\(?:inal\\|or\\|riend\\)\\|goto\\|i\\(?:f\\|mport\\|nline\\)\\|m\\(?:\\(?:odu\\|utab\\)le\\)\\|n\\(?:amespace\\|ew\\|o\\(?:except\\|t\\(?:_eq\\)?\\)\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\|verride\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|quires\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|r\\(?:ead_local\\|ow\\)\\)\\|ry\\|ype\\(?:def\\|id\\|name\\|of\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[257 "\301\302\303#\205* \304\224b\210\305!\204  \306\307\224\310\"\204# \311\307\224\307\225\310$\210\312\225b\210\202  \207" [c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 6 "\n\n(fn LIMIT)"]) c-font-lock-c++-modules (#[257 "\214e}\210\301!\210\302\303\304#\2054 \305\224b\210\301!\204	 \305\225b\210\306 \307\310\"\216\311\312\224\312\225\313$)\266\202	 )\207" [font-lock-type-face c-skip-comments-and-strings re-search-forward "\\(?:concept\\)\\(\\s \\|[\n]\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\s \\|[\n]\\)*=\\(?:[^=]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 2 face] 7 "\n\n(fn LIMIT)"]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) 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\\|8\\)_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:]_$]\\{,1000\\}\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-3 nil c++-mode] 4) (#$ . 73062))#@47 Default expressions to highlight in C++ mode.
(defvar c++-font-lock-keywords c++-font-lock-keywords-3 (#$ . 81236))
(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 (#$ . 82366)])
(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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil objc-mode] 4) (#$ . 82714))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (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!\210\306\307\310#\203c \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315`\206/ dW\203@ \214e\206: d}\210\316 )\210`\317 \320=\203Q \211b\210\310\317 )\210\210`V\203[ b\210\321 +\266\202 )\315\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers c-promote-possible-types boundp c-skip-comments-and-strings re-search-forward "\\[" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"] #[257 "\303\300!\304!\210\305\306\307#\203< \310\224b\210\304!\204 \310\225b\210\310\224b\210\311 \312\313\"\216\307\314\303\300!\315 \210\316 ,\266\202 )\314\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 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:]_$@]\\{,1000\\}\\)" (#[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!\210\304	\305#\203W \306\224b\210\303!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties c-known-type-key boundp c-skip-comments-and-strings re-search-forward t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203W \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\(\\s \\|[\n]\\)+\\([[:alpha:]_@][[:alnum:]_$@]\\{,1000\\}\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203E \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\225b\210\313 )\266\307 \310\314\"\216\315\305\316\211$)\266\312\225b\210\202 )\316\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\|enum\\|struct\\|union\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 1 c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$@]\\{,1000\\}\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:@class\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:@defs\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-2 nil objc-mode] 4) (#$ . 86855))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (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!\210\306\307\310#\203c \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315`\206/ dW\203@ \214e\206: d}\210\316 )\210`\317 \320=\203Q \211b\210\310\317 )\210\210`V\203[ b\210\321 +\266\202 )\315\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers c-promote-possible-types boundp c-skip-comments-and-strings re-search-forward "\\[" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"] #[257 "\303\300!\304!\210\305\306\307#\203< \310\224b\210\304!\204 \310\225b\210\310\224b\210\311 \312\313\"\216\307\314\303\300!\315 \210\316 ,\266\202 )\314\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 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!\210\303\304\305#\2035 \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\225S\313\211T\314\315$)\266\202 )\316\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\(\\(?:@\\(?:compatibility_alias\\|d\\(?:efs\\|ynamic\\)\\|end\\|optional\\|p\\(?:ackage\\|r\\(?:ivate\\|o\\(?:perty\\|tected\\)\\)\\|ublic\\)\\|required\\|synthesize\\)\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 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:]_$@]\\{,1000\\}\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:@class\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:@defs\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-3 nil objc-mode] 4) (#$ . 96895))#@55 Default expressions to highlight in Objective-C mode.
(defvar objc-font-lock-keywords objc-font-lock-keywords-3 (#$ . 105561))
(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.2 ((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) (#$ . 106250))#@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.2 ((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!\210\304\305\306#\203b \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\307\224Tb\210`Sf\314=\203X \315u\210\316 \210`\262\317\313x\307W\203X \320`\321\"\204X \322`\321	$\210\316 \210\202+ )\266\307\225b\210\202 )\313\207" [parse-sexp-lookup-properties c-reference-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\.\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 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!\210\304	\305#\203W \306\224b\210\303!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties c-known-type-key boundp c-skip-comments-and-strings re-search-forward t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203E \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\225b\210\313 )\266\307 \310\314\"\216\315\305\316\211$)\266\312\225b\210\202 )\316\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:@interface\\|class\\|enum\\|interface\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 1 c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]\\{,1000\\}\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-2 nil java-mode] 4) (#$ . 106733))#@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.2 ((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!\210\304\305\306#\203b \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\307\224Tb\210`Sf\314=\203X \315u\210\316 \210`\262\317\313x\307W\203X \320`\321\"\204X \322`\321	$\210\316 \210\202+ )\266\307\225b\210\202 )\313\207" [parse-sexp-lookup-properties c-reference-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\.\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 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:]_$]\\{,1000\\}\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-3 nil java-mode] 4) (#$ . 110959))#@48 Default expressions to highlight in Java mode.
(defvar java-font-lock-keywords java-font-lock-keywords-3 (#$ . 114191))
(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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 nil idl-mode] 4) (#$ . 114697))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (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:]_$]\\{,1000\\}\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 6 "\n\n(fn LIMIT)"]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[257 "\302\300!\303!\210\304	\305#\203W \306\224b\210\303!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties c-known-type-key boundp c-skip-comments-and-strings re-search-forward t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203E \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\225b\210\313 )\266\307 \310\314\"\216\315\305\316\211$)\266\312\225b\210\202 )\316\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?: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 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 1 c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) c-font-lock-enum-tail c-font-lock-enum-body (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?: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 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:switch\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-2 nil idl-mode] 4) (#$ . 118769))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (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:]_$]\\{,1000\\}\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 6 "\n\n(fn LIMIT)"]) (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 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?: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 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:switch\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-3 nil idl-mode] 4) (#$ . 127432))#@53 Default expressions to highlight in CORBA IDL mode.
(defvar idl-font-lock-keywords idl-font-lock-keywords-3 (#$ . 135006))
(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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\\`#![^\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) (#$ . 135510))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\\`#![^\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:]_$]\\{,1000\\}\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\s \\|[\n]\\)*\\(\\(?:\\.\\|::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_`]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 6 "\n\n(fn LIMIT)"]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[257 "\302\300!\303!\210\304	\305#\203W \306\224b\210\303!\204 \306\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$)\266\307 \310\316\"\216\313\225b\210\317 )\266\307 \310\320\"\216\321\305\322\211$)\266\313\225b\210\202 )\322\207" [parse-sexp-lookup-properties c-known-type-key boundp c-skip-comments-and-strings re-search-forward t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302!\210\303\304\305#\203E \306\224b\210\302!\204 \306\225b\210\307 \310\311\"\216\312\225b\210\313 )\266\307 \310\314\"\216\315\305\316\211$)\266\312\225b\210\202 )\316\207" [parse-sexp-lookup-properties boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:c\\(?:lass\\|onstant\\)\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 1 c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-2 nil pike-mode] 4) (#$ . 139809))#@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.2 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\302\300!\303!\210\304\305\306#\203d \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\310 \311\316\"\216\314\224\314\225S\211f\317=\203W \313\211T\320\321$\210\313\211T\320\322$\266\202_ \323\211T\324#\266)\210\202 )\325\207" [parse-sexp-lookup-properties font-lock-string-face boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<\\([^>\n]*\\)>?\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 9 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\203t \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\224\203f \214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321	!\203b \314\307\224\307\225\316\322$\210\307\225b\210\320 \210\323f\324=\203b \323u\210\202< )\202o \314\315\224\315\225\316\322$\210)\210\202 )\323\207" [parse-sexp-lookup-properties c-symbol-key boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]\\{,1000\\}\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300!	\304=\203@ \212\305 \210`)\306!\210\307\310\311#\203? \312\224b\210\306!\204 \312\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$)\266\202 \210\306!\210`W\203\207 \307\321\311#\203\207 \312\224b\210\306!\204D \312\225b\210\322\225b\210\313 \314\323\"\216\312\225\307\310\324#\203\201 \316\317\224\317\225\320\n$\210\202m )\266\202D )\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro c-skip-comments-and-strings re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303!\210\304\305\306#\2033 \307\224b\210\303!\204 \307\225b\210\310 \311\312\"\216\313\314\224\314\225\315	$)\266\202 )\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301!\210\302\303\304#\211\262\203 \305\224b\210\301!\204 \305\225b\210\207" [nil c-skip-comments-and-strings re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\\`#![^\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:]_$]\\{,1000\\}\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\s \\|[\n]\\)*\\(\\(?:\\.\\|::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_`]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 6 "\n\n(fn LIMIT)"]) (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:]_$]\\{,1000\\}\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[257 "\304 \211\203	 \211b\210\210\305\300!\306\307!`\310!@\311=\203  `\202! \211\262b\210\312!\210\313\314\315#\203a \316\224b\210\312!\204) \316\225b\210\317 \320\321\"\216\315\322\315\323\324!\210`V\203Y b\210\325 ,\266\202) )\266\322\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers c-literal-start boundp c-determine-limit 1000 c-beginning-of-decl-1 same c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (#[257 "\304\300!\305!\210\306\307\310#\203@ \311\224b\210\305!\204 \311\225b\210\312 \313\314\"\216\310\315\310\316\317!\210`V\2038 b\210\320 ,\266\202 )\315\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-skip-comments-and-strings re-search-forward "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" t 0 match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 5 "\n\n(fn LIMIT)"])) c-get-lang-constant c-matchers-3 nil pike-mode] 4) (#$ . 148303))#@48 Default expressions to highlight in Pike mode.
(defvar pike-font-lock-keywords pike-font-lock-keywords-3 (#$ . 155871))
(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 (#$ . 156415)]))
(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 (#$ . 157123)]))
(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\203k\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)\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\214 \302\303#\207\304A@\305\"\211\242\306=\2034 \307AA#\210\211A@\262\211\204B \305=\204B \310\202\212 \311\267\202~ \312\306\310$\206\212 \313\306$\202\212 \313\306$\202\212 \314\306$\202\212 \315\306$\202\212 \316\306$\202\212 \211\206\205 \305=?\205\212 \310\262\207" [2 3 error "No match %d in highlight %S" eval t face add-text-properties nil #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 72 t 90 prepend 99 append 108 keep 117)) text-property-not-all put-text-property font-lock-prepend-text-property font-lock-append-text-property font-lock-fillin-text-property] 11 "Apply HIGHLIGHT following a match.\nHIGHLIGHT should be of the form MATCH-HIGHLIGHT, see `font-lock-keywords'.\n\n(fn HIGHLIGHT)"]] 15 (#$ . 158768)])
(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 (#$ . 160932)])
(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 (#$ . 162858)])
(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)
