MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 3.133.86.98
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/progmodes/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/progmodes/cc-fonts.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:19 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/cc-fonts.el
;;; in Emacs version 24.3.1
;;; 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\304BB\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@	>\204YA\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) "\302\303\304BB\305\306\307\310\311	\"BBBE\207" [regexp highlights while re-search-forward (limit t) unless (progn (goto-char (match-beginning 0)) (c-skip-comments-and-strings limit)) (goto-char (match-end 0)) mapcar #[(highlight) "@\250\203.\3018\302=\204\303\304\"\210\3058\203\303\306\"\210\307\310\311@D\312@D\313\234FD\207\3058\2039\303\314\"\210\315A@\307@D\3018F\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\"\313B\"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@\3068\211AA)A\307\310\311\312
DE\313\314\fDC\315\n\"EE,\207" [stanza x highlights regexp lim state 2 if eq c-font-lock-context quote let limit c-make-font-lock-search-form] 8] c-make-font-lock-search-form (nil)] 10])
(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])
(c-define-lang-constant 'c-cpp-matchers '((t append (if (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) (progn (let* ((noncontinued-line-end "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)") (ncle-depth (regexp-opt-depth noncontinued-line-end)) (sws-depth (c-get-lang-constant 'c-syntactic-ws-depth '(cc-langs))) (nsws-depth (c-get-lang-constant 'c-nonempty-syntactic-ws-depth '(cc-langs)))) (append (if (c-get-lang-constant 'c-cpp-message-directives '(cc-langs)) (progn (let* ((re (c-make-keywords-re 'appendable (c-get-lang-constant 'c-cpp-message-directives '(cc-langs)))) (re-depth (regexp-opt-depth re))) (list (cons (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) re "\\s +\\(.*\\)$") (cons (+ ncle-depth re-depth 1) '(font-lock-string-face t))))))) (if (c-get-lang-constant 'c-cpp-include-directives '(cc-langs)) (progn (let* ((re (c-make-keywords-re nil (c-get-lang-constant 'c-cpp-include-directives '(cc-langs)))) (re-depth (regexp-opt-depth re))) (list (list (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) re (c-get-lang-constant 'c-syntactic-ws '(cc-langs)) "\\(<[^>\n
]*>?\\)") (cons (+ ncle-depth re-depth sws-depth 1) '(font-lock-string-face)) (list (byte-compile (cons 'lambda (cons '(limit) (cons (cons 'let (cons (list (list 'beg (list 'match-beginning (+ ncle-depth re-depth sws-depth 1))) (list 'end (list '1- (list 'match-end (+ ncle-depth re-depth sws-depth 1))))) '((if (eq (char-after end) 62) (progn (c-mark-<-as-paren beg) (c-mark->-as-paren end)) (c-clear-char-property beg 'category))))) '(nil))))))))))) (if (c-get-lang-constant 'c-opt-cpp-macro-define '(cc-langs)) (progn (list (list (c-make-font-lock-search-function (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) (c-get-lang-constant 'c-opt-cpp-macro-define '(cc-langs)) (c-get-lang-constant 'c-nonempty-syntactic-ws '(cc-langs)) "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)" (concat "\\(" "\\((\\)" "\\|" "\\([^(]\\|$\\)" "\\)")) (list (list 'if (list 'match-beginning (+ 3 ncle-depth nsws-depth (c-get-lang-constant 'c-symbol-key-depth '(cc-langs)))) (cons 'save-restriction (cons (cons 'c-put-font-lock-face (cons (list 'match-beginning (+ 1 ncle-depth nsws-depth)) (cons (list 'match-end (+ 1 ncle-depth nsws-depth)) '('font-lock-function-name-face)))) (cons (list 'goto-char (list 'match-end (+ 3 ncle-depth nsws-depth (c-get-lang-constant 'c-symbol-key-depth '(cc-langs))))) '((narrow-to-region (point-min) limit) (while (and (progn (c-forward-syntactic-ws) (looking-at c-symbol-key)) (progn (c-put-font-lock-face (match-beginning 0) (match-end 0) 'font-lock-variable-name-face) (goto-char (match-end 0)) (c-forward-syntactic-ws) (eq (char-after) 44))) (forward-char)))))) (cons 'c-put-font-lock-face (cons (list 'match-beginning (+ 1 ncle-depth nsws-depth)) (cons (list 'match-end (+ 1 ncle-depth nsws-depth)) '('font-lock-variable-name-face))))))))))) (if (and (c-get-lang-constant 'c-cpp-expr-directives '(cc-langs)) (c-get-lang-constant 'c-cpp-expr-functions '(cc-langs))) (progn (let ((ced-re (c-make-keywords-re t (c-get-lang-constant 'c-cpp-expr-directives '(cc-langs)))) (cef-re (c-make-keywords-re t (c-get-lang-constant 'c-cpp-expr-functions '(cc-langs))))) (list (list (c-make-font-lock-context-search-function (list (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) ced-re "\\(\\\\\\(.\\|[\n
]\\)\\|[^\n
]\\)*") (list (list 'let '((limit (match-end 0))) (cons 'while (cons (cons 're-search-forward (cons cef-re '(limit 'move))) '((c-put-font-lock-face (match-beginning 1) (match-end 1) c-preprocessor-face-name))))) (list 'goto-char (list 'match-end (1+ ncle-depth))))) (cons 'in-cpp-expr (cons '(save-excursion (c-end-of-macro) (point)) (cons cef-re '((1 c-preprocessor-face-name t))))))))))) (list (list (c-make-font-lock-search-function (concat noncontinued-line-end "\\(" (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) "[" (c-get-lang-constant 'c-symbol-chars '(cc-langs)) "]+" "\\)") (cons (1+ ncle-depth) '(c-preprocessor-face-name t)))) (cons 'eval (cons 'list (cons (c-make-syntactic-matcher (concat noncontinued-line-end (c-get-lang-constant 'c-opt-cpp-prefix '(cc-langs)) "if\\(n\\)def\\>")) (cons (+ ncle-depth 1) '(c-negation-char-face-name 'append)))))))))) (if (c-lang-major-mode-is 'pike-mode) (progn '((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))))))
(defalias 'c-font-lock-invalid-string #[nil "`S\212\303\304 \"\305\234=\205;	\250\203Sf	=?\202 	?\205;\n\2030`Sf\306=?\2021\307\205;\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])
(c-define-lang-constant 'c-basic-matchers-before '((t cons (c-make-font-lock-search-function (concat ".\\(" c-string-limit-regexp "\\)") '((c-font-lock-invalid-string))) (append (if (c-get-lang-constant 'c-constant-kwds '(cc-langs)) (progn (let ((re (c-make-keywords-re nil (c-get-lang-constant 'c-constant-kwds '(cc-langs))))) (if (c-lang-major-mode-is 'pike-mode) (list (cons 'eval (cons 'list (cons (concat "\\(\\=.?\\|[^>]\\|[^-]>\\)" "\\<\\(" re "\\)\\>") '(2 c-constant-face-name))))) (list (cons 'eval (cons 'list (cons (concat "\\<\\(" re "\\)\\>") '(1 c-constant-face-name))))))))) (list (if (c-lang-major-mode-is 'pike-mode) (cons (concat "\\(\\=.?\\|[^>]\\|[^-]>\\)" "\\<" (c-get-lang-constant 'c-regular-keywords-regexp '(cc-langs))) '(2 font-lock-keyword-face)) (cons (concat "\\<" (c-get-lang-constant 'c-regular-keywords-regexp '(cc-langs))) '(1 font-lock-keyword-face)))) (if (c-get-lang-constant 'c-opt-identifier-concat-key '(cc-langs)) (progn (if (c-lang-major-mode-is 'java-mode) (list (c-make-font-lock-search-function (concat (c-get-lang-constant 'c-opt-identifier-concat-key '(cc-langs)) (c-get-lang-constant 'c-simple-ws '(cc-langs)) "*" (concat "\\(" "[" c-upper "]" "[" (c-get-lang-constant 'c-symbol-chars '(cc-langs)) "]*" "\\|" "\\*" "\\)")) (cons (list 'let '(id-end) '(goto-char (1+ (match-beginning 0))) (cons 'while (cons (cons 'and (cons '(eq (char-before) 46) (cons (list 'progn '(backward-char) '(c-backward-syntactic-ws) '(setq id-end (point)) (cons '< (cons (list 'skip-chars-backward (c-get-lang-constant 'c-symbol-chars '(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)))))) (list (list (byte-compile (list 'lambda '(limit) (cons 'while (cons (cons 're-search-forward (cons (concat "\\(\\<" "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)" (c-get-lang-constant 'c-simple-ws '(cc-langs)) "*" (c-get-lang-constant 'c-opt-identifier-concat-key '(cc-langs)) (c-get-lang-constant 'c-simple-ws '(cc-langs)) "*" "\\)" "\\(" (c-get-lang-constant '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))))))))))))) (if (c-lang-major-mode-is 'objc-mode) (progn (list (c-make-font-lock-search-function "\\[" '((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))))) (c-make-font-lock-search-function (concat "\\<" (regexp-opt '("@interface" "@implementation" "@protocol") t) "\\>") '((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))))))
(defalias 'c-font-lock-complex-decl-prepare #[(limit) "o\203	\306\307\310\"\212`\311 \210\312o\204#\313`S\314\"\315>\203#`S\202$	\n\316#\210*\317 \210\212\311 \210o?\205:\313`S\314\")\211\320>\203W\214e\n\206Id}\210\321 \210)\322\n\323\324=#\210)\212\f\205i\325 \205i\326\f!\205i\327)\330\207" [c-found-types pos limit prop c-cpp-expr-intro-re c-font-lock-context make-vector 53 0 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-beginning-of-macro looking-at in-cpp-expr nil] 6])
(defalias 'c-font-lock-<>-arglists #[(limit) "\306\211\307\211\211\211\211\211`W\203\326\310\306#\203\326\311\224\311\225`\fb\210\312!\204\307\211\313\f\314\"\211\315=\204\320\n\316=\203b\317!\203\320\320\311! \321 !\")\211\202z\322 \210`Sf\323>\203y\313`S\324\"\325=\204y\306\306\203\320	Sb\210\312!\204\306\307\"#\326\327$\211%$N*!\203\306&\203\306\313\f\314\"\204\306\330 \210\317&!\203\277\331\f\314'$\210\202\306\331\f\314\315$\210\332 \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 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) "\306\307`\307\211\211\211\211\211\211\203\310\202\311,-./01/\203\257`2W\203\257\3073\312\3134!\203t5\314=\203Z\315\224\203Z`-\316 \210\313\317!\204Z\3063\202t\307f\320=\203j
T\307u\210\202n\321\225b\210\322 \210\20253\204`-\316 \210`\211,/U)\204\257
\312U\204\227\307\323\324\217\203\257`2X\203\257\3136!\203\251\325\321!\210`2X\203\257\326\3272\306\211$\203\257\312\224\211.f\320=\203\326\307\212.b\210\330 *\203\326\331\202\327\332\321\224\205\340\321\224f\203\363\3067-b\210\333 \210)\202\n\203\334\n@\335\"\204\336\n@\nA\335\f$\210.b\210\307/8\203$\f\331=\2039\307\337\340\217\2032\214e2\206)d}\210\322 \210)\202}2b\210\202}\203o\341=\203[\342\321\3072#\312U\203[\313\343!\203[\307\344\345\217\202\\\306\203}\326\3462\347\306$\203}\350u\210\202}\214e2\206wd}\210\322 \210)`2W\203$\313\351!\203$`9\3369\211T\352	$\210)\307u\210\214e2\206\242d}\210\322 \210)`\211/\204)\353 \210.\307\207" [types separator-prop c-last-identifier-range got-init id-face paren-depth t nil c-decl-type-start c-decl-id-start 0 looking-at c++-mode 3 c-forward-name "\\(::\\)" 40 1 c-forward-sws (byte-code "\301`\302#b\207" [paren-depth scan-lists 1] 4) ((error)) c-forward-keyword-clause c-syntactic-re-search-forward "[;,]\\|\\s)\\|\\'\\|\\(=\\|\\s(\\)" c-at-toplevel-p font-lock-function-name-face font-lock-variable-name-face c-forward-type get-text-property face put-text-property (byte-code "\300`\301\"b\210\302\207" [scan-sexps 1 t] 3) ((error)) 61 c-forward-token-2 "{" (byte-code "\300`\301\"b\210\302\207" [scan-sexps 1 t] 3) ((error)) "[;,{]" move -1 "," c-type c-fontify-recorded-types-and-refs id-end id-start next-pos pos c-record-ref-identifiers c-record-type-identifiers limit got-identifier c-type-decl-prefix-key c-buffer-is-cc-mode c-decl-hangon-key c-promote-possible-types list -pos-] 12])
(defconst c-font-lock-maybe-decl-faces (list nil font-lock-type-face c-reference-face-name font-lock-keyword-face))
(defalias 'c-font-lock-declarations #[(limit) "\214\306\211\211\211\307\211\306\310\306\211\310\306\310
\311\312!X\203:e\212b\210\306w\210`)}\210\313\314$\210.\306\207" [parse-sexp-lookup-properties lbrace c-parse-and-markup-<>-arglists c-record-ref-identifiers label-type c-record-type-identifiers nil 0 t line-beginning-position 2 c-find-decl-spots #[(match-pos inside-macro) "`\306`\307\"\310=\203\311	!\204\315\n\203\311\n!\204\315eV\205&\306S\312\"Sf\313>\2047\314\211@\202\305Sf\315=\203Y\212b\210\316u\210\317 \210\311A!)\203Y\314\320@\202\305eX\203g\321\320@\202\305\f\322=\203u\323\314@\202\305\f\324=\204\203Sf\325=\203\213\326\314@\202\305\f\203\227\321\320@\202\305B\203\243CW\202\247DW\203\300\323\314@SE\327E\211T\312\322$\210)\202\305\321\320@)\311F!\204\335\330 \210\317 \210\311F!\204\335b\210G\331=\203\365\311\332H\333Q!\203\365\334\225b\210\335 \210\336
I#\211J\337=\203`I\340 \210\314\207J\203\302B\203\"`CV\203,`C\202,`DV\203,`DJ@b\210
\203\213Sf\315=\205\214\212Sb\210\330 \210\341\342!\343W\204\203G\344=\205\207`K\345\314x\343W\203z\346\314x\343W\203z\311L!\203z\343\225KY\203z\320\202Kb\210\314)\205\207\311M!)\202\214\320\211N\203\263\212\330 \210o\204\262`SE\327E\211T\312JA\203\256\347\202\257\350$\210))\351dNJA#\210)\340 \210\314\207b\210\352 O\353O!\211P)\203\347Pb\210\314\354\355\217\204\345b\210\356 \210\314\207Sf\357=\203\373\360 \203\373\212\361 )\203\314f\315=\203#\212\317 \210\360 \205\212\361 )?\205\317 \210\314f\315=)\203#\356 \210\314\207Q\204S\352 \211O@\247\205J\212O@b\210\317 \210\311R!\206I\317 \210\311R!))\203S\356 \210\314\207\362\363!\314\211\211\211\211STUVOW\212\364W!@\211V\365=\203\205\330 \210`Sf\366=\203\205\364W!\210\352 O\367O!\211U\203\233Uf\370=\203\307\311F!\203\254\320T\343\225b\210\335 \210\371\320!\372>\203\300\351X\320T#\210\314\202\310b\210\320\202\310\320.\205+b\210\361\320\314#\211Y\205+Y\373=\203\373\327Z\211[@@)Z\211[@A)\307\\$\210\202'Y\374=\203\327Z\211[@@)Z\211[@A)\307\310$\210\202'Y\375=\203'\376\377Z\"\210\314Z\320\207" [start-pos c-not-decl-init-keywords c-macro-with-semi-re match-pos type context get-text-property face font-lock-keyword-face looking-at c-type (40 44 91 60) nil 40 -1 c-backward-token-2 t arglist c-decl-arg-start decl c-<>-arg-sep 60 <> put-text-property c-backward-sws c++-mode "\\(more\\)\\([^" "]\\|$\\)" 1 c-forward-sws c-forward-decl-or-cast-1 cast c-fontify-recorded-types-and-refs skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" "`" c-decl-type-start c-decl-id-start c-font-lock-declarators c-parse-state c-cheap-inside-bracelist-p (byte-code "\300 \210\301\207" [forward-list t] 1) ((error)) c-forward-token-2 41 c-on-identifier c-forward-label c-determine-limit 1000 c-beginning-of-decl-1 same 125 c-most-enclosing-brace 123 c-forward-type (t known found) 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] c-restricted-<>-arglists c-block-stmt-2-key inside-macro max-type-decl-end-before-token max-type-decl-end -pos- c-typedef-key c-buffer-is-cc-mode c-symbol-chars last-cast-end decl-or-cast pos c-symbol-key c-paren-stmt-key decl-list paren-state lbrace c-enums-contain-decls c-brace-list-key c-recognize-knr-p is-typedef encl-pos bod-res decl-search-lim limit label-type c-record-ref-identifiers x c-label-face-name] 7] c-restricted-<>-arglists 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-font-lock-maybe-decl-faces] 13])
(defalias 'c-font-lock-enum-tail #[(limit) "\306 \307!`	\203\255	f\310=\203\255\212	b\210\311 \210\312\313!\314W\204L\315=\203L`\316\317x\314W\203H\320\317x\314W\203H\321
!\203H\314\225\fY\204K\fb\210)\321!\206\213\311 \210\312\313!\314W\204\207\315=\203\207`\316\317x\314W\203\203\320\317x\314W\203\203\321
!\203\203\314\225\fY\204\206\fb\210)\321!)\203\255\322\323\317\324#\210`S\325\211T\326\327$\210)\330 \210\331\324\317#\210+\317\207" [paren-state encl-pos start c-buffer-is-cc-mode pos c-symbol-key c-parse-state c-most-enclosing-brace 123 c-backward-sws skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" nil "`" looking-at c-syntactic-skip-backward "^{," t put-text-property c-type c-decl-id-start c-forward-sws c-font-lock-declarators c-brace-list-key -pos- limit] 5])
(defalias 'c-font-lock-enclosing-decls #[(limit) "\306 \307\310!\311\211\311\205X@A\f:\204
\ff\312=\203
\fb\210\313	!\314
!\211\2035\315 \210\203
\314!\203
\fb\210\311\316\317\217\203
\320 \210\321\322#\210\202
-\207" [paren-state decl-search-lim decl-context in-typedef ps-elt c-typedef-key c-parse-state c-determine-limit 1000 nil 123 c-beginning-of-decl-1 looking-at c-forward-token-2 (byte-code "\300`\301\"b\207" [scan-sexps 1] 3) ((error)) c-forward-sws c-font-lock-declarators t c-opt-block-decls-with-vars-key limit] 5])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [c-define-lang-constant c-simple-decl-matchers ((t append (if (c-lang-major-mode-is 'objc-mode) (progn (list (list (c-get-lang-constant 'c-opt-method-key '(cc-langs)) (cons (byte-compile #'(lambda (limit) (let ((parse-sexp-lookup-properties (progn (eval '(let ((c-inside-eval-when-compile t)) (boundp 'parse-sexp-lookup-properties)))))) (save-restriction (narrow-to-region (point-min) limit) (c-font-lock-objc-method))) nil)) '((goto-char (match-end 1)))))))) (list (list '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) (save-match-data (goto-char (match-end 1)) (c-forward-syntactic-ws)) (goto-char (match-end 1)))))) (if (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs)) (progn (let* ((prefix-re (c-make-keywords-re nil (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs)))) (type-match (+ 2 (regexp-opt-depth prefix-re) (c-get-lang-constant 'c-simple-ws-depth '(cc-langs))))) (list (list (c-make-font-lock-search-function (concat "\\<\\(" prefix-re "\\)" (c-get-lang-constant 'c-simple-ws '(cc-langs)) "+" (concat "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)")) (cons type-match '('font-lock-type-face t)) (list '(c-font-lock-declarators limit t nil) (cons 'save-match-data (cons (list 'goto-char (list 'match-end type-match)) '((c-forward-syntactic-ws)))) (list 'goto-char (list 'match-end type-match))))))))) (if (c-get-lang-constant 'c-typeless-decl-kwds '(cc-langs)) (progn (list (list (c-make-font-lock-search-function (concat "\\<\\(" (regexp-opt (c-get-lang-constant 'c-typeless-decl-kwds '(cc-langs))) "\\)\\>") '((c-font-lock-declarators limit t nil) (save-match-data (goto-char (match-end 1)) (c-forward-syntactic-ws)) (goto-char (match-end 1)))))))) (if (c-get-lang-constant 'c-recognize-colon-labels '(cc-langs)) (progn '(c-font-lock-labels))))) c-complex-decl-matchers ((t cons 'c-font-lock-complex-decl-prepare (append (if (c-lang-major-mode-is 'objc-mode) (cons (c-make-font-lock-search-function (c-make-keywords-re t (delete "@class" (append (c-get-lang-constant 'c-protection-kwds '(cc-langs)) (c-get-lang-constant '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-declarations c-font-lock-enclosing-decls) (if (c-get-lang-constant 'c-recognize-<>-arglists '(cc-langs)) (progn '(c-font-lock-<>-arglists))) (list (let ((re (c-make-keywords-re nil (c-get-lang-constant 'c-primitive-type-kwds '(cc-langs))))) (if (c-lang-major-mode-is 'pike-mode) (cons (concat "\\(\\=.?\\|[^>]\\|[^-]>\\)" "\\<\\(" re "\\)\\>") '(2 font-lock-type-face)) (cons (concat "\\<\\(" re "\\)\\>") '(1 'font-lock-type-face))))) (if (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs)) (progn (list (list (byte-compile (list 'lambda '(limit) (list 'c-fontify-types-and-refs '((c-promote-possible-types t) (parse-sexp-lookup-properties (cc-eval-when-compile (boundp 'parse-sexp-lookup-properties)))) (list 'save-restriction '(narrow-to-region (point) limit) (list 'while (cons 're-search-forward (cons (concat "\\<\\(" (c-make-keywords-re nil (c-get-lang-constant 'c-type-prefix-kwds '(cc-langs))) "\\)\\>") '(limit t))) (list 'unless '(c-skip-comments-and-strings limit) '(c-forward-syntactic-ws) '(when (or (looking-at c-prefix-spec-kwds-re) (and (c-major-mode-is 'java-mode) (looking-at "@[A-Za-z0-9]+"))) (c-forward-keyword-clause 1)) (if (c-lang-major-mode-is 'c++-mode) '(when (and (c-forward-type) (eq (char-after) 61)) (forward-char) (c-forward-syntactic-ws) (c-forward-type)) '(c-forward-type)))))))))))) (if (c-lang-major-mode-is 'c++-mode) (progn '(("\\<new\\>" (c-font-lock-c++-new))))))))] 3)
(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\"\210\300\303\304\"\210\300\305\306\"\210\300\307\310\"\207" [c-define-lang-constant c-basic-matchers-after ((t append (if (c-get-lang-constant 'c-brace-id-list-kwds '(cc-langs)) (progn (list 'c-font-lock-enum-tail (list (c-make-font-lock-search-function (concat "\\<\\(" (c-make-keywords-re nil (c-get-lang-constant 'c-brace-id-list-kwds '(cc-langs))) "\\)\\>" "[^][{}();,/#=]*" "{") '((c-font-lock-declarators limit t nil) (save-match-data (goto-char (match-end 0)) (c-put-char-property (1- (point)) 'c-type 'c-decl-id-start) (c-forward-syntactic-ws)) (goto-char (match-end 0)))))))) (if (c-get-lang-constant 'c-before-label-kwds '(cc-langs)) (progn (list (cons 'eval (let* ((c-before-label-re (c-make-keywords-re nil (c-get-lang-constant 'c-before-label-kwds '(cc-langs))))) (list 'list (concat "\\<\\(" c-before-label-re "\\)\\>" "\\s *" "\\(" (c-get-lang-constant 'c-symbol-key '(cc-langs)) "\\)") (cons 'list (cons (+ (regexp-opt-depth c-before-label-re) 2) '(c-label-face-name nil t))))))))) (if (or (c-get-lang-constant 'c-type-list-kwds '(cc-langs)) (c-get-lang-constant 'c-ref-list-kwds '(cc-langs)) (c-get-lang-constant 'c-colon-type-list-kwds '(cc-langs))) (progn (list (list (c-make-font-lock-BO-decl-search-function (concat "\\<\\(" (c-make-keywords-re nil (append (c-get-lang-constant 'c-type-list-kwds '(cc-langs)) (c-get-lang-constant 'c-ref-list-kwds '(cc-langs)) (c-get-lang-constant 'c-colon-type-list-kwds '(cc-langs)))) "\\)\\>") '((c-fontify-types-and-refs ((c-promote-possible-types t)) (c-forward-keyword-clause 1) (if (> (point) limit) (goto-char limit))))))))) (if (c-get-lang-constant 'c-paren-type-kwds '(cc-langs)) (progn (list (list (c-make-font-lock-search-function (concat "\\<\\(" (c-make-keywords-re nil (c-get-lang-constant 'c-paren-type-kwds '(cc-langs))) "\\)\\>") '((c-fontify-types-and-refs ((c-promote-possible-types t)) (c-forward-keyword-clause 1) (if (> (point) limit) (goto-char limit))))))))) (if (c-lang-major-mode-is 'java-mode) (progn '((eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)))))) c-matchers-1 ((t c-get-lang-constant 'c-cpp-matchers)) c-matchers-2 ((t append (c-get-lang-constant 'c-matchers-1) (c-get-lang-constant 'c-basic-matchers-before) (c-get-lang-constant 'c-simple-decl-matchers) (c-get-lang-constant 'c-basic-matchers-after))) c-matchers-3 ((t append (c-get-lang-constant 'c-matchers-1) (c-get-lang-constant 'c-basic-matchers-before) (c-get-lang-constant 'c-complex-decl-matchers) (c-get-lang-constant 'c-basic-matchers-after)))] 3)
(defalias 'c-compose-keywords-list #[(base-list) "	>\204\n	B\n\242:\203\n\236\206\306\n\236\243\202\n\307\310\311\312\f<\203,\f\202.\fC\"\"
\244\313>\203G\313\314\313\315\316\"\"B*\207" [c-doc-face-name c-literal-faces c-doc-comment-style c-buffer-is-cc-mode doc-keywords base-list other apply nconc mapcar #[(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!\205J\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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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) (#$ . 31478))
#@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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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\\)\\|typedef\\|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#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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) (#$ . 35244))
#@213 Accurate normal font locking for C mode.
Like `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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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\\)\\|typedef\\|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-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) (#[(limit) "\306\307\306\310\300!\214`\f}\210\311\312\f\306#\205=\313\f!\204\314 \210\315
!\2043\316=\2037\315\317!\2037\320\321!\210\322 \210\202)\323 \210,\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers limit c-prefix-spec-kwds-re t nil boundp re-search-forward "\\<\\(\\(?:enum\\|struct\\|union\\)\\)\\>" c-skip-comments-and-strings c-forward-sws looking-at java-mode "@[A-Za-z0-9]+" c-forward-keyword-clause 1 c-forward-type c-fontify-recorded-types-and-refs c-buffer-is-cc-mode] 5]) c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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) (#$ . 42966))
#@45 Default expressions to highlight in C mode.
(defvar c-font-lock-keywords c-font-lock-keywords-3 (#$ . 49320))
(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) "\301!\204\f\212\302\303\215\210)\304\207" [limit c-skip-comments-and-strings false-alarm (byte-code "\306\211\307\306\307\310 \210\306f\311=\203`T\306\312\313\217\210\310 \210`T\306f\311=\2043\307\314 )\2043\306\f\203\363\204G\fb\210\307\314 \210)\202\363Sf\311=\203\363\306\211\fb\210\314 \211\203i\315\316!\204i\306b\210\314 \211\203\221\315\316!\204}\306\306\317\320\217\203\221\310 \210\306f\311=\203\221\306\321>\204\362\322>\204\362\323=\203\262\307\fb\210\314 \210)\202\362\323=\203\305\307b\210\314 \210)\202\362\324=\203\335\204\335\307\fb\210\314 \210)\202\362\204\362\324=\203\362\307b\210\314 \210)*\325 \210-\306\207" [parse-sexp-lookup-properties c-record-ref-identifiers c-record-type-identifiers expr2-pos expr1-pos c-promote-possible-types nil t c-forward-sws 40 (byte-code "\300`\301\"b\207" [scan-sexps 1] 3) ((scan-error (byte-code "\300\301\302\"\207" [throw false-alarm t] 3))) c-forward-type looking-at "[[:alpha:]_]\\|[*:)[]" (byte-code "\300`\301\211#b\210\302\207" [scan-lists 1 t] 4) ((error)) (t known prefix) (t known prefix) found maybe c-fontify-recorded-types-and-refs expr2-res expr1-res] 5) nil] 2])
(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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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) (#$ . 51057))
#@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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:mpl\\|n\\(?:st\\(?:_cast\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|ot\\(?:_eq\\)?\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|row\\)\\|ry\\|ype\\(?:def\\|id\\|name\\)\\)\\|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#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[#1# "\303\300!\304\305	\306#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 3 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\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#\210*\313\225b\210\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|union\\)\\)\\>" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 54829))
#@219 Accurate normal font locking for C++ mode.
Like `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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:mpl\\|n\\(?:st\\(?:_cast\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|ot\\(?:_eq\\)?\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|row\\)\\|ry\\|ype\\(?:def\\|id\\|name\\)\\)\\|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-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists ("\\<\\(\\(?:bool\\|char\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|unsigned\\|void\\|wchar_t\\)\\)\\>" 1 'font-lock-type-face) (#[(limit) "\306\307\306\310\300!\214`\f}\210\311\312\f\306#\205O\313\f!\204\314 \210\315
!\2043\316=\2037\315\317!\2037\320\321!\210\322 \203\307f\323=\203\307u\210\314 \210\322 \210\202)\324 \210,\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers limit c-prefix-spec-kwds-re t nil boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\>" c-skip-comments-and-strings c-forward-sws looking-at java-mode "@[A-Za-z0-9]+" c-forward-keyword-clause 1 c-forward-type 61 c-fontify-recorded-types-and-refs c-buffer-is-cc-mode] 5]) ("\\<new\\>" (c-font-lock-c++-new)) c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 64646))
#@47 Default expressions to highlight in C++ mode.
(defvar c++-font-lock-keywords c++-font-lock-keywords-3 (#$ . 73167))
(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 "\305\306\305\211\307 \210\306f\310=\203%\306u\210\307 \210\311 \210\306\312\313\217\307 \210\202&\305\205j\314\f!\205j\315\225b\210\316\315\224`\317	\203@\320\202A\321$\210\307 \210\314\f!\203[\315\225b\210\316\315\224`\317\320$\210\307 \210\306f\322=\205j\306u\210\306\202\323 \210,\207" [c-promote-possible-types first c-record-ref-identifiers c-record-type-identifiers c-symbol-key t nil c-forward-sws 40 c-forward-type (byte-code "\300`\301\211#b\210\302\207" [scan-lists 1 t] 4) ((error)) looking-at 0 put-text-property face font-lock-function-name-face font-lock-variable-name-face 58 c-fontify-recorded-types-and-refs] 5])
(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) "\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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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) (#$ . 74596))
#@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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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 ((byte-code "\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 ((byte-code "\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\303!\214e	}\210\304 \210*\305\207" [parse-sexp-lookup-properties limit eval (let ((c-inside-eval-when-compile t)) (boundp 'parse-sexp-lookup-properties)) c-font-lock-objc-method nil] 2] (goto-char (match-end 1)))) (eval list #[#1# "\304\300!\305	\n\306#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 78395))
#@229 Accurate normal font locking for Objective-C mode.
Like `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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:i\\(?:mport\\|nclude\\)\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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-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 (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 88351))
#@55 Default expressions to highlight in Objective-C mode.
(defvar objc-font-lock-keywords objc-font-lock-keywords-3 (#$ . 97336))
(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\.32\.4 ((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) (#$ . 98031))
#@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\.32\.4 ((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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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 ((byte-code "\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#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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) (#$ . 98516))
#@222 Accurate normal font locking for Java mode.
Like `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\.32\.4 ((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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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 ((byte-code "\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-declarations c-font-lock-enclosing-decls ("\\<\\(\\(?:b\\(?:oolean\\|yte\\)\\|char\\|double\\|float\\|int\\|long\\|short\\|void\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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) (#$ . 103804))
#@48 Default expressions to highlight in Java mode.
(defvar java-font-lock-keywords java-font-lock-keywords-3 (#$ . 107890))
(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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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) (#$ . 108403))
#@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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[(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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 112133))
#@225 Accurate normal font locking for CORBA IDL mode.
Like `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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:error\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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-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 (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (#[(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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 121499))
#@53 Default expressions to highlight in CORBA IDL mode.
(defvar idl-font-lock-keywords idl-font-lock-keywords-3 (#$ . 129587))
(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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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) (#$ . 130098))
#@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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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#\203I\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\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#\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 1 c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 4]) c-font-lock-labels c-font-lock-enum-tail (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 134055))
#@222 Accurate normal font locking for Pike mode.
Like `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\.32\.4 (("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)\\>\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n
]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n
]\\)*\\(\\(//[^\n
]*[\n
]\\|/\\*[^*\n
]*\\(\\*+[^*\n
/][^*\n
]*\\)*\\*+/\\|\\\\[\n
]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n
]\\)*\\)*\\(<[^>\n
]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203+	\211\306\211T\307\310$\210*\211\306\211T\307\311$\210*\2025	\312\n\211T\313#\210)*\314\207" [end beg pos -pos- 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 6])) (#[#1=(limit) "\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 ((byte-code "\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)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\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 ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] (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-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 (#[#1# "\304\300!\305\306	\307#\203F\310\224b\210\311	!\204\310\225b\210\312 \313\216\310\225b\210`S\314\211T\315\316$\210)\317 \210*\312 \320\216\321	\307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();,/#=]*{" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property c-type c-decl-id-start c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5]) (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\203Kb\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 ((byte-code "\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 ((byte-code "\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) (#$ . 143219))
#@48 Default expressions to highlight in Pike mode.
(defvar pike-font-lock-keywords pike-font-lock-keywords-3 (#$ . 151268))
(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\n@b\210\313!\203\"`)	\204\262\314\f\315#\203\254\316\224\211
$%\307%\310\"\211&:\203`&\203[&@$>\204[&A\211&\204I&\202e&$>+\203\247	eU\204\254	S
$%\307%\310\"\211&:\203\236&\203\231&@$>\204\231&A\211&\204\207&\202\243&$>+\203\254\306\202'	\211\203\317	\211\320\\\"\321\234\315=\203\330	b\210\322 \210\323\324!\210`\fW\203\336\313!\204\302\202\336	b\210\322 \210`\fV\203\347\fb\210\306`'\306\211\211()*+,\325,\310-$\210\214,TV\203,b\210\326u\210\313\327!\203`,,}\210+\203+@*+A+*@)b\210);\203G\314),\315#\202L),!\203 *A\211(@:\2036(\2037(@\211.@\211/\2240/\2251\320.820\204\215\330.8\206+\331\332/.#\202+\333.A@!\2113\242\310=\203\265\334013\2114AA)#\2103\2114A@)33\204\3052\315=\204\305\306\202*2\204\341\33501\310\306$\206*\32501\3103$\202*2\315=\203\364\32501\3103$\202*2\336=\203\33701\3103$\202*2\340=\203\34101\3103$\202*2\342=\205*\34301\3103$)-\210(A\211(\202\\(\211.@\211/\2240/\2251\320.820\204c\330.8\206\331\332/.#\202\333.A@!\2113\242\310=\203\213\334013\2114AA)#\2103\2114A@)33\204\2332\315=\204\233\306\2022\204\267\33501\310\306$\206\32501\3103$\2022\315=\203\312\32501\3103$\2022\336=\203\335\33701\3103$\2022\340=\203\360\34101\3103$\2022\342=\205\34301\3103$)-\210\2027,b\210.\202#*\306\207" [region-beg comment-beg range prefix limit c-literal-faces nil get-text-property face font-lock-comment-face c-literal-limits looking-at re-search-forward t 0 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 start end override val x] 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!\313T!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\200m\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#\210b\210\310\327!\330#\203\242\315\324\224`\316\331$\210\202\216b\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)

MMCT - 2023