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



(byte-code "\301\302!\204 \303\302\304\305B\"\210\306\307!\210\306\310!\210\306\311=\203  \311\202! \312!\207" [c--cl-library fboundp declare-function defalias macro #[128 "\300\207" [nil] 2 "\n\n(fn &rest _)"] require cc-defs cc-vars cl-lib cl] 4)
(defvar c-lang-variable-inits nil)
(defvar c-lang-variable-inits-tail nil)
(byte-code "\302C\211\302\207" [c-lang-variable-inits c-lang-variable-inits-tail nil] 2)
(defvar c-emacs-variable-inits nil)
(defvar c-emacs-variable-inits-tail nil)
(byte-code "\302C\211\302\207" [c-emacs-variable-inits c-emacs-variable-inits-tail nil] 2)#@450 Declares the buffer local variable VAR to get the value VAL.
VAL is evaluated and assigned at mode initialization.  More
precisely, VAL is evaluated and bound to VAR when the result from
the macro `c-init-language-vars' is evaluated.

`c-lang-const' is typically used in VAL to get the right value for the
language being initialized, and such calls will be macro expanded to
the evaluated constant value at compile time.

(fn VAR VAL &optional DOC)
(defalias 'c-lang-defvar '(macro . #[770 "\211\204% \242\303=\203% A@=\203% \3048\204% \305\306A@!\"\307N\262\211;\204- \310\262	A\236\211\203? \211D\241\266\202K \nEC\241\210\nA\210\311D\207" [c-lang-constants c-lang-variable-inits c-lang-variable-inits-tail c-lang-const 2 intern symbol-name variable-documentation nil quote] 8 (#$ . 671)]))
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put c-lang-defvar lisp-indent-function defun put edebug-form-spec (&define name def-form &optional &or ("quote" symbolp) stringp)] 5)#@497 Make variable VAR buffer local and set it to value VAL.
VAL is evaluated and assigned at mode initialization.  More
precisely, VAL is evaluated and bound to VAR when the result from the
macro `c-init-language-vars' is evaluated.  VAR is typically a standard
Emacs variable like `comment-start'.

`c-lang-const' is typically used in VAL to get the right value for the
language being initialized, and such calls will be macro expanded to
the evaluated constant value at compile time.

(fn VAR VAL)
(defalias 'c-lang-setvar '(macro . #[514 "A\236\211\203 \211C\241\266\202 	DC\241\210	A\210\302D\207" [c-emacs-variable-inits c-emacs-variable-inits-tail quote] 6 (#$ . 1683)]))
(put 'c-lang-setvar 'edebug-form-spec '(&define name def-form))#@53 

(fn OPS OPGROUP-FILTER OP-FILTER &optional XLATE)
(defalias 'c-filter-ops #[1027 "CCC\242<\204 C\262\242\300=\203  \301\240\210\2025 \302\242!\2045 \303\304\305\306\307\242DEE\240\210\242\300=\203C \310\240\210\202U \242;\203U \303\311\312\242\313BBE\240\210\211\242\204^ \211\314\240\210\315 \316\317\"\216\320\321\322!!\210\323\324\316\325	$\n\"\326\327#)\207" [t #[257 "\300\207" [t] 2 "\n\n(fn OPGROUP)"] functionp lambda (opgroup) memq opgroup quote #[257 "\300\207" [t] 2 "\n\n(fn OP)"] (op) string-match (op) identity syntax-table make-closure #[0 "\301\300!\207" [V0 set-syntax-table] 2] set-syntax-table c-get-lang-constant c-mode-syntax-table cl-delete-duplicates mapcan #[257 "\211@9\203 \302\242@!\205 \211A\262\303\304\305\300\301#\"\207" [V0 V1 V2 mapcan make-closure #[257 "\301\242!\205 \300\242!\211<\203 \211\202 \211C\262\207" [V0 V1] 3 "\n\n(fn OP)"]] 6 "\n\n(fn OPGROUP)"] :test equal] 15 (#$ . 2436)])
(byte-code "\300\301\302\303BC\"\207" [c-define-lang-constant c-mode-menu t #[0 "\300\301\302\303\304\305\306\307\310\311\312!\205 \313\314\"BBBBBBBB\207" [["Comment Out Region" comment-region (c-fn-region-is-active-p)] ["Uncomment Region" (comment-region (region-beginning) (region-end) '(4)) (c-fn-region-is-active-p)] ["Indent Expression" c-indent-exp (memq (char-after) '(40 91 123))] ["Indent Line or Region" c-indent-line-or-region t] ["Fill Comment Paragraph" c-fill-paragraph t] "----" ["Backward Statement" c-beginning-of-statement t] ["Forward Statement" c-end-of-statement t] append c-get-lang-constant c-opt-cpp-prefix (["Up Conditional" c-up-conditional t] ["Backward Conditional" c-backward-conditional t] ["Forward Conditional" c-forward-conditional t] "----" ["Macro Expand Region" c-macro-expand (c-fn-region-is-active-p)] ["Backslashify" c-backslash-region (c-fn-region-is-active-p)]) ("----" ("Style..." ["Set Style..." c-set-style t] ["Show Current Style Name" (message "Style Name: %s" c-indentation-style) t] ["Guess Style from this Buffer" c-guess-buffer-no-install t] ["Install the Last Guessed Style..." c-guess-install (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)] ["View the Last Guessed Style" c-guess-view (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)]) "----" ("Toggle..." ["Syntactic indentation" c-toggle-syntactic-indentation :style toggle :selected c-syntactic-indentation] ["Electric mode" c-toggle-electric-state :style toggle :selected c-electric-flag] ["Auto newline" c-toggle-auto-newline :style toggle :selected c-auto-newline] ["Hungry delete" c-toggle-hungry-state :style toggle :selected c-hungry-delete-key] ["Subword mode" c-subword-mode :style toggle :selected (and (boundp 'c-subword-mode) c-subword-mode)]))] 11]] 4)#@236 Populate the given syntax table as necessary for a C-like language.
This includes setting \=' and " as string delimiters, and setting up
the comment syntax to handle both line style "//" and block style
"/*" "*/" comments.

(fn TABLE)
(defalias 'c-populate-syntax-table #[257 "\301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\307#\210\301\311\307#\210\301\312\307#\210\301\313\307#\210\301\314\307#\210\301\315\307#\210\301\316\307#\210\301\317\320#\210\301\321\307#\210\322>\203] \301\323\324#\210\301\325\326#\210\202v \327>\203r \301\323\330#\210\301\325\326#\210\202v \331\332!\210\301\333\334#\210\301\335\334#\207" [c-emacs-features modify-syntax-entry 95 "_" 92 "\\" 43 "." 45 61 37 60 62 38 124 39 "\"" 160 8-bit 47 ". 1456" 42 ". 23" 1-bit ". 124b" error "CC Mode is incompatible with this version of Emacs" 10 "> b" 13] 5 (#$ . 5210)])
(byte-code "\300\301\302\303#\304\305\306\307BC\"\210\304\310\306\311BC\"\210\304\312\306\313BC\"\210\304\314\315\316B\317\320B\306\321BE\"\210\304\322\323\324B\325\326B\327\330B\331\332B\333\334B\306\335B\257\"\210\304\336\337\340B\341\342B\343\344B\345\346B\347\350B\306\351B\257\"\210\304\352\353\354B\306\355BD\"\210\304\356\357\360B\361\362B\306\363BE\"\210\304\364\365\366B\367\370B\306\371BE\"\210\304\372\373\374B\306\375BD\"\210\304\376\306\377BC\"\210\304\201@ \306\201A BC\"\210\304\201B \201C \201D B\306\201E BD\"\210\304\201F \306\201G BC\"\210\304\201H \201I \201J B\201K \201L B\306\201M BE\"\210\304\201N \201O \201P B\201Q \201R B\306\201S BE\"\210\304\201T \201U \201V B\201W \201X B\306\201Y BE\"\210\304\201Z \201[ \201\\ B\306\201] BD\"\210\304\201^ \201_ \201` B\201a \201b B\306\201c BE\"\210\304\201d \201e \201f B\306\201g BD\"\210\304\201h \201i \201j B\306\201k BD\"\210\304\201l \201m \201n B\306\201o BD\"\210\304\201p \306\201q BC\"\210\304\201r \306\201s BC\"\210\304\201t \201u \201v B\306\201w BD\"\207" [function-put c-populate-syntax-table speed -1 c-define-lang-constant c-make-mode-syntax-table t #[0 "\300\301\302\303\304\305\306!\203 \307\202  \305\310!\203 \311\202  \305\312!\205  \313\314BBBBE\207" [lambda nil let ((table (make-syntax-table))) (c-populate-syntax-table table) c-lang-major-mode-is objc-mode (modify-syntax-entry 64 "_" table) java-mode (modify-syntax-entry 64 "'" table) pike-mode (modify-syntax-entry 64 "." table) (table)] 7] c-mode-syntax-table #[0 "\300\301! \207" [c-get-lang-constant c-make-mode-syntax-table] 2] c-make-no-parens-syntax-table #[0 "\300\301!\205 \302\303\304\305\306\307\300\310!DDDC\311BBE\207" [c-get-lang-constant c-recognize-<>-arglists lambda nil let table funcall quote c-make-mode-syntax-table ((modify-syntax-entry 40 "." table) (modify-syntax-entry 41 "." table) (modify-syntax-entry 91 "." table) (modify-syntax-entry 93 "." table) (modify-syntax-entry 123 "." table) (modify-syntax-entry 125 "." table) table)] 8] c-identifier-syntax-modifications (awk-mode) #[0 "\300\207" [((95 . "w"))] 1] (objc-mode java-mode) #[0 "\300\301\302!B\207" [(64 . "w") c-get-lang-constant c-identifier-syntax-modifications] 3] #[0 "\300\207" [((95 . "w") (36 . "w"))] 1] c-get-state-before-change-functions (awk-mode) #[0 "\300\207" [c-awk-record-region-clear-NL] 1] (pike-mode) #[0 "\300\207" [(c-before-change-check-ml-strings c-before-change-check-unbalanced-strings)] 1] (java-mode) #[0 "\300\207" [(c-parse-quotes-before-change c-before-change-check-unbalanced-strings c-before-change-check-<>-operators)] 1] (c-mode objc-mode) #[0 "\300\207" [(c-extend-region-for-CPP c-depropertize-CPP c-truncate-bs-cache c-before-change-check-unbalanced-strings c-parse-quotes-before-change c-before-change-fix-comment-escapes)] 1] (c++-mode) #[0 "\300\207" [(c-extend-region-for-CPP c-depropertize-CPP c-before-change-check-ml-strings c-before-change-check-<>-operators c-before-after-change-check-c++-modules c-truncate-bs-cache c-before-change-check-unbalanced-strings c-parse-quotes-before-change c-before-change-fix-comment-escapes)] 1] #[0 "\300\207" [c-before-change-check-unbalanced-strings] 1] c-before-font-lock-functions (awk-mode) #[0 "\300\207" [(c-depropertize-new-text c-awk-extend-and-syntax-tablify-region)] 1] (pike-mode) #[0 "\300\207" [(c-depropertize-new-text c-after-change-escape-NL-in-string c-after-change-unmark-ml-strings c-after-change-mark-abnormal-strings c-change-expand-fl-region)] 1] (java-mode) #[0 "\300\207" [(c-depropertize-new-text c-after-change-escape-NL-in-string c-parse-quotes-after-change c-after-change-mark-abnormal-strings c-restore-<>-properties c-change-expand-fl-region)] 1] (c++-mode) #[0 "\300\207" [(c-depropertize-new-text c-after-change-fix-comment-escapes c-after-change-escape-NL-in-string c-after-change-unmark-ml-strings c-parse-quotes-after-change c-after-change-mark-abnormal-strings c-extend-font-lock-region-for-macros c-before-after-change-check-c++-modules c-neutralize-syntax-in-CPP c-restore-<>-properties c-change-expand-fl-region)] 1] (c-mode objc-mode) #[0 "\300\207" [(c-depropertize-new-text c-after-change-fix-comment-escapes c-after-change-escape-NL-in-string c-parse-quotes-after-change c-after-change-mark-abnormal-strings c-extend-font-lock-region-for-macros c-neutralize-syntax-in-CPP c-change-expand-fl-region)] 1] #[0 "\300\207" [(c-depropertize-new-text c-after-change-escape-NL-in-string c-after-change-mark-abnormal-strings c-change-expand-fl-region)] 1] c-before-context-fontification-functions (awk-mode) #[0 "\300\207" [c-awk-context-expand-fl-region] 1] #[0 "\300\207" [c-context-expand-fl-region] 1] c-at-vsemi-p-fn (awk-mode) #[0 "\300\207" [c-awk-at-vsemi-p] 1] (c-mode c++-mode objc-mode) #[0 "\300\207" [c-at-macro-vsemi-p] 1] #[0 "\300\207" [nil] 1] c-vsemi-status-unknown-p-fn (awk-mode) #[0 "\300\207" [c-awk-vsemi-status-unknown-p] 1] (c-mode c++-mode objc-mode) #[0 "\300\207" [c-macro-vsemi-status-unknown-p] 1] #[0 "\300\207" [nil] 1] c-has-bitfields (c-mode c++-mode objc-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-single-quotes-quote-strings #[0 "\300\207" [nil] 1] c-string-delims #[0 "\300\301!\203 \302\207\303\207" [c-get-lang-constant c-single-quotes-quote-strings (34 39) (34)] 2] c-ml-string-backslash-escapes (pike-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-ml-string-non-punc-skip-chars #[0 "\300\301!\203 \302\207\303\207" [c-get-lang-constant c-ml-string-backslash-escapes "^\"" "^\"\\"] 2] c-ml-string-opener-re (c++-mode) #[0 "\300\207" [#1="\\(R\\(\"\\)[^ ()\\\n	]\\{0,16\\}(\\)"] 1 #1#] (pike-mode) #[0 "\300\207" [#2="\\(#\\(\"\\)\\)"] 1 #2#] #[0 "\300\207" [nil] 1] c-ml-string-max-opener-len (c++-mode) #[0 "\300\207" [19] 1] (pike-mode) #[0 "\300\207" [2] 1] #[0 "\300\207" [nil] 1] c-ml-string-any-closer-re (c++-mode) #[0 "\300\207" [#3="\\()[^ ()\\n	]\\{0,16\\}\\(\"\\)\\)"] 1 #3#] (pike-mode) #[0 "\300\207" [#4="\\(?:\\=\\|[^\\\"]\\)\\(?:\\\\.\\)*\\(\\(\"\\)\\)"] 1 #4#] #[0 "\300\207" [nil] 1] c-ml-string-max-closer-len (c++-mode) #[0 "\300\207" [18] 1] #[0 "\300\207" [nil] 1] c-ml-string-max-closer-len-no-leader (c++-mode) #[0 "\300\207" [18] 1] (pike-mode) #[0 "\300\207" [1] 1] #[0 "\300\207" [nil] 1] c-ml-string-back-closer-re (pike-mode) #[0 "\300\207" [#5="\\(:?\\`\\|[^\\\"]\\)\\(:?\\\\.\\)*\\="] 1 #5#] #[0 "\300\207" [nil] 1] c-make-ml-string-closer-re-function (c++-mode) #[0 "\300\207" [c-c++-make-ml-string-closer-re] 1] #[0 "\300\301!\205 \302\207" [c-get-lang-constant c-ml-string-any-closer-re c-ml-string-make-closer-re] 2] c-make-ml-string-opener-re-function (c++-mode) #[0 "\300\207" [c-c++-make-ml-string-opener-re] 1] #[0 "\300\301!\205 \302\207" [c-get-lang-constant c-ml-string-opener-re c-ml-string-make-opener-re] 2] c-ml-string-cpp-or-opener-re #[0 "\300\301\302!\206 \303\304\301\305!\206 \303\306\260\207" ["\\(" c-get-lang-constant c-anchored-cpp-prefix "\\`a\\`" "\\)\\|\\(" c-ml-string-opener-re "\\)"] 5] c-cpp-or-ml-match-offset #[0 "\300\301!\203 \302\303\300\301!!\\\207\302\207" [c-get-lang-constant c-anchored-cpp-prefix 2 regexp-opt-depth] 4] c-has-quoted-numbers (c++-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1]] 10)
(byte-code "\300\301\302\303B\304\305BD\"\210\300\306\307\310B\304\311BD\"\210\300\312\313\314B\315\316B\317\320B\304\321BF\"\210\300\322\323\324B\304\325BD\"\210\300\326\304\327BC\"\210\300\330\331\332B\304\333BD\"\210\300\334\304\335BC\"\210\300\336\304\337BC\"\210\300\340\304\341BC\"\210\300\342\343\344B\345\346B\347\350B\351\352B\304\353B\257\"\210\300\354\304\355BC\"\210\300\356\304\357BC\"\210\300\360\304\361BC\"\210\300\362\363\364B\365\366B\304\367BE\"\210\300\370\304\371BC\"\210\300\372\304\373BC\"\210\300\374\304\375BC\"\210\300\376\377\201@ B\304\201A BD\"\210\300\201B \304\201C BC\"\210\300\201D \201E \201F B\304\201G BD\"\210\300\201H \304\201I BC\"\210\300\201J \304\201K BC\"\210\300\201L \201M \201N B\304\201O BD\"\210\300\201P \201Q \201R B\304\201S BD\"\210\300\201T \201U \201V B\304\201W BD\"\210\300\201X \201Y \201Z B\304\201[ BD\"\210\300\201\\ \201] \201^ B\304\201_ BD\"\210\300\201` \201a \201b B\304\201c BD\"\210\300\201d \304\201e BC\"\210\300\201f \304\201g BC\"\207" [c-define-lang-constant c-has-compound-literals (c-mode c++-mode) #[0 "\300\207" [t] 1] t #[0 "\300\207" [nil] 1] c-modified-constant (c-mode c++-mode objc-mode) #[0 "\300\207" [#1="L'\\([^\\'	\f\n]\\|\\\\.\\)'"] 1 #1#] #[0 "\300\207" [nil] 1] c-symbol-start (pike-mode) #[0 "\301\302Q\207" [c-alpha "[" "_`]"] 3] (objc-mode) #[0 "\301\302Q\207" [c-alpha "[" "_@]"] 3] (java-mode) #[0 "\301\302Q\207" [c-alpha "[" "_@]"] 3] #[0 "\301\302Q\207" [c-alpha "[" "_]"] 3] c-symbol-chars (objc-mode) #[0 "\301P\207" [c-alnum "_$@"] 2] #[0 "\301P\207" [c-alnum "_$"] 2] c-symbol-char-key #[0 "\300\301\302!\303Q\207" ["[" c-get-lang-constant c-symbol-chars "]+"] 3] c-symbol-key (pike-mode) #[0 "\300\301\302\303#\304\305\302\300\306!\"Q\207" [c-get-lang-constant c-symbol-key nil c-mode "\\|" c-make-keywords-re c-overloadable-operators] 6] #[0 "\300\301!\302\300\303!\304R\207" [c-get-lang-constant c-symbol-start "[" c-symbol-chars "]\\{,1000\\}"] 4] c-symbol-key-depth #[0 "\300\301\302!!\207" [regexp-opt-depth c-get-lang-constant c-symbol-key] 3] c-nonsymbol-chars #[0 "\300\301\302!P\207" ["^" c-get-lang-constant c-symbol-chars] 3] c-nonsymbol-key #[0 "\300\301\302!\303Q\207" ["[" c-get-lang-constant c-nonsymbol-chars "]"] 3] c-identifier-ops (pike-mode) #[0 "\300\207" [((left-assoc "::") (prefix "::") (left-assoc "."))] 1] (idl-mode) #[0 "\300\207" [((left-assoc "::") (prefix "::"))] 1] (java-mode) #[0 "\300\207" [((left-assoc "."))] 1] (c++-mode) #[0 "\300\207" [((prefix "~" "??-" "compl") (right-assoc "::") (prefix "::"))] 1] #[0 "\300\207" [nil] 1] c-opt-identifier-concat-key #[0 "\300\301\302!\303\304#\211\205 \305\306\"\207" [c-filter-ops c-get-lang-constant c-identifier-ops (left-assoc right-assoc) t c-make-keywords-re appendable] 4] c-opt-identifier-concat-key-depth #[0 "\300\301\302!!\207" [regexp-opt-depth c-get-lang-constant c-opt-identifier-concat-key] 3] c-opt-identifier-prefix-key #[0 "\300\301\302!\303\304#\211\205 \305\306\"\207" [c-filter-ops c-get-lang-constant c-identifier-ops (prefix) t c-make-keywords-re appendable] 4] c-after-id-concat-ops (java-mode) #[0 "\300\207" [("*")] 1] (c++-mode) #[0 "\300\207" [("~" "*")] 1] #[0 "\300\207" [nil] 1] c-opt-after-id-concat-key #[0 "\300\301!\300\302!\203 \303\304\305\300\302!\"P\202 \306P\207" [c-get-lang-constant c-symbol-start c-after-id-concat-ops "\\|" c-make-keywords-re appendable #2=""] 6] c-identifier-start #[0 "\300\301!\300\302!\203 \303\300\302!P\202 \304P\207" [c-get-lang-constant c-symbol-start c-opt-identifier-prefix-key "\\|" #2#] 4] c-identifier-key #[0 "\300\301!\203 \302\300\301!\300\303!\304R\202 \305\302\300\306!\307\300\310!\203X \302\300\303!\311\300\310!\300\303!\311\300\312!\203L \302\313\314\300\312!\"\302\300\303!\315\300\306!\316\260\317\300\306!\320\260\202R \302\300\306!\307Q\321\260\202Y \305\260\207" [c-get-lang-constant c-opt-identifier-prefix-key "\\(" c-simple-ws "*\\)?" #2# c-symbol-key "\\)" c-opt-identifier-concat-key "*" c-after-id-concat-ops c-make-keywords-re appendable "*\\(" "\\)\\)?" "\\|\\(" "\\)\\)" "\\)*"] 17] c-module-name-re (c++-mode) #[0 "\300\301!\302\300\301!\303R\207" [c-get-lang-constant c-symbol-key "\\(?:\\." "\\)*"] 4] #[0 "\300\207" [nil] 1] c-identifier-last-sym-match #[0 "\300\207" [nil] 1] c-string-escaped-newlines (c-mode c++-mode objc-mode pike-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-multiline-string-start-char #[0 "\300\207" [nil] 1] c-string-innards-re-alist #[0 "\300\301\302\303!\203 \302\303!\250\205 \302\304!\203 \305\202 \306\"\207" [mapcar #[257 "\211\300\301!\302QB\207" ["\\(\\\\\\(.\\|\n\\)\\|[^\\\n" string "]\\)*"] 5 "\n\n(fn DELIM)"] c-get-lang-constant c-multiline-string-start-char c-single-quotes-quote-strings (34 39) (34)] 4] c-opt-cpp-symbol (java-mode awk-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [#3="#"] 1 #3#] c-opt-cpp-prefix (java-mode awk-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [#4="\\s *#\\s *"] 1 #4#] c-anchored-cpp-prefix (java-mode awk-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [#5="^\\s *\\(#\\)\\s *"] 1 #5#] c-opt-cpp-start (pike-mode) #[0 "\301\302!\303\304R\207" [c-alnum c-get-lang-constant c-opt-cpp-prefix "\\([" "]+\\|!\\)"] 4] #[0 "\301\302!\205 \301\302!\303\304R\207" [c-alnum c-get-lang-constant c-opt-cpp-prefix "\\([" "]+\\)"] 4] c-cpp-message-directives (c-mode c++-mode objc-mode pike-mode) #[0 "\300\207" [("error" "warning")] 1] #[0 "\300\301!\205 \302\207" [c-get-lang-constant c-opt-cpp-prefix ("error")] 2] c-cpp-include-directives (objc-mode) #[0 "\300\207" [("include" "import")] 1] #[0 "\300\301!\205 \302\207" [c-get-lang-constant c-opt-cpp-prefix ("include")] 2] c-cpp-include-key #[0 "\301\302!\203 \301\303!\203 \301\302!\304\305\301\303!\"\306Q\207\207" [regexp-unmatchable c-get-lang-constant c-anchored-cpp-prefix c-cpp-include-directives c-make-keywords-re appendable "[ 	]*"] 5] c-opt-cpp-macro-define #[0 "\300\301!\205 \302\207" [c-get-lang-constant c-opt-cpp-prefix "define"] 2]] 8)
(byte-code "\300\301\302\303BC\"\210\300\304\302\305BC\"\210\300\306\302\307BC\"\210\300\310\302\311BC\"\210\300\312\302\313BC\"\210\300\314\315\316B\302\317BD\"\210\300\320\302\321BC\"\210\300\322\323\324B\325\326B\327\330B\302\331BF\"\210\300\332\333\334B\302\335BD\"\210\300\336\302\337BC\"\210\300\340\302\341BC\"\210\300\342\302\343BC\"\210\300\344\302\345BC\"\210\300\346\347\350B\302\351BD\"\210\300\352\302\353BC\"\210\300\354\355\356B\357\360B\302\361BE\"\210\300\362\363\364B\302\365BD\"\210\300\366\367\370B\302\371BD\"\210\300\372\302\373BC\"\210\300\374\302\375BC\"\210\300\376\377\201@ B\201A \201B B\201C \201D B\201E \201F B\201G \201H B\201I \201J B\201K \201L B\302\201M B\257\"\210\300\201N \302\201O BC\"\210\300\201P \302\201Q BC\"\210\300\201R \302\201S BC\"\210\300\201T \302\201U BC\"\210\300\201V \302\201W BC\"\210\300\201X \302\201Y BC\"\210\300\201Z \302\201[ BC\"\210\300\201\\ \302\201] BC\"\210\300\201^ \302\201_ BC\"\210\300\201` \201a \201b B\302\201c BD\"\207" [c-define-lang-constant c-opt-cpp-macro-define-start t #[0 "\300\301!\205 \300\302!\300\301!\303Q\207" [c-get-lang-constant c-opt-cpp-macro-define c-opt-cpp-prefix "[ 	]+\\(\\(\\sw\\|_\\)+\\)\\(([^)]*)\\)?\\([ 	]\\|\\\\\n\\)*"] 3] c-opt-cpp-macro-define-id #[0 "\300\301!\205 \300\302!\300\301!\303Q\207" [c-get-lang-constant c-opt-cpp-macro-define c-opt-cpp-prefix "[ 	]+\\(\\sw\\|_\\)+"] 3] c-anchored-hash-define-no-parens #[0 "\300\301!\205 \300\302!\300\301!\303Q\207" [c-get-lang-constant c-opt-cpp-macro-define c-anchored-cpp-prefix "[ 	]+[a-zA-Z0-9_]+\\([^(a-zA-Z0-9_]\\|$\\)"] 3] c-cpp-expr-directives #[0 "\300\301!\205 \302\207" [c-get-lang-constant c-opt-cpp-prefix ("if" "elif")] 2] c-cpp-expr-intro-re #[0 "\300\301!\205 \300\302!\303\304\300\301!\"P\207" [c-get-lang-constant c-cpp-expr-directives c-opt-cpp-prefix c-make-keywords-re t] 5] c-cpp-expr-functions (pike-mode) #[0 "\300\207" [("defined" "efun" "constant")] 1] #[0 "\300\301!\205 \302\207" [c-get-lang-constant c-opt-cpp-prefix ("defined")] 2] c-cpp-expr-functions-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-cpp-expr-functions] 4] c-assignment-operators (idl-mode) #[0 "\300\207" [nil] 1] (c++-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-assignment-operators ("and_eq" "or_eq" "xor_eq" "??!=" "??'=")] 3] (java-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-assignment-operators (">>>=")] 3] #[0 "\300\207" [("=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<=" "&=" "^=" "|=")] 1] c-operators (idl-mode) #[0 "\300\301\302\303\304!\305\"BB\207" [(prefix "#") (left-assoc "##") append c-get-lang-constant c-identifier-ops ((prefix "+" "-" "~") (left-assoc "*" "/" "%") (left-assoc "+" "-") (left-assoc "<<" ">>") (left-assoc "&") (left-assoc "^") (left-assoc "|"))] 5] #[0 "\300\301\302!\205 \303\304\305\306!\205 \307BB\310\311\305\312!\205 \313BBD\301\314!\305\315!\204- \305\316!\2031 \317\202B \305\320!\203; \321\202B \305\316!\205B \322\305\315!\205I \323\310\324\305\316!?\205S \325BB\326\327\330\331\332\333\334\305\335!\205c \336BBBBBBB\303\327\330\337\340\341\342\300\305\315!\205y \343\305\344!\205\200 \345\305\346!\205\207 \347\305\315!\203\221 \350\202\242 \305\316!\203\233 \351\202\242 \305\320!\205\242 \352\353\305\320!\205\252 \354&BBBBBBBE\305\315!\205\273 \355\356\357\310\360\361\305\316!\205\307 \362BBBE\305\315!\205\322 \363\310\364\365\366\367\305\316!\205\336 \370BBBBB\310\371\372\305\315!\205\355 \373BBB\310\374\305\315!\205\371 \375BB\310\376\300\305\377!\205\201@ \305\315!\205\201A \"BB\310\201B \300\305\201C !\205#\201D \305\315!\205,\201E \"BB\310\201F \305\315!\205<\201G BB\310\201H \300\305\201I !\205N\201J \305\315!\205W\201K \"BB\201L \201M \301\201N !B\257	\305\315!\205q\201O \201P &\207" [append c-get-lang-constant c-opt-cpp-prefix prefix "#" c-lang-major-mode-is (c-mode c++-mode) ("%:" "??=") left-assoc "##" (c-mode c++-mode) ("%:%:" "??=??=") c-identifier-ops c++-mode java-mode ((postfix-if-paren "<" ">")) pike-mode ((prefix "global" "predef")) ((prefix "super")) ((prefix "dynamic_cast" "static_cast" "reinterpret_cast" "const_cast" "typeid" "alignof")) "." ("->") postfix "++" "--" "[" "]" "(" ")" (c-mode c++-mode) ("<:" ":>" "??(" "??)") "+" "-" "!" "~" ("not" "compl") (c-mode c++-mode) ("*" "&" "sizeof" "??-") objc-mode ("@selector" "@protocol" "@encode") ("new" "delete") ("new") ("class" "lambda" "catch" "throw" "gauge") ("(" ")") ("[" "]") ((left-assoc ".*" "->*")) (left-assoc "*" "/" "%") (left-assoc "+" "-") "<<" ">>" (">>>") ((left-assoc "<=>")) "<" ">" "<=" ">=" ("instanceof") "==" "!=" ("not_eq") "&" ("bitand") "^" (c-mode c++-mode) ("??'") ("xor") "|" (c-mode c++-mode) ("??!") ("bitor") "&&" ("and") "||" (c-mode c++-mode) ("??!??!") ("or") (right-assoc-sequence "?" ":") right-assoc c-assignment-operators ((prefix "throw" "co_await" "co_yield")) ((left-assoc ","))] 22] c-operator-list #[0 "\300\301\302!\303\211#\207" [c-filter-ops c-get-lang-constant c-operators t] 4] c-operator-re #[0 "\300\301\302!!\207" [regexp-opt c-get-lang-constant c-operator-list] 3] c-bin-tern-operators #[0 "\300\301\302!\303\304#\207" [c-filter-ops c-get-lang-constant c-operators (left-assoc right-assoc right-assoc-sequence) t] 4] c-unary-operators #[0 "\300\301\302!\303\304#\207" [c-filter-ops c-get-lang-constant c-operators (prefix postfix postfix-if-paren) t] 4] c-non-after-{}-operators (awk-mode) #[0 "\300\301\302\303!\"\207" [remove "/" c-get-lang-constant c-non-after-{}-operators] 4] #[0 "\300\301\302!\301\303!\304\305$\207" [cl-set-difference c-get-lang-constant c-bin-tern-operators c-unary-operators :test string-equal] 5] c-non-after-{}-ops-re #[0 "\300\301\302!!\207" [regexp-opt c-get-lang-constant c-non-after-{}-operators] 3] c-overloadable-operators (pike-mode) #[0 "\300\207" [("`+" "`-" "`&" "`|" "`^" "`<<" "`>>" "`*" "`/" "`%" "`~" "`==" "`<" "`>" "`!" "`[]" "`[]=" "`->" "`->=" "`()" "``+" "``-" "``&" "``|" "``^" "``<<" "``>>" "``*" "``/" "``%" "`+=")] 1] (c++-mode) #[0 "\300\207" [("new" "delete" "+" "-" "*" "/" "%" "^" "??'" "xor" "&" "bitand" "|" "??!" "bitor" "~" "??-" "compl" "!" "=" "<" ">" "+=" "-=" "*=" "/=" "%=" "^=" "??'=" "xor_eq" "&=" "and_eq" "|=" "??!=" "or_eq" "<<" ">>" ">>=" "<<=" "==" "!=" "not_eq" "<=>" "<=" ">=" "&&" "and" "||" "??!??!" "or" "++" "--" "," "->*" "->" "()" "[]" "\"\"" "<::>" "??(??)")] 1] #[0 "\300\207" [nil] 1] c-overloadable-operators-regexp (c++-mode) #[0 "\300\301\302\303!\"\207" [c-make-keywords-re nil c-get-lang-constant c-overloadable-operators] 4] #[0 "\300\207" [nil] 1] c-opt-op-identifier-prefix (c++-mode) #[0 "\300\301\302\"\207" [c-make-keywords-re t ("operator")] 3] #[0 "\300\207" [nil] 1] c-ambiguous-overloadable-or-identifier-prefixes #[0 "\300\301\302\303!\304\305#\302\306!\307\310$\207" [cl-intersection c-filter-ops c-get-lang-constant c-identifier-ops (prefix) t c-overloadable-operators :test string-equal] 5] c-ambiguous-overloadable-or-identifier-prefix-re #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-ambiguous-overloadable-or-identifier-prefixes] 4] c-other-op-syntax-tokens (awk-mode) #[0 "\300\207" [("{" "}" "(" ")" "[" "]" ";" "," "=" "/")] 1] (pike-mode) #[0 "\300\301\302\303!\302\304!#\207" [append ("..") c-get-lang-constant c-other-op-syntax-tokens c-overloadable-operators] 5] (idl-mode) #[0 "\300\301\302\303!\"\207" [append ("#" "##") c-get-lang-constant c-other-op-syntax-tokens] 4] (objc-mode) #[0 "\300\301\302\303!\"\207" [append ("#" "##" "+" "-") c-get-lang-constant c-other-op-syntax-tokens] 4] (c++-mode) #[0 "\300\301\302\303!\"\207" [append ("&" "<%" "%>" "<:" ":>" "%:" "%:%:") c-get-lang-constant c-other-op-syntax-tokens] 4] (c-mode c++-mode) #[0 "\300\301\302!B\207" ["*" c-get-lang-constant c-other-op-syntax-tokens] 3] (c-mode c++-mode pike-mode) #[0 "\300\301\302\303!\"\207" [append ("#" "##" "::" "...") c-get-lang-constant c-other-op-syntax-tokens] 4] #[0 "\300\207" [("{" "}" "(" ")" "[" "]" ";" ":" "," "=" "/*" "*/" "//")] 1] c-all-op-syntax-tokens #[0 "\300\301\302\303!\302\304!\"\305\306#\207" [cl-delete-duplicates append c-get-lang-constant c-other-op-syntax-tokens c-operator-list :test string-equal] 5] c-nonsymbol-token-char-list #[0 "\300 \301\302\"\216\303\304\305!!\210\306\307\211\310W\203( \211z\311>\204! \211B\262\211T\262\202 \266\202)\207" [syntax-table make-closure #[0 "\301\300!\207" [V0 set-syntax-table] 2] set-syntax-table c-get-lang-constant c-mode-syntax-table nil 32 127 (119 95 60 62 32)] 5] c-nonsymbol-token-regexp #[0 "\300\301\302\303\304!\305\306#\"\207" [c-make-keywords-re nil c-filter-ops c-get-lang-constant c-all-op-syntax-tokens t "\\`\\(\\s.\\)+\\'"] 6] c-assignment-op-regexp #[0 "\301\302!\203 \303\304\305\306\301\302!\307\310\311$\"P\207\207" [regexp-unmatchable c-get-lang-constant c-assignment-operators "=\\([^=]\\|$\\)\\|" c-make-keywords-re nil cl-set-difference ("=") :test string-equal] 8] c-arithmetic-operators #[0 "\300\301\302!\303\304\305\306\307\310\311\300\312\313!\205 \314\315\"BBBBBBB\"\207" [append c-get-lang-constant c-assignment-operators "+" "-" "*" "/" "%" "<<" ">>" c-lang-major-mode-is c++-mode ("<=>") ("<" ">" "<=" ">=" "==" "!=" "&" "^" "|" "&&" "||")] 12] c-arithmetic-op-regexp #[0 "\300\301\302\303!\"\207" [c-make-keywords-re nil c-get-lang-constant c-arithmetic-operators] 4] c-:$-multichar-token-regexp #[0 "\300\301\302\303\304!\305\306#\"\207" [c-make-keywords-re nil c-filter-ops c-get-lang-constant c-operators t ".+:$"] 6] c-<>-multichar-token-regexp #[0 "\300\301\302\303\304!\305\306#\"\207" [c-make-keywords-re nil c-filter-ops c-get-lang-constant c-all-op-syntax-tokens t ".[<>]\\|[<>]."] 6] c-<-op-cont-regexp #[0 "\300\301\302\303\304!\305\306\307$\"\207" [c-make-keywords-re nil c-filter-ops c-get-lang-constant c-all-op-syntax-tokens t "\\`<." #[257 "\211\300\301O\207" [1 nil] 4 "\n\n(fn OP)"]] 7] c-<-pseudo-digraph-cont-regexp (c++-mode) #[0 "\300\207" [#1="::\\([^:>]\\|$\\)"] 1 #1#] #[0 "\207" [regexp-unmatchable] 1]] 11)
(byte-code "\300\301\302\303B\304\305BD\"\210\300\306\307\310B\304\311BD\"\210\300\312\304\313BC\"\210\300\314\304\315BC\"\210\300\316\304\317BC\"\210\300\320\304\321BC\"\210\300\322\304\323BC\"\210\300\324\304\325BC\"\210\300\326\327\330B\304\331BD\"\210\300\332\304\333BC\"\210\300\334\304\335BC\"\210\300\336\337\340B\304\341BD\"\210\300\342\304\343BC\"\210\300\344\345\346B\304\347BD\"\210\300\350\304\351BC\"\210\300\352\353\354B\304\355BD\"\210\300\356\304\357BC\"\210\300\360\361\362B\304\363BD\"\210\300\364\304\365BC\"\210\300\366\304\367BC\"\210\300\370\304\371BC\"\210\300\372\304\373BC\"\210\300\374\304\375BC\"\210\300\376\304\377BC\"\210\300\201@ \201A \201B B\304\201C BD\"\210\300\201D \201E \201F B\304\201G BD\"\210\300\201H \201I \201J B\304\201K BD\"\210\300\201L \304\201M BC\"\210\300\201N \304\201O BC\"\210\300\201P \304\201Q BC\"\210\300\201R \304\201S BC\"\210\300\201T \304\201U BC\"\210\300\201V \304\201W BC\"\210\300\201X \201Y \201Z B\304\201[ BD\"\207" [c-define-lang-constant c-<-pseudo-digraph-cont-len (c++-mode) #[0 "\300\207" [2] 1] t #[0 "\300\207" [0] 1] c->-op-cont-tokens (java-mode) #[0 "\300\301\302!\303\304\305$\207" [c-filter-ops c-get-lang-constant c-all-op-syntax-tokens t "\\`>[^>]\\|\\`>>[^>]" #[257 "\211\300\301O\207" [1 nil] 4 "\n\n(fn OP)"]] 5] #[0 "\300\301\302!\303\304\305$\207" [c-filter-ops c-get-lang-constant c-all-op-syntax-tokens t "\\`>." #[257 "\211\300\301O\207" [1 nil] 4 "\n\n(fn OP)"]] 5] c->-op-cont-regexp #[0 "\300\301\302\303!\"\207" [c-make-keywords-re nil c-get-lang-constant c->-op-cont-tokens] 4] c->-op-without->-cont-regexp #[0 "\300\301\302\303\304!\305\303\306!\307\310\311$\312\313$\"\207" [c-make-keywords-re nil cl-set-difference c-get-lang-constant c->-op-cont-tokens c-filter-ops c-all-op-syntax-tokens t "\\`>>" #[257 "\211\300\301O\207" [1 nil] 4 "\n\n(fn OP)"] :test string-equal] 9] c-multichar->-op-not->>->>>-regexp #[0 "\300\301\302\303\304\305!\306\307#\310\311\312$\"\207" [c-make-keywords-re nil cl-set-difference c-filter-ops c-get-lang-constant c-all-op-syntax-tokens t "\\(.>\\|>.\\)" (">>" ">>>") :test string-equal] 7] c-:-op-cont-tokens #[0 "\300\301\302!\303\304\305$\207" [c-filter-ops c-get-lang-constant c-all-op-syntax-tokens t "\\`:." #[257 "\211\300\301O\207" [1 nil] 4 "\n\n(fn OP)"]] 5] c-:-op-cont-regexp #[0 "\300\301\302\303!\"\207" [c-make-keywords-re nil c-get-lang-constant c-:-op-cont-tokens] 4] c-stmt-delim-chars #[0 "\300\207" [#1="^;{}?:"] 1 #1#] c-stmt-boundary-skip-chars (c++-mode) #[0 "\300\301!\302\303O\304\300\301!\303\305OQ\207" [c-get-lang-constant c-stmt-boundary-skip-chars 0 1 "[" nil] 5] #[0 "\300\301!\203 \300\302!\303\304O\300\301!\300\302!\304\305OQ\207\300\302!\207" [c-get-lang-constant c-opt-cpp-symbol c-stmt-delim-chars 0 1 nil] 5] c-stmt-boundary-skip-list #[0 "\300\301\302!\303\304O\304\"\207" [append c-get-lang-constant c-stmt-boundary-skip-chars 1 nil] 4] c-stmt-delim-chars-with-comma #[0 "\300\207" [#2="^;,{}?:"] 1 #2#] c-stmt-boundary-skip-chars-with-comma (c++-mode) #[0 "\300\301!\302\303O\304\300\301!\303\305OQ\207" [c-get-lang-constant c-stmt-boundary-skip-chars-with-comma 0 1 "[" nil] 5] #[0 "\300\301!\203 \300\302!\303\304O\300\301!\300\302!\304\305OQ\207\300\302!\207" [c-get-lang-constant c-opt-cpp-symbol c-stmt-delim-chars-with-comma 0 1 nil] 5] c-stmt-boundary-skip-list-with-comma #[0 "\300\301\302!\303\304O\304\"\207" [append c-get-lang-constant c-stmt-boundary-skip-chars-with-comma 1 nil] 4] c-pack-ops (c++-mode) #[0 "\300\207" [("...")] 1] #[0 "\300\207" [nil] 1] c-pack-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re appendable c-get-lang-constant c-pack-ops] 4] c-auto-ops (c++-mode) #[0 "\300\207" [("=" "->")] 1] #[0 "\300\207" [nil] 1] c-auto-ops-re #[0 "\300\301\302\303!\"\207" [c-make-keywords-re nil c-get-lang-constant c-auto-ops] 4] c-haskell-op (c++-mode) #[0 "\300\207" [("->")] 1] #[0 "\300\207" [nil] 1] c-haskell-op-re #[0 "\300\301\302\303!\"\207" [c-make-keywords-re nil c-get-lang-constant c-haskell-op] 4] c-pre-start-tokens #[0 "\300\207" [(";" "{" "}")] 1] c-pre-lambda-tokens #[0 "\300\301\302\303\304!\303\305!\"!\302\306\307\"\310\311$\207" [cl-set-difference cl-delete-duplicates append c-get-lang-constant c-operator-list c-other-op-syntax-tokens ("#" "%:" "??=" "##" "%:%:" "??=??=" "::" "." "->" "]" "<:" ":>" "??(" "??)" "??-" "new" "delete" ")" ".*" "->*" "??'" "??!" "??!??!" "??!=" "??'=") ("<%" "%>" "<:" ":>" "%:" "%:%:" "#" "##" "::" "...") :test string-equal] 6] c-pre-lambda-tokens-re #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-pre-lambda-tokens] 4] c-simple-ws #[0 "\300\207" [#3="\\(\\s \\|[\n]\\)"] 1 #3#] c-simple-ws-depth #[0 "\300\301\302!!\207" [regexp-opt-depth c-get-lang-constant c-simple-ws] 3] c-line-comment-starter (awk-mode) #[0 "\300\207" [#4="#"] 1 #4#] #[0 "\300\207" [#5="//"] 1 #5#] c-block-comment-starter (awk-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [#6="/*"] 1 #6#] c-block-comment-ender (awk-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [#7="*/"] 1 #7#] c-block-comment-ender-regexp #[0 "\301\302!\203\f \303\301\302!!\207\207" [regexp-unmatchable c-get-lang-constant c-block-comment-ender regexp-quote] 3] c-block-comment-awkward-chars #[0 "\300\301!G\302V\205 \300\301!\303HC\207" [c-get-lang-constant c-block-comment-ender 1 0] 2] c-font-lock-comment-end-skip #[0 "\301\302!\203\f \303\301\304!P\207\207" [regexp-unmatchable c-get-lang-constant c-block-comment-ender "[ 	]*" c-block-comment-ender-regexp] 3] c-comment-start-regexp #[0 "\301\302\303\304!\303\305!D\"\306>\203 \211\307P\207\207" [c-emacs-features c-make-keywords-re nil c-get-lang-constant c-line-comment-starter c-block-comment-starter gen-comment-delim "\\|\\s!"] 5] c-block-comment-start-regexp #[0 "\301\302!\203\f \303\301\302!!\207\207" [regexp-unmatchable c-get-lang-constant c-block-comment-starter regexp-quote] 3] c-line-comment-start-regexp #[0 "\301\302!\203\f \303\301\302!!\207\207" [regexp-unmatchable c-get-lang-constant c-line-comment-starter regexp-quote] 3] c-last-c-comment-end-on-line-re (awk-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [#8="\\(\\*/\\)\\([^*]\\|\\*+\\([^*/]\\|$\\)\\)*$"] 1 #8#]] 5)
(byte-code "\300\301\302\303BC\"\210\300\304\305\306B\307\310B\311\312B\302\313BF\"\210\300\314\315\316B\302\317BD\"\210\300\320\302\321BC\"\210\300\322\302\323BC\"\210\300\324\302\325BC\"\210\300\326\327\330B\302\331BD\"\210\300\332\302\333BC\"\210\300\334\302\335BC\"\210\300\336\302\337BC\"\210\300\340\302\341BC\"\210\300\342\302\343BC\"\210\300\344\302\345BC\"\210\300\346\302\347BC\"\210\300\350\302\351BC\"\210\300\352\302\353BC\"\210\300\354\302\355BC\"\210\300\356\302\357BC\"\210\300\360\302\361BC\"\210\300\362\363\364B\302\365BD\"\210\300\366\367\370B\302\371BD\"\210\300\372\373\374B\375\376B\302\377BE\"\210\300\201@ \201A \201B B\302\201C BD\"\210\300\201D \201E \201F B\201G \201H B\201I \201J B\201K \201L B\201M \201N B\201O \201P B\302\201Q B\257\"\210\300\201R \201S \201T B\201U \201V B\302\201W BE\"\210\300\201X \302\201Y BC\"\210\300\201Z \302\201[ BC\"\210\300\201\\ \201] \201^ B\201_ \201` B\302\201a BE\"\210\300\201b \201c \201d B\302\201e BD\"\210\300\201f \302\201g BC\"\207" [c-define-lang-constant c-literal-start-regexp t #[0 "\301\302!\303\304>\203 \305\202 \306Q\207" [c-emacs-features c-get-lang-constant c-comment-start-regexp "\\|" gen-string-delim "\"\\|\\s|" "\""] 4] c-doc-comment-start-regexp (pike-mode) #[0 "\300\207" [#1="/[/*]!"] 1 #1#] (java-mode) #[0 "\300\207" [#2="/\\*\\*"] 1 #2#] (c-mode c++-mode objc-mode) #[0 "\300\207" [#3="/\\*[*!]"] 1 #3#] #[0 "\207" [regexp-unmatchable] 1] c-block-comment-is-default (c-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] comment-start #[0 "\300\301!\203\f \300\302!\202 \300\303!\304P\207" [c-get-lang-constant c-block-comment-is-default c-block-comment-starter c-line-comment-starter " "] 2] comment-end #[0 "\300\301!\203\f \302\300\303!P\207\304\207" [c-get-lang-constant c-block-comment-is-default " " c-block-comment-ender ""] 3] comment-start-skip #[0 "\300\301\302\303\304\305!\304\306!D\"\307\"\310Q\207" ["\\(?:" c-concat-separated mapcar #[257 "\211\205	 \300!\301P\207" [regexp-quote "+"] 3 "\n\n(fn CS)"] c-get-lang-constant c-line-comment-starter c-block-comment-starter "\\|" "\\)\\s *"] 7] comment-end-can-be-escaped (c-mode c++-mode objc-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-syntactic-ws-start #[0 "\301\302\303\304\305\306!\305\307!\305\310!\205 \311E\312\"\"\313\314>\205 \315R\207" [c-emacs-features "\\s \\|" c-make-keywords-re nil append c-get-lang-constant c-line-comment-starter c-block-comment-starter c-opt-cpp-prefix "#" ("\n" "") "\\|\\\\[\n]" gen-comment-delim "\\|\\s!"] 8] c-syntactic-ws-end #[0 "\301\302\303\304\305\306!\205 \307\305\306!\305\306!GS\234!C\310\"\"\311>\205  \312Q\207" [c-emacs-features "\\s \\|" c-make-keywords-re nil append c-get-lang-constant c-block-comment-ender string ("\n" "") gen-comment-delim "\\|\\s!"] 8] c-unterminated-block-comment-regexp #[0 "\300\301!\205y \302\300\301!!\300\303!\211G\304U\203 \305\306Q\202v \211G\307U\203q \305\310\304O\311\302\310\304O!\312\310\234\304\234U\203D \310\304O\313P\202e \304\234\314U\203Z \304\307O\313\310\304OQ\202e \310\304O\313\304\307OQ\315\310\304O\316\260	\202v \317\320G\"\262P\207" [c-get-lang-constant c-block-comment-starter regexp-quote c-block-comment-ender 1 "[^" "\n]*" 2 0 "\n]*\\(" "+[^" "\n" 93 "][^" "\n]*\\)*" error "Can't handle a block comment ender of length %s"] 12] c-block-comment-regexp #[0 "\300\301!\2059 \300\301!\300\302!\211G\303U\203 \304!\2026 \211G\305U\2031 \304\306\303O!\307\304\303\305O!Q\2026 \310\311G\"\262P\207" [c-get-lang-constant c-unterminated-block-comment-regexp c-block-comment-ender 1 regexp-quote 2 0 "+" error "Can't handle a block comment ender of length %s"] 8] c-nonwhite-syntactic-ws #[0 "\301\302\303!\205 \304\302\303!!\305P\302\306!\307\310>\205 \311F\312\"\207" [c-emacs-features c-concat-separated c-get-lang-constant c-line-comment-starter regexp-quote "[^\n]*[\n]" c-block-comment-regexp "\\\\[\n]" gen-comment-delim "\\s!\\S!*\\s!" "\\|"] 6] c-syntactic-ws #[0 "\300\301!\302\303\300\304!\305\300\301!\306\260\307R\207" [c-get-lang-constant c-simple-ws "*\\(" "\\(" c-nonwhite-syntactic-ws "\\)" "*" "\\)*"] 7] c-syntactic-ws-depth #[0 "\300\301\302!!\207" [regexp-opt-depth c-get-lang-constant c-syntactic-ws] 3] c-nonempty-syntactic-ws #[0 "\300\301\302!\303\301\304!\305\260\207" ["\\(" c-get-lang-constant c-simple-ws "\\|" c-nonwhite-syntactic-ws "\\)+"] 5] c-nonempty-syntactic-ws-depth #[0 "\300\301\302!!\207" [regexp-opt-depth c-get-lang-constant c-nonempty-syntactic-ws] 3] c-single-line-syntactic-ws #[0 "\300\301!\203 \302\300\301!\303Q\207\304\207" [c-get-lang-constant c-block-comment-regexp "\\s *\\(" "\\s *\\)*" "\\s *"] 3] c-single-line-syntactic-ws-depth #[0 "\300\301\302!!\207" [regexp-opt-depth c-get-lang-constant c-single-line-syntactic-ws] 3] c-syntactic-eol #[0 "\300\301!\302\303\300\304!\205 \305\300\304!!\300\306!\205 \300\306!\307P\310\307F\311\"\312R\207" [c-get-lang-constant c-single-line-syntactic-ws "\\(" c-concat-separated c-line-comment-starter regexp-quote c-unterminated-block-comment-regexp "$" "\\\\$" "\\|" "\\)"] 7] beginning-of-defun-function (awk-mode) #[0 "\300\207" [c-awk-beginning-of-defun] 1] #[0 "\300\207" [c-beginning-of-defun] 1] end-of-defun-function (awk-mode) #[0 "\300\207" [c-awk-end-of-defun] 1] #[0 "\300\207" [c-end-of-defun] 1] c-paragraph-start (pike-mode) #[0 "\300\207" [#4="\\(@[a-zA-Z_-]+\\>\\([^{]\\|$\\)\\|$\\)"] 1 #4#] (java-mode) #[0 "\300\207" [#5="\\(@[a-zA-Z]+\\>\\|$\\)"] 1 #5#] #[0 "\300\207" [#6="$"] 1 #6#] c-paragraph-separate (pike-mode) #[0 "\300\301!\207" [c-get-lang-constant c-paragraph-start] 2] #[0 "\300\207" [#7="$"] 1 #7#] c-primitive-type-kwds (pike-mode) #[0 "\300\207" [("array" "float" "function" "int" "mapping" "mixed" "multiset" "object" "program" "string" "this_program" "void")] 1] (idl-mode) #[0 "\300\207" [("Object" "ValueBase" "any" "boolean" "char" "double" "fixed" "float" "long" "octet" "sequence" "short" "string" "void" "wchar" "wstring" "ref" "unsigned" "strong")] 1] (java-mode) #[0 "\300\207" [("boolean" "byte" "char" "double" "float" "int" "long" "short" "void")] 1] (objc-mode) #[0 "\300\301\302\303!\"\207" [append ("id" "Class" "SEL" "IMP" "BOOL") c-get-lang-constant c-primitive-type-kwds] 4] (c++-mode) #[0 "\300\301\302\303!\"\207" [append ("bool" "wchar_t" "char8_t" "char16_t" "char32_t") c-get-lang-constant c-primitive-type-kwds] 4] (c-mode) #[0 "\300\301\302\303!\"\207" [append ("_Bool" "_Complex" "_Imaginary") c-get-lang-constant c-primitive-type-kwds] 4] #[0 "\300\207" [("char" "double" "float" "int" "long" "short" "signed" "unsigned" "void")] 1] c-return-kwds (idl-mode) #[0 "\300\207" [nil] 1] (c++-mode) #[0 "\300\207" [("return" "co_return")] 1] #[0 "\300\207" [("return")] 1] c-return-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-return-kwds] 4] c-primitive-type-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-primitive-type-kwds] 4] c-primitive-type-prefix-kwds (idl-mode) #[0 "\300\207" [("long" "unsigned" "strong")] 1] (c-mode c++-mode objc-mode) #[0 "\300\207" [("long" "short" "signed" "unsigned")] 1] #[0 "\300\207" [nil] 1] c-typedef-kwds (awk-mode idl-mode java-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [("typedef")] 1] c-typedef-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-typedef-kwds] 4]] 10)
(byte-code "\300\301\302\303B\304\305B\306\307BE\"\210\300\310\306\311BC\"\210\300\312\313\314B\306\315BD\"\210\300\316\306\317BC\"\210\300\320\321\322B\306\323BD\"\210\300\324\306\325BC\"\210\300\326\327\330B\331\332B\306\333BE\"\210\300\334\306\335BC\"\210\300\336\306\337B\340\341B\342\343B\344\345B\306\346B\257\"\210\300\347\306\350BC\"\210\300\351\352\353B\306\354BD\"\210\300\355\306\356BC\"\210\300\357\306\360BC\"\210\300\361\306\362BC\"\210\300\363\364\365B\306\366BD\"\210\300\367\306\370BC\"\210\300\371\372\373B\306\374BD\"\210\300\375\306\376BC\"\210\300\377\201@ \201A B\201B \201C B\201D \201E B\201F \201G B\201H \201I B\201J \201K B\306\201L B\257\"\210\300\201M \306\201N BC\"\210\300\201O \201P \201Q B\306\201R BD\"\210\300\201S \306\201T BC\"\210\300\201U \201V \201W B\306\201X BD\"\210\300\201Y \306\201Z BC\"\210\300\201[ \201\\ \201] B\306\201^ BD\"\210\300\201_ \201` \201a B\201b \201c B\201d \201e B\306\201f BF\"\210\300\201g \306\201h BC\"\210\300\201i \306\201j BC\"\210\300\201k \306\201l BC\"\207" [c-define-lang-constant c-typeof-kwds (c++-mode) #[0 "\300\207" [("decltype" "typeof")] 1] (c-mode) #[0 "\300\207" [("typeof")] 1] t #[0 "\300\207" [nil] 1] c-typeof-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-typeof-kwds] 4] c-template-typename-kwds (c++-mode) #[0 "\300\207" [("class" "typename")] 1] #[0 "\300\207" [nil] 1] c-template-typename-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-template-typename-kwds] 4] c-self-contained-typename-kwds (c++-mode) #[0 "\300\207" [("typename")] 1] #[0 "\300\207" [nil] 1] c-self-contained-typename-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-self-contained-typename-kwds] 4] c-type-prefix-kwds (c++-mode) #[0 "\300\301\302\303\304\305#\"\207" [append ("class" "typename") c-get-lang-constant c-type-prefix-kwds nil c-mode] 6] (c-mode objc-mode) #[0 "\300\207" [("struct" "union" "enum")] 1] #[0 "\300\207" [nil] 1] c-type-prefix-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-type-prefix-kwds] 4] c-type-modifier-prefix-kwds #[0 "\300\301\302!\301\303!\"\207" [append c-get-lang-constant c-no-type-kwds c-type-modifier-prefix-kwds] 4] (objc-mode) #[0 "\300\207" [("const" "volatile")] 1] (c++-mode) #[0 "\300\207" [("const" "noexcept" "volatile")] 1] (c-mode) #[0 "\300\207" [("const" "restrict" "volatile")] 1] #[0 "\300\207" [nil] 1] c-opt-type-modifier-prefix-key #[0 "\300\301!\205\f \302\303\300\301!\"\207" [c-get-lang-constant c-type-modifier-prefix-kwds c-make-keywords-re t] 4] c-type-modifier-kwds (c++-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-type-modifier-prefix-kwds ("throw")] 3] #[0 "\300\301!\207" [c-get-lang-constant c-type-modifier-prefix-kwds] 2] c-opt-type-modifier-key #[0 "\300\301!\205\f \302\303\300\301!\"\207" [c-get-lang-constant c-type-modifier-kwds c-make-keywords-re t] 4] c-opt-type-component-key #[0 "\300\301!\204\f \300\302!\205 \303\304\305\300\301!\300\302!\"\"\207" [c-get-lang-constant c-primitive-type-prefix-kwds c-type-modifier-kwds c-make-keywords-re t append] 6] c-type-start-kwds #[0 "\300\301\302\303!\302\304!\302\305!#\306\307#\207" [cl-delete-duplicates append c-get-lang-constant c-primitive-type-kwds c-type-prefix-kwds c-type-modifier-kwds :test string-equal] 6] c-type-decl-suffix-ws-ids-kwds (c++-mode) #[0 "\300\207" [("final" "override")] 1] #[0 "\300\207" [nil] 1] c-type-decl-suffix-ws-ids-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-type-decl-suffix-ws-ids-kwds] 4] c-class-id-suffix-ws-ids-kwds (c++-mode) #[0 "\300\207" [("final")] 1] #[0 "\300\207" [nil] 1] c-class-id-suffix-ws-ids-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-class-id-suffix-ws-ids-kwds] 4] c-class-decl-kwds (pike-mode) #[0 "\300\207" [("class")] 1] (idl-mode) #[0 "\300\207" [("component" "eventtype" "exception" "home" "interface" "struct" "union" "valuetype" "storagehome" "storagetype" "catalog" "executor" "manages" "segment")] 1] (java-mode) #[0 "\300\207" [("class" "@interface" "interface")] 1] (objc-mode) #[0 "\300\207" [("struct" "union" "@interface" "@implementation" "@protocol")] 1] (c++-mode) #[0 "\300\207" [("class" "struct" "union")] 1] (c-mode) #[0 "\300\207" [("struct" "union")] 1] #[0 "\300\207" [nil] 1] c-class-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-class-decl-kwds] 4] c-brace-list-decl-kwds (awk-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [("enum")] 1] c-brace-list-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-brace-list-decl-kwds] 4] c-after-brace-list-decl-kwds (c++-mode) #[0 "\300\207" [("class" "struct")] 1] #[0 "\300\207" [nil] 1] c-after-brace-list-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-after-brace-list-decl-kwds] 4] c-recognize-post-brace-list-type-p (c++-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-other-block-decl-kwds (idl-mode) #[0 "\300\207" [("module" "composition")] 1] (c++-mode) #[0 "\300\207" [("namespace" "extern")] 1] (c-mode objc-mode) #[0 "\300\207" [("extern")] 1] #[0 "\300\207" [nil] 1] c-other-decl-block-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-other-block-decl-kwds] 4] c-defun-type-name-decl-kwds #[0 "\300\301\302!\301\303!\"\207" [append c-get-lang-constant c-class-decl-kwds c-brace-list-decl-kwds] 4] c-defun-type-name-decl-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-defun-type-name-decl-kwds] 4]] 10)
(byte-code "\300\301\302\303B\304\305B\306\307BE\"\210\300\310\306\311BC\"\210\300\312\313\314B\306\315BD\"\210\300\316\306\317BC\"\210\300\320\321\322B\306\323BD\"\210\300\324\306\325BC\"\210\300\326\327\330B\331\332B\333\334B\306\335BF\"\210\300\336\337\340B\306\341BD\"\210\300\342\306\343BC\"\210\300\344\345\346B\306\347BD\"\210\300\350\306\351BC\"\210\300\352\353\354B\306\355BD\"\210\300\356\306\357BC\"\210\300\360\361\362B\363\364B\365\366B\367\370B\371\372B\373\374B\375\376B\306\377B\257\"\210\300\201@ \201A \201B B\201C \201D B\201E \201F B\201G \201H B\306\201I B\257\"\210\300\201J \201K \201L B\306\201M BD\"\210\300\201N \201O \201P B\201Q \201R B\306\201S BE\"\210\300\201T \306\201U BC\"\210\300\201V \306\201W BC\"\210\300\201X \306\201Y BC\"\210\300\201Z \306\201[ BC\"\210\300\201\\ \306\201] BC\"\210\300\201^ \306\201_ BC\"\210\300\201` \201a \201b B\306\201c BD\"\210\300\201d \306\201e BC\"\210\300\201f \201g \201h B\201i \201j B\306\201k BE\"\210\300\201l \306\201m BC\"\210\300\201n \201o \201p B\306\201q BD\"\207" [c-define-lang-constant c-typedef-decl-kwds (idl-mode) #[0 "\300\301\302\303\304!\305\"\"\207" [delete "exception" append c-get-lang-constant c-typedef-decl-kwds nil] 5] (c-mode c++-mode objc-mode idl-mode pike-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-typedef-decl-kwds ("typedef")] 3] t #[0 "\300\301\302!\301\303!\"\207" [append c-get-lang-constant c-class-decl-kwds c-brace-list-decl-kwds] 4] c-typedef-decl-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-typedef-decl-kwds] 4] c-using-kwds (c++-mode) #[0 "\300\207" [("using")] 1] #[0 "\300\207" [nil] 1] c-using-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-using-kwds] 4] c-no-type-kwds (c++-mode) #[0 "\300\207" [("auto")] 1] #[0 "\300\207" [nil] 1] c-no-type-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-no-type-kwds] 4] c-typeless-decl-kwds (pike-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-class-decl-kwds ("constant")] 3] (idl-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-typeless-decl-kwds ("factory" "finder" "native" "key" "stores" "facet")] 3] (c-mode) #[0 "\300\207" [nil] 1] #[0 "\300\301\302!\301\303!\"\207" [append c-get-lang-constant c-class-decl-kwds c-brace-list-decl-kwds] 4] c-equals-type-clause-kwds (c++-mode) #[0 "\300\207" [("using")] 1] #[0 "\300\207" [nil] 1] c-equals-type-clause-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-equals-type-clause-kwds] 4] c-equals-nontype-decl-kwds (c++-mode) #[0 "\300\207" [("concept")] 1] #[0 "\300\207" [nil] 1] c-equals-nontype-decl-key #[0 "\300\301!\205\f \302\303\300\301!\"\207" [c-get-lang-constant c-equals-nontype-decl-kwds c-make-keywords-re nil] 4] c-fun-name-substitute-kwds (c++-mode) #[0 "\300\207" [("requires")] 1] #[0 "\300\207" [nil] 1] c-fun-name-substitute-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-fun-name-substitute-kwds] 4] c-modifier-kwds (pike-mode) #[0 "\300\207" [("final" "inline" "local" "nomask" "optional" "private" "protected" "public" "static" "variant")] 1] (java-mode) #[0 "\300\207" [("abstract" "const" "default" "final" "native" "private" "protected" "public" "static" "strictfp" "synchronized" "transient" "volatile")] 1] (idl-mode) #[0 "\300\207" [("abstract" "attribute" "const" "consumes" "custom" "emits" "import" "in" "inout" "local" "multiple" "oneway" "out" "private" "provides" "public" "publishes" "readonly" "typeid" "typeprefix" "uses" "primary" "state" "bindsTo" "delegatesTo" "implements" "proxy" "storedOn")] 1] (objc-mode) #[0 "\300\207" [("auto" "bycopy" "byref" "extern" "in" "inout" "oneway" "out" "static")] 1] (c++-mode) #[0 "\300\301\302\303!\"\207" [append ("consteval" "constexpr" "constinit" "explicit" "friend" "mutable" "template" "thread_local" "virtual") c-get-lang-constant c-modifier-kwds] 4] (c-mode) #[0 "\300\301\302!B\207" ["auto" c-get-lang-constant c-modifier-kwds] 3] (c-mode c++-mode) #[0 "\300\207" [("extern" "inline" "register" "static")] 1] #[0 "\300\207" [nil] 1] c-other-decl-kwds (pike-mode) #[0 "\300\207" [("import" "inherit")] 1] (java-mode) #[0 "\300\207" [("import" "package")] 1] (objc-mode) #[0 "\300\207" [("@class" "@defs" "@end" "@property" "@dynamic" "@synthesize" "@compatibility_alias")] 1] (c++-mode) #[0 "\300\207" [("export")] 1] #[0 "\300\207" [nil] 1] c-decl-start-kwds (pike-mode) #[0 "\300\207" [("class")] 1] #[0 "\300\207" [nil] 1] c-decl-hangon-kwds (c++-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-decl-hangon-kwds ("alignas")] 3] (c-mode c++-mode) #[0 "\300\207" [("__attribute__" "__declspec")] 1] #[0 "\300\207" [nil] 1] c-decl-hangon-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-decl-hangon-kwds] 4] c-prefix-spec-kwds #[0 "\300\301\302\303!\302\304!\302\305!\302\306!\302\307!\302\310!\302\311!\302\312!\302\313!&	\314\315#\207" [cl-delete-duplicates append c-get-lang-constant c-class-decl-kwds c-brace-list-decl-kwds c-other-block-decl-kwds c-typedef-decl-kwds c-typeless-decl-kwds c-modifier-kwds c-other-decl-kwds c-decl-start-kwds c-decl-hangon-kwds :test string-equal] 12] c-prefix-spec-kwds-re #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-prefix-spec-kwds] 4] c-specifier-key #[0 "\300\301\302\303\304!\305\303\306!\303\307!\"\310\311$\"\207" [c-make-keywords-re t cl-set-difference c-get-lang-constant c-prefix-spec-kwds append c-type-start-kwds c-<>-arglist-kwds :test string-equal] 8] c-postfix-spec-kwds #[0 "\300\301\302!\301\303!\"\207" [append c-get-lang-constant c-postfix-decl-spec-kwds c-decl-hangon-kwds] 4] c-not-decl-init-keywords #[0 "\300\301\302\303\304!\305\303\306!\303\307!\303\310!#\311\312$\"\207" [c-make-keywords-re t cl-set-difference c-get-lang-constant c-keywords append c-type-start-kwds c-prefix-spec-kwds c-typeof-kwds :test string-equal] 9] c-not-primitive-type-keywords (c++-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-not-primitive-type-keywords ("more")] 3] #[0 "\300\301\302!\301\303!\304\305$\207" [cl-set-difference c-get-lang-constant c-keywords c-primitive-type-kwds :test string-equal] 5] c-not-primitive-type-keywords-regexp #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-not-primitive-type-keywords] 4] c-protection-kwds (objc-mode) #[0 "\300\207" [("@private" "@protected" "@package" "@public" "@required" "@optional")] 1] (c++-mode) #[0 "\300\207" [("private" "protected" "public")] 1] #[0 "\300\207" [nil] 1] c-protection-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-protection-kwds] 4] c-post-protection-token (c++-mode) #[0 "\300\207" [#1=":"] 1 #1#] #[0 "\300\207" [nil] 1]] 11)
(byte-code "\300\301\302\303B\304\305B\306\307BE\"\210\300\310\306\311BC\"\210\300\312\313\314B\315\316B\306\317BE\"\210\300\320\306\321BC\"\210\300\322\323\324B\306\325BD\"\210\300\326\327\330B\306\331BD\"\210\300\332\306\333BC\"\210\300\334\335\336B\337\340B\341\342B\343\344B\345\346B\306\347B\257\"\210\300\350\351\352B\353\354B\355\356B\357\360B\306\361B\257\"\210\300\362\363\364B\365\366B\306\367BE\"\210\300\370\306\371BC\"\210\300\372\306\373BC\"\210\300\374\375\376B\377\201@ B\306\201A BE\"\210\300\201B \306\201C BC\"\210\300\201D \201E \201F B\201G \201H B\201I \201J B\201K \201L B\306\201M B\257\"\210\300\201N \306\201O BC\"\210\300\201P \201Q \201R B\201S \201T B\306\201U BE\"\210\300\201V \201W \201X B\306\201Y BD\"\210\300\201Z \306\201[ BC\"\210\300\201\\ \201] \201^ B\201_ \201` B\306\201a BE\"\210\300\201b \306\201c BC\"\210\300\201d \306\201e BC\"\210\300\201f \201g \201h B\306\201i BD\"\210\300\201j \306\201k BC\"\210\300\201l \306\201m BC\"\210\300\201n \201o \201p B\201q \201r B\201s \201t B\201u \201v B\306\201w B\257\"\207" [c-define-lang-constant c-block-decls-with-vars (c++-mode) #[0 "\300\207" [("class" "struct" "union" "enum" "typedef")] 1] (c-mode objc-mode) #[0 "\300\207" [("struct" "union" "enum" "typedef")] 1] t #[0 "\300\207" [nil] 1] c-opt-block-decls-with-vars-key #[0 "\300\301!\205\f \302\303\300\301!\"\207" [c-get-lang-constant c-block-decls-with-vars c-make-keywords-re t] 4] c-postfix-decl-spec-kwds (idl-mode) #[0 "\300\207" [("context" "getraises" "manages" "primarykey" "raises" "setraises" "supports" "as" "const" "implements" "of" "ref")] 1] (java-mode) #[0 "\300\207" [("extends" "implements" "throws")] 1] #[0 "\300\207" [nil] 1] c-postfix-decl-spec-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-postfix-decl-spec-kwds] 4] c-nonsymbol-sexp-kwds (c-mode c++-mode objc-mode) #[0 "\300\207" [("extern")] 1] #[0 "\300\207" [nil] 1] c-make-top-level-kwds (c-mode c++-mode objc-mode) #[0 "\300\207" [("extern")] 1] #[0 "\300\207" [nil] 1] c-make-top-level-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-make-top-level-kwds] 4] c-type-list-kwds (pike-mode) #[0 "\300\207" [("inherit")] 1] (idl-mode) #[0 "\300\207" [("manages" "native" "primarykey" "supports" "as" "implements" "of" "scope")] 1] (java-mode) #[0 "\300\207" [("import" "new" "extends" "super" "implements" "throws")] 1] (objc-mode) #[0 "\300\207" [("@class")] 1] (c++-mode) #[0 "\300\207" [("operator")] 1] #[0 "\300\207" [nil] 1] c-ref-list-kwds (pike-mode) #[0 "\300\207" [("import")] 1] (idl-mode) #[0 "\300\207" [("import" "module" "composition")] 1] (java-mode) #[0 "\300\207" [("package")] 1] (c++-mode) #[0 "\300\207" [("namespace")] 1] #[0 "\300\207" [nil] 1] c-colon-type-list-kwds (idl-mode) #[0 "\300\207" [("component" "eventtype" "home" "interface" "valuetype" "storagehome" "storagetype")] 1] (c++-mode) #[0 "\300\207" [("class" "struct")] 1] #[0 "\300\207" [nil] 1] c-colon-type-list-re #[0 "\300\301!\205 \300\302!\203 \303\300\302!\304Q\207\305\207" [c-get-lang-constant c-colon-type-list-kwds c-opt-identifier-concat-key "\\([^][{}();,/#=:]\\|" "\\)*:" "[^][{}();,/#=:]*:"] 3] c-sub-colon-type-list-re #[0 "\300\301!\205\f \300\301!\302\303O\207" [c-get-lang-constant c-colon-type-list-re 0 -1] 3] c-paren-nontype-kwds (c++-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-paren-nontype-kwds ("noexcept" "alignas")] 3] (c-mode c++-mode) #[0 "\300\207" [("__attribute__" "__declspec")] 1] #[0 "\300\207" [nil] 1] c-paren-nontype-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-paren-nontype-kwds] 4] c-paren-type-kwds (pike-mode) #[0 "\300\207" [("array" "function" "int" "mapping" "multiset" "object" "program")] 1] (idl-mode) #[0 "\300\207" [("switch")] 1] (objc-mode) #[0 "\300\207" [("@defs")] 1] (c++-mode) #[0 "\300\207" [("throw")] 1] #[0 "\300\207" [nil] 1] c-paren-any-kwds #[0 "\300\301\302\303!\302\304!\"\305\306#\207" [cl-delete-duplicates append c-get-lang-constant c-paren-nontype-kwds c-paren-type-kwds :test string-equal] 5] c-<>-type-kwds (idl-mode) #[0 "\300\207" [("sequence" "ref")] 1] (objc-mode) #[0 "\300\207" [("id")] 1] #[0 "\300\207" [nil] 1] c-pre-concept-<>-kwds (c++-mode) #[0 "\300\207" [("template")] 1] #[0 "\300\207" [nil] 1] c-pre-concept-<>-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-pre-concept-<>-kwds] 4] c-<>-arglist-kwds (idl-mode) #[0 "\300\207" [("fixed" "string" "wstring")] 1] (c++-mode) #[0 "\300\207" [("template" "const_cast" "dynamic_cast" "reinterpret_cast" "static_cast")] 1] #[0 "\300\207" [nil] 1] c-<>-sexp-kwds #[0 "\300\301\302\303!\302\304!\302\305!#\306\307#\207" [cl-delete-duplicates append c-get-lang-constant c-<>-type-kwds c-<>-arglist-kwds c-import-<>-kwds :test string-equal] 6] c-opt-<>-sexp-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-<>-sexp-kwds] 4] c-inside-<>-type-kwds (java-mode) #[0 "\300\207" [("extends" "super")] 1] #[0 "\300\207" [nil] 1] c-inside-<>-type-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-inside-<>-type-kwds] 4] c-brace-id-list-kwds #[0 "\300\301!\207" [c-get-lang-constant c-brace-list-decl-kwds] 2] c-block-stmt-1-kwds (idl-mode) #[0 "\300\207" [nil] 1] (java-mode) #[0 "\300\207" [("do" "else" "finally" "try")] 1] (objc-mode) #[0 "\300\207" [("do" "else" "@finally" "@try" "@autoreleasepool")] 1] (c++-mode) #[0 "\300\207" [("do" "else" "try")] 1] #[0 "\300\207" [("do" "else")] 1]] 9)
(byte-code "\300\301\302\303BC\"\210\300\304\305\306B\302\307BD\"\210\300\310\302\311BC\"\210\300\312\313\314B\315\316B\317\320B\321\322B\323\324B\325\326B\302\327B\257\"\210\300\330\302\331BC\"\210\300\332\302\333BC\"\210\300\334\335\336B\302\337BD\"\210\300\340\302\341BC\"\210\300\342\302\343BC\"\210\300\344\345\346B\347\350B\351\352B\353\354B\355\356B\357\360B\302\361B\257\"\210\300\362\302\363BC\"\210\300\364\365\366B\302\367BD\"\210\300\370\302\371BC\"\210\300\372\373\374B\302\375BD\"\210\300\376\302\377BC\"\210\300\201@ \302\201A BC\"\210\300\201B \302\201C BC\"\210\300\201D \302\201E BC\"\210\300\201F \302\201G BC\"\210\300\201H \201I \201J B\201K \201L B\201M \201N B\302\201O BF\"\210\300\201P \201Q \201R B\302\201S BD\"\210\300\201T \201U \201V B\302\201W BD\"\210\300\201X \302\201Y BC\"\210\300\201Z \201[ \201\\ B\201] \201^ B\201_ \201` B\201a \201b B\201c \201d B\201e \201f B\302\201g B\257\"\210\300\201h \302\201i BC\"\210\300\201j \201k \201l B\201m \201n B\201o \201p B\201q \201r B\302\201s B\257\"\207" [c-define-lang-constant c-block-stmt-1-key t #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-block-stmt-1-kwds] 4] c-block-stmt-1-2-kwds (java-mode) #[0 "\300\207" [("try")] 1] #[0 "\300\207" [nil] 1] c-block-stmt-1-2-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-block-stmt-1-2-kwds] 4] c-block-stmt-2-kwds (awk-mode) #[0 "\300\207" [("for" "if" "switch" "while")] 1] (pike-mode) #[0 "\300\207" [("for" "if" "switch" "while" "foreach")] 1] (idl-mode) #[0 "\300\207" [nil] 1] (java-mode) #[0 "\300\207" [("for" "if" "switch" "while" "catch" "synchronized")] 1] (objc-mode) #[0 "\300\207" [("for" "if" "switch" "while" "@catch" "@synchronized")] 1] (c++-mode) #[0 "\300\207" [("for" "if" "switch" "while" "catch")] 1] #[0 "\300\207" [("for" "if" "switch" "while")] 1] c-block-stmt-2-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-block-stmt-2-kwds] 4] c-block-stmt-kwds #[0 "\300\301\302\303!\302\304!\"\305\306#\207" [cl-delete-duplicates append c-get-lang-constant c-block-stmt-1-kwds c-block-stmt-2-kwds :test string-equal] 5] c-block-stmt-hangon-kwds (c++-mode) #[0 "\300\207" [("constexpr")] 1] #[0 "\300\207" [nil] 1] c-block-stmt-hangon-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-block-stmt-hangon-kwds] 4] c-opt-block-stmt-key #[0 "\300\301!\204\f \300\302!\205 \303\304\305\300\301!\300\302!\"\"\207" [c-get-lang-constant c-block-stmt-1-kwds c-block-stmt-2-kwds c-make-keywords-re t append] 6] c-simple-stmt-kwds (awk-mode) #[0 "\300\207" [("break" "continue" "return" "delete" "exit" "getline" "next" "nextfile" "print" "printf")] 1] (pike-mode) #[0 "\300\207" [("break" "continue" "return")] 1] (idl-mode) #[0 "\300\207" [nil] 1] (java-mode) #[0 "\300\207" [("break" "continue" "goto" "return" "throw")] 1] (objc-mode) #[0 "\300\207" [("break" "continue" "goto" "return" "@throw")] 1] (c++-mode) #[0 "\300\207" [("break" "continue" "goto" "return" "co_return")] 1] #[0 "\300\207" [("break" "continue" "goto" "return")] 1] c-simple-stmt-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-simple-stmt-kwds] 4] c-paren-stmt-kwds (idl-mode) #[0 "\300\207" [nil] 1] #[0 "\300\207" [("for")] 1] c-paren-stmt-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-paren-stmt-kwds] 4] c-asm-stmt-kwds (c-mode c++-mode) #[0 "\300\207" [("asm" "__asm__")] 1] #[0 "\300\207" [nil] 1] c-opt-asm-stmt-key #[0 "\300\301!\205\f \302\303\300\301!\"\207" [c-get-lang-constant c-asm-stmt-kwds c-make-keywords-re t] 4] c-case-kwds #[0 "\300\207" [("case")] 1] c-case-kwds-regexp #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-case-kwds] 4] c-label-kwds #[0 "\300\207" [("case" "default")] 1] c-label-kwds-regexp #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-label-kwds] 4] c-before-label-kwds (awk-mode) #[0 "\300\207" [nil] 1] (idl-mode) #[0 "\300\207" [nil] 1] (java-mode pike-mode) #[0 "\300\301\302\303!\"\207" [append ("break" "continue") c-get-lang-constant c-before-label-kwds] 4] #[0 "\300\207" [("goto")] 1] c-import-<>-kwds (c++-mode) #[0 "\300\207" [("import")] 1] #[0 "\300\207" [nil] 1] c-module-kwds (c++-mode) #[0 "\300\207" [("module" "import" "export")] 1] #[0 "\300\207" [nil] 1] c-module-key #[0 "\300\301!\205\f \302\303\300\301!\"\207" [c-get-lang-constant c-module-kwds c-make-keywords-re t] 4] c-constant-kwds (pike-mode) #[0 "\300\207" [("UNDEFINED")] 1] (java-mode) #[0 "\300\207" [("true" "false" "null")] 1] (idl-mode) #[0 "\300\207" [("TRUE" "FALSE")] 1] (objc-mode) #[0 "\300\207" [("nil" "Nil" "YES" "NO" "IBAction" "IBOutlet" "NS_DURING" "NS_HANDLER" "NS_ENDHANDLER")] 1] (c++-mode) #[0 "\300\301\302\303\304#B\207" ["nullptr" c-get-lang-constant c-constant-kwds nil c-mode] 5] (c-mode) #[0 "\300\207" [("NULL" "false" "true")] 1] #[0 "\300\207" [nil] 1] c-constant-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-constant-kwds] 4] c-primary-expr-kwds (pike-mode) #[0 "\300\207" [("this")] 1] (java-mode) #[0 "\300\207" [("this")] 1] (objc-mode) #[0 "\300\207" [("super" "self")] 1] (c++-mode) #[0 "\300\207" [("operator" "this")] 1] #[0 "\300\207" [nil] 1]] 10)
(byte-code "\300\301\302\303BC\"\210\300\304\305\306B\302\307BD\"\210\300\310\311\312B\302\313BD\"\210\300\314\315\316B\317\320B\302\321BE\"\210\300\322\323\324B\302\325BD\"\210\300\326\302\327BC\"\210\300\330\302\331BC\"\210\300\332\302\333BC\"\210\300\334\302\335BC\"\210\300\336\302\337BC\"\210\300\340\341\342B\302\343BD\"\210\300\344\345\346B\302\347BD\"\210\300\350\351\352B\302\353BD\"\210\300\354\355\356B\357\360B\361\362B\302\363BF\"\207" [c-define-lang-constant c-expr-kwds t #[0 "\300\301\302\303!\304\302\305!\306\307#\"\310\311#\207" [cl-delete-duplicates append c-get-lang-constant c-primary-expr-kwds c-filter-ops c-operator-list t "\\`\\(\\w\\|\\s_\\)+\\'" :test string-equal] 7] c-lambda-kwds (pike-mode) #[0 "\300\207" [("lambda")] 1] #[0 "\300\207" [nil] 1] c-inexpr-block-kwds (pike-mode) #[0 "\300\207" [("catch" "gauge")] 1] #[0 "\300\207" [nil] 1] c-inexpr-class-kwds (pike-mode) #[0 "\300\207" [("class")] 1] (java-mode) #[0 "\300\207" [("new")] 1] #[0 "\300\207" [nil] 1] c-inexpr-brace-list-kwds (java-mode) #[0 "\300\207" [("new")] 1] #[0 "\300\207" [nil] 1] c-opt-inexpr-brace-list-key #[0 "\300\301!\205\f \302\303\300\301!\"\207" [c-get-lang-constant c-inexpr-brace-list-kwds c-make-keywords-re t] 4] c-flat-decl-block-kwds #[0 "\300\301\302\303!\302\304!\302\305!#\306\307#\207" [cl-delete-duplicates append c-get-lang-constant c-class-decl-kwds c-other-block-decl-kwds c-inexpr-class-kwds :test string-equal] 6] c-brace-stack-thing-key #[0 "\300\301\302\303\304!\303\305!\203 \306\202 \307\"\"\207" [c-make-keywords-re appendable append c-get-lang-constant c-flat-decl-block-kwds c-recognize-<>-arglists ("{" "}" ";" "*" "," ")" ":" "<") ("{" "}" ";" "*" "," ")" ":")] 6] c-brace-stack-no-semi-key #[0 "\300\301\302\303\304!\303\305!\203 \306\202 \307\"\"\207" [c-make-keywords-re appendable append c-get-lang-constant c-flat-decl-block-kwds c-recognize-<>-arglists ("{" "}" "<") ("{" "}")] 6] c-decl-block-key #[0 "\300\301\302!\301\303!\301\304!#\305\301\306!\307\310$\311\301\306!\307\310$\211\203* \312\313\"\314\312\313\"Q\207\312\313\"\207" [append c-get-lang-constant c-class-decl-kwds c-other-block-decl-kwds c-inexpr-class-kwds cl-set-difference c-type-start-kwds :test string-equal cl-intersection c-make-keywords-re t "\\|"] 8] c-bitfield-kwds (c-mode c++-mode objc-mode) #[0 "\300\207" [("char" "int" "long" "signed" "unsigned")] 1] #[0 "\300\207" [nil] 1] c-opt-bitfield-key (c-mode c++-mode) #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-bitfield-kwds] 4] #[0 "\300\207" [nil] 1] c-other-kwds (idl-mode) #[0 "\300\207" [("truncatable" "entity" "process" "service" "session" "storage")] 1] #[0 "\300\207" [nil] 1] c-std-abbrev-keywords (idl-mode) #[0 "\300\207" [nil] 1] (java-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-std-abbrev-keywords ("catch" "finally")] 3] (c++-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-std-abbrev-keywords ("catch")] 3] #[0 "\300\207" [("else" "while")] 1]] 7)
(defconst c-kwds-lang-consts (byte-code "\301C\302\303\304\"\"\210\211\242\207" [c-lang-constants nil mapatoms make-closure #[257 "\301!\205 \302\303\304!\"\205 \300\305\304!!\300\242B\240\207" [V0 boundp string-match "-kwds\\'" symbol-name intern] 5 "\n\n(fn SYM)"]] 5))
(byte-code "\300\301\302\303BC\"\210\300\304\302\305BC\"\210\300\306\302\307BC\"\210\300\310\302\311BC\"\210\300\312\302\313BC\"\210\300\314\302\315BC\"\210\300\316\302\317BC\"\210\300\320\302\321BC\"\210\300\322\302\323BC\"\210\300\324\302\325BC\"\210\300\326\302\327BC\"\210\300\330\331\332B\302\333BD\"\210\300\334\335\336B\337\340B\341\342B\343\344B\302\345B\257\"\210\300\346\302\347BC\"\210\300\350\302\351BC\"\210\300\352\302\353BC\"\210\300\354\302\355BC\"\210\300\356\357\360B\361\362B\363\364B\365\366B\302\367B\302\370B\257\"\210\300\371\302\372BC\"\210\300\373\302\374BC\"\210\300\375\376\377B\302\201@ BD\"\210\300\201A \201B \201C B\201D \201E B\201F \201G B\302\201H BF\"\210\300\201I \201J \201K B\201L \201M B\201N \201O B\302\201P BF\"\210\300\201Q \201R \201S B\201T \201U B\201V \201W B\302\201X BF\"\210\300\201Y \201Z \201[ B\302\201\\ B\302\201] BE\"\210\300\201^ \302\201_ BC\"\210\300\201` \201a \201b B\302\201c BD\"\210\300\201d \201e \201f B\201g \201h B\302\201i BE\"\210\300\201j \201k \201l B\302\201m BD\"\207" [c-define-lang-constant c-keywords t #[0 "\300\301\302\303!\302\304!\302\305!\302\306!\302\307!\302\310!\302\311!\302\312!\302\313!\302\314!\302\315!\302\316!\302\317!\302\320!\302\321!\302\322!\302\323!\302\324!\302\325!\302\326!\302\327!\302\330!\302\331!\302\332!\302\333!\302\334!\302\335!\302\336!\302\337!\302\340!\302\341!\302\342!\302\343!\302\344!\302\345!\302\346!\302\347!\302\350!\302\351!\302\352!\302\353!\302\354!\302\355!\302\356!\302\357!\302\360!\302\361!\302\362!\302\363!\302\364!\302\365!\302\366!\302\367!\302\370!\302\371!\302\372!\302\373!\302\374!\302\375!\302\376!\302\377!\302\201@ !\302\201A !\302\201B !\302\201C !\302\201D !\302\201E !\302\201F !\302\201G !\302\201H !\201I &G\201J \201K #\207" [cl-delete-duplicates append c-get-lang-constant c-ref-list-kwds c-other-decl-kwds c-prefix-spec-kwds c-block-stmt-hangon-kwds c-before-label-kwds c-class-id-suffix-ws-ids-kwds c-other-block-decl-kwds c-type-list-kwds c-other-kwds c-primitive-type-kwds c-simple-stmt-kwds c-flat-decl-block-kwds c-decl-start-kwds c-constant-kwds c-block-stmt-kwds c-inexpr-brace-list-kwds c-typeof-kwds c-paren-any-kwds c-type-decl-suffix-ws-ids-kwds c-typedef-kwds c-type-modifier-prefix-kwds c-fun-name-substitute-kwds c-modifier-kwds c-typedef-decl-kwds c-label-kwds c-defun-type-name-decl-kwds c-using-kwds c-equals-type-clause-kwds c-self-contained-typename-kwds c-protection-kwds c-block-stmt-1-kwds c-return-kwds c-<>-arglist-kwds c-expr-kwds c-asm-stmt-kwds c-primitive-type-prefix-kwds c-type-start-kwds c-bitfield-kwds c-paren-type-kwds c-brace-list-decl-kwds c-paren-stmt-kwds c-inexpr-class-kwds c-typeless-decl-kwds c-no-type-kwds c-postfix-decl-spec-kwds c-colon-type-list-kwds c-<>-sexp-kwds c-template-typename-kwds c-decl-hangon-kwds c-import-<>-kwds c-brace-id-list-kwds c-case-kwds c-after-brace-list-decl-kwds c-<>-type-kwds c-class-decl-kwds c-postfix-spec-kwds c-pre-concept-<>-kwds c-block-stmt-2-kwds c-block-stmt-1-2-kwds c-nonsymbol-sexp-kwds c-paren-nontype-kwds c-type-modifier-kwds c-inside-<>-type-kwds c-type-prefix-kwds c-inexpr-block-kwds c-lambda-kwds c-equals-nontype-decl-kwds c-make-top-level-kwds c-module-kwds c-primary-expr-kwds nil :test string-equal] 73] c-keywords-regexp #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-keywords] 4] c-stmt-block-only-keywords #[0 "\300\301\302!\303\301\304!\301\305!\306\307!\205 \310\301\311!\301\312!\301\313!\306\307!\205\" \314\306\315!\205) \316\301\317!\301\320!\301\321!&\322\323$\207" [cl-set-difference c-get-lang-constant c-keywords append c-primary-expr-kwds c-constant-kwds c-lang-major-mode-is c++-mode ("typeid" "dynamic_cast" "static_cast" "const_cast" "reinterpret_cast" "alignof") c-type-modifier-prefix-kwds c-overloadable-operators c-template-typename-kwds ("reflexpr") (c-mode c++-mode) ("sizeof") c-pre-lambda-tokens c-block-decls-with-vars c-primitive-type-kwds :test string-equal] 15] c-stmt-block-only-keywords-regexp #[0 "\300\301\302!\303\304\305\301\306!\"R\207" ["\\(^\\|\\=\\|[^" c-get-lang-constant c-symbol-chars "]\\)" c-make-keywords-re t c-stmt-block-only-keywords] 7] c-keyword-member-alist #[0 "\300\301\300!B\302\301\302!B\303\301\303!B\304\301\304!B\305\301\305!B\306\301\306!B\307\301\307!B\310\301\310!B\311\301\311!B\312\301\312!B\313\301\313!B\314\301\314!B\315\301\315!B\316\301\316!B\317\301\317!B\320\301\320!B\321\301\321!B\322\301\322!B\323\301\323!B\324\301\324!B\325\301\325!B\326\301\326!B\327\301\327!B\330\301\330!B\331\301\331!B\332\301\332!B\333\301\333!B\334\301\334!B\335\301\335!B\336\301\336!B\337\301\337!B\340\301\340!B\341\301\341!B\342\301\342!B\343\301\343!B\344\301\344!B\345\301\345!B\346\301\346!B\347\301\347!B\350\301\350!B\351\301\351!B\352\301\352!B\353\301\353!B\354\301\354!B\355\301\355!B\356\301\356!B\357\301\357!B\360\301\360!B\361\301\361!B\362\301\362!B\363\301\363!B\364\301\364!B\365\301\365!B\366\301\366!B\367\301\367!B\370\301\370!B\371\301\371!B\372\301\372!B\373\301\373!B\374\301\374!B\375\301\375!B\376\301\376!B\377\301\377!B\201@ \301\201@ !B\201A \301\201A !B\201B \301\201B !B\201C \301\201C !B\201D \301\201D !B\201E \301\201E !B\201F \301\201F !B\257F\201G \211\211\211\211\203\307@@\262@A\262A\262\203\203@\262A\262\201H \"\211\262\204\266C\211\262B\262A>\204\225\211AB\241\210\202\225\207" [c-ref-list-kwds c-get-lang-constant c-other-decl-kwds c-prefix-spec-kwds c-block-stmt-hangon-kwds c-before-label-kwds c-class-id-suffix-ws-ids-kwds c-other-block-decl-kwds c-type-list-kwds c-other-kwds c-primitive-type-kwds c-simple-stmt-kwds c-flat-decl-block-kwds c-decl-start-kwds c-constant-kwds c-block-stmt-kwds c-inexpr-brace-list-kwds c-typeof-kwds c-paren-any-kwds c-type-decl-suffix-ws-ids-kwds c-typedef-kwds c-type-modifier-prefix-kwds c-fun-name-substitute-kwds c-modifier-kwds c-typedef-decl-kwds c-label-kwds c-defun-type-name-decl-kwds c-using-kwds c-equals-type-clause-kwds c-self-contained-typename-kwds c-protection-kwds c-block-stmt-1-kwds c-return-kwds c-<>-arglist-kwds c-expr-kwds c-asm-stmt-kwds c-primitive-type-prefix-kwds c-type-start-kwds c-bitfield-kwds c-paren-type-kwds c-brace-list-decl-kwds c-paren-stmt-kwds c-inexpr-class-kwds c-typeless-decl-kwds c-no-type-kwds c-postfix-decl-spec-kwds c-colon-type-list-kwds c-<>-sexp-kwds c-template-typename-kwds c-decl-hangon-kwds c-import-<>-kwds c-brace-id-list-kwds c-case-kwds c-after-brace-list-decl-kwds c-<>-type-kwds c-class-decl-kwds c-postfix-spec-kwds c-pre-concept-<>-kwds c-block-stmt-2-kwds c-block-stmt-1-2-kwds c-nonsymbol-sexp-kwds c-paren-nontype-kwds c-type-modifier-kwds c-inside-<>-type-kwds c-type-prefix-kwds c-inexpr-block-kwds c-lambda-kwds c-equals-nontype-decl-kwds c-make-top-level-kwds c-module-kwds c-primary-expr-kwds nil assoc] 72] c-regular-keywords-regexp #[0 "\300\301\302\303\304!\305\303\306!\303\307!\"\310\311$\"\207" [c-make-keywords-re t cl-set-difference c-get-lang-constant c-keywords append c-primitive-type-kwds c-constant-kwds :test string-equal] 8] c-primary-expr-regexp-details #[0 "\301\302\303!\304\305#\301\302\303!\306\307#\301\302\303!\310\311#\301\311\312#\301\311\312#\301\311\313#\314\315\316\317$\316\317$\314\316\317$\315\316\317$\314\211\316\317$\316\317$\320\311\321\302\322!\314\f\316\317$\"\"\323!\320\324\"\323!\320\324\"\323!\325\\\211T\\\211T\\\326	\327	\330	\331\302\332!\333\320\324\"\334\335>\203\224 \336\202\225 \337\260\fF\207" [c-emacs-features c-filter-ops c-get-lang-constant c-operators (prefix) #[257 "\300\301\"?\207" [string-match "\\s)"] 4 "\n\n(fn OP)"] (postfix) #[257 "\300\301\"?\207" [string-match "\\s)"] 4 "\n\n(fn OP)"] (postfix postfix-if-paren left-assoc right-assoc right-assoc-sequence) t "\\`\\(\\s.\\|\\s(\\|\\s)\\)+\\'" "\\`\\s(\\'" cl-set-difference cl-intersection :test string-equal c-make-keywords-re append c-primary-expr-kwds regexp-opt-depth nil 2 "\\(" "\\|\\(" "\\)\\|\\(" "\\)\\|\\((\\)\\)\\|" c-symbol-start "\\|\\.?[0-9]\\|" "\\|\\s\"" gen-string-delim "\\|\\s|" #9=""] 32] c-primary-expr-regexp #[0 "\300\301!@\207" [c-get-lang-constant c-primary-expr-regexp-details] 2] c-per-++---match #[0 "\300\301!A@\207" [c-get-lang-constant c-primary-expr-regexp-details] 2] c-per-&*+--match #[0 "\300\301!AA@\207" [c-get-lang-constant c-primary-expr-regexp-details] 2] c-per-\(-match #[0 "\300\301!AAA@\207" [c-get-lang-constant c-primary-expr-regexp-details] 2] c-decl-start-colon-kwd-re (c++-mode) #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-protection-kwds] 4] #[0 "\207" [regexp-unmatchable] 1] c-decl-prefix-re (pike-mode) #[0 "\300\207" [#1="\\([{}()[;,]+\\)"] 1 #1#] (objc-mode) #[0 "\300\301\302\303\304!\"\305Q\207" ["\\([{}();,]+\\|" c-make-keywords-re nil c-get-lang-constant c-protection-kwds "\\)"] 5] (c++-mode) #[0 "\300\207" [#2="\\([{}();:,<]+\\)"] 1 #2#] (java-mode) #[0 "\300\207" [#3="\\([{}(;,<]+\\)"] 1 #3#] #[0 "\300\207" [#4="\\([{}();,]+\\)"] 1 #4#] c-decl-start-re #[0 "\300\301!\207" [c-get-lang-constant c-identifier-start] 2] c-decl-prefix-or-start-re #[0 "\300\301!\203 \300\302!\203 \300\303!\304\300\302!\304\305\306\300\301!\"\260\207\300\301!\203/ \300\303!\304\305\306\300\301!\"Q\207\300\302!\203> \300\303!\304\300\302!Q\207\300\303!\207" [c-get-lang-constant c-decl-start-kwds c-anchored-hash-define-no-parens c-decl-prefix-re "\\|" c-make-keywords-re t] 8] c-dposr-cpp-macro-depth #[0 "\300\301!\205\f \302\300\303!!T\207" [c-get-lang-constant c-anchored-hash-define-no-parens regexp-opt-depth c-decl-prefix-re] 3] c-cast-parens #[0 "\300\301\302!\303\304\305$\207" [c-filter-ops c-get-lang-constant c-operators (prefix) "\\`\\s(\\'" #[257 "\211\300\234\207" [0] 3 "\n\n(fn OP)"]] 5] c-block-prefix-disallowed-chars (c-mode c++-mode objc-mode) #[0 "\300\301\302!\303\"\207" [cl-set-difference c-get-lang-constant c-block-prefix-disallowed-chars (34 39)] 3] (java-mode pike-mode) #[0 "\300\301\302!\303\"\207" [cl-set-difference c-get-lang-constant c-block-prefix-disallowed-chars (40 41)] 3] (c++-mode java-mode) #[0 "\300\301\302!\303\"\207" [cl-set-difference c-get-lang-constant c-block-prefix-disallowed-chars (44)] 3] (c++-mode objc-mode idl-mode) #[0 "\300\301\302!\303\"\207" [cl-set-difference c-get-lang-constant c-block-prefix-disallowed-chars (58)] 3] #[0 "\300\301!\203 \302\300\303!\304\"\207\300\303!\207" [c-get-lang-constant c-opt-cpp-prefix cl-set-difference c-block-prefix-disallowed-chars (35)] 3] #[0 "\300\301\302!\303\304\301\305!\306\301\307!BC\"\310\211\311$\"\207" [cl-set-difference c-get-lang-constant c-nonsymbol-token-char-list c-filter-ops append c-identifier-ops nil c-after-id-concat-ops t #[257 "\300\301\302\303#\203 \304\224HB\262\300\225\262\202 \207" [0 nil string-match "\\(\\s.\\|\\s(\\|\\s)\\)" 1] 7 "\n\n(fn OP)"]] 8] c-block-prefix-charset #[0 "\300\301\302!\303\"\207" [c-make-bare-char-alt c-get-lang-constant c-block-prefix-disallowed-chars t] 3] c-type-decl-prefix-keywords-key #[0 "\300\301!\204\f \300\302!\205 \303\304\305\300\301!\300\302!\"\306\307#\310\"\311P\207" [c-get-lang-constant c-type-modifier-kwds c-modifier-kwds regexp-opt cl-delete-duplicates append :test string-equal t "\\>"] 6] c-maybe-typeless-specifier-re (c-mode) #[0 "\300\301!\207" [c-get-lang-constant c-type-decl-prefix-keywords-key] 2] #[0 "\300\301!\207" [c-get-lang-constant c-opt-type-modifier-prefix-key] 2] c-type-decl-prefix-key (pike-mode) #[0 "\300\207" [#5="\\(\\*\\)\\([^=]\\|$\\)"] 1 #5#] (c++-mode) #[0 "\300\301\302!\303\304\301\305!\306Q\307\260\207" ["\\(&&\\|\\.\\.\\.\\|[*(&~]\\)\\|\\(" c-get-lang-constant c-type-decl-prefix-keywords-key "\\|" "\\(" c-identifier-start "\\)" "\\)\\([^=_]\\|$\\)"] 6] (c-mode objc-mode) #[0 "\300\301\302!\303Q\207" ["\\([*(]\\)\\|" c-get-lang-constant c-type-decl-prefix-keywords-key "\\([^=_]\\|$\\)"] 3] #[0 "\300\301!\203 \302\300\301!\303Q\207\304\207" [c-get-lang-constant c-type-decl-prefix-keywords-key "\\(\\`a\\`\\)\\|" "\\([^_]\\|$\\)" "\\`a\\`"] 3] c-type-decl-operator-prefix-key (pike-mode) #[0 "\300\207" [#6="\\(\\*\\)\\([^=]\\|$\\)"] 1 #6#] (c++-mode) #[0 "\300\207" ["\\(\\.\\.\\.\\|\\*\\)\\([^=]\\|$\\)"] 1] (c-mode objc-mode) #[0 "\300\207" ["\\(\\*\\)\\([^=]\\|$\\)"] 1] #[0 "\207" [regexp-unmatchable] 1] c-type-decl-suffix-key (idl-mode) #[0 "\300\207" [#7="\\([[(]\\)"] 1 #7#] (java-mode) #[0 "\300\207" [#8="\\([[()]\\)"] 1 #8#] (c-mode c++-mode objc-mode) #[0 "\300\301\302!\203 \303\304\305\301\306!\301\302!\"\307\"\310Q\202 \311\312Q\207" ["\\([)[(]" c-get-lang-constant c-type-modifier-kwds "\\|" regexp-opt append c-fun-name-substitute-kwds t "\\>" #9# "\\)"] 7] #[0 "\300\301!\203 \302\303\300\301!\304\"\305Q\207\306\207" [c-get-lang-constant c-type-modifier-kwds "\\((\\|" regexp-opt t "\\>\\)" "\\((\\)"] 4] c-after-suffixed-type-decl-key (c++-mode) #[0 "\300\207" [#10="[{:]"] 1 #10#] #[0 "\300\301!\203 \300\302!\303\304\305\300\301!\"Q\207\300\302!\207" [c-get-lang-constant c-postfix-spec-kwds c-after-suffixed-type-decl-key "\\|" c-make-keywords-re t] 6] #[0 "\300\207" [#11="{"] 1 #11#] c-after-suffixed-type-maybe-decl-key #[0 "\300\301\302!\303Q\207" ["\\(" c-get-lang-constant c-after-suffixed-type-decl-key "\\)\\|[;,]"] 3] c-opt-type-concat-key (pike-mode) #[0 "\300\207" [#12="\\([|.&]\\)\\($\\|[^|.&]\\)"] 1 #12#] #[0 "\300\207" [nil] 1] c-opt-type-suffix-key (java-mode) #[0 "\300\301\302!\303Q\207" ["\\(\\[" c-get-lang-constant c-simple-ws "*\\]\\|\\.\\.\\.\\)"] 3] (c-mode c++-mode objc-mode pike-mode) #[0 "\300\207" [#13="\\(\\.\\.\\.\\)"] 1 #13#] #[0 "\300\207" [nil] 1] c-special-brace-lists (pike-mode) #[0 "\300\207" [((123 . 125) (91 . 93) (60 . 62))] 1] #[0 "\300\207" [nil] 1]] 9)
(byte-code "\300\301\302\303B\304\305BD\"\210\300\306\307\310B\304\311BD\"\210\300\312\304\313BC\"\210\300\314\315\316B\304\317BD\"\210\300\320\321\322B\304\323BD\"\210\300\324\325\326B\304\327BD\"\210\300\330\331\332B\304\333BD\"\210\300\334\304\335BC\"\210\300\336\337\340B\304\341BD\"\210\300\342\343\344B\304\345BD\"\210\300\346\347\350B\304\351BD\"\210\300\352\353\354B\304\355BD\"\210\300\356\304\357BC\"\210\300\360\304\361BC\"\210\300\362\363\364B\365\366B\304\367BE\"\210\300\370\371\372B\304\373BD\"\210\300\374\304\375BC\"\210\300\376\377\201@ B\201A \201B B\304\201C BE\"\210\300\201D \201E \201F B\201G \201H B\304\201I BE\"\210\300\201J \201K \201L B\304\201M BD\"\210\300\201N \201O \201P B\304\201Q BD\"\210\300\201R \201S \201T B\304\201U BD\"\210\300\201V \201W \201X B\304\201Y BD\"\210\300\201Z \201[ \201\\ B\304\201] BD\"\210\300\201^ \201_ \201` B\304\201a BD\"\207" [c-define-lang-constant c-recognize-knr-p (c-mode) #[0 "\300\207" [t] 1] t #[0 "\300\207" [nil] 1] c-pre-id-bracelist-kwds (c++-mode) #[0 "\300\207" [("new" "throw")] 1] #[0 "\300\207" [nil] 1] c-pre-id-bracelist-key #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-pre-id-bracelist-kwds] 4] c-pre-brace-non-bracelist-key (c++-mode) #[0 "\300\207" [#1="&&?\\(\\S.\\|$\\)"] 1 #1#] #[0 "\207" [regexp-unmatchable] 1] c-recognize-typeless-decls (c-mode c++-mode objc-mode java-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-recognize-<>-arglists (java-mode) #[0 "\300\207" [t] 1] #[0 "\300\301!:\206 \300\302!:\207" [c-get-lang-constant c-<>-type-kwds c-<>-arglist-kwds] 2] c-<>-notable-chars-re (c++-mode) #[0 "\300\207" [#2="[<;{},>()]"] 1 #2#] #[0 "\300\207" [#3="[<;{},|+&>)-]"] 1 #3#] c-enum-clause-introduction-re #[0 "\301\302!\203 \303\304\305\301\302!\"\306Q\207\207" [regexp-unmatchable c-get-lang-constant c-brace-list-decl-kwds "\\<\\(" c-make-keywords-re nil "\\)\\>[^][{};/#=]*{"] 5] c-enums-contain-decls (java-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-recognize-paren-inits (c++-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-recognize-bare-brace-inits (c++-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-recognize-paren-inexpr-blocks (c-mode c++-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-opt-<>-arglist-start #[0 "\300\301!\205 \302\300\303!\304\300\305!\306\260\207" [c-get-lang-constant c-recognize-<>-arglists "\\(" c-symbol-key "\\)" c-syntactic-ws "<"] 5] c-opt-<>-arglist-start-in-paren #[0 "\300\301!\205\f \302\300\301!\303Q\207" [c-get-lang-constant c-opt-<>-arglist-start "\\(" "\\)\\|\\s)"] 3] c-opt-postfix-decl-spec-key (java-mode) #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-postfix-spec-kwds] 4] (c++-mode) #[0 "\300\301\302!\303\301\302!\304\305\306\301\307!\"\310\301\302!\311\301\312!\310\260\207" [":?" c-get-lang-constant c-simple-ws "*\\(virtual" "+\\)?\\(" c-make-keywords-re nil c-protection-kwds "\\)" "+\\(" c-symbol-key] 11] #[0 "\300\207" [nil] 1] c-recognize-colon-labels (c-mode c++-mode objc-mode java-mode pike-mode) #[0 "\300\207" [t] 1] #[0 "\300\207" [nil] 1] c-label-prefix-re #[0 "\300\207" [#4="\\([{};]+\\)"] 1 #4#] c-nonlabel-token-key (c++-mode) #[0 "\300\301\302!P\207" ["\\s(\\|\"\\|" c-get-lang-constant c-nonlabel-token-key] 3] (c-mode objc-mode pike-mode idl-mode) #[0 "\300\301\302!P\207" ["\"\\|" c-get-lang-constant c-nonlabel-token-key] 3] #[0 "\300\301\302\303\304!\305\303\306!\303\307!\"\310\311$\"\260\207" [c-make-keywords-re t cl-set-difference c-get-lang-constant c-keywords append c-label-kwds c-protection-kwds :test string-equal] 8] c-nonlabel-nonparen-token-key (c++-mode) #[0 "\300\301\302!P\207" ["[{[]\\|\"\\|" c-get-lang-constant c-nonlabel-nonparen-token-key] 3] (c-mode objc-mode pike-mode idl-mode) #[0 "\300\301\302!P\207" ["\"\\|" c-get-lang-constant c-nonlabel-nonparen-token-key] 3] #[0 "\300\301\302\303\304!\305\303\306!\303\307!\"\310\311$\"\260\207" [c-make-keywords-re t cl-set-difference c-get-lang-constant c-keywords append c-label-kwds c-protection-kwds :test string-equal] 8] c-nonlabel-token-2-key (c++-mode) #[0 "\300\301\302\"\207" [c-make-keywords-re t ("class")] 3] #[0 "\207" [regexp-unmatchable] 1] c-opt-extra-label-key (objc-mode) #[0 "\300\301\302\303!\"\207" [c-make-keywords-re t c-get-lang-constant c-protection-kwds] 4] #[0 "\300\207" [nil] 1] c-opt-friend-key (c++-mode) #[0 "\300\301\302!\303\304\301\302!\305\301\302!\306\301\302!\307\260R\207" ["friend" c-get-lang-constant c-simple-ws "+\\|" "template" "*<.+>" "*friend" "+"] 10] #[0 "\300\207" [nil] 1] c-opt-method-key (objc-mode) #[0 "\300\301\302!\303\304\301\302!\305Q\306\301\307!\310\260\207" ["^\\s *\\([+-]\\)" c-get-lang-constant c-simple-ws "*" "\\(([^)]*)" "*\\)?" "\\(" c-symbol-key "\\)"] 7] #[0 "\300\207" [nil] 1] c-type-decl-end-used (objc-mode) #[0 "\300\207" [t] 1] #[0 "\300\301!\206 \300\302!\205 \303\207" [c-get-lang-constant c-recognize-colon-labels c-label-kwds t] 2] c-maybe-decl-faces (java-mode) #[0 "\300\301\302!\303\"\207" [append c-get-lang-constant c-maybe-decl-faces (font-lock-preprocessor-face)] 3] #[0 "\300\207" [(list nil font-lock-type-face c-reference-face-name font-lock-keyword-face)] 1]] 6)
(defconst c-lang-variable-inits '(nil (c-no-parens-syntax-table (and (c-lang-const c-make-no-parens-syntax-table) (funcall (eval (c-lang-const c-make-no-parens-syntax-table)))) nil) (c-identifier-syntax-modifications (c-lang-const c-identifier-syntax-modifications) "A list that describes the modifications that should be done to the\nmode syntax table to get a syntax table that matches all identifiers\nand keywords as words.\n\nThe list is just like the one used in `font-lock-defaults': Each\nelement is a cons where the car is the character to modify and the cdr\nthe new syntax, as accepted by `modify-syntax-entry'.") (c-identifier-syntax-table (let ((table (copy-syntax-table (c-mode-var "mode-syntax-table"))) (mods c-identifier-syntax-modifications) mod) (while mods (setq mod (car mods) mods (cdr mods)) (modify-syntax-entry (car mod) (cdr mod) table)) table) "Syntax table built on the mode syntax table but additionally\nclassifies symbol constituents like `_' and `$' as word constituents,\nso that all identifiers are recognized as words.") (c-get-state-before-change-functions (let ((fs (c-lang-const c-get-state-before-change-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called from c-before-change-hook.\nTypically these will record enough state to allow\n`c-before-font-lock-functions' to extend the region to fontify,\nand may do such things as removing text-properties which must be\nrecalculated.\n\nThese functions will be run in the order given.  Each of them\ntakes 2 parameters, the BEG and END supplied to every\nbefore-change function; on entry, the buffer will have been\nwidened and match-data will have been saved; point is undefined\non both entry and exit; the return value is ignored.\n\nThe functions are called even when font locking isn't enabled.\n\nWhen the mode is initialized, the functions are called with\nparameters (point-min) and (point-max).") (c-before-font-lock-functions (let ((fs (c-lang-const c-before-font-lock-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before font locking.\nTypically they will extend the region about to be fontified (see\nbelow) and will set `syntax-table' text properties on the region.\n\nThese functions will be run in the order given.  Each of them\ntakes 3 parameters, the BEG, END, and OLD-LEN supplied to every\nafter-change function; point is undefined on both entry and exit;\non entry, the buffer will have been widened and match-data will\nhave been saved; the return value is ignored.\n\nThe functions may extend the region to be fontified by setting the\nbuffer local variables c-new-BEG and c-new-END.\n\nThe functions are called even when font locking is disabled.\n\nWhen the mode is initialized, these functions are called with\nparameters (point-min), (point-max) and <buffer size>.") (c-before-context-fontification-functions (let ((fs (c-lang-const c-before-context-fontification-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before context (or\nother non-change) fontification is done.  Typically they will\nextend the region.\n\nThese functions will be run in the order given.  Each of them\ntakes 2 parameters, the BEG and END of the region to be\nfontified.  Point is undefined on both entry and exit.  On entry,\nthe buffer will have been widened and match-data will have been\nsaved; the return value is a cons of the adjusted\nregion, (NEW-BEG . NEW-END).") (c-at-vsemi-p-fn (c-lang-const c-at-vsemi-p-fn) "Contains a function \"Is there a virtual semicolon at POS or point?\".\nSuch a function takes one optional parameter, a buffer position (defaults to\npoint), and returns nil or t.  This variable contains nil for languages which\ndon't have EOL terminated statements. ") (c-vsemi-status-unknown-p-fn (c-lang-const c-vsemi-status-unknown-p-fn) "A function \"are we unsure whether there is a virtual semicolon on this line?\".\nThe (admittedly kludgy) purpose of such a function is to prevent an infinite\nrecursion in c-beginning-of-statement-1 when point starts at a `while' token.\nThe function MUST NOT UNDER ANY CIRCUMSTANCES call `c-beginning-of-statement-1',\neven indirectly.  This variable contains nil for languages which don't have\nEOL terminated statements.") (c-has-bitfields (c-lang-const c-has-bitfields) "Whether the language has bitfield declarations.") (c-single-quotes-quote-strings (c-lang-const c-single-quotes-quote-strings) "Whether the language uses single quotes for multi-char strings.\n\nNote that to set up a language to use this, additionally:\n(i) the syntax of \"'\" must be \"string quote\" (7);\n(ii) the language's value of `c-has-quoted-numbers' must be nil;\n(iii) the language's value of `c-get-state-before-change-functions' may not\n  contain `c-parse-quotes-before-change';\n(iv) the language's value of `c-before-font-lock-functions' may not contain\n  `c-parse-quotes-after-change'.") (c-string-delims (c-lang-const c-string-delims) nil) (c-ml-string-non-punc-skip-chars (c-lang-const c-ml-string-non-punc-skip-chars) nil) (c-ml-string-opener-re (c-lang-const c-ml-string-opener-re) "If non-nil, a regexp that matches a multi-line string opener.\nIt may also match context.\n\nSuch an opener must be at least 2 characters long, and must\ncontain a \" character.  (match-string 1) matches the actual\ndelimiter and (match-string 2) matches the actual \".  If a\ndelimiter contains several \"s, it is recommended to configure\nthe first of them as \"the\" \".") (c-ml-string-max-opener-len (c-lang-const c-ml-string-max-opener-len) "If non-nil, the maximum length of a multi-line string opener.") (c-ml-string-any-closer-re (c-lang-const c-ml-string-any-closer-re) "If non-nil, a regexp that matches any multi-line string closer.\nIt may also match context.\n\nA search for this regexp starting at the end of the corresponding\nopener must find the first closer as the first match.\n\nSuch a closer must include a \" character.  (match-string 1)\nmatches the actual delimiter and (match-string 2) matches the\nactual \".  If a delimiter contains several \"s, it is\nrecommended to regard the last of them as \"the\" \".") (c-ml-string-max-closer-len (c-lang-const c-ml-string-max-closer-len) "If non-nil, the maximum length of a multi-line string closer.\nThis must include the length of any \"context trailer\" following\nthe actual closer and any \"context leader\" preceding it.  This\nvariable is ignored when `c-ml-string-back-closer-re' is non-nil.") (c-ml-string-max-closer-len-no-leader (c-lang-const c-ml-string-max-closer-len-no-leader) "If non-nil, the maximum length of a ml string closer without its leader.\nBy \"leader\" is meant the context bytes preceding the actual\nmulti-line string closer, that part of\n`c-ml-string-any-closer-re''s match preceding (match-beginning 1).") (c-ml-string-back-closer-re (c-lang-const c-ml-string-back-closer-re) "A regexp to move back out of a putative ml closer point is in.\n\nThis variable need only be non-nil for languages with multi-line\nstring closers that can contain an indefinite length \"leader\"\npreceding the actual closer.  It was designed for formats where\nan unbounded number of \\s or \"s might precede the closer\nproper, for example in Pike Mode or csharp-mode.\n\nIf point is in a putative multi-line string closer, a backward\nregexp search with `c-ml-string-back-closer-re' will leave point\nin a \"safe place\", from where a forward regexp search with\n`c-ml-string-any-closer-re' can test whether the original\nposition was inside an actual closer.\n\nWhen non-nil, this variable should end in \"\\\\\\==\".  Note that\nsuch a backward search will match a minimal string, so a\n\"context character\" is probably needed at the start of the\nregexp.  The value for csharp-mode would be something like\n\"\\\\(:?\\\\`\\\\|[^\\\"]\\\\)\\\"*\\\\\\==\".") (c-make-ml-string-closer-re-function (c-lang-const c-make-ml-string-closer-re-function) "If non-nil, a function which creates a closer regexp matching an opener.\n\nSuch a function is given one argument, a multi-line opener (a\nstring), and returns a regexp which will match the corresponding\ncloser.  When this regexp matches, (match-string 1) should be the\nactual closing delimiter, and (match-string 2) the \"active\" \"\nit contains.\n\nA forward regexp search for this regexp starting at the end of\nthe opener must find the closer as its first match.") (c-make-ml-string-opener-re-function (c-lang-const c-make-ml-string-opener-re-function) "If non-nil, a function which creates an opener regexp matching a closer.\n\nSuch a function is given one argument, a multi-line closer (a\nstring), and returns a regexp which will match the corresponding\nopener.  When this regexp matches, (match-string 1) should be the\nactual opening delimiter, and (match-string 2) the \"active\" \"\nit contains.\n\nA backward regexp search for this regexp starting at the start of\nthe closer might not find the opener as its first match, should\nthere be copies of the opener contained in the multi-line string.") (c-ml-string-cpp-or-opener-re (c-lang-const c-ml-string-cpp-or-opener-re) nil) (c-cpp-or-ml-match-offset (c-lang-const c-cpp-or-ml-match-offset) nil) (c-has-quoted-numbers (c-lang-const c-has-quoted-numbers) "Whether the language has numbers quoted like 4'294'967'295.") (c-has-compound-literals (c-lang-const c-has-compound-literals) "Whether literal initializers {...} are used other than in initializations.") (c-modified-constant (c-lang-const c-modified-constant) "Regexp that matches a “modified” constant literal such as \"L\\='a\\='\",\na “long character”.  In particular, this recognizes forms of constant\nwhich `c-backward-sexp' needs to be called twice to move backwards over.") (c-symbol-start (c-lang-const c-symbol-start) "Regexp that matches the start of a symbol, i.e. any identifier or\nkeyword.  It's unspecified how far it matches.  Does not contain a \\|\noperator at the top level.") (c-symbol-chars (c-lang-const c-symbol-chars) "Set of characters that can be part of a symbol.\nThis is of the form that fits inside [ ] in a regexp.") (c-symbol-char-key (c-lang-const c-symbol-char-key) "Regexp matching a sequence of at least one identifier character.") (c-symbol-key (c-lang-const c-symbol-key) "Regexp matching identifiers and keywords (with submatch 0).  Assumed\nto match if `c-symbol-start' matches on the same position.") (c-nonsymbol-chars (c-lang-const c-nonsymbol-chars) "This is the set of chars that can't be part of a symbol, i.e. the\nnegation of `c-symbol-chars'.") (c-nonsymbol-key (c-lang-const c-nonsymbol-key) "Regexp that matches any character that can't be part of a symbol.\nIt's usually appended to other regexps to avoid matching a prefix.\nIt's assumed to not contain any submatchers.") (c-opt-identifier-concat-key (c-lang-const c-opt-identifier-concat-key) nil) (c-opt-identifier-prefix-key (c-lang-const c-opt-identifier-prefix-key) nil) (c-identifier-start (c-lang-const c-identifier-start) "Regexp that matches the start of an (optionally qualified) identifier.\nIt should also match all keywords.  It's unspecified how far it\nmatches.") (c-identifier-key (c-lang-const c-identifier-key) "Regexp matching a fully qualified identifier, like \"A::B::c\" in\nC++.  It does not recognize the full range of syntactic whitespace\nbetween the tokens; `c-forward-name' has to be used for that.  It\nshould also not match identifiers containing parenthesis groupings,\ne.g. identifiers with template arguments such as \"A<X,Y>\" in C++.") (c-module-name-re (c-lang-const c-module-name-re) "This regexp matches (a component of) a module name.\nCurrently (2022-09) just C++ Mode uses this.") (c-string-escaped-newlines (c-lang-const c-string-escaped-newlines) "Set if the language support backslash escaped newlines inside string\nliterals.") (c-multiline-string-start-char (c-lang-const c-multiline-string-start-char) "Set if the language supports multiline string literals without escaped\nnewlines.  If t, all string literals are multiline.  If a character,\nonly literals where the open quote is immediately preceded by that\nliteral are multiline.\n\nNote that from CC Mode 5.36, this character use is obsolete,\nhaving been superseded by the \"multi-line string\" mechanism.\nIf both mechanisms are set for a language, the newer one prevails\nover the old `c-multiline-string-start-char'.  See the variables\nin the page containing `c-ml-string-opener-re' in cc-langs.el for\nfurther directions.") (c-string-innards-re-alist (c-lang-const c-string-innards-re-alist) nil) (c-opt-cpp-symbol (c-lang-const c-opt-cpp-symbol) "The symbol which starts preprocessor constructs when in the margin.") (c-opt-cpp-prefix (c-lang-const c-opt-cpp-prefix) "Regexp matching the prefix of a cpp directive in the languages that\nnormally use that macro preprocessor.  Tested at bol or at boi.\nAssumed to not contain any submatches or \\| operators.") (c-anchored-cpp-prefix (c-lang-const c-anchored-cpp-prefix) "Regexp matching the prefix of a cpp directive anchored to BOL,\nin the languages that have a macro preprocessor.") (c-opt-cpp-start (c-lang-const c-opt-cpp-start) "Regexp matching the prefix of a cpp directive including the directive\nname, or nil in languages without preprocessor support.  The first\nsubmatch surrounds the directive name.") (c-cpp-include-key (c-lang-const c-cpp-include-key) nil) (c-opt-cpp-macro-define (c-lang-const c-opt-cpp-macro-define) "Cpp directive (without the prefix) that is followed by a macro\ndefinition, or nil if the language doesn't have any.") (c-opt-cpp-macro-define-start (c-lang-const c-opt-cpp-macro-define-start) nil) (c-opt-cpp-macro-define-id (c-lang-const c-opt-cpp-macro-define-id) nil) (c-cpp-expr-intro-re (c-lang-const c-cpp-expr-intro-re) "Regexp which matches the start of a CPP directive which contains an\nexpression, or nil if there aren't any in the language.") (c-cpp-expr-functions-key (c-lang-const c-cpp-expr-functions-key) nil) (c-operator-re (c-lang-const c-operator-re) nil) (c-non-after-{}-ops-re (c-lang-const c-non-after-{}-ops-re) nil) (c-overloadable-operators-regexp (c-lang-const c-overloadable-operators-regexp) nil) (c-opt-op-identifier-prefix (c-lang-const c-opt-op-identifier-prefix) "Regexp matching the token before the ones in\n`c-overloadable-operators' when operators are specified in their\n\"identifier form\".  This typically matches \"operator\" in C++ where\noperator functions are specified as e.g. \"operator +\".  It's nil in\nlanguages without operator functions or where the complete operator\nidentifier is listed in `c-overloadable-operators'.\n\nThis regexp is assumed to not match any non-operator identifier.") (c-ambiguous-overloadable-or-identifier-prefix-re (c-lang-const c-ambiguous-overloadable-or-identifier-prefix-re) nil) (c-nonsymbol-token-regexp (c-lang-const c-nonsymbol-token-regexp) nil) (c-assignment-op-regexp (c-lang-const c-assignment-op-regexp) nil) (c-arithmetic-op-regexp (c-lang-const c-arithmetic-op-regexp) nil) (c-:$-multichar-token-regexp (c-lang-const c-:$-multichar-token-regexp) nil) (c-<>-multichar-token-regexp (c-lang-const c-<>-multichar-token-regexp) nil) (c-<-op-cont-regexp (c-lang-const c-<-op-cont-regexp) nil) (c-<-pseudo-digraph-cont-regexp (c-lang-const c-<-pseudo-digraph-cont-regexp) "Regexp matching the continuation of a pseudo digraph starting \"<\".\nThis is used only in C++ Mode, where \"<::\" is handled as a\ntemplate opener followed by the \"::\" operator - usually.") (c-<-pseudo-digraph-cont-len (c-lang-const c-<-pseudo-digraph-cont-len) "The maximum length of the main bit of a `c-<-pseudo-digraph-cont-regexp' match.\nThis doesn't count the merely contextual bits of the regexp match.") (c->-op-cont-regexp (c-lang-const c->-op-cont-regexp) nil) (c->-op-without->-cont-regexp (c-lang-const c->-op-without->-cont-regexp) nil) (c-multichar->-op-not->>->>>-regexp (c-lang-const c-multichar->-op-not->>->>>-regexp) nil) (c-:-op-cont-regexp (c-lang-const c-:-op-cont-regexp) nil) (c-stmt-delim-chars (c-lang-const c-stmt-delim-chars) nil) (c-stmt-boundary-skip-chars (c-lang-const c-stmt-boundary-skip-chars) nil) (c-stmt-boundary-skip-list (c-lang-const c-stmt-boundary-skip-list) nil) (c-stmt-delim-chars-with-comma (c-lang-const c-stmt-delim-chars-with-comma) nil) (c-stmt-boundary-skip-chars-with-comma (c-lang-const c-stmt-boundary-skip-chars-with-comma) nil) (c-stmt-boundary-skip-list-with-comma (c-lang-const c-stmt-boundary-skip-list-with-comma) nil) (c-pack-key (c-lang-const c-pack-key) nil) (c-auto-ops-re (c-lang-const c-auto-ops-re) nil) (c-haskell-op-re (c-lang-const c-haskell-op-re) nil) (c-pre-start-tokens (c-lang-const c-pre-start-tokens) "List of operators following which an apparent declaration (e.g.\n\"t1 *fn (t2 *b);\") is most likely to be an actual declaration\n(as opposed to an arithmetic expression).") (c-pre-lambda-tokens-re (c-lang-const c-pre-lambda-tokens-re) nil) (c-line-comment-starter (c-lang-const c-line-comment-starter) "String that starts line comments, or nil if such don't exist.\nLine comments are always terminated by newlines.  At least one of\n`c-block-comment-starter' and this one is assumed to be set.\n\nNote that it's currently not enough to set this to support a new\ncomment style.  Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-starter (c-lang-const c-block-comment-starter) "String that starts block comments, or nil if such don't exist.\nBlock comments are ended by `c-block-comment-ender', which is assumed\nto be set if this is.  At least one of `c-line-comment-starter' and\nthis one is assumed to be set.\n\nNote that it's currently not enough to set this to support a new\ncomment style.  Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-ender (c-lang-const c-block-comment-ender) "String that ends block comments, or nil if such don't exist.\n\nNote that it's currently not enough to set this to support a new\ncomment style.  Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-ender-regexp (c-lang-const c-block-comment-ender-regexp) nil) (c-block-comment-awkward-chars (c-lang-const c-block-comment-awkward-chars) "List of characters which, inside a block comment, could be the first\ncharacter of a double character construct.  This doesn't include\nbackslash.") (c-comment-start-regexp (c-lang-const c-comment-start-regexp) nil) (c-block-comment-start-regexp (c-lang-const c-block-comment-start-regexp) nil) (c-line-comment-start-regexp (c-lang-const c-line-comment-start-regexp) nil) (c-last-c-comment-end-on-line-re (c-lang-const c-last-c-comment-end-on-line-re) "Regexp which matches the last block comment ender on the\ncurrent line, if any, or nil in those languages without block\ncomments.  When a match is found, submatch 1 contains the comment\nender.") (c-literal-start-regexp (c-lang-const c-literal-start-regexp) nil) (c-doc-comment-start-regexp (c-lang-const c-doc-comment-start-regexp) "Regexp to match the start of documentation comments.") (c-block-comment-is-default (c-lang-const c-block-comment-is-default) "Non-nil when the default comment style is block comment.") (c-syntactic-ws-start (c-lang-const c-syntactic-ws-start) nil) (c-syntactic-ws-end (c-lang-const c-syntactic-ws-end) nil) (c-syntactic-eol (c-lang-const c-syntactic-eol) nil) (c-paragraph-start (c-lang-const c-paragraph-start) "Regexp to append to `paragraph-start'.") (c-paragraph-separate (c-lang-const c-paragraph-separate) "Regexp to append to `paragraph-separate'.") (c-return-key (c-lang-const c-return-key) nil) (c-primitive-type-key (c-lang-const c-primitive-type-key) nil) (c-typedef-key (c-lang-const c-typedef-key) nil) (c-typeof-key (c-lang-const c-typeof-key) nil) (c-template-typename-key (c-lang-const c-template-typename-key) nil) (c-self-contained-typename-key (c-lang-const c-self-contained-typename-key) nil) (c-type-prefix-key (c-lang-const c-type-prefix-key) nil) (c-opt-type-modifier-prefix-key (c-lang-const c-opt-type-modifier-prefix-key) nil) (c-opt-type-modifier-key (c-lang-const c-opt-type-modifier-key) nil) (c-opt-type-component-key (c-lang-const c-opt-type-component-key) nil) (c-type-decl-suffix-ws-ids-key (c-lang-const c-type-decl-suffix-ws-ids-key) nil) (c-class-id-suffix-ws-ids-key (c-lang-const c-class-id-suffix-ws-ids-key) nil) (c-class-key (c-lang-const c-class-key) nil) (c-brace-list-key (c-lang-const c-brace-list-key) nil) (c-after-brace-list-key (c-lang-const c-after-brace-list-key) nil) (c-recognize-post-brace-list-type-p (c-lang-const c-recognize-post-brace-list-type-p) "Set to t when we recognize a colon and then a type after an enum,\ne.g., enum foo : int { A, B, C };") (c-other-decl-block-key (c-lang-const c-other-decl-block-key) nil) (c-other-decl-block-key-in-symbols-alist (mapcar (lambda (elt) (cons elt (if (string= elt "extern") 'inextern-lang (intern (concat "in" elt))))) (c-lang-const c-other-block-decl-kwds)) "Alist associating keywords in c-other-decl-block-decl-kwds with\ntheir matching \"in\" syntactic symbols.") (c-defun-type-name-decl-key (c-lang-const c-defun-type-name-decl-key) nil) (c-typedef-decl-key (c-lang-const c-typedef-decl-key) nil) (c-using-key (c-lang-const c-using-key) nil) (c-no-type-key (c-lang-const c-no-type-key) nil) (c-equals-type-clause-key (c-lang-const c-equals-type-clause-key) nil) (c-equals-nontype-decl-key (c-lang-const c-equals-nontype-decl-key) nil) (c-fun-name-substitute-key (c-lang-const c-fun-name-substitute-key) nil) (c-decl-hangon-key (c-lang-const c-decl-hangon-key) nil) (c-prefix-spec-kwds-re (c-lang-const c-prefix-spec-kwds-re) nil) (c-specifier-key (c-lang-const c-specifier-key) nil) (c-not-decl-init-keywords (c-lang-const c-not-decl-init-keywords) nil) (c-not-primitive-type-keywords-regexp (c-lang-const c-not-primitive-type-keywords-regexp) nil) (c-protection-key (c-lang-const c-protection-key) nil) (c-post-protection-token (c-lang-const c-post-protection-token) "The token which (may) follow a protection keyword,\ne.g. the \":\" in C++ Mode's \"public:\".  nil if there is no such token.") (c-opt-block-decls-with-vars-key (c-lang-const c-opt-block-decls-with-vars-key) nil) (c-postfix-decl-spec-key (c-lang-const c-postfix-decl-spec-key) nil) (c-make-top-level-key (c-lang-const c-make-top-level-key) nil) (c-colon-type-list-re (c-lang-const c-colon-type-list-re) "Regexp matched after the keywords in `c-colon-type-list-kwds' to skip\nforward to the colon.  The end of the match is assumed to be directly\nafter the colon, so the regexp should end with \":\".  Must be a\nregexp if `c-colon-type-list-kwds' isn't nil.") (c-sub-colon-type-list-re (c-lang-const c-sub-colon-type-list-re) "Regexp matching buffer content that may come between a keyword in\n`c-colon-type-list-kwds' and a putative colon, or nil if there are no\nsuch keywords.  Exception: it does not match any C++ attributes.") (c-paren-nontype-key (c-lang-const c-paren-nontype-key) nil) (c-pre-concept-<>-key (c-lang-const c-pre-concept-<>-key) nil) (c-opt-<>-sexp-key (c-lang-const c-opt-<>-sexp-key) nil) (c-inside-<>-type-key (c-lang-const c-inside-<>-type-key) nil) (c-block-stmt-1-key (c-lang-const c-block-stmt-1-key) nil) (c-block-stmt-1-2-key (c-lang-const c-block-stmt-1-2-key) nil) (c-block-stmt-2-key (c-lang-const c-block-stmt-2-key) nil) (c-block-stmt-hangon-key (c-lang-const c-block-stmt-hangon-key) nil) (c-opt-block-stmt-key (c-lang-const c-opt-block-stmt-key) nil) (c-simple-stmt-key (c-lang-const c-simple-stmt-key) nil) (c-paren-stmt-key (c-lang-const c-paren-stmt-key) nil) (c-opt-asm-stmt-key (c-lang-const c-opt-asm-stmt-key) nil) (c-case-kwds-regexp (c-lang-const c-case-kwds-regexp) nil) (c-label-kwds-regexp (c-lang-const c-label-kwds-regexp) nil) (c-module-key (c-lang-const c-module-key) nil) (c-constant-key (c-lang-const c-constant-key) nil) (c-opt-inexpr-brace-list-key (c-lang-const c-opt-inexpr-brace-list-key) nil) (c-brace-stack-thing-key (c-lang-const c-brace-stack-thing-key) nil) (c-brace-stack-no-semi-key (c-lang-const c-brace-stack-no-semi-key) nil) (c-decl-block-key (c-lang-const c-decl-block-key) nil) (c-opt-bitfield-key (c-lang-const c-opt-bitfield-key) nil) (c-std-abbrev-keywords (c-lang-const c-std-abbrev-keywords) "List of keywords which may need to cause electric indentation.") (c-keywords-regexp (c-lang-const c-keywords-regexp) nil) (c-stmt-block-only-keywords-regexp (c-lang-const c-stmt-block-only-keywords-regexp) nil) (c-keywords-obarray (let* ((alist (c-lang-const c-keyword-member-alist)) kwd lang-const-list (obarray (make-vector (* (length alist) 2) 0))) (while alist (setq kwd (caar alist) lang-const-list (cdar alist) alist (cdr alist)) (setplist (intern kwd obarray) (apply 'nconc (mapcar (lambda (lang-const) (list lang-const t)) lang-const-list)))) obarray) nil) (c-regular-keywords-regexp (c-lang-const c-regular-keywords-regexp) nil) (c-primary-expr-regexp (c-lang-const c-primary-expr-regexp) nil) (c-per-++---match (c-lang-const c-per-++---match) nil) (c-per-&*+--match (c-lang-const c-per-&*+--match) nil) (c-per-\(-match (c-lang-const c-per-\(-match) nil) (c-decl-start-colon-kwd-re (c-lang-const c-decl-start-colon-kwd-re) "Regexp matching a keyword that is followed by a colon, where\n  the whole construct can precede a declaration.\n  E.g. \"public:\" in C++.") (c-decl-prefix-re (c-lang-const c-decl-prefix-re) nil) (c-decl-start-re (c-lang-const c-decl-start-re) "Regexp matching the start of any declaration, cast or label.\nIt's used on the token after the one `c-decl-prefix-re' matched.  This\nregexp should not try to match those constructs accurately as it's\nonly used as a sieve to avoid spending more time checking other\nconstructs.") (c-decl-prefix-or-start-re (c-lang-const c-decl-prefix-or-start-re) nil) (c-dposr-cpp-macro-depth (c-lang-const c-dposr-cpp-macro-depth) nil) (c-cast-parens (c-lang-const c-cast-parens) nil) (c-block-prefix-charset (c-lang-const c-block-prefix-charset) nil) (c-maybe-typeless-specifier-re (c-lang-const c-maybe-typeless-specifier-re) "Regexp matching keywords which might, but needn't, declare variables with\nno explicit type given, or nil in languages without such specifiers.") (c-type-decl-prefix-key (c-lang-const c-type-decl-prefix-key) nil) (c-type-decl-operator-prefix-key (c-lang-const c-type-decl-operator-prefix-key) "Regexp matching any declarator operator which isn't a keyword,\nthat might precede the identifier in a declaration, e.g. the\n\"*\" in \"char *argv\".  The end of the first submatch is taken\nas the end of the operator.  Identifier syntax is in effect when\nthis is matched (see `c-identifier-syntax-table').") (c-type-decl-suffix-key (c-lang-const c-type-decl-suffix-key) nil) (c-after-suffixed-type-decl-key (c-lang-const c-after-suffixed-type-decl-key) nil) (c-after-suffixed-type-maybe-decl-key (c-lang-const c-after-suffixed-type-maybe-decl-key) nil) (c-opt-type-concat-key (c-lang-const c-opt-type-concat-key) nil) (c-opt-type-suffix-key (c-lang-const c-opt-type-suffix-key) "Regexp matching operators that might follow after a type, or nil in\nlanguages that don't have such operators.  The end of the first\nsubmatch is taken as the end of the operator.  This should not match\nthings like C++ template arglists if `c-recognize-<>-arglists' is set.\nIt's undefined whether identifier syntax (see `c-identifier-syntax-table')\nis in effect or not.") (c-known-type-key (let* ((extra-types (when (boundp (c-mode-symbol "font-lock-extra-types")) (c-mode-var "font-lock-extra-types"))) (regexp-strings (delq nil (mapcar (lambda (re) (when (string-match "[][.*+?^$\\]" re) re)) extra-types))) (plain-strings (delq nil (mapcar (lambda (re) (unless (string-match "[][.*+?^$\\]" re) re)) extra-types)))) (concat "\\<\\(" (c-concat-separated (append (list (c-make-keywords-re nil (append (c-lang-const c-primitive-type-kwds) plain-strings))) regexp-strings) "\\|") "\\)\\>")) nil) (c-special-brace-lists (c-lang-const c-special-brace-lists) "List of open- and close-chars that makes up a pike-style brace list,\ni.e., for a ([ ]) list there should be a cons (?\\[ . ?\\]) in this\nlist.") (c-recognize-knr-p (c-lang-const c-recognize-knr-p) "Non-nil means K&R style argument declarations are valid.") (c-pre-id-bracelist-key (c-lang-const c-pre-id-bracelist-key) nil) (c-pre-brace-non-bracelist-key (c-lang-const c-pre-brace-non-bracelist-key) "A regexp matching tokens which, preceding a brace, make it a non-bracelist.") (c-recognize-typeless-decls (c-lang-const c-recognize-typeless-decls) "Non-nil means function declarations without return type should be\nrecognized.  That can introduce an ambiguity with parenthesized macro\ncalls before a brace block.  This setting does not affect declarations\nthat are preceded by a declaration starting keyword, so\ne.g. `c-typeless-decl-kwds' may still be used when it's set to nil.") (c-recognize-<>-arglists (c-lang-const c-recognize-<>-arglists) "Non-nil means C++ style template arglists should be handled.  More\nspecifically, this means a comma separated list of types or\nexpressions surrounded by \"<\" and \">\".  It's always preceded by an\nidentifier or one of the keywords on `c-<>-type-kwds' or\n`c-<>-arglist-kwds'.  If there's an identifier before then the whole\nexpression is considered to be a type.") (c-<>-notable-chars-re (c-lang-const c-<>-notable-chars-re) "A regexp matching any single character notable inside a <...> construct.\nThis must include \"<\" and \">\", and should include \",\", and\nany character which cannot be valid inside such a construct.\nThis is used in `c-forward-<>-arglist-recur' to try to detect\nsequences of tokens which cannot be a template/generic construct.\nWhen \"(\" is present, that defun will attempt to parse a\nparenthesized expression inside the template.  When \")\" is\npresent it will treat an unbalanced closing paren as a sign of\nthe invalidity of the putative template construct.") (c-enum-clause-introduction-re (c-lang-const c-enum-clause-introduction-re) nil) (c-enums-contain-decls (c-lang-const c-enums-contain-decls) "Non-nil means that an enum structure can contain declarations.") (c-recognize-paren-inits (c-lang-const c-recognize-paren-inits) "Non-nil means that parenthesis style initializers exist,\ni.e. constructs like\n\nFoo bar (gnu);\n\nin addition to the more classic\n\nFoo bar = gnu;") (c-recognize-bare-brace-inits (c-lang-const c-recognize-bare-brace-inits) "Non-nil means that brace initializers without \"=\" exist,\ni.e. constructs like\n\nint foo[] {1, 2, 3};\n\nin addition to the more classic\n\nint foo[] = {1, 2, 3};") (c-recognize-paren-inexpr-blocks (c-lang-const c-recognize-paren-inexpr-blocks) "Non-nil to recognize gcc style in-expression blocks,\ni.e. compound statements surrounded by parentheses inside expressions.") (c-opt-<>-arglist-start (c-lang-const c-opt-<>-arglist-start) nil) (c-opt-<>-arglist-start-in-paren (c-lang-const c-opt-<>-arglist-start-in-paren) nil) (c-opt-postfix-decl-spec-key (c-lang-const c-opt-postfix-decl-spec-key) nil) (c-recognize-colon-labels (c-lang-const c-recognize-colon-labels) "Non-nil if generic labels ending with \":\" should be recognized.\nThat includes labels in code and access keys in classes.  This does\nnot apply to labels recognized by `c-label-kwds' and\n`c-opt-extra-label-key'.") (c-label-prefix-re (c-lang-const c-label-prefix-re) "Regexp like `c-decl-prefix-re' that matches any token that can precede\na generic colon label.  Not used if `c-recognize-colon-labels' is\nnil.") (c-nonlabel-token-key (c-lang-const c-nonlabel-token-key) "Regexp matching things that can't occur in generic colon labels,\nneither in a statement nor in a declaration context.  The regexp is\ntested at the beginning of every sexp in a suspected label,\ni.e. before \":\".  Only used if `c-recognize-colon-labels' is set.") (c-nonlabel-nonparen-token-key (c-lang-const c-nonlabel-nonparen-token-key) "Regexp matching things that can't occur in generic colon labels,\nneither in a statement nor in a declaration context, with the\nexception of an open parenthesis.  The regexp is tested at the\nbeginning of every sexp in a suspected label, i.e. before \":\".\nOnly used if `c-recognize-colon-labels' is set.") (c-nonlabel-token-2-key (c-lang-const c-nonlabel-token-2-key) "Regexp matching things that can't occur two symbols before a colon in\na label construct.  This catches C++'s inheritance construct \"class foo\n: bar\".  Only used if `c-recognize-colon-labels' is set.") (c-opt-extra-label-key (c-lang-const c-opt-extra-label-key) "Optional regexp matching labels.\nNormally, labels are detected according to `c-nonlabel-token-key',\n`c-decl-prefix-re' and `c-nonlabel-decl-prefix-re'.  This regexp can\nbe used if there are additional labels that aren't recognized that\nway.") (c-opt-friend-key (c-lang-const c-opt-friend-key) nil) (c-opt-method-key (c-lang-const c-opt-method-key) nil) (c-type-decl-end-used (c-lang-const c-type-decl-end-used) nil) (c-maybe-decl-faces (c-lang-const c-maybe-decl-faces) "List of faces that might be put at the start of a type when\n`c-font-lock-declarations' runs.  This must be evaluated (with `eval') at\nruntime to get the actual list of faces.  This ensures that face name\naliases in Emacs are resolved.")))
(defconst c-emacs-variable-inits '(nil (font-lock-comment-end-skip (c-lang-const c-font-lock-comment-end-skip)) (comment-start (c-lang-const comment-start)) (comment-end (c-lang-const comment-end)) (comment-start-skip (c-lang-const comment-start-skip)) (comment-end-can-be-escaped (c-lang-const comment-end-can-be-escaped)) (beginning-of-defun-function (c-lang-const beginning-of-defun-function)) (end-of-defun-function (c-lang-const end-of-defun-function))))
(defalias 'c-make-emacs-variables-local '(macro . #[0 "\301\302\303A\"B\207" [c-emacs-variable-inits progn mapcar #[257 "\300\301@DD\207" [make-local-variable quote] 4 "\n\n(fn INIT)"]] 4]))#@322 Create a function that initializes all language dependent variables for MODE.

This function should be evaluated at compile time, so that the
function it returns is byte compiled with all the evaluated results
from the language constants.  Use the `c-init-language-vars' macro to
accomplish that conveniently.

(fn MODE)
(defalias 'c-make-init-lang-vars-fun #[257 "\306 \307=\203d \310\311\312\302\313DD\314B\315\316\317\320\321\300\313DE\322\n\323\324\325\326A\fA\"\"*B\327\312\330\313\326A\fA\"DDC\331BB\257\332\320\333\334\335\333\320\336\337\340\313D\341BBBB\342BBB\343BBBB\344BBBDFFE\207\310\311\345\312\302\313DD\346B\347BBF\207" [c-version-sym c-lang-const-expansion c-buffer-is-cc-mode c-emacs-variable-inits c-lang-variable-inits c-version cc-bytecomp-compiling-or-loading compiling lambda nil let quote (current-var source-eval) (c-make-emacs-variables-local) condition-case err if eq setq immediate mapcan #[257 "\300\301@D@\302\303\234\304\"F\207" [current-var quote macroexpand-all 1 nil] 7 "\n\n(fn INIT)"] append (setq source-eval t) init ((dolist (var-init init) (setq current-var (car var-init)) (set (car var-init) (eval (cadr var-init))))) error current-var message "Eval error in the `c-lang-defvar' or `c-lang-setvar' for `%s'%s: %S" source-eval format " (fallback source eval - %s compiled with CC Mode %s but loaded with %s)" (c-version) ("") (err) ((signal (car err) (cdr err))) (require 'cc-langs) ((init (append (cdr c-emacs-variable-inits) (cdr c-lang-variable-inits))) current-var) ((c-make-emacs-variables-local) (condition-case err (dolist (var-init init) (setq current-var (car var-init)) (set (car var-init) (eval (cadr var-init)))) (error (if current-var (message "Eval error in the `c-lang-defvar' or `c-lang-setvar' for `%s' (source eval): %S" current-var err) (signal (car err) (cdr err))))))] 22 (#$ . 122262)])#@251 Initialize all the language dependent variables for the given mode.
This macro is expanded at compile time to a form tailored for the mode
in question, so MODE must be a constant.  Therefore MODE is not
evaluated and should not be quoted.

(fn MODE)
(defalias 'c-init-language-vars '(macro . #[257 "\300\301\302!DD\207" [funcall function c-make-init-lang-vars-fun] 5 (#$ . 124133)]))
(byte-code "\300\301\302\303#\210\304\305!\207" [put c-init-language-vars edebug-form-spec nil provide cc-langs] 4)
