;ELC   
;;; Compiled
;;; in Emacs version 26.3
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(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 >)\203\f \301\207\303\211\302 >)\203 \303\207\304\207" [facename font-lock-preprocessor-face face-list font-lock-builtin-face font-lock-reference-face] 3))
(defconst c-label-face-name (byte-code "\302\211\303 >)\203\f \302\207\301\211\303 >)\203 	\301=\203 \301\207\304\207" [facename font-lock-constant-face font-lock-label-face face-list font-lock-reference-face] 3))
(defconst c-constant-face-name (byte-code "\301\211\303 >)\203 	\301=\203 \301\207\n\207" [facename font-lock-constant-face c-label-face-name face-list] 3))
(defconst c-reference-face-name (byte-code "\301\211\303 >)\203 	\301=\203 \301\207\n\207" [facename font-lock-reference-face c-label-face-name face-list] 3))
(defconst c-doc-face-name (byte-code "\301\211\302 >)\203\f \301\207\303\211\302 >)\203 \303\207\304\207" [facename font-lock-doc-string-face face-list font-lock-doc-face font-lock-comment-face] 3))
(defconst c-doc-markup-face-name (byte-code "\302\211\303 >)\203\f \302\207	\207" [facename c-label-face-name font-lock-doc-markup-face face-list] 3))
(defconst c-negation-char-face-name (byte-code "\301\211\302 >)\205 \301\207" [facename font-lock-negation-char-face face-list] 3))
(defalias 'c-make-inverse-face #[(oldface newface) "\302	\"\210\303\304!\203 \304!?\205' \305	!\207\303\306!\205' \306\307\"?\205' \305	!\207" [oldface newface copy-face fboundp face-inverse-video-p invert-face face-property-instance reverse] 3])
(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)
(defalias 'c-put-font-lock-face '(macro . #[(from to face) "\303\304!\203\f \304	\nF\207\305	\306\n\257\207" [from to face fboundp font-lock-set-face put-text-property 'face] 5]))
(defalias 'c-remove-font-lock-face '(macro . #[(from to) "\302\303!\203 \303	E\207\304	\305BBB\207" [from to fboundp font-lock-remove-face remove-text-properties ('(face nil))] 4]))
(defalias 'c-put-font-lock-string-face '(macro . #[(from to) "\302	\303BBB\207" [from to c-put-font-lock-face ('font-lock-string-face)] 4]))
(defalias 'c-fontify-types-and-refs '(macro . #[(varlist &rest body) "\302\303\304BB\305\306	B\307BBE\207" [varlist body let (c-record-type-identifiers t) c-record-ref-identifiers prog1 progn ((c-fontify-recorded-types-and-refs))] 5]))
(put 'c-fontify-types-and-refs 'lisp-indent-function 1)
(defalias 'c-skip-comments-and-strings #[(limit) "`\305\n\306\"\211:\203$ \203  @	>\204  A\211\204 \202' 	>+\205e \307`\306\310\f$b\210`\fW\203d `\305\n\306\"\211:\203] \203Y @	>\204Y A\211\204K \202` 	>+\204+ \311\207" [c-literal-faces faces pos pos-faces limit get-text-property face next-single-property-change nil t] 6])
(defalias 'c-make-syntactic-matcher #[(regexp) "\301\302\303\304\305\306\307\310\311\312\313BBE\314BBD\315BBBE!\207" [regexp byte-compile lambda (limit) let (res) while and setq res re-search-forward (limit t) ((progn (goto-char (match-beginning 0)) (or (c-skip-comments-and-strings limit) (progn (goto-char (match-end 0)) nil)))) (res)] 12])
(defalias 'c-make-font-lock-search-form #[(regexp highlights &optional check-point) "\303\203 \304\305\306	\307BBE\202 \306	\310BB\311\312\313\314\315\n\"BBBE\207" [check-point regexp highlights 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 #[(highlight) "@\250\203. \3018\302=\204 \303\304\"\210\3058\203 \303\306\"\210\307\310\311@D\312@D\313\234FD\207\3058\2039 \303\314\"\210\315A@\307@D\3018F\207" [highlight 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] 6]] 8])
(defalias 'c-make-font-lock-search-function #[(regexp &rest highlights) "\302\303\304\305\306\307	\"E\310BBB!\207" [regexp highlights 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)] 8])
(defalias 'c-make-font-lock-BO-decl-search-function #[(regexp &rest highlights) "\302\303\304\305\306\307\310	\"F\311BBB!\207" [regexp highlights byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties))) (BOD-limit (c-determine-limit 1000))) (goto-char (let ((here (point))) (if (eq (car (c-beginning-of-decl-1 BOD-limit)) 'same) (point) here))) c-make-font-lock-search-form (nil)] 9])
(defalias 'c-make-font-lock-context-search-function #[(normal &rest state-stanzas) "\302\303\304\305\306\307\310\311\"\312	@	A\313#\314B\"BBE!\207" [state-stanzas normal byte-compile lambda (limit) let ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) append mapcar #[(stanza) "@A@\3058AAA\306\307\310\311\fDE\312\313DC\314\n	\"EE,\207" [stanza highlights regexp lim state 2 if eq c-font-lock-context quote let limit c-make-font-lock-search-form] 7] c-make-font-lock-search-form t (nil)] 11])
(byte-code "\300\301\302\303#\210\300\304\302\305#\210\300\306\302\307#\207" [put c-fontify-types-and-refs edebug-form-spec let* c-make-syntactic-matcher t c-make-font-lock-search-function (form &rest &or ("quote" (&rest form)) ("`" (&rest form)) form)] 4)
(defalias 'c-fontify-recorded-types-and-refs #[nil "\304	:\203 	@	A\305@A\306\307$\210\202 \n\205/ \n@\nA\305@A\306$\210\202 )\207" [elem c-record-type-identifiers c-record-ref-identifiers c-reference-face-name nil put-text-property face font-lock-type-face] 5])
(byte-code "\300\301\302\303B\304B\"\207" [c-define-lang-constant c-cpp-matchers t #[nil "\306\307\310\311\"\205\253\312\313!\307\314\315\"\307\316\317\"\306\307\320\321\"\205> \322\323\307\320\324\"\"\313\f!\307\310\325\"\f\326R\327	\330#*\331BBC\307\332\333\"\205\210 \322\334\307\332\335\"\"\313\f!\336\307\310\337\"\f\307\340\341\"\342\260\327	\n\330$\343B\344\345\346\327	\n\330$DD\347\350\351\327	\n\330$DDDD\352BB\353B#*CC\307\354\355\"\205\363 \336\307\310\356\"\307\354\357\"\307\360\361\"\362\307\363\364\"\365\366\260\367\346\327\370	\307\371\372\"$D\373\374\346\327\330	#D\351\327\330	#D\375BBB\376\351\327\370	\307\371\377\"$DD\201B BBB\374\346\327\330	#D\351\327\330	#D\201C BBBFC\"CC\307\201D \201E \"\205h\307\201F \201G \"\205h\322\201H \307\201D \201I \"\"\322\201H \307\201F \201J \"\"@A\201K \307\310\201L \"A\201M R\344\201N \201O \201P @\201Q BB\201R BBE\376\351	TDDDD\201S \201T @\201U BBB\"*CC\336\362\307\310\201V \"\201W \307\201X \201Y \"\201Z \365\260	T\201[ B\"C\201\\ \201] \201^ \307\310\201_ \"\201` Q!	T\201a BBBBD%,\201b \201c !\205\270\201d \201e #\207" [noncontinued-line-end ncle-depth sws-depth nsws-depth re re-depth append c-get-lang-constant c-opt-cpp-prefix (cc-langs) "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)" regexp-opt-depth c-syntactic-ws-depth (cc-langs) c-nonempty-syntactic-ws-depth (cc-langs) c-cpp-message-directives (cc-langs) c-make-keywords-re appendable (cc-langs) (cc-langs) "\\s +\\(.*\\)$" + 1 (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]*>?\\)" (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) cef-re ced-re ((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)) (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)))] 19] nil] 4)
(defalias 'c-font-lock-invalid-string #[nil "`S\212\303\304 \"\305\234=\205C 	\250\203\" \206 `Sf	=?\202$ 	?\205C \n\2038 `\2060 `Sf\306=?\2029 \307\205C \310\211T\311\312$*\207" [start c-multiline-string-start-char c-string-escaped-newlines parse-partial-sexp line-end-position 8 92 t put-text-property face font-lock-warning-face] 5])
(defalias 'c-font-lock-invalid-single-quotes #[(limit) "\306 \307\211\211\211\203 Ab\210`\fW\203] `\310`\f\307\211\211\311&`	b\210\312w\210`W\203P \313`\311\"\314\232\203J \313`\315\"\204J \316``T\317$\210\307u\210\202( \310\f\307\211\n\311&\210\202 ,\307\207" [end beg state limits limit font-lock-warning-face c-literal-limits nil parse-partial-sexp syntax-table "^'" get-text-property (1) c-digit-separator put-text-property face] 8])
(byte-code "\300\301\302\303B\304B\"\207" [c-define-lang-constant c-basic-matchers-before t #[nil "\303\304\305Q\306\"\307\310\311\312!\205 \313\314\315\316\"\205@ \317\320\314\315\321\"\"\311\322!\2034 \323\324\325\326	\327R\330BBBC\202? \323\324\326	\327Q\331BBBC)\311\322!\203R \325\332\314\333\334\"Q\335B\202Z \332\314\333\336\"P\337BC\314\340\341\"\205\360 \311\342!\203\247 \303\314\340\343\"\314\344\345\"\346\347\350\n\351\350\314\352\353\"\354\355\356\305\260\nR\357\360\361\362\363\364\365\366\367\370\371\372\314\352\373\"D\374BB\257\375BBB\376BBF\377B\"C\202\360 \201@ \201A \201B \362\201C \201D \347\314\201E \201F \"\305\314\344\201G \"\346\314\340\201H \"\314\344\201I \"\346\305\347\314\201J \201K \"\305\260\201L BB\201M BBE!CC\311\201N !\205	\303\201O \201P \"\303\201Q \201R \"D\201S &BB\207" [c-string-limit-regexp re c-upper c-make-font-lock-search-function ".\\(" "\\)" ((c-font-lock-invalid-string)) c-font-lock-invalid-single-quotes append c-lang-major-mode-is c++-mode (c-font-lock-raw-strings) c-get-lang-constant c-constant-kwds (cc-langs) c-make-keywords-re nil (cc-langs) 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 (cc-langs) c-simple-ws (cc-langs) "*" "\\(" "[" "]" c-symbol-chars (cc-langs) "]*" "\\|" "\\*" let (id-end) (goto-char (1+ (match-beginning 0))) while and (eq (char-before) 46) progn (backward-char) (c-backward-syntactic-ws) (setq id-end (point)) < skip-chars-backward (cc-langs) (0) ((not (get-text-property (point) 'face))) ((c-put-font-lock-face (point) id-end c-reference-face-name) (c-backward-syntactic-ws)) (nil (goto-char (match-end 0))) byte-compile lambda (limit) re-search-forward "\\(\\<" c-symbol-key (cc-langs) (cc-langs) (cc-langs) (cc-langs) c-opt-after-id-concat-key (cc-langs) (limit t) ((unless (progn (goto-char (match-beginning 0)) (c-skip-comments-and-strings limit)) (or (get-text-property (match-beginning 2) 'face) (c-put-font-lock-face (match-beginning 2) (match-end 2) c-reference-face-name)) (goto-char (match-end 1)))) objc-mode "\\[" ((c-fontify-types-and-refs nil (c-forward-syntactic-ws limit) (let ((start (point))) (when (eq (c-forward-type) 'known) (goto-char start) (let ((c-promote-possible-types t)) (c-forward-type)))) (if (> (point) limit) (goto-char limit)))) "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" ((c-fontify-types-and-refs ((parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) (c-forward-objc-directive) nil) (goto-char (match-beginning 0))) ((eval list "\\(!\\)[^=]" 1 c-negation-char-face-name))] 25] nil] 4)
(defalias 'c-font-lock-complex-decl-prepare #[(limit) "o\203 \306\307\310\311\312$\212`\313 \210\314o\204% \315`S\316\"\317>\203% `S\202& 	\n\320#\210*\321 \210\212\313 \210o?\205< \315`S\316\")\211\322>\203] \214e\n\206K d}\210\323 \210)\324\n\325\326=\327`!?$\210)\212\f\205o \330 \205o \331\f!\205o \332)\312\207" [c-found-types pos limit prop c-cpp-expr-intro-re c-font-lock-context make-hash-table :test equal :weakness nil c-backward-sws remove-text-properties get-text-property c-type (c-decl-arg-start c-decl-end c-decl-id-start c-decl-type-start) (c-type nil) c-parse-state (c-decl-id-start c-decl-type-start) c-forward-sws c-font-lock-declarators t c-decl-type-start c-bs-at-toplevel-p c-beginning-of-macro looking-at in-cpp-expr] 7])
(defalias 'c-font-lock-<>-arglists #[(limit) "\306\211\307\211\211\211\211\211`W\203\335 \310\306#\203\335 \311\224\311\225`\fb\210\312!\204 \307\211\313\f\314\"\211\315=\204\327 \n\316=\203b \317 !\203\327 \320\311!!\321!\"\")\211\202z \322 \210`Sf\323>\203y \313`S\324\"\325=\204y \306\306\203\327 	Sb\210\312!\204 \306\307#$\326\327%\211&%N*!\203\315 '\203\315 \313\f\314\"\204\315 \330 \210\317'!\203\277 \331\f\314($\210\202\315 \307f\332=\204\315 \331\f\314\315$\210\333 \210*	b\210\202 	b\210\202 .\307\207" [kwd-sym pos id-face id-end id-start c-restricted-<>-arglists t nil re-search-forward 1 c-skip-comments-and-strings get-text-property face font-lock-type-face font-lock-keyword-face looking-at match-string intern-soft c-backward-sws (40 44) c-type c-decl-arg-start c-forward-<>-arglist c-<>-type-kwds c-forward-sws put-text-property 40 c-fontify-recorded-types-and-refs c-parse-and-markup-<>-arglists parse-sexp-lookup-properties limit c-opt-<>-arglist-start c-opt-<>-sexp-key keyword c-keywords-obarray c-record-ref-identifiers c-record-type-identifiers lang-constant keyword-sym c-opt-identifier-concat-key c-reference-face-name] 9])
(defalias 'c-font-lock-declarators #[(limit list types not-top &optional template-class) "\306\307`\307\211\211\211\211\211\211\203 \310\202 \311*+,-./-\203\344\312 \211*\203\344`,*@+\307f\313=\203\305 0\314=\203d 1\203d *AAAA@\204d \212\307u\210\315 \210\316\317!)\203\305 *AA@\204\305 0\314=\203\301 \212\307\211u\210\315 \210\3202\275 \307f\321=\203\214 \322\320\306\"\210\323 \211\204\233 \322\320\307\"\210\202\246 \f\324=\204\246 \322\320\306\"\210\312\307\306\"\210\307f\325=\203\273 \307u\210\315 \210\202\200 \3060*\203\305 \326\202\306 \327*AAA@\205\322 \307f\203\345 \3062+b\210\323 \210)\202\372 \n\203\372 \330\n@\331\"\204\372 \332\n@\nA\331$\210,b\210\307-3\203\"\333=\203\"\334\335\3074#\203\"\3062\323\306!)\203\"\30755\203$ \326=\203[\3361<\337`\335\"b\210\3060\202@\210\202T\203T\214e4\206Kd}\210\315 \210)\202\2624b\210\202\262\203\244\333=\203\211\334\335\3074#\340U\203\211\316\341!\203\211\3421\205\337`\335\"b\210\3060\202\212\210\202\262\306\203\262`4W\203\262\343\3444\345\306$\203\262\346u\210\202\262\214e4\206\254d}\210\315 \210)`4W\203$ \316\347!\203$ `6\3326\211T\350	$\210)\307u\210\214e4\206\327d}\210\315 \210)`\211-\204) \351 \210.\307\207" [types separator-prop c-last-identifier-range got-init got-type id-face t nil c-decl-type-start c-decl-id-start c-forward-declarator 40 c++-mode c-forward-sws looking-at "[*&]" is-function 41 throw c-forward-type maybe 44 font-lock-function-name-face font-lock-variable-name-face get-text-property face put-text-property 61 c-forward-token-2 1 (error) scan-sexps 0 "{" (error) c-syntactic-re-search-forward "[;,{]" move -1 "," c-type c-fontify-recorded-types-and-refs decl-res id-start next-pos pos c-record-ref-identifiers c-record-type-identifiers c-buffer-is-cc-mode not-top c-promote-possible-types template-class limit list -pos-] 12])
(defalias 'c-get-fontification-context #[(match-pos not-front-decl &optional toplev) "eV\205 \306S\307\"\206 `Sf\310>\204\" \n\205 \311\312B\202\202\206' `Sf\313=\203b \212b\210\314u\210\315 \210\316!\203D \312\211B\202^ \316\f!\204W \316!\204W \316-!\203] \312\317B\202^ \312)\206\202eX\203n \320\317B\202\202	\321=\203z \322\312B\202\202	\323=\203\206 \324\312B\202\202.\325=\203\317 \206\222 `Sf\313=\203\317 \212b\210\315 \210\3261\255 \327`\314\"b0\202\262 \210\312\202\267 \205\267 \330 )\203\317 S/\331/\211T\307\321$\210)\322\312B\202\202\206\324 `Sf\332=\203\373 \212Sb\210\333 ):\203\373 S/\331/\211T\307\323$\210)\324\312B\202\202\206 `Sf\332=\203\n\205\f\311\312B\202\202	\334=\204#\206`Sf\335=\203)\336\312B\202\202	\2033\320\317B\202\202.\325=\203\227\206?`Sf\313=\203\227\212b\210\315\337!\340U\205\215\3160!\205\215`\34112\3062\342\"\2113:\203\2073\203\2023@1>\204\2023A\2113\204p3\202\21431>+)\203\227\324\312B\202\2024\203\2775\203\253\212b\210\343 )\204\277S/\331/\211T\307\321$\210)\322\312B\202\202\206\304`Sf\313=\203\353\212b\210\315 \340U\203\335\312f\313=\204\317\3166!)\203\353\312\211B\202\202\206\360`Sf\344=\203.\325=\203\212b\210\343 )\203S/\331/\211T\307\323$\210)\324\312B\202\202\212b\210\206%`Sf\345>\205u\34619\347\314\350#0\202;\210\312\2117\205F7b\210\317)\205u\312f\313=\205u\306`\307\"\211\351>\206t\352 \210\353 \205t\352 \210o\206t\306`S\307\"\211\354>))\203\322\312B\202\202\320\317B)\207" [match-pos type toplev c-paren-stmt-key c-block-stmt-2-key c-block-stmt-1-2-key get-text-property c-type (40 44 91 60 123) top nil 40 -1 c-backward-token-2 looking-at t arglist c-decl-arg-start decl c-not-decl not-decl c++-mode (error) scan-sexps c-looking-at-c++-lambda-capture-list put-text-property 123 c-looking-at-or-maybe-in-bracelist c-<>-arg-sep 60 <> 2 0 (font-lock-variable-name-face) face c-back-over-member-initializers 44 (40 44) (error) scan-lists 1 (c-decl-arg-start c-decl-type-start) c-backward-sws c-back-over-compound-identifier (c-decl-arg-start c-decl-type-start) c-typeof-key c-buffer-is-cc-mode -pos- c-identifier-start faces pos pos-faces not-front-decl c-recognize-paren-inits c-arithmetic-op-regexp dest] 6])
(defalias 'c-font-lock-single-decl #[(limit decl-or-cast match-pos context toplev) "\212AA@\205\240 \3061 \307`\310\311#0\202 \210\312\211\205  	b\210\313)\205\240 \312f\314=\205\240 \315 \210\316\317!\320W\204g \n\321=\205\240 `\322\312x\320W\203_ \323\312x\320W\203_ \324\f!\203_ \320\225Y\203_ \313\202c b\210\312)\205\240 \324!\205\240 \"b\210`Sf\325=\203\233 \3261\206 \307`\310\320#0\202\210 \210\312\211\205\221 	b\210	)\203\233 \315 \210\202q `Sf\327=)\203\303 #:\205\262 AAA@#\236\211$\203\300 \330$#\"#)\313\207@b\210%\331>\204$\"\206\324 `Sf\314=\205%\212\"Sb\210\315 \210\316\317!\320W\204\n\321=\205 `\322\312x\320W\203\323\312x\320W\203\324\f!\203\320\225Y\203\313\202b\210\312)\205 \324!)\202%\313%\332=\2059\212\"b\210\333 \210\324&!)'\211(\203b\212\315 \210o\204a`S)\334)\211T\335A@\203]\336\202^\337$\210))\340*d^(A@+?'%\210*\341 \210\312\207" [decl-or-cast dest c-buffer-is-cc-mode pos c-symbol-key c-paren-stmt-key (error) scan-lists -1 1 nil t 40 c-backward-sws skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" "`" looking-at 41 (error) 59 c-delq-from-dotted-list (nil top) <> c-forward-sws put-text-property c-type c-decl-type-start c-decl-id-start c-font-lock-declarators c-fontify-recorded-types-and-refs match-pos c-record-type-identifiers elt context c-template-typename-key template-class decl-list -pos- limit toplev] 7])
(defalias 'c-font-lock-declarations #[(limit) "\214\306\211\211\211\307\211\211\306\310\306\211\310\211\311\312!X\203: e\212b\210\306w\210`)}\210\313\314!\315$\210.\306\207" [parse-sexp-lookup-properties c-parse-and-markup-<>-arglists c-record-ref-identifiers label-type c-record-type-identifiers c-restricted-<>-arglists nil 0 t line-beginning-position 2 c-find-decl-spots eval #[(match-pos inside-macro &optional toplev) "`\306`\307\"\310=\203 \311	!\204-\n\203 \311\n!\204-\312\211\f\203& \202( *W+#\211,@-,A.)\311/!\204O \313 \210\314 \210\311/!\204O b\2100\315=\203g \311\3161\317Q!\203g \320\225b\210\321 \210-\322=\203\215 \3232\324\3253d^\326\327$\203\213 `S4\3304\211T\331\332$\210)\323\207\333-5#2\206\233 `Sf\334=\203\344 6V\203\344 \212b\210\314 \210\323f\334=\203\343 \212\314 \210\3117!?\205\326 \313 \210`Sf\335>\205\326 \306`S\331\"\336=?).\337\323!)\203\343 `6)2\340=\203\363 `5\341 \210\323\2072\203)\f\203`V\203`\202`*V\203`*b\210\34232-+\206%\34328%\202*\327\205{b\210\344\327\323#\2118\205{8\345=\203S\3309@@9@A\307:$\210\202w8\346=\203j\3309@@9@A\307\310$\210\202w8\347=\203w\350\3519\"\210\3239\327\207" [start-pos c-not-decl-init-keywords c-macro-with-semi-re match-pos inside-macro max-type-decl-end-before-token get-text-property face font-lock-keyword-face looking-at c-get-fontification-context 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 #[(kwd) "\301@A\302\303$\207" [kwd put-text-property face font-lock-keyword-face] 5] max-type-decl-end toplev got-context context c-restricted-<>-arglists c-typedef-key c-buffer-is-cc-mode c-symbol-chars decl-or-cast limit -pos- last-cast-end max-<>-end c-opt-<>-sexp-key label-type c-record-ref-identifiers c-label-face-name] 8] max-<>-end max-type-decl-end-before-token max-type-decl-end decl-or-cast last-cast-end context start-pos limit c-nonsymbol-chars c-decl-start-re c-maybe-decl-faces] 13])
(defalias 'c-font-lock-enum-body #[(limit) "\302	\303#\203 \212\304u\210\305 )\203  \306 \210\307	\303\310\303$\210\202  \310\207" [c-enum-clause-introduction-re limit search-forward-regexp t -1 c-backward-over-enum-header c-forward-sws c-font-lock-declarators nil] 5])
(defalias 'c-font-lock-enum-tail #[(limit) "\304 \305!\211\2038 	f\306=\2038 \212	b\210\307 )\2038 \310\311\312\313#\210`S\314\n\211T\315\316$\210)\317 \210\320\313\312\313$\210*\312\207" [paren-state encl-pos -pos- limit 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] 6])
(defalias 'c-font-lock-cut-off-declarators #[(limit) "`\306\307!\310\211\211\211\211\211\211\211\211 !\212\311 \204\313 m\2040 \312\313!\2040 \310u\210\314\315 \316#\210`Sf\317=\203c \3201L \321`\322\323#0\202N \210\310\211\"\203[ \"b\210\"\210)\314\315 \316#\210o\204o `Sf\324>\203\313 `\214e!\206z d}\210\325 \210)`!W\203\313 `\326 \327!\211\203\237 f\330=\203\313 \331 \332\310\n#\211#@#A)\333\310#\211:\203\313 b\210\334$\f\n%\210.\f\310\207" [c-recognize-knr-p c-restricted-<>-arglists top-level start-pos decl-or-cast context c-determine-limit 1000 nil c-back-over-member-initializers looking-at "\\s(\\|\\s)" c-syntactic-skip-backward "^;{}" t 125 (error) scan-lists -1 0 (59 123 125) c-forward-sws c-parse-state c-most-enclosing-brace 123 c-at-toplevel-p c-get-fontification-context c-forward-decl-or-cast-1 c-font-lock-single-decl token-end encl-pos paren-state decl-search-lim here dest got-context limit] 12])
(defalias 'c-font-lock-enclosing-decls #[(limit) "\306 \307\310!\311\211\205i @A:\204 f\312=\203 b\210\313\314	\"\210\315 \210\316\f!\211\2037 \317 \210\203 \316!\203 b\210\3201Q \321`\322\"b0\202U \210\202 \203 \315 \210\323\324\n\325`!?$\210\202 ,\207" [paren-state decl-search-lim in-typedef ps-elt c-typedef-key c-opt-block-decls-with-vars-key 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 limit] 7])
(defalias 'c-font-lock-raw-strings #[(limit) "\306`!\211A@\307=\205 AA@\211\205+ \212	b\210`Sf\310=\205* \311\312!\205* \313\314!)`W\203\341 \n\203P \315\316\317\n!\320Q\303#\203K \321\314\224`\322\323$\210\324\202, \315\325\303#\203, m\203f \326`S\322\"\327=\204\203 \326`\322\"\330=\204\203 \326\331\225\332\"\333\232\203, \326\314\224\332\"\334\232\203, \326`S\332\"\211\203\320 \321\335\224\335\225\322\327$\210\f\336\232\203\335 `\211W\203\270 \326\332\"\337\232\204\270 \340\332\324$\211\202\237 W\205\306 b\210\315\341!\210`)\204\335 b\210\202\335 \321\314\224\331\225\322\323$\210\313\331!)\202, +\324\207" [state string-start raw-id limit paren-prop place c-state-semi-pp-to-literal string 82 looking-at "\"\\([^ ()\\\n	]\\{0,16\\}\\)(" match-string-no-properties 1 search-forward-regexp ")\\(" regexp-quote "\\)\"" put-text-property face default nil "R\\(\"\\)\\([^ ()\\\n	]\\{0,16\\}\\)(" get-text-property font-lock-warning-face font-lock-string-face 2 syntax-table (1) (1) 0 (15) (15) next-single-property-change "."] 6])
(defalias 'c-font-lock-c++-lambda-captures #[(limit) "\306\211\211\211\211\211\211#`$W\203X\307\310$\311#\203X\312u\210\313 \306u\210\203 \314 \210\306f\315>\2056 \306f\211#\203_ \306u\210\314 \210\306f\316>\203\\ #\306f\317=\203_ \306u\210\314 \210\202_ \320 \210\321\322!\204I`$W\203I\306f\323=\203 \323#\306u\210\314 \210\202\202 \324#\325 \203.`\306u\210\326 \210`\314 \210\306f\324=\211\203\245 \306u\210\314 \210``$W\203\266 \327\330$\311\211$\204\350 \214$\203\301 e$}\210\3311\316 \332`\333\211#0\202\320 \210\306)\211%\205\334 %b\210\311)\203\356 `Sf\334=\203\356 \312u\210\202\362 $b\210\n\203\212`	b\210\335!\210)\336\f\337\n\203\340\202)\203#=\203\341\202)#\324=\203(&\202)\340$\210\2026\327\330$\342\311$\210\314 \210\306f\317=\203_ \306u\210\314 \210\202_ \306`$W\203 \306u\210\202 .\306\207" [sub-end sub-begin declaration id-end id-start capture-default nil search-forward "[" t -1 c-looking-at-c++-lambda-capture-list c-forward-sws (61 38) (44 93) 44 c-backward-token-2 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 mode limit dest font-lock-constant-face] 8])
(byte-code "\300\301\302\303B\304B\"\210\300\305\302\306B\304B\"\207" [c-define-lang-constant c-simple-decl-matchers t #[nil "\302\303\304!\205 \305\306\307\"\310\311!\312BDC\313\314\315\316\317\320#EC\305\321\322\"\205^ \323\324\305\321\325\"\"\326\327\330!\305\331\332\"#\315\333\334\305\335\336\"\337\340\305\341\342\"\334Q\260	\343B\344\345\346\347	DD\350BB\346\347	DDE#*CC\305\351\352\"\205s \315\333\353\305\351\354\"!\355Q\356\"CC\305\357\360\"\205{ \361%\207" [prefix-re type-match append c-lang-major-mode-is objc-mode c-get-lang-constant c-opt-method-key (cc-langs) byte-compile #[(limit) "\302\214e	}\210\303 \210*\304\207" [parse-sexp-lookup-properties limit t c-font-lock-objc-method nil] 2] ((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)] 13] nil c-complex-decl-matchers #[nil "\301\302\303\304!\205 \305\306\307\310\311\302\312\313\314\"\312\315\316\"\317#\"\"\320\"\321B\322\312\323\324\"\205' \325\303\326!\205. \327\306\317\312\330\331\"\"\303\332!\203F \333\334\335R\336B\202L \334\335Q\337B)C\303\326!\205U \340&B\207" [re 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-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)
(defalias 'c-font-lock-labels #[(limit) "\306\211\307\310\311\307#\203p `\312\224b\210\313!\204 \314 \210\315 \211\203j \316	\317\"\204j 	b\210\314 \210`Sf\320>\204Z `Sf\321=\203U \322u\210\314 \210o\204U \316`S\317\"\f=\204Z \323 \203j 	b\210\324!\210\325\312\224\312\225\317\f$\210\nb\210\202 +\306\207" [parse-sexp-lookup-properties id-start continue-pos limit 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] 5])
(byte-code "\300\301\302\303B\304B\"\210\300\305\302\306B\304B\"\210\300\307\302\310B\304B\"\210\300\311\302\312B\304B\"\207" [c-define-lang-constant c-basic-matchers-after t #[nil "\301\302\303\304\"\205	 \305\302\306\307\"\2053 \310\311\312\302\306\313\"\"\314\315\316\317\320\302\321\322\"\323\260\314\324!\325\\\326BBE)BC\302\327\330\"\204H \302\331\332\"\204H \302\333\334\"\205a \335\315\311\312\301\302\327\336\"\302\331\337\"\302\333\340\"#\"\316Q\341\"CC\302\342\343\"\205w \344\315\311\312\302\342\345\"\"\316Q\346\"CC\347\350!\205~ \351%\207" [c-before-label-re 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] nil c-matchers-1 #[nil "\300\301!\207" [c-get-lang-constant c-cpp-matchers] 2] c-matchers-2 #[nil "\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 #[nil "\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-compose-keywords-list #[(base-list) "	>\204\n 	B\n\242:\203 \n\236\206 \306\n\236\243\202 \n\307\310\f<\203* \f\202, \fC\"\244\311>\203D \311\312\311\313\314\"\"B*\207" [c-doc-face-name c-literal-faces c-doc-comment-style c-buffer-is-cc-mode doc-keywords base-list other mapcan #[(doc-style) "\302\303!\304P!\305	!\203 	 \202 \306	!\205 \307\310	!\311\")\207" [doc-style sym intern symbol-name "-font-lock-keywords" fboundp boundp append eval nil] 3] c-font-lock-complex-decl-prepare delq append nil list] 6])
(defalias 'c-override-default-keywords #[(def-var) "\301!\205 J\302\303\304\305\"B>\205 \306!\207" [def-var boundp nil mapcar #[(suffix) "\303\304!	P!\305\n!\205 \nJ)\207" [def-var suffix sym intern symbol-name boundp] 3] ("-1" "-2" "-3") makunbound] 5])
(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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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) (#$ . 33839))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] 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 #[#1# "\304\300!\305	\n\306#\203J \307\224b\210\310\n!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203J \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322	\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\(\\s \\|[\n]\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203; \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316	\306\317\211$\210*\313\225b\210\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 1 c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t))) c-get-lang-constant c-matchers-2 nil c-mode] 4) (#$ . 37998))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] 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 ("\\<\\(\\(?:_\\(?:Bool\\|Complex\\|Imaginary\\)\\|char\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t))) c-get-lang-constant c-matchers-3 nil c-mode] 4) (#$ . 45497))
#@45 Default expressions to highlight in C mode.
(defvar c-font-lock-keywords c-font-lock-keywords-3 (#$ . 51151))
(defalias 'c-font-lock-keywords-2 #[nil "\301!\207" [c-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'c-font-lock-keywords-3 #[nil "\301!\207" [c-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'c-font-lock-keywords #[nil "\301!\207" [c-font-lock-keywords c-compose-keywords-list] 2])
(defalias 'c-font-lock-c++-new #[(limit) "\306!\204A\212\3072?\310\211\311\310\311\312 \210\310f\313=\2038 `T\3141/ \315`\316\"b0\2024 \210\317\307\311\"\210\312 \210`T\310f\313=\204M \311\320 )\204M \310\203;\f\204b b\210\311\320 \210)\202;\f\206g `Sf\313=\203;\310\211b\210\320 \211\203\210 \321\322!\204\210 \310\fb\210\320 \211\203\307 \321\322!\204\234 \310\3231\251 \324`\316\211#0\202\253 \210\310\211\205\266 b\210\311)\203\307 \312 \210\310f\313=\203\307 \310\325>\204:\326>\204:\327=\204:\327=\204:\330=\203\367 \311b\210\320 \210)\202:\330=\203\311\fb\210\320 \210)\202:\331=\203$\204$\311b\210\320 \210)\202:\204:\331=\203:\311\fb\210\320 \210)*\332 -0\210)\310\207" [limit parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers expr2-pos expr1-pos 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 c-promote-possible-types expr2-res expr1-res dest] 6])
(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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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) (#$ . 52812))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] c-font-lock-invalid-single-quotes c-font-lock-raw-strings (eval list "\\<\\(\\(?:NULL\\|false\\|nullptr\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:lignof\\|nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:mpl\\|n\\(?:st\\(?:_cast\\|expr\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:cltype\\|fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:inal\\|or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|o\\(?:except\\|t\\(?:_eq\\)?\\)\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\|verride\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|r\\(?:ead_local\\|ow\\)\\)\\|ry\\|ype\\(?:def\\|id\\|name\\|of\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[(limit) "\302\303\304#\205* \305\224b\210\306!\204  \307\310\224\311\"\204# \312\310\224\310\225\311	$\210\313\225b\210\202  \207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305	\n\306#\203J \307\224b\210\310\n!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203J \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322	\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\(\\s \\|[\n]\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203; \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316	\306\317\211$\210*\313\225b\210\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:auto\\|class\\|enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 1 c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil c++-mode] 4) (#$ . 56975))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] c-font-lock-invalid-single-quotes c-font-lock-raw-strings (eval list "\\<\\(\\(?:NULL\\|false\\|nullptr\\|true\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:lignof\\|nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:mpl\\|n\\(?:st\\(?:_cast\\|expr\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:cltype\\|fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:inal\\|or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|o\\(?:except\\|t\\(?:_eq\\)?\\)\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\|verride\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|r\\(?:ead_local\\|ow\\)\\)\\|ry\\|ype\\(?:def\\|id\\|name\\|of\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[(limit) "\302\303\304#\205* \305\224b\210\306!\204  \307\310\224\311\"\204# \312\310\224\310\225\311	$\210\313\225b\210\202  \207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (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 ("\\<\\(\\(?:bool\\|char\\(?:\\(?:16\\|32\\)_t\\)?\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|unsigned\\|void\\|wchar_t\\)\\)\\>" 1 'font-lock-type-face) ("\\<new\\>" (c-font-lock-c++-new)) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil c++-mode] 4) (#$ . 66651))
#@47 Default expressions to highlight in C++ mode.
(defvar c++-font-lock-keywords c++-font-lock-keywords-3 (#$ . 74538))
(defalias 'c++-font-lock-keywords-2 #[nil "\301!\207" [c++-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'c++-font-lock-keywords-3 #[nil "\301!\207" [c++-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'c++-font-lock-keywords #[nil "\301!\207" [c++-font-lock-keywords c-compose-keywords-list] 2])
(defalias 'c-font-lock-objc-method #[nil "\306\307\306\211\310 \210\307f\311=\203: \307u\210\310 \210\312 \210\3131( \314`\315\211#0\202* \210\307\211\2053 \fb\210\306)\310 \210\202; \306\205 \316!\205 \317\225b\210\320\317\224`\321	\203U \322\202V \323$\210\310 \210\316!\203p \317\225b\210\320\317\224`\321\322$\210\310 \210\307f\324=\205 \307u\210\307\202 \325 \210,\207" [c-promote-possible-types first c-record-ref-identifiers c-record-type-identifiers dest 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] 6])
(defalias 'c-font-lock-objc-methods #[(limit) "\302\303	\304\305\306$\210)\305\207" [parse-sexp-lookup-properties limit t c-find-decl-spots "[-+]" nil #[(_match-pos _inside-macro &optional _top-level) "\300u\210\301 \207" [nil c-font-lock-objc-method] 1]] 5])
(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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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) (#$ . 75986))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] c-font-lock-invalid-single-quotes (eval list "\\<\\(\\(?:N\\(?:O\\|S_\\(?:DURING\\|\\(?:END\\)?HANDLER\\)\\|il\\)\\|YES\\|nil\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@\\(?:c\\(?:atch\\|lass\\)\\|defs\\|en\\(?:code\\|d\\)\\|finally\\|i\\(?:mplementation\\|nterface\\)\\|p\\(?:r\\(?:ivate\\|ot\\(?:ected\\|ocol\\)\\)\\|ublic\\)\\|s\\(?:elector\\|ynchronized\\)\\|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) #[#1# "\306\300!\307\310	\311#\203T \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\214e	\206* d}\210\317 \210)`\320 \321=\203C b\210\311\320 \210))`	V\203M 	b\210\322 \210,\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers start boundp re-search-forward "\\[" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs c-promote-possible-types] 4] #[#1# "\305\300!\306\307	\310#\2035 \311\224b\210\312	!\204 \311\225b\210\311\224b\210\313 \314\216\310\315\305\300!\316 \210\317 \210-\202 )\315\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-objc-directive c-fontify-recorded-types-and-refs] 4] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) ("^\\s *\\([+-]\\)\\(\\s \\|[\n]\\)*\\(([^)]*)\\(\\s \\|[\n]\\)*\\)?\\([[:alpha:]_@][[:alnum:]_$@]*\\)" (#[(limit) "\302\214e	}\210\303 \210*\304\207" [parse-sexp-lookup-properties limit t c-font-lock-objc-method nil] 2] (goto-char (match-end 1)))) (eval list #[#1# "\304\300!\305	\n\306#\203J \307\224b\210\310\n!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203; \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316	\306\317\211$\210*\313\225b\210\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\|enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 1 c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$@]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:@class\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:@defs\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil objc-mode] 4) (#$ . 80176))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$@]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$@]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$@]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] c-font-lock-invalid-single-quotes (eval list "\\<\\(\\(?:N\\(?:O\\|S_\\(?:DURING\\|\\(?:END\\)?HANDLER\\)\\|il\\)\\|YES\\|nil\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:@\\(?:c\\(?:atch\\|lass\\)\\|defs\\|en\\(?:code\\|d\\)\\|finally\\|i\\(?:mplementation\\|nterface\\)\\|p\\(?:r\\(?:ivate\\|ot\\(?:ected\\|ocol\\)\\)\\|ublic\\)\\|s\\(?:elector\\|ynchronized\\)\\|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) #[#1# "\306\300!\307\310	\311#\203T \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\214e	\206* d}\210\317 \210)`\320 \321=\203C b\210\311\320 \210))`	V\203M 	b\210\322 \210,\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers start boundp re-search-forward "\\[" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-sws c-forward-type known c-fontify-recorded-types-and-refs c-promote-possible-types] 4] #[#1# "\305\300!\306\307	\310#\2035 \311\224b\210\312	!\204 \311\225b\210\311\224b\210\313 \314\216\310\315\305\300!\316 \210\317 \210-\202 )\315\207" [parse-sexp-lookup-properties limit save-match-data-internal c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-objc-directive c-fontify-recorded-types-and-refs] 4] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare #[#1# "\304\300!\305\306	\307#\203/ \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\225S\315\211T\316\317$\210+\202 )\320\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\(\\(?:@\\(?:defs\\|end\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\)\\)\\)\\([^[:alnum:]_$@]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 1 put-text-property c-type c-decl-end nil] 5] c-font-lock-objc-methods c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists ("\\<\\(\\(?:BOOL\\|Class\\|IMP\\|SEL\\|char\\|double\\|float\\|i\\(?:d\\|nt\\)\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$@]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:@class\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:@defs\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil objc-mode] 4) (#$ . 89790))
#@55 Default expressions to highlight in Objective-C mode.
(defvar objc-font-lock-keywords objc-font-lock-keywords-3 (#$ . 98584))
(defalias 'objc-font-lock-keywords-2 #[nil "\301!\207" [objc-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'objc-font-lock-keywords-3 #[nil "\301!\207" [objc-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'objc-font-lock-keywords #[nil "\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\.33\.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) (#$ . 99279))
#@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\.33\.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)) #[#1=(limit) "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] 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) #[#1# "\305\300!\306\307	\310#\203Z \311\224b\210\312	!\204 \311\225b\210\313 \314\216\315\311\224Tb\210`Sf\316=\203R \317u\210\320 \210`\321\315x\311W\203R \322`\323\"\204R \324`\323\f$\210\320 \210\202& +\311\225b\210\202 )\315\207" [parse-sexp-lookup-properties limit save-match-data-internal id-end c-reference-face-name boundp re-search-forward "\\(\\.\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 5] (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305	\n\306#\203J \307\224b\210\310\n!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203; \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316	\306\317\211$\210*\313\225b\210\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:@interface\\|class\\|enum\\|interface\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 1 c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-2 nil java-mode] 4) (#$ . 99764))
#@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\.33\.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)) #[#1=(limit) "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] 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) #[#1# "\305\300!\306\307	\310#\203Z \311\224b\210\312	!\204 \311\225b\210\313 \314\216\315\311\224Tb\210`Sf\316=\203R \317u\210\320 \210`\321\315x\311W\203R \322`\323\"\204R \324`\323\f$\210\320 \210\202& +\311\225b\210\202 )\315\207" [parse-sexp-lookup-properties limit save-match-data-internal id-end c-reference-face-name boundp re-search-forward "\\(\\.\\)\\(\\s \\|[\n]\\)*\\([[:upper:]][[:alnum:]_$]*\\|\\*\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil 46 -1 c-backward-sws "[:alnum:]_$" get-text-property face put-text-property] 5] (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 ("\\<\\(\\(?:b\\(?:oolean\\|yte\\)\\|char\\|double\\|float\\|int\\|long\\|short\\|void\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:extends\\|imp\\(?:lements\\|ort\\)\\|new\\|package\\|super\\|throws\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-3 nil java-mode] 4) (#$ . 104419))
#@48 Default expressions to highlight in Java mode.
(defvar java-font-lock-keywords java-font-lock-keywords-3 (#$ . 107964))
(defalias 'java-font-lock-keywords-2 #[nil "\301!\207" [java-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'java-font-lock-keywords-3 #[nil "\301!\207" [java-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'java-font-lock-keywords #[nil "\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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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) (#$ . 108477))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] 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) (#[(limit) "\302\303\304#\205* \305\224b\210\306!\204  \307\310\224\311\"\204# \312\310\224\310\225\311	$\210\313\225b\210\202  \207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305	\n\306#\203J \307\224b\210\310\n!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203; \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316	\306\317\211$\210*\313\225b\210\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:c\\(?:atalog\\|omponent\\)\\|e\\(?:num\\|venttype\\|x\\(?:ception\\|ecutor\\)\\)\\|f\\(?:ac\\(?:et\\|tory\\)\\|inder\\)\\|home\\|interface\\|key\\|manages\\|native\\|s\\(?:egment\\|t\\(?:or\\(?:age\\(?:\\(?:hom\\|typ\\)e\\)\\|es\\)\\|ruct\\)\\)\\|union\\|valuetype\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 1 c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) c-font-lock-enum-tail c-font-lock-enum-body (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:as\\|compo\\(?:nent\\|sition\\)\\|eventtype\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|nterface\\)\\|m\\(?:anages\\|odule\\)\\|native\\|of\\|primarykey\\|s\\(?:cope\\|torage\\(?:\\(?:hom\\|typ\\)e\\)\\|upports\\)\\|valuetype\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:switch\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil idl-mode] 4) (#$ . 112600))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] 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) (#[(limit) "\302\303\304#\205* \305\224b\210\306!\204  \307\310\224\311\"\204# \312\310\224\310\225\311	$\210\313\225b\210\202  \207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (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 ("\\<\\(\\(?: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 (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:as\\|compo\\(?:nent\\|sition\\)\\|eventtype\\|home\\|i\\(?:mp\\(?:lements\\|ort\\)\\|nterface\\)\\|m\\(?:anages\\|odule\\)\\|native\\|of\\|primarykey\\|s\\(?:cope\\|torage\\(?:\\(?:hom\\|typ\\)e\\)\\|upports\\)\\|valuetype\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:switch\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil idl-mode] 4) (#$ . 121726))
#@53 Default expressions to highlight in CORBA IDL mode.
(defvar idl-font-lock-keywords idl-font-lock-keywords-3 (#$ . 129646))
(defalias 'idl-font-lock-keywords-2 #[nil "\301!\207" [idl-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'idl-font-lock-keywords-3 #[nil "\301!\207" [idl-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'idl-font-lock-keywords #[nil "\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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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) (#$ . 130157))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] c-font-lock-invalid-single-quotes (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) (#[(limit) "\302\303\304#\205* \305\224b\210\306!\204  \307\310\224\311\"\204# \312\310\224\310\225\311	$\210\313\225b\210\202  \207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\s \\|[\n]\\)*\\(\\(?:\\.\\|::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_`]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305	\n\306#\203J \307\224b\210\310\n!\204 \307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323\211$\210*\314\225b\210\202 )\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face font-lock-type-face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203; \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313\225b\210\314 \210*\311 \315\216\316	\306\317\211$\210*\313\225b\210\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:c\\(?:lass\\|onstant\\)\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 1 c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-2 nil pike-mode] 4) (#$ . 134505))
#@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\.33\.2 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[#1=(limit) "\306\300!\307\310	\311#\203i \312\224b\210\313	!\204 \312\225b\210\314 \315\216\316\317\224\317\225\320$\210*\314 \321\216\317\224\317\225S\ff\322=\203Y \316\211T\323\324$\210)\f\316\211T\323\325$\210)\202e \326\211T\327#\210),\202 )\330\207" [parse-sexp-lookup-properties limit save-match-data-internal font-lock-string-face end beg boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n]\\)*\\(\\(//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n]\\)*\\)*\\(<[^>\n]*>?\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 8 face #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 62 category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil -pos- pos] 5]) (#[#1# "\304\300!\305\306	\307#\203m \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\224\203` \214\315\316\224\316\225\317\320$\210\314\225b\210e	}\210\321 \210\322!\203\\ \315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\ \324u\210\2026 )\202i \315\316\224\316\225\317\323$\210*\202 )\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *define\\(\\(\\s \\|[\n]\\)\\|//[^\n]*[\n]\\|/\\*[^*\n]*\\(\\*+[^*\n/][^*\n]*\\)*\\*+/\\|\\\\[\n]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300!	\306=\203: \212\307 \210`)\310\311\n\312#\2039 \313\224b\210\314\n!\204 \313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202 )`\nW\203z \310\322\n\312#\203z \313\224b\210\314\n!\204: \313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203v \317\320\224\320\225\321\f$\210\202b +\202: )\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:constant\\|defined\\|efun\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n]\\)\\|[^\n]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[#1# "\304\300!\305\306	\307#\203, \310\224b\210\311	!\204 \310\225b\210\312 \313\216\314\315\224\315\225\316$\210*\202 )\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304	\305#\211\203 \306\224b\210\307	!\204 \306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 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)) #[#1# "\303\300!\304\305	\306#\203& \307\224b\210\310	!\204 \307\225b\210\311 \312\216\313 \210*\202 )\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] c-font-lock-invalid-single-quotes (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) (#[(limit) "\302\303\304#\205* \305\224b\210\306!\204  \307\310\224\311\"\204# \312\310\224\310\225\311	$\210\313\225b\210\202  \207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)\\(\\s \\|[\n]\\)*\\(\\(?:\\.\\|::\\)\\)\\(\\s \\|[\n]\\)*\\)\\([[:alpha:]_`]\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (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 ("\\(\\=.?\\|[^>]\\|[^-]>\\)\\<\\(\\(?:array\\|f\\(?:loat\\|unction\\)\\|int\\|m\\(?:apping\\|ixed\\|ultiset\\)\\|object\\|program\\|string\\|this_program\\|void\\)\\)\\>" 2 font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\|\\(?:`\\(?:()\\|\\+=\\|->=?\\|<<\\|==\\|>>\\|\\[]=?\\|`\\(?:<<\\|>>\\|[%&*+/|^-]\\)\\|[!%&*+/<>|~^-]\\)\\)\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203 `\202 \n)b\210\313\314\315#\203R \316\224b\210\317!\204 \316\225b\210\320 \321\216\315\322\315\323\324!\210`V\203K b\210\325 \210-\202 *\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:i\\(?:\\(?:mpor\\|nheri\\)t\\)\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[#1# "\306\300!\307\310	\311#\2039 \312\224b\210\313	!\204 \312\225b\210\314 \315\216\311\316\311\317\320!\210`	V\2032 	b\210\321 \210-\202 )\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:array\\|function\\|int\\|m\\(?:apping\\|ultiset\\)\\|object\\|program\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4])) c-get-lang-constant c-matchers-3 nil pike-mode] 4) (#$ . 143427))
#@48 Default expressions to highlight in Pike mode.
(defvar pike-font-lock-keywords pike-font-lock-keywords-3 (#$ . 151306))
(defalias 'pike-font-lock-keywords-2 #[nil "\301!\207" [pike-font-lock-keywords-2 c-compose-keywords-list] 2])
(defalias 'pike-font-lock-keywords-3 #[nil "\301!\207" [pike-font-lock-keywords-3 c-compose-keywords-list] 2])
(defalias 'pike-font-lock-keywords #[nil "\301!\207" [pike-font-lock-keywords c-compose-keywords-list] 2])
(defalias 'c-font-lock-doc-comments #[(prefix limit keywords) "\306\211\307`\310\"\311>\203\" \312 `\n\203 \nb\210\313!\203! `)	\204\273 \314\f\315#\203\265 \316\224\211%&\307&\310\"\211':\203_ '\203Z '@%>\204Z 'A\211'\204H '\202d '%>+\203\260 	eU\204\265 	S%&\307&\310\"\211':\203\235 '\203\230 '@%>\204\230 'A\211'\204\206 '\202\242 '%>+\203\265 \212	b\210\317 )\203\265 \306\202& 	\211\203\364\320	\211\321\\\"\322\234\203\337 	b\210\323 \210\324\325!\210`\fW\203\345 \313!\204\311 \202\345 	b\210\323 \210`\fV\203\356 \fb\210\306`(\306\211\211)*+,-\326-\310.$\210\214-TV\203\"-b\210\327u\210\313\330!\203\"`--}\210,\203\353,@+,A,+@*b\210*;\203N\314*-\315#\202S*-!\203'+A\211)@:\203,)\203>)@\211/@\2110\2240\2251\321/82\n\204\222\331/8\206!\332\3330/#\202!\334/A@!\2113\242\310=\203\261\335\n13AA#\2103A@33\204\3012\315=\204\301\306\202 2\204\333\336\n1\310\306$\206 \326\n1\3103$\202 2\315=\203\355\326\n1\3103$\202 2\337=\203\377\340\n1\3103$\202 2\341=\203\342\n1\3103$\202 2\343=\205 \344\n1\3103$)-\210)A\211)\202c)\211/@\2110\2240\2251\321/82\n\204W\331/8\206\346\332\3330/#\202\346\334/A@!\2113\242\310=\203v\335\n13AA#\2103A@33\204\2062\315=\204\206\306\202\3452\204\240\336\n1\310\306$\206\345\326\n1\3103$\202\3452\315=\203\262\326\n1\3103$\202\3452\337=\203\304\340\n1\3103$\202\3452\341=\203\326\342\n1\3103$\202\3452\343=\205\345\344\n1\3103$)-\210\202>-b\210.\202\" *\306\207" [region-beg comment-beg start prefix limit c-literal-faces 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 skip-syntax-forward " " put-text-property -2 "\\*/" 3 error "No match %d in highlight %S" eval add-text-properties text-property-not-all prepend font-lock-prepend-text-property append font-lock-append-text-property keep font-lock-fillin-text-property faces pos pos-faces keywords highlights matcher keyword keylist region-end c-doc-face-name highlight match end override val] 6])
(put 'c-font-lock-doc-comments 'lisp-indent-function 2)
(defalias 'c-find-invalid-doc-markup #[(regexp limit) "\304\305	\n\306#\203 \307\310\224\211\311\"=?\202 \304\211\204 \205- \312\313!\313T!D!\210\306)\207" [start regexp limit c-doc-face-name nil re-search-forward t get-text-property 0 face store-match-data copy-marker] 4])
(defconst gtkdoc-font-lock-doc-comments (byte-code "\303\304\305	\306R\307\n\310BBB	\311P\312\n\313BBB\305\314	\315\260\307\n\316BBB\317	P\312\n\320BBBF*\207" [header symbol c-doc-markup-face-name "[a-zA-Z0-9_]+" "^ \\* " "\\(" "\\):[ 	]*$" 1 (prepend nil) "()" 0 (prepend nil) "@" "\\):" (prepend nil) "[#%@]" (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" [#[(limit) "\303\304	#\210\303\305\n#\207" [limit gtkdoc-font-lock-doc-comments gtkdoc-font-lock-doc-protection c-font-lock-doc-comments "/\\*\\*$" "/\\*< "] 4]] 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) #[(limit) "\301\302\"\207" [limit c-find-invalid-doc-markup "[<>&]\\|{@"] 3] (0 'font-lock-warning-face prepend nil)] 7))
(defconst javadoc-font-lock-keywords (byte-code "\300CC\207" [#[(limit) "\302\303	#\207" [limit javadoc-font-lock-doc-comments c-font-lock-doc-comments "/\\*\\*"] 4]] 1))
(defconst autodoc-decl-keywords "\\(\\(?:@\\(?:decl\\|elem\\|index\\|member\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)")
(defconst autodoc-decl-type-keywords "\\(\\(?:@\\(?:elem\\|member\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)")
(defalias 'autodoc-font-lock-line-markup #[(limit) "\306\307Q	\nD\310\f\311#\203\362 \312\225b\210\313!\203\310 `\312\225\211 \314!\315` \316$\210 S\"\315\"\211T\317\320$\210) b\210\314\210`!`Sf\321=\203\200 m\204\200 \314u\210\322\323!\210\313!\203\200 \324\225b\210\325 !S\326#\210\315!S!\316$\210` \202D \325 `Td^\326#\210b\210\310\327!\330#\203\242 \315\324\224`\316\331$\210\202\216 b\210\313#!\203\304 \311\314\311$%&b\210\332 \210\333 \210\334 \210+,\202	 \315`\314\210`\316$\210`Sf\321=\203	 m\204	 \314u\210\322\323!\210\313!\203	 \324\225b\210\202\310 *\314\207" [c-current-comment-prefix c-doc-markup-face-name c-doc-face-name markup-faces line-re limit "^\\(\\(/\\*!\\|\\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 autodoc-decl-keywords kwd-pos start pos end -pos- autodoc-decl-type-keywords c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers] 6])
(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) #[(limit) "\301\302\"\207" [limit c-find-invalid-doc-markup "@"] 3] (0 'font-lock-warning-face prepend nil)] 4))
(defalias 'autodoc-font-lock-keywords #[nil "\301\302CC\207" [c-type-decl-end-used t #[(limit) "\302\303	#\207" [limit autodoc-font-lock-doc-comments c-font-lock-doc-comments "/[*/]!"] 4]] 1])
(provide 'cc-fonts)
