;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:24:51 2007 ;;; from file /home/cyd/emacs/lisp/progmodes/cc-engine.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file contains multibyte non-ASCII characters ;;; and therefore cannot be loaded into Emacs 19. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "20"))) (error "`cc-engine.el' was compiled for Emacs 20 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require cc-defs cc-vars] 2) (defalias 'c-declare-lang-variables '(macro . #[nil "\301\302\303\304\305A\"\"B\207" [c-lang-variable-inits progn apply nconc mapcar #[(init) "\301\234\203\302@\303\301\234F\202\302@\304BB\305\306@DDD\207" [init 2 defvar nil (nil) make-variable-buffer-local quote] 5]] 6])) (byte-code "\301B\302\301!\204\303\301\304\"\210\305\301!\207" [current-load-list c++-template-syntax-table default-boundp set-default nil make-variable-buffer-local] 3) #@351 A list that describes the modifications that should be done to the mode syntax table to get a syntax table that matches all identifiers and keywords as words. The list is just like the one used in `font-lock-defaults': Each element is a cons where the car is the character to modify and the cdr the new syntax, as accepted by `modify-syntax-entry'. (defvar c-identifier-syntax-modifications nil (#$ . 1103)) (make-variable-buffer-local 'c-identifier-syntax-modifications) #@181 Syntax table built on the mode syntax table but additionally classifies symbol constituents like '_' and '$' as word constituents, so that all identifiers are recognized as words. (defvar c-identifier-syntax-table nil (#$ . 1583)) (make-variable-buffer-local 'c-identifier-syntax-table) #@164 Regexp that matches the start of a symbol, i.e. any identifier or keyword. It's unspecified how far it matches. Does not contain a \| operator at the top level. (defvar c-symbol-start nil (#$ . 1877)) (make-variable-buffer-local 'c-symbol-start) #@129 Regexp matching identifiers and keywords (with submatch 0). Assumed to match if `c-symbol-start' matches on the same position. (defvar c-symbol-key nil (#$ . 2132)) (make-variable-buffer-local 'c-symbol-key) #@97 This is the set of chars that can't be part of a symbol, i.e. the negation of `c-symbol-chars'. (defvar c-nonsymbol-chars nil (#$ . 2347)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\207" [current-load-list make-variable-buffer-local c-nonsymbol-chars c-opt-identifier-concat-key default-boundp set-default nil] 3) #@145 Regexp that matches the start of an (optionally qualified) identifier. It should also match all keywords. It's unspecified how far it matches. (defvar c-identifier-start nil (#$ . 2700)) (make-variable-buffer-local 'c-identifier-start) #@332 Regexp matching a fully qualified identifier, like "A::B::c" in C++. It does not recognize the full range of syntactic whitespace between the tokens; `c-forward-name' has to be used for that. It should also not match identifiers containing parenthesis groupings, e.g. identifiers with template arguments such as "A" in C++. (defvar c-identifier-key nil (#$ . 2944)) (make-variable-buffer-local 'c-identifier-key) #@80 Set if the language support backslash escaped newlines inside string literals. (defvar c-string-escaped-newlines nil (#$ . 3370)) (make-variable-buffer-local 'c-string-escaped-newlines) #@231 Set if the language supports multiline string literals without escaped newlines. If t, all string literals are multiline. If a character, only literals where the open quote is immediately preceded by that literal are multiline. (defvar c-multiline-string-start-char nil (#$ . 3563)) (make-variable-buffer-local 'c-multiline-string-start-char) #@188 Regexp matching the prefix of a cpp directive in the languages that normally use that macro preprocessor. Tested at bol or at boi. Assumed to not contain any submatches or \| operators. (defvar c-opt-cpp-prefix nil (#$ . 3915)) (make-variable-buffer-local 'c-opt-cpp-prefix) #@177 Regexp matching the prefix of a cpp directive including the directive name, or nil in languages without preprocessor support. The first submatch surrounds the directive name. (defvar c-opt-cpp-start nil (#$ . 4198)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\207" [current-load-list make-variable-buffer-local c-opt-cpp-start c-opt-cpp-macro-define-start default-boundp set-default nil c-opt-cpp-macro-define-id c-overloadable-operators-regexp] 3) #@432 Regexp matching the token before the ones in `c-overloadable-operators' when operators are specified in their "identifier form". This typically matches "operator" in C++ where operator functions are specified as e.g. "operator +". It's nil in languages without operator functions or where the complete operator identifier is listed in `c-overloadable-operators'. This regexp is assumed to not match any non-operator identifier. (defvar c-opt-op-identifier-prefix nil (#$ . 4792)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\210\311B\304\311!\204L\305\311\306\"\210\301\311!\210\312B\304\312!\204_\305\312\306\"\210\301\312!\210\313B\304\313!\204r\305\313\306\"\210\301\313!\210\314B\304\314!\204\205\305\314\306\"\210\301\314!\207" [current-load-list make-variable-buffer-local c-opt-op-identifier-prefix c-nonsymbol-token-regexp default-boundp set-default nil c-assignment-op-regexp c-<>-multichar-token-regexp c-<-op-cont-regexp c->-op-cont-regexp c-stmt-delim-chars c-stmt-delim-chars-with-comma] 3) #@336 String that starts line comments, or nil if such don't exist. Line comments are always terminated by newlines. At least one of `c-block-comment-starter' and this one is assumed to be set. Note that it's currently not enough to set this to support a new comment style. Other stuff like the syntax table must also be set up properly. (defvar c-line-comment-starter nil (#$ . 5954)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\207" [current-load-list make-variable-buffer-local c-line-comment-starter c-comment-start-regexp default-boundp set-default nil c-block-comment-start-regexp c-literal-start-regexp] 3) #@54 Regexp to match the start of documentation comments. (defvar c-doc-comment-start-regexp nil (#$ . 6708)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\207" [current-load-list make-variable-buffer-local c-doc-comment-start-regexp c-syntactic-ws-start default-boundp set-default nil c-syntactic-ws-end c-syntactic-eol] 3) #@264 Contains a function "Is there a virtual semicolon at POS or point?". Such a function takes one optional parameter, a buffer position (defaults to point), and returns nil or t. This variable contains nil for languages which don't have EOL terminated statements.  (defvar c-at-vsemi-p-fn nil (#$ . 7170)) (make-variable-buffer-local 'c-at-vsemi-p-fn) #@427 Contains a function "are we unsure whether there is a virtual semicolon on this line?". The (admittedly kludgey) purpose of such a function is to prevent an infinite recursion in c-beginning-of-statement-1 when point starts at a `while' token. The function MUST NOT UNDER ANY CIRCUMSTANCES call c-beginning-of-statement-1, even indirectly. This variable contains nil for languages which don't have EOL terminated statements. (defvar c-vsemi-status-unknown-p-fn nil (#$ . 7527)) (make-variable-buffer-local 'c-vsemi-status-unknown-p-fn) #@40 Regexp to append to `paragraph-start'. (defvar c-paragraph-start nil (#$ . 8070)) (make-variable-buffer-local 'c-paragraph-start) #@43 Regexp to append to `paragraph-separate'. (defvar c-paragraph-separate nil (#$ . 8206)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\210\311B\304\311!\204L\305\311\306\"\210\301\311!\210\312B\304\312!\204_\305\312\306\"\210\301\312!\210\313B\304\313!\204r\305\313\306\"\210\301\313!\210\314B\304\314!\204\205\305\314\306\"\210\301\314!\210\315B\304\315!\204\230\305\315\306\"\210\301\315!\210\316B\304\316!\204\253\305\316\306\"\210\301\316!\210\317B\304\317!\204\276\305\317\306\"\210\301\317!\210\320B\304\320!\204\321\305\320\306\"\210\301\320!\210\321B\304\321!\204\344\305\321\306\"\210\301\321!\207" [current-load-list make-variable-buffer-local c-paragraph-separate c-primitive-type-key default-boundp set-default nil c-type-prefix-key c-opt-type-modifier-key c-opt-type-component-key c-class-key c-brace-list-key c-other-decl-block-key c-decl-hangon-key c-prefix-spec-kwds-re c-specifier-key c-not-decl-init-keywords c-opt-block-decls-with-vars-key] 3) #@250 Regexp matched after the keywords in `c-colon-type-list-kwds' to skip forward to the colon. The end of the match is assumed to be directly after the colon, so the regexp should end with ":". Must be a regexp if `c-colon-type-list-kwds' isn't nil. (defvar c-colon-type-list-re nil (#$ . 9337)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\210\311B\304\311!\204L\305\311\306\"\210\301\311!\210\312B\304\312!\204_\305\312\306\"\210\301\312!\210\313B\304\313!\204r\305\313\306\"\210\301\313!\210\314B\304\314!\204\205\305\314\306\"\210\301\314!\210\315B\304\315!\204\230\305\315\306\"\210\301\315!\210\316B\304\316!\204\253\305\316\306\"\210\301\316!\210\317B\304\317!\204\276\305\317\306\"\210\301\317!\210\320B\304\320!\204\321\305\320\306\"\210\301\320!\210\321B\304\321!\204\344\305\321\306\"\210\301\321!\210\322B\304\322!\204\367\305\322\306\"\210\301\322!\210\323B\304\323!\204\n\305\323\306\"\210\301\323!\210\324B\304\324!\204\305\324\306\"\210\301\324!\210\325B\304\325!\2040\305\325\306\"\210\301\325!\207" [current-load-list make-variable-buffer-local c-colon-type-list-re c-opt-<>-sexp-key default-boundp set-default nil c-block-stmt-1-key c-block-stmt-2-key c-opt-block-stmt-key c-simple-stmt-key c-paren-stmt-key c-opt-asm-stmt-key c-label-kwds-regexp c-opt-inexpr-brace-list-key c-decl-block-key c-opt-bitfield-key c-keywords-regexp c-keywords-obarray c-regular-keywords-regexp c-primary-expr-regexp c-decl-prefix-re] 3) #@276 Regexp matching the start of any declaration, cast or label. It's used on the token after the one `c-decl-prefix-re' matched. This regexp should not try to match those constructs accurately as it's only used as a sieve to avoid spending more time checking other constructs. (defvar c-decl-start-re nil (#$ . 10955)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\210\311B\304\311!\204L\305\311\306\"\210\301\311!\210\312B\304\312!\204_\305\312\306\"\210\301\312!\210\313B\304\313!\204r\305\313\306\"\210\301\313!\210\314B\304\314!\204\205\305\314\306\"\210\301\314!\210\315B\304\315!\204\230\305\315\306\"\210\301\315!\207" [current-load-list make-variable-buffer-local c-decl-start-re c-decl-prefix-or-start-re default-boundp set-default nil c-cast-parens c-block-prefix-charset c-type-decl-prefix-key c-type-decl-suffix-key c-after-suffixed-type-decl-key c-after-suffixed-type-maybe-decl-key c-opt-type-concat-key] 3) #@369 Regexp matching operators that might follow after a type, or nil in languages that don't have such operators. The end of the first submatch is taken as the end of the operator. This should not match things like C++ template arglists if `c-recognize-<>-arglists' is set. It's undefined whether identifier syntax (see `c-identifier-syntax-table') is in effect or not. (defvar c-opt-type-suffix-key nil (#$ . 12032)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\207" [current-load-list make-variable-buffer-local c-opt-type-suffix-key c-known-type-key default-boundp set-default nil] 3) #@142 List of open- and close-chars that makes up a pike-style brace list, i.e. for a ([]) list there should be a cons (?\[ . ?\]) in this list. (defvar c-special-brace-lists nil (#$ . 12655)) (make-variable-buffer-local 'c-special-brace-lists) #@58 Non-nil means K&R style argument declarations are valid. (defvar c-recognize-knr-p nil (#$ . 12902)) (make-variable-buffer-local 'c-recognize-knr-p) #@332 Non-nil means function declarations without return type should be recognized. That can introduce an ambiguity with parenthesized macro calls before a brace block. This setting does not affect declarations that are preceded by a declaration starting keyword, so e.g. `c-typeless-decl-kwds' may still be used when it's set to nil. (defvar c-recognize-typeless-decls nil (#$ . 13058)) (make-variable-buffer-local 'c-recognize-typeless-decls) #@360 Non-nil means C++ style template arglists should be handled. More specifically, this means a comma separated list of types or expressions surrounded by "<" and ">". It's always preceded by an identifier or one of the keywords on `c-<>-type-kwds' or `c-<>-arglist-kwds'. If there's an identifier before then the whole expression is considered to be a type. (defvar c-recognize-<>-arglists nil (#$ . 13506)) (make-variable-buffer-local 'c-recognize-<>-arglists) #@144 Non-nil means that parenthesis style initializers exist, i.e. constructs like Foo bar (gnu); in addition to the more classic Foo bar = gnu; (defvar c-recognize-paren-inits nil (#$ . 13976)) (make-variable-buffer-local 'c-recognize-paren-inits) #@125 Non-nil to recognize gcc style in-expression blocks, i.e. compound statements surrounded by parentheses inside expressions. (defvar c-recognize-paren-inexpr-blocks nil (#$ . 14230)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\207" [current-load-list make-variable-buffer-local c-recognize-paren-inexpr-blocks c-opt-<>-arglist-start default-boundp set-default nil c-opt-<>-arglist-start-in-paren c-opt-postfix-decl-spec-key] 3) #@211 Non-nil if generic labels ending with ":" should be recognized. That includes labels in code and access keys in classes. This does not apply to labels recognized by `c-label-kwds' and `c-opt-extra-label-key'. (defvar c-recognize-colon-labels nil (#$ . 14801)) (make-variable-buffer-local 'c-recognize-colon-labels) #@143 Regexp like `c-decl-prefix-re' that matches any token that can precede a generic colon label. Not used if `c-recognize-colon-labels' is nil. (defvar c-label-prefix-re nil (#$ . 15124)) (make-variable-buffer-local 'c-label-prefix-re) #@260 Regexp matching things that can't occur in generic colon labels, neither in a statement nor in a declaration context. The regexp is tested at the beginning of every sexp in a suspected label, i.e. before ":". Only used if `c-recognize-colon-labels' is set. (defvar c-nonlabel-token-key nil (#$ . 15365)) (make-variable-buffer-local 'c-nonlabel-token-key) #@242 Optional regexp matching labels. Normally, labels are detected according to `c-nonlabel-token-key', `c-decl-prefix-re' and `c-nonlabel-decl-prefix-re'. This regexp can be used if there are additional labels that aren't recognized that way. (defvar c-opt-extra-label-key nil (#$ . 15729)) (byte-code "\301\302!\210\303B\304\303!\204\305\303\306\"\210\301\303!\210\307B\304\307!\204&\305\307\306\"\210\301\307!\210\310B\304\310!\2049\305\310\306\"\210\301\310!\210\311B\304\311!\204L\305\311\306\"\210\301\311!\210\312B\304\312!\204_\305\312\313\"\210\301\312!\210\314B\304\314!\204r\305\314\306\"\210\301\314!\207" [current-load-list make-variable-buffer-local c-opt-extra-label-key c-opt-friend-key default-boundp set-default nil c-opt-method-key c-type-decl-end-used c-hungry-delete-key c-electric-flag t c-auto-newline] 3) (defalias 'c-calculate-state #[(arg prevstate) "\203\302\303!\211!\203 ?\207\304V\207" [arg prevstate zerop prefix-numeric-value 0] 3]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\306\"\210\301\207" [current-load-list c-in-literal-cache default-boundp set-default t c-macro-start unknown] 3) (defalias 'c-query-and-set-macro-start #[nil "9\203$\212\306 \307\211\307\310\211 \310\f\311\216\312 \205`. \211\207\207" [c-macro-start modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro after-change-functions deactivate-mark] 3]) (put 'c-query-and-set-macro-start 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-query-macro-start #[nil "9\203\"\212\306 \307\211\307\310\211 \310\f\311\216\312 \205`. \207\207" [c-macro-start modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro after-change-functions deactivate-mark] 2]) (put 'c-query-macro-start 'byte-optimizer 'byte-compile-inline-expand) #@286 Go to the beginning of a preprocessor directive. Leave point at the beginning of the directive and return t if in one, otherwise return nil and leave point unchanged. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-beginning-of-macro #[(&optional lim) "\2059`\214\n\203\nd}\210\304 \210`SSf\305=\203!\306y\210\202\307 \210` X\2034\310 !\2034\311\2028 b\210\312*\207" [c-opt-cpp-prefix here lim c-opt-cpp-start beginning-of-line 92 -1 back-to-indentation looking-at t nil] 2 (#$ . 17952)]) #@362 Go to the end of a preprocessor directive. More accurately, move the point to the end of the closest following line that doesn't end with a line continuation backslash - no check is done that the point is inside a cpp directive to begin with. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-end-of-macro #[nil "\300\210`Sf\301=\205m?\205\300u\210\202\207" [nil 92] 2 (#$ . 18542)]) (defalias 'c-forward-over-cpp-define-id #[nil "\205 \301!\205 \302\225b\207" [c-opt-cpp-macro-define-id looking-at 0] 2]) (defalias 'c-forward-to-cpp-define-body #[nil "\205\301!\205\302\225\303 U?\205\302\225b\207" [c-opt-cpp-macro-define-start looking-at 0 line-end-position] 2]) (defalias 'c-syntactic-content #[(from to paren-level) "\212\214 }\210b\210\306C\211\306\211\307 \310#\203\237\311\224\211b\210\312 \210`\fU\2030\306u\210\202\203B\212\313\f\314#@\314U`)\fV\203t` W\203t\315\316!\203t\212\fSb\210\315\316!)\203t \317\f\"\320D\241\210 \211AA)\202 \317\f\"C\241\210 A \203\232\313\f \321#@\321U\203\232 \317`S`\"C\241\210 A`\202 \317 \"C\241\210\322\323\nA\".\207" [from to parts tail pos in-paren nil re-search-forward t 0 c-forward-sws parse-partial-sexp 1 looking-at "\\w\\|\\s_" buffer-substring-no-properties " " -1 apply concat c-syntactic-ws-start paren-level x] 5]) (defalias 'c-shift-line-indentation #[(shift-amt) "d`Z\306\307 !\204m9\2037\212\310 \311\211\311\306\211\306\312\216\313 \2050`. \211\2028\203S\314\315!\203S\212\316\306x\210n)\203S\317c\210\320u\210\311\321\216\322 \323 \212\324 \210`)|\210\325 \210 \\j\210*`\212\324 \210`)W\203\201 \204\201\324 \202\215d\nZ`V\205\215d\nZb+\207" [c-macro-start tmp-char-inserted pos shift-amt modified buffer-undo-list nil zerop buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro looking-at "[ ]*\\\\$" " " 120 -1 ((byte-code "\203\301\302!\210\301\207" [tmp-char-inserted delete-char 1] 2)) current-indentation line-beginning-position back-to-indentation beginning-of-line inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark col] 3]) (defalias 'c-keyword-sym #[(keyword) "\302 \"\207" [keyword c-keywords-obarray intern-soft] 3]) (put 'c-keyword-sym 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-keyword-member #[(keyword-sym lang-constant) " N\207" [keyword-sym lang-constant] 2]) (byte-code "\303\304\305\306#\210\307B\310\311 >\203\312\202\313!\210\302B\314\311 >\203'\315\202(\316!\210\317B\320\321\n\322Q!\210\323B\324\323!\204D\325\323\326\"\210\327\323!\207" [current-load-list c-emacs-features c-string-limit-regexp put c-keyword-member byte-optimizer byte-compile-inline-expand c-string-syntax (lambda (#1=#:defconst-tmp-var) (defconst c-string-syntax #1#)) gen-string-delim "\"|" "\"" (lambda (#2=#:defconst-tmp-var) (defconst c-string-limit-regexp #2#)) "\\s\"\\|\\s|" "\\s\"" c-ws*-string-limit-regexp (lambda (#3=#:defconst-tmp-var) (defconst c-ws*-string-limit-regexp #3#)) "[ ]*\\(" "\\)" c-parsing-error default-boundp set-default nil make-variable-buffer-local] 4) (defalias 'c-echo-parsing-error #[(&optional quiet) "\203 \203\n\204\303\304 \"\210\305 \210 \207" [c-report-syntactic-errors c-parsing-error quiet message "%s" ding] 3]) (byte-code "\301B\302\301!\204\303\301\304\305\306\307!\205\310\"\"\210\301\207" [current-load-list c-literal-faces default-boundp set-default append (font-lock-comment-face font-lock-string-face) facep font-lock-comment-delimiter-face (font-lock-comment-delimiter-face)] 6) (defalias 'c-put-c-type-property #[(pos value) "\303 \211T\304\n$)\207" [pos -pos- value put-text-property c-type] 5]) (put 'c-put-c-type-property 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-clear-c-type-property #[(from to value) "\212b\210\304`\305\" =\203`\306\n\211T\307#\210)\310`\305\311 $b\210` W\205(\202)\207" [from value pos to get-text-property c-type remove-text-properties (c-type nil) next-single-property-change nil] 5]) (defalias 'c-debug-add-face #[(beg end face) "\306 \307\211\307\310\211\310\311\"\310\312\216\203Q@A\313\314\"\f=\203\315!^\316!]\317!\210\202\320\321\"\314\f#.\n\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil overlays-in ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) overlay-get face overlay-start overlay-end delete-overlay overlay-put make-overlay deactivate-mark beg end overlays overlay] 5]) (defalias 'c-debug-remove-face #[(beg end face) "\306 \307\211\307\310\211\310\311\"\310\312\216\203Y@A\313\314\"\f=\203%\315!^\316!]\317!\210\202%W\203m\320\321\"\314\f#\210V\205\200\320\321\"\314\f#.\f\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil overlays-in ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) overlay-get face overlay-start overlay-end delete-overlay overlay-put make-overlay deactivate-mark beg end overlays overlay ol-beg ol-end] 5]) (defalias 'c-bos-push-state '(macro . #[nil "\300\207" [(setq stack (cons (cons state saved-pos) stack))] 1])) (defalias 'c-bos-pop-state '(macro . #[(&optional do-if-done) "\301\302\303\304BBBB\207" [do-if-done if (setq state (car (car stack)) saved-pos (cdr (car stack)) stack (cdr stack)) t ((throw 'loop nil))] 5])) (defalias 'c-bos-pop-state-and-retry '(macro . #[nil "\300\207" [(throw 'loop (setq state (car (car stack)) saved-pos (cdr (car stack)) stack (cdr stack)))] 1])) (defalias 'c-bos-save-pos '(macro . #[nil "\300\207" [(setq saved-pos (vector pos tok ptok pptok))] 1])) (defalias 'c-bos-restore-pos '(macro . #[nil "\300\207" [(unless (eq (elt saved-pos 0) start) (setq pos (elt saved-pos 0) tok (elt saved-pos 1) ptok (elt saved-pos 2) pptok (elt saved-pos 3)) (goto-char pos) (setq sym nil))] 1])) (defalias 'c-bos-save-error-info '(macro . #[(missing got) "\302\303\304\305 FE\207" [missing got setq saved-pos vector pos] 6])) (defalias 'c-bos-report-error '(macro . #[nil "\300\207" [(unless noerror (setq c-parsing-error (format "No matching `%s' found for `%s' on line %d" (elt saved-pos 1) (elt saved-pos 2) (1+ (count-lines (point-min) (c-point 'bol (elt saved-pos 0)))))))] 1])) #@2150 Move to the start of the current statement or declaration, or to the previous one if already at the beginning of one. Only statements/declarations on the same level are considered, i.e. don't move into or out of sexps (not even normal expression parentheses). Stop at statement continuation tokens like "else", "catch", "finally" and the "while" in "do ... while" if the start point is within the continuation. If starting at such a token, move to the corresponding statement start. If at the beginning of a statement, move to the closest containing statement if there is any. This might also stop at a continuation clause. Labels are treated as part of the following statements if IGNORE-LABELS is non-nil. (FIXME: Doesn't work if we stop at a known statement start keyword.) Otherwise, each label is treated as a separate statement. Macros are ignored (i.e. skipped over) unless point is within one, in which case the content of the macro is treated as normal code. Aside from any normal statement starts found in it, stop at the first token of the content in the macro, i.e. the expression of an "#if" or the start of the definition in a "#define". Also stop at start of macros before leaving them. Return 'label if stopped at a label, 'same if stopped at the beginning of the current statement, 'up if stepped to a containing statement, 'previous if stepped to a preceding statement, 'beginning if stepped from a statement continuation clause to its start clause, or 'macro if stepped to a macro start. Note that 'same and not 'label is returned if stopped at the same label without crossing the colon character. LIM may be given to limit the search. If the search hits the limit, point will be left at the closest following token, or at the start position if that is less ('same is returned in this case). NOERROR turns off error logging to `c-parsing-error'. Normally only ';' and virtual semicolons are considered to delimit statements, but if COMMA-DELIM is non-nil then ',' is treated as a delimiter too. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-beginning-of-statement-1 #[(&optional lim ignore-labels noerror comma-delim) "\306`\306\203 \307\202\f\310\203 \202\n\306\211\211\211\211\211\211\211\211\211\211\211 \206&\311\312\306\211\211$%&'()*+,-./0123456\2147\203^7d}\210\212\313 \205i`5U?)\203p`4`/\314 \2108\203\2018 \204\211\315\306x\316U\203p`Sf3>\203\312\317u\210`0\314 \210`Sf3>\204\300`Sf\320>\204\300`Sfz\321=\204\3008\203\3128 \203\312\322%0/\202\3025b\210\323\324!\203\3305$\325\326\215\204\330'\203#\327(!\203(G\330=\2039\204\331\332(\333\234(\334\234\335e\212(\316\234b\210\336 \210`)\"T$:'@A('A\211'\204\343%\312=\203]*\337>\204]\323;!\203< \202=\f\2110\203]50V\203R0/\202]50U\203]\340%<\204\3021\341=\203\302%\342=\204\302-\203\302+\203\237+/X\204\237,\203\224,5W\203\224,\202\226/b\210\323=!\203\302-5W\203\256-/\202\302\343%,\203\302,5W\203\302,//b\210\314 \2108\203\3258`!\204\343\315\306x\316U\204\343`/\202\306/b\210%.\207" [comma-delim c-stmt-delim-chars-with-comma c-stmt-delim-chars c-opt-block-stmt-key pptok ptok nil (59 44) (59) "\\<\\>" same c-beginning-of-macro c-backward-sws "-+!*&~@`#" 0 -1 (58 nil) 40 previous looking-at "\\<\\|\\W" loop (byte-code "\212\205.\306\307x\210`Sf\310=\205.`S\311 \210`SSf\312=?\205.\313\n!\205.\306\307w\210` =)\203c b\210\314 \203T\214e \206Ad}\210\315 \210)` W\203T`\316\202[ \3179\316\320\321\307\"\210\202\217:\204z\313;!\203\217\322\323\324!!\211:\203\217\f W\203\212<\204\212\320\321\307\"\210=\325=\203\331:\326=\203\237\327\211=\202\312>\204\301\330\331?\324\234?\332\234\333e\212?\334\234b\210\311 \210`)\"T$@\320\321<@@=<@A?\204/\330\331?\324\234?\332\234\333e\212?\334\234b\210\311 \210`)\"T$@<@@=<@A?\2045\330\331?\324\234?\332\234\333e\212?\334\234b\210\311 \210`)\"T$@\320\321<@@=<@A?\204\261\330\331?\324\234?\332\234\333e\212?\334\234b\210\311 \210`)\"T$@<@@=<@A?\204U` =\203HF\203HF \204UG\203\201GD!\203\201=?B\203\201=?B" ret sym cond-key stack state noerror saved-pos c-parsing-error after-labels-pos tok ptok pptok delims c-vsemi-status-unknown-p-fn c-at-vsemi-p-fn c-maybe-labelp last-label-pos sexp-loop-end-pos sexp-loop-continue-pos before-sws-pos lim boundary-pos c-opt-method-key c-nonlabel-token-key label-good-pos] 9) vectorp 3 format #1# 1 2 count-lines beginning-of-line (boundary ignore nil) up t beginning label tok ret cond-key stack saved-pos state sym label-good-pos last-label-pos after-labels-pos boundary-pos pos saved c-maybe-labelp c-in-literal-cache delims macro-start start case-fold-search lim c-at-vsemi-p-fn noerror c-parsing-error c-block-stmt-1-key ignore-labels c-label-kwds-regexp] 23 (#$ . 25295)]) #@776 Return non-nil if buffer positions FROM to TO cross one or more statement or declaration boundaries. The returned value is actually the position of the earliest boundary char. FROM must not be within a string or comment. The variable `c-maybe-labelp' is set to the position of the first `:' that might start a label (i.e. not part of `::' and not preceded by `?'). If a single `?' is found, then `c-maybe-labelp' is cleared. For AWK, a statement which is terminated by an EOL (not a ; or a }) is regarded as having a "virtual semicolon" immediately after the last token on the line. If this virtual semicolon is _at_ from, the function recognises it. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-crosses-statement-barrier-p #[(from to) "\303\212\304\305\215+\207" [c-stmt-delim-chars lit-range skip-chars nil done (byte-code "b\210 \nw\210`\nW\203\217\306!\211\203 Ab\210\202\307f\310=\203?\307u\210\307f\310=\2039`\nW\2039\307u\210\202`S\202\307f\311=\203Q\307 \312\313O\211\202\307f\314>\203\207`Sf\315=\203j\307f\316>\203j\317u\210\320x\210\203\201 \203\201\321\322`\"\210\202\307y\210\202\321\322`\"\210\202\214\206\225ed}\210\323 \210)`\nW\205\256\205\256 \205\256`\207" [from skip-chars to lit-range c-maybe-labelp c-stmt-delim-chars c-literal-limits nil 58 63 0 -2 (35 10 13) 92 (10 13) -1 " " throw done c-backward-sws c-at-vsemi-p-fn] 4)] 2 (#$ . 32748)]) #@411 Return non-nil if the point is at the first token in a statement or somewhere in the syntactic whitespace before it. A "statement" here is not restricted to those inside code blocks. Any kind of declaration-like construct that occur outside function bodies is also considered a "statement". Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-at-statement-start-p #[nil "\212`\304\305\n\306\304O\304\307#\210o\2063`Sf\310=\2063`Sf\311=\203/ \205+\312u\210\313 ?\2063\314` \"+\207" [c-maybe-labelp end c-stmt-delim-chars c-special-brace-lists nil c-syntactic-skip-backward 1 t 125 123 -1 c-looking-at-special-brace-list c-crosses-statement-barrier-p] 4 (#$ . 34262)]) #@720 Return non-nil if the point is at the first token in an expression or statement, or somewhere in the syntactic whitespace before it. An "expression" here is a bit different from the normal language grammar sense: It's any sequence of expression tokens except commas, unless they are enclosed inside parentheses of some kind. Also, an expression never continues past an enclosing parenthesis, but it might contain parenthesis pairs of any sort except braces. Since expressions never cross statement boundaries, this function also recognizes statement beginnings, just like `c-at-statement-start-p'. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-at-expression-start-p #[nil "\212`\304\305\n\306\304O\304\307#\210o\206+`Sf\310>\206+\212\311u\210\312\313!)\206+\314` \",\207" [c-stmt-delim-chars-with-comma c-maybe-labelp c-stmt-delim-chars end nil c-syntactic-skip-backward 1 t (123 125) -1 looking-at "\\s(" c-crosses-statement-barrier-p] 4 (#$ . 35023)]) #@506 Move forward past whitespace and the closest following comment, if any. Return t if a comment was found, nil otherwise. In either case, the point is moved past the following whitespace. Line continuations, i.e. a backslashes followed by line breaks, are treated as whitespace. The line breaks that end line comments are considered to be the comment enders, so the point will be put on the beginning of the next line if it moved past a line comment. This function does not do any hidden buffer changes. (defalias 'c-forward-single-comment #[nil "`\301\302!\203\f\303\225b\210\304\305!\205*m?\205*l\203)\306`\"\307\234\203)\310\311\310\217\210\312)\207" [start looking-at "\\([ \n \f ]\\|\\\\[\n ]\\)+" 0 forward-comment 1 parse-partial-sexp 7 nil (forward-char 1) t] 3 (#$ . 36079)]) #@267 Move forward past all following whitespace and comments. Line continuations, i.e. a backslashes followed by line breaks, are treated as whitespace. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-forward-comments #[nil "\300\301!\203\nm\203\302\303!\205\304u\210\202\207" [forward-comment 5 looking-at "\\\\[\n ]" 2] 2 (#$ . 36880)]) (put 'c-forward-comments 'byte-optimizer 'byte-compile-inline-expand) #@495 Move backward past whitespace and the closest preceding comment, if any. Return t if a comment was found, nil otherwise. In either case, the point is moved past the preceding whitespace. Line continuations, i.e. a backslashes followed by line breaks, are treated as whitespace. The line breaks that end line comments are considered to be the comment enders, so the point cannot be at the end of the same line to move over a line comment. This function does not do any hidden buffer changes. (defalias 'c-backward-single-comment #[nil "`\301\302x\210\303\304!\203`Sf\305=\203\306u\210\202o?\205G\307\310\311#\210\312\306!\205Gl\2035\312\306!\2026\311\205G\303\313!\203F\314u\210\302\202G\311)\207" [start " \n \f " nil looking-at "[\n ]" 92 -1 re-search-forward "\\=\\s *[\n ]" t forward-comment "\\*/" 2] 4 (#$ . 37381)]) #@524 Move backward past all preceding whitespace and comments. Line continuations, i.e. a backslashes followed by line breaks, are treated as whitespace. The line breaks that end line comments are considered to be the comment enders, so the point cannot be at the end of the same line to move over a line comment. Unlike c-backward-syntactic-ws, this function doesn't move back over preprocessor directives. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-backward-comments #[nil "`o?\2054\301\302!\203\303\304!\203\305u\210\306\2024\303\307!\2054`Sf\310=\2054`W\2054\302u\210\202)\207" [start forward-comment -1 looking-at "\\*/" 2 nil "[\n ]" 92] 2 (#$ . 38229)]) (put 'c-backward-comments 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-debug-sws-msg '(macro . #[(&rest args) "\300\207" [nil] 1])) (defalias 'c-put-is-sws '(macro . #[(beg end) "\302\300D\301 DD\303\304\305!\205\306BBB\207" [beg end let (put-text-property beg end 'c-is-sws t) facep c-debug-is-sws-face ((c-debug-add-face beg end 'c-debug-is-sws-face))] 5])) (defalias 'c-put-in-sws '(macro . #[(beg end) "\302\300D\301 DD\303\304\305!\205\306BBB\207" [beg end let (put-text-property beg end 'c-in-sws t) facep c-debug-is-sws-face ((c-debug-add-face beg end 'c-debug-in-sws-face))] 5])) (defalias 'c-remove-is-sws '(macro . #[(beg end) "\302\300D\301 DD\303\304\305!\205\306BBB\207" [beg end let (remove-text-properties beg end '(c-is-sws nil)) facep c-debug-is-sws-face ((c-debug-remove-face beg end 'c-debug-is-sws-face))] 5])) (defalias 'c-remove-in-sws '(macro . #[(beg end) "\302\300D\301 DD\303\304\305!\205\306BBB\207" [beg end let (remove-text-properties beg end '(c-in-sws nil)) facep c-debug-is-sws-face ((c-debug-remove-face beg end 'c-debug-in-sws-face))] 5])) (defalias 'c-remove-is-and-in-sws '(macro . #[(beg end) "\302\300D\301 DD\303\304\305!\205\306BBB\207" [beg end let (remove-text-properties beg end '(c-is-sws nil c-in-sws nil)) facep c-debug-is-sws-face ((c-debug-remove-face beg end 'c-debug-is-sws-face) (c-debug-remove-face beg end 'c-debug-in-sws-face))] 5])) (defalias 'c-invalidate-sws-region-after #[(beg end) "\212b\210\302\303w\210l\203m\204`T) U\2032\304 \305\"\2032 eV\2032\304 S\305\"\2032 S \306 \307#*\207" [end beg " \f " nil get-text-property c-in-sws remove-text-properties (c-is-sws nil c-in-sws nil)] 4]) (put 'c-invalidate-sws-region-after 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-forward-sws #[nil "`\306\211\211\211\211\211\211\307\306w\210\310 !\205\n`Td^\311 \312\313$\211\203:\314 \312\306 $S\202=` \203\272\315`\316\"\203\272\314`\316\306d$b\210\315`\312\"\204h\315`S\312\"\204e\317`\312\"b\210\320u\210`\307\306w\321V\203\272m\204\272\315`\312\"\204\216``T!\"\322\"!\323#\210*T`T!\"\324\"!\312\313$\210*`\211\211!\"\324\"!\316\313$\210*\202=`\325\326!\203\306m\203\274\310\327!\203\322\330u\210\202\274` U\204\335m?\202\"\212#\205\377\310$!\205\377\331\306x\210n\205\377o\206\377\320u\210`Sf\332=?)\203\335\306\210`Sf\332=\203\333y\321U\203\306\210\202\333y\210\313m?\203\335`\307\306w\210`Td^\203@ \204P\315 \316\"\203P\311 \312\313$\211\203\302\203\302 T!\"\322\"!\334#\210* \203l U\204\200 T!\"\324\"!\312\313$\210*\313`\211\211!\"\324\"!\316\313$\210*\315 S\312\"\204\256 S !\"\322\"!\323#\210* !\"\324\"!\312\313$\210*\202=\n\211\203\324\314 \312\306 $S\202\330\313\202=\f`=\205\n\fdW\203\373\f\211T!\"\322\"!\323#*\202\n\fS\f!\"\322\"!\335#*.\207" [safe-start simple-ws-end next-rung-is-marked rung-is-marked last-put-in-sws-pos rung-end-pos nil " \n \f " looking-at text-property-any c-is-sws t next-single-property-change get-text-property c-in-sws previous-single-property-change -1 0 remove-text-properties (c-in-sws nil) put-text-property forward-comment 5 "\\\\[\n ]" 2 " " 92 1 (c-is-sws nil) (c-is-sws nil c-in-sws nil) next-rung-pos rung-pos c-syntactic-ws-start end beg c-opt-cpp-prefix c-opt-cpp-start] 9]) (defalias 'c-backward-sws #[nil "`\306\211\211\211\211\307\306x\210o?\205O\212\310u\210\311!!)\205O`\312\306x\210\313` Td^\314\315$\211\203=\n\211b\210\202@ b\210\n\203\306o\204\306\316`S\317\"\203\306\320`\317\306e$b\210\316`\314\"\204e\321`\314\"b\210`\322\306x`\312\306x^\323W\203\200\313` \314\315$\211\204\206 b\210\202\306\316 S\314\"\204\236 S \"#\324#\"\325#\210*\n \"#\326#\"\314\315$\210*\n S\"#\326#\"\317\315$\210*\n\211\202@`$o?\205\374\327\310!\203\341\311\330!\203\311\331u\210\306\202\374\311\332!\205\374`Sf\333=\205\374`$W\205\374\310u\210\202\311)\210`%\203c U\204c\334 \203c`& b\210\335 \210`V\2030\310u\210`Sf\333=\2030\335 \210\202`W\203=b\210\306\202_ b\210\312\306x\210`Sf\333=\203O\306u\210\336y\210` W\203Z`&b\210\315)\202u\212\312 w\210`\211) U\204\fb\210\315\203`\322\306x\210\n\204\234\316 S\317\"\203\234\212\312\306x\210\313`\fTd^\314\315$)\203\fT \"#\324#\"\337#\210*\n\203\266 U\204\353 Td^'\316'S\314\"\204\327'S'\"#\324#\"\325#\210* '\"#\326#\"\314\315$\210*\315)`\211\211 \"#\326#\"\317\315$\210* \211\fT\"#\326#\"\314\315$\210*\202@\f`\202@ `=\205Oe W\203: S \"#\324#\"\325#*\202Oe\336V\205O \211T\"#\324#\"\340#*.\207" [cmt-skip-pos simple-ws-beg rung-is-marked last-put-in-sws-pos next-rung-pos rung-pos nil " \f" -1 looking-at " \n \f " text-property-any c-is-sws t get-text-property c-in-sws previous-single-property-change next-single-property-change " \f " 0 remove-text-properties (c-in-sws nil) put-text-property forward-comment "\\*/" 2 "[\n ]" 92 c-beginning-of-macro beginning-of-line 1 (c-is-sws nil) (c-is-sws nil c-in-sws nil) c-syntactic-ws-end end beg start c-opt-cpp-prefix cpp-beg rung-end-pos] 7]) (defalias 'c-partial-ws-p #[(beg end) "\212Td^e\nS]b\210\206d\304 w\210\305f\306=\203-` W\203-\305u\210l\204\307u\210)`=\206\\\nb\210 \206<d\304 w\210\305f\306=\203X` W\203X\305u\210l\204=\307u\210)` =*\207" [end end+1 beg limit " \n \f " nil 92 -1] 2]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305\301!\210\306B\302\306!\204\"\303\306\307\"\210\305\306!\210\310B\302\310!\2045\303\310\307\"\210\305\310!\207" [current-load-list c-state-cache default-boundp set-default nil make-variable-buffer-local c-state-cache-start 1 c-state-cache-good-pos] 3) (defalias 'c-invalidate-state-cache #[(pos) "\204 \nW\205E\304\305\207@\211:\203* AW\206: \nW\205: A\305\202: X\206: \nW\205: T\305)\205EA\211\202\207" [c-state-cache pos c-state-cache-good-pos elem 1 nil] 3]) (put 'c-invalidate-state-cache 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-get-fallback-start-pos #[(here) "\212b\210\305o\2043\306 !\2043\307\211\310 \210*\f\203&\311\f!\203&\312\225b\210\307f\313=\203 S\202)`)\207" [here cnt end-of-defun-function beginning-of-defun-function defun-prompt-regexp 2 zerop nil beginning-of-defun looking-at 0 123] 2]) (defalias 'c-parse-state #[nil "\214`\306 \n9\203,\212\307 \310\211\310\311\211\311 \312\216\313 \205'`. \202-\n\211\2063`!\311\211\"#\311\211$%\311\211&'&(\204]&)W\203\244\314)\202\244(@\211*:\203\201&*AW\206\227&)W\205\227*A)\311\202\227&*X\206\227&)W\205\227*T)\311)\203\244(A\211(\202L)+eU\204 e+V\203\311(B\311*\211,A\242\211*\203\341*:\203\321*@\202\323*eY\203\341,A\211,\202\275,:\203\376,A(=\203\371\311(\314)\202\376,\311\241\210*\202\311(\314)e+(\205\"(@:\203(@A\202\"(@T\211#\2030#)W\2037)#\202B# W\203B#)\212#b\210\313 \203\316`!U\204\316`&(\204i&)W\203\260\314)\202\260(@\211*:\203\215&*AW\206\243&)W\205\243*A)\311\202\243&*X\206\243&)W\205\243*T)\311)\203\260(A\211(\202X)(\203\313(@:\203\304(@A\202\314(@T\202\314\314#)#\315ZW\203\363\316!\211&#X\203\352\311&\202\363\311\211#(\314)&\204\266(\"e}\210\311\211-.(\203>\311\317\320\217\211.\203>.#(@:\2030(A\242-(A\243\211(\202(@-(A\211(\204 -\203a-f\321=\203a(\242:\203W(A(-#B(B(*`!X\203\204(@:\203\204\212(@@b\210\313 \203\203`(A()(\"=\204\255(\203\246(@:\203\237(@A\202\247(@T\202\247\314)(\"(\203\266#&&\204\306\316!&\311(\314)e}\210&\203\206&'\311\211$\322\323\217\210$\203(\242\211/:\203\372/$S\240\210/%\241\210\202$S%B(B()#\203A#&#!Y\204\"\212#b\210\313 )\204\312#Sf\324>\203\312# W\2036#)#S(B(\202\312\311\325\326\217\211#\203\311\327\330\217&\311(+)&\203e&'Y\203\312#&\331\332\333e\212#b\210\334 \210`)\"T\"0\202\312\311\211&\204\317(. \207" [here here-bol c-macro-start modified buffer-undo-list inhibit-read-only line-beginning-position buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro 1 20000 c-get-fallback-start-pos (byte-code "\301\302\211#\207" [last-pos scan-lists 1] 4) ((error)) 123 (byte-code "\306\211\306\307 \310\311#\307\n\310\211#\211\fW\nSf\312= \204$\203 Y\2044\212 b\210\313 )\204 \203; \f\203\n \202" [set-brace-pair set-good-pos last-pos pos here-bol in-macro-start nil scan-lists 1 -1 123 c-beginning-of-macro c-state-cache-good-pos brace-pair-open brace-pair-close] 5) ((error)) (123 40 91) (byte-code "\301\302\211#\207" [pos scan-lists 1] 4) ((error)) (scan-lists pos -1 1) ((error)) format "Unbalanced close paren at line %d" count-lines beginning-of-line inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark in-macro-start old-state last-pos brace-pair-open brace-pair-close pos save-pos c-state-cache c-state-cache-good-pos elem c-state-cache-start ptr pair-beg placeholder head c-parsing-error] 6]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305\306!\204\306\307KM\210\304\207" [current-load-list c-debug-parse-state default-boundp set-default nil fboundp c-real-parse-state c-parse-state] 3) (defalias 'c-debug-parse-state #[nil "\306 \307\307\310\211\306 + \232\204o\212\311!\206`b\210\307\211\312 \210*\2038\313!\2038\314\225b\210o\204_\307f\315=\204_\307\211\312 \210*\2038\313!\2038\314\225b\210\2028\316` \"\232\204n\317\320 #\210) *\207" [res2 res1 c-state-cache-good-pos c-state-cache-start c-state-cache end-of-defun-function c-real-parse-state nil 1 c-least-enclosing-brace beginning-of-defun looking-at 0 123 c-whack-state-before message "c-parse-state inconsistency: using cache: %s, from scratch: %s" beginning-of-defun-function defun-prompt-regexp] 4]) (defalias 'c-toggle-parse-state-debug #[(&optional arg) "\303 \"\304 \203\301\202\305KM\210\306\302!\205\307\211\207" [arg c-debug-parse-state zmacs-region-stays c-calculate-state c-parse-state c-real-parse-state boundp t] 3 nil "P"]) (byte-code "\203\301\302!\210\301\207" [c-debug-parse-state c-toggle-parse-state-debug 1] 2) (defalias 'c-whack-state-before #[(bufpos paren-state) "\305C\211\305 \2032 @ A\n:\203\n@\202\n\fW\203'\305\211\202 \nC\241\210 A\202A+\207" [newstate ptr car paren-state bufpos nil] 3]) (defalias 'c-whack-state-after #[(bufpos paren-state) "\300\301\215\207" [done (byte-code "\205@@\211:\203.\n @X\2049\n AW\203&\303\304 @AB\"\210\2029\303\304\"\210\2029\n X\2049\303\304\"\210A)\202\207" [paren-state car bufpos throw done] 5)] 2]) (defalias 'c-most-enclosing-brace #[(paren-state &optional bufpos) "\303 \204\304\n\203(\n@\nA:\204 Y\203\"\303\202\303\211\204\f)\207" [enclosingp bufpos paren-state nil 134217727] 3]) (defalias 'c-least-enclosing-brace #[(paren-state) "\303\211\n\203\n@\nA\250\203\202 *\207" [elem pos paren-state nil] 2]) (defalias 'c-safe-position #[(bufpos paren-state) "\205\n\302\303\304\215)\207" [bufpos elem nil done (byte-code "\205E@\211:\203/ A\nW\203\303\304 A\"\210\202= @\nW\203=\303\304 @T\n^\"\210\202= \nW\203=\303\304 T\n^\"\210A\211\204\305\207" [paren-state elem bufpos throw done nil] 5)] 2]) (defalias 'c-beginning-of-syntax #[nil "\306\307\310\215\211`\311ZV\203 b\2025\306\211\312 \210* \203-\313 !\203-\314\225b\210` W\2055 b+\207" [c-state-cache paren-state elem pos end-of-defun-function beginning-of-defun-function nil done (byte-code "\203>@\211:\203, A`X\203\302\303 A\"\210\2027 @`X\2037\302\303 @\"\210\2027 `X\2037\302\303 \"\210A\211\204e\207" [paren-state elem throw done] 4) 4000 beginning-of-defun looking-at 0 defun-prompt-regexp] 4]) #@454 Return non-nil if the point is on or directly after an identifier. Keywords are recognized and not considered identifiers. If an identifier is detected, the returned value is its starting position. If an identifier ends at the point and another begins at it (can only happen in Pike) then the point for the preceding one is returned. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-on-identifier #[nil "\212\306\307!\210\310!\203\310 !\204`\206\214\n\311=\203E`\312\313x\210\314\313x\315W\2043 b\210\313f\316=\205A\310\f!\205A\315\225 Y\205A`)\206\214 \205\214\317\315!\315U\205\214\310 !\203o\203k\317\320!\315U\203o\310!\203o`\202\214\212\205\207\310!\205\207\321\320!\315U\205\207\310 !)\205\214`)\207" [c-symbol-start c-keywords-regexp c-buffer-is-cc-mode pos c-symbol-key c-overloadable-operators-regexp skip-syntax-backward "w_" looking-at pike-mode "-!%&*+/<=>^|~[]()" nil "`" 0 96 c-backward-token-2 1 c-forward-token-2 c-opt-op-identifier-prefix] 2 (#$ . 51002)]) (defalias 'c-simple-skip-symbol-backward #[nil "\303\304!\305W\2066\306=\2056`\307\310x\305W\2031\311\310x\305W\2031\312\n!\2031\305\225 Y\2031\313\2025 b\210\310)\207" [c-buffer-is-cc-mode pos c-symbol-key skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" nil "`" looking-at t] 2]) (put 'c-simple-skip-symbol-backward 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-beginning-of-current-token #[(&optional back-limit) "`\304\305!\203\306\307 \"\210\2023\306\310 \"\311W\2033\304\n!\203$\311\225\206&`T\211X\205/ b)\204`W)\207" [start back-limit c-nonsymbol-token-regexp pos looking-at "\\w\\|\\s_" skip-syntax-backward "w_" ".()" 0] 4]) (defalias 'c-end-of-current-token #[(&optional back-limit) "`\303\304S\"\305W\203\306\304!\210\2022\303\307 \"\305W\2032\310\n!\203)\305\225b\210\202,\311u\210`W\204`V)\207" [start back-limit c-nonsymbol-token-regexp skip-syntax-backward "w_" 0 skip-syntax-forward ".()" looking-at nil] 3]) (byte-code "\302B\303\304 >\203\305\202\306!\210\307B\310\304 >\203!\311\202\"\312!\207" [current-load-list c-emacs-features c-jump-syntax-balanced (lambda (#1=#:defconst-tmp-var) (defconst c-jump-syntax-balanced #1#)) gen-string-delim "\\w\\|\\s_\\|\\s(\\|\\s)\\|\\s\"\\|\\s|" "\\w\\|\\s_\\|\\s(\\|\\s)\\|\\s\"" c-jump-syntax-unbalanced (lambda (#2=#:defconst-tmp-var) (defconst c-jump-syntax-unbalanced #2#)) "\\w\\|\\s_\\|\\s\"\\|\\s|" "\\w\\|\\s_\\|\\s\""] 3) #@1292 Move forward by tokens. A token is defined as all symbols and identifiers which aren't syntactic whitespace (note that multicharacter tokens like "==" are treated properly). Point is always either left at the beginning of a token or not moved at all. COUNT specifies the number of tokens to move; a negative COUNT moves in the opposite direction. A COUNT of 0 moves to the next token beginning only if not already at one. If BALANCED is true, move over balanced parens, otherwise move into them. Also, if BALANCED is true, never move out of an enclosing paren. LIMIT sets the limit for the movement and defaults to the point limit. The case when LIMIT is set in the middle of a token, comment or macro is handled correctly, i.e. the point won't be left there. Return the number of tokens left to move (positive or negative). If BALANCED is true, a move over a balanced paren counts as one. Note that if COUNT is 0 and no appropriate token beginning is found, 1 will be returned. Thus, a return value of 0 guarantees that point is at the requested position and a return value less (without signs) than COUNT guarantees that point is at the beginning of some token. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-forward-token-2 #[(&optional count balanced limit) "\204\306\307W\203\310[ \n#[\207 \203 \202\f``\311!\203-\312 \210\214\n\2036e\n}\210`\313 \210`U\204DS\307]m\203W\311!\203P\306b\210\202f\314\315\316\217\210m\203f b\210T)+\207" [count balanced limit c-jump-syntax-balanced c-jump-syntax-unbalanced prev 1 0 c-backward-token-2 zerop c-end-of-current-token c-forward-sws nil (byte-code "\306V\203A`\307\n!\203\310`\311\"b\210\2025\307 !\203$\306\225b\210\2025\f\2032\214~\210\307 !)\204A\312u\210\313 \210 S\211\202\312\207" [count last jump-syntax c-nonsymbol-token-regexp limit prev 0 looking-at scan-sexps 1 nil c-forward-sws] 4) ((error (goto-char last))) last jump-syntax] 4 (#$ . 53554)]) #@63 Move backward by tokens. See `c-forward-token-2' for details. (defalias 'c-backward-token-2 #[(&optional count balanced limit) "\204\306\307W\203\310[ \n#[\207\n\204e \203\" \202#\f`\311!\203v`\312 \210`V\203A`\nW\203v\306\202v\313!\203v\314f\315U\203t\203t\212`\316 \210\313\317!\210\307\225U\205po\206p\320u\210`Sf\321=?)\203v\306\314\322\323\217\210`\nW\203\204 b\210*\207" [count balanced limit c-jump-syntax-balanced c-jump-syntax-unbalanced last 1 0 c-forward-token-2 zerop c-beginning-of-current-token looking-at nil 35 beginning-of-line "[ ]*" -1 92 (byte-code "\304V\203.\305 \210\306u\210\307 !\203\310`T\306\"b\210\202\311 \210`\nY\203.`S\211\202\304\207" [count jump-syntax limit last 0 c-backward-sws -1 looking-at scan-sexps c-beginning-of-current-token] 4) ((error (goto-char last))) jump-syntax c-syntactic-ws-start c-opt-cpp-prefix] 4 (#$ . 55607)]) #@271 Like `c-forward-token-2' but doesn't treat multicharacter operator tokens like "==" as single tokens, i.e. all sequences of symbol characters are jumped over character by character. This function is for compatibility only; it's only a wrapper over `c-forward-token-2'. (defalias 'c-forward-token-1 #[(&optional count balanced limit) "\304\305 \n #)\207" [c-nonsymbol-token-regexp count balanced limit "\\s.\\|\\s(\\|\\s)" c-forward-token-2] 4 (#$ . 56529)]) #@273 Like `c-backward-token-2' but doesn't treat multicharacter operator tokens like "==" as single tokens, i.e. all sequences of symbol characters are jumped over character by character. This function is for compatibility only; it's only a wrapper over `c-backward-token-2'. (defalias 'c-backward-token-1 #[(&optional count balanced limit) "\304\305 \n #)\207" [c-nonsymbol-token-regexp count balanced limit "\\s.\\|\\s(\\|\\s)" c-backward-token-2] 4 (#$ . 56996)]) #@2020 Like `re-search-forward', but only report matches that are found in syntactically significant text. I.e. matches in comments, macros or string literals are ignored. The start point is assumed to be outside any comment, macro or string literal, or else the content of that region is taken as syntactically significant text. If PAREN-LEVEL is non-nil, an additional restriction is added to ignore matches in nested paren sexps. The search will also not go outside the current list sexp, which has the effect that if the point should be moved to BOUND when no match is found (i.e. NOERROR is neither nil nor t), then it will be at the closing paren if the end of the current list sexp is encountered first. If NOT-INSIDE-TOKEN is non-nil, matches in the middle of tokens are ignored. Things like multicharacter operators and special symbols (e.g. "`()" in Pike) are handled but currently not floating point constants. If LOOKBEHIND-SUBMATCH is non-nil, it's taken as a number of a subexpression in REGEXP. The end of that submatch is used as the position to check for syntactic significance. If LOOKBEHIND-SUBMATCH isn't used or if that subexpression didn't match then the start position of the whole match is used instead. The "look behind" subexpression is never tested before the starting position, so it might be a good idea to include \=\= as a match alternative in it. Optimization note: Matches might be missed if the "look behind" subexpression can match the end of nonwhite syntactic whitespace, i.e. the end of comments or cpp directives. This since the function skips over such things before resuming the search. It's on the other hand not safe to assume that the "look behind" subexpression never matches syntactic whitespace. Bug: Unbalanced parens inside cpp directives are currently not handled correctly (i.e. they don't get ignored as they should) when PAREN-LEVEL is set. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-syntactic-re-search-forward #[(regexp &optional bound noerror paren-level not-inside-token lookbehind-submatch) "\204d \203\f\306`\307\211\211`\307\211e\307 \310\311\312\217\210\n\2035\313\225b\210\313\225\202G\314=\203Cb\210\202Fb\210\307. \207" [bound paren-level found last-token-end-pos check-state check-pos -1 nil err (byte-code "`\306 \n #\203\263\307\f\310\224 \311 % `!\205+ \203( @\310Y\205+!\225\211\"\203?\307\f\" \311 %#\202F\f\" ##\312\234\203U\306\313\n #\202\221#\314\234\203d\315\316\n #\202\221#\317\234\204\235\"Sf\320=\203\235\321\"S\322\"\204\235\"f\323>\203\235\"f\320U\203\225\306\313\n #\202\221\315\316\n #\202\221 \203\340#@\211$\310U\204\340$\310V\203\316!\203\276\fb\210\202\224\307\f\n\310\311 % `\211\202\221 \203\330`S\202\263\324\325 C\"\202\221#\326\234\211$\203.!\204\365$\250\204\373\fb\210\202\224\327\330$\"\331%&\315&\n #\203!\307\f`\311\211 % ` \326\234\202%\311\211%\204%*\202\221\212\332 '\333\216\334(!+\203R\335 \210`\nX\204\224 \204\263\324\325 C\"\202\221)\203\215\"*W\204{\"\212\"b\210\332 '\336\216\337*!\210*`\211*)W\203\215!\203\205\fb\202\221*\n^b\202\221\331+\311\203\263`U\203`\nU\203\254 \204\263\324\325 C\"\202\260\311u\210\331\204\311\207" [search-pos regexp bound noerror state-pos paren-level re-search-forward parse-partial-sexp 0 nil 7 "[\n ]" 4 search-forward "*/" 5 47 get-text-property syntax-table (47 42) signal search-failed 3 make-string 1 t match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-beginning-of-macro c-end-of-macro ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-end-of-current-token state lookbehind-submatch check-pos check-state tmp continue ender save-match-data-internal start not-inside-token last-token-end-pos found] 6) ((error (byte-code "b\210\302 @ A\"\207" [start err signal] 3))) 0 t state-pos state search-pos tmp start noerror] 9 (#$ . 57468)]) #@766 Like `skip-chars-backward' but only look at syntactically relevant chars, i.e. don't stop at positions inside syntactic whitespace or string literals. Preprocessor directives are also ignored, with the exception of the one that the point starts within, if any. If LIMIT is given, it's assumed to be at a syntactically relevant position. If PAREN-LEVEL is non-nil, the function won't stop in nested paren sexps, and the search will also not go outside the current paren sexp. However, if LIMIT or the buffer limit is reached inside a nested paren then the point will be left at the limit. Non-nil is returned if the point moved, nil otherwise. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-syntactic-skip-backward #[(skip-chars &optional limit paren-level) "`\306\211\211\211`x\307W\203\374`\306\211 \2031 @`V\2031 A\211\204# \242\211\204L\310`\206A\311 \"\206F\307e]\211C\312\n\307#`W\203c`\211 B\202L\f\313\234\204o\f\314\234\203x\f\315\234b\210\316\202\346\203\300\212\312\317#`@\307U)\204\300@\307W\203\265\212\312\306\211%\211@\307W)\203\265\306\320\321\217\202\346\322\234Tb\210\306\202\346\323!\205\346` \206\331\212 b\210\323!\210`)\211W\203\341\316\202\346b\210\306+\203\374\f\322\234\203\f\f\322\234T\211 B\202\f`\324 \210`V\204\f` U.?\207" [paren-level-pos start-macro-beg safe-pos safe-pos-list state start nil 0 c-safe-position c-parse-state parse-partial-sexp 3 4 8 t -1 (byte-code "\304\305 @[#b\210` \203 \nY\203 b\210\306\207\307\207" [pos state-2 paren-level-pos limit scan-lists -1 nil t] 4) ((error (byte-code "\206eb\210\301\207" [limit nil] 1))) 1 c-beginning-of-macro c-backward-sws skip-chars limit pps-end-pos state-2 pos c-state-cache paren-level] 7 (#$ . 61573)]) #@605 Return the type of literal point is in, if any. The return value is `c' if in a C-style comment, `c++' if in a C++ style comment, `string' if in a string literal, `pound' if DETECT-CPP is non-nil and in a preprocessor line, or nil if somewhere else. Optional LIM is used as the backward limit of the search. If omitted, or nil, `c-beginning-of-defun' is used. The last point calculated is cached if the cache is enabled, i.e. if `c-in-literal-cache' is bound to a two element vector. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-slow-in-literal #[(&optional lim detect-cpp) "\306!\203`\307HU\203\310H\207\212`\n\206\311 \210`\312\n \"\211\313\234\203-\314\202P \315\234\203A \316\234\203=\317\202P\320\202P\f\203O\321\n!\203O\322\202P\323,\204[\324` \" )\207" [c-in-literal-cache pos lim state detect-cpp rtn vectorp 0 1 c-beginning-of-syntax parse-partial-sexp 3 string 4 7 c++ c c-beginning-of-macro pound nil vector] 4 (#$ . 63455)]) (defalias 'c-fast-in-literal #[(&optional lim detect-cpp) "\303 \211\304=\203 \304\202.\305=\203\306\202.\307=\203!\310\202. \205.\212\311\n!)\205.\312)\207" [context detect-cpp lim buffer-syntactic-context string comment c++ block-comment c c-beginning-of-macro pound] 3]) (byte-code "\300\301\302\303!\203\f\304\202 \305\"\207" [defalias c-in-literal fboundp buffer-syntactic-context c-fast-in-literal c-slow-in-literal] 4) #@771 Return a cons of the beginning and end positions of the comment or string surrounding point (including both delimiters), or nil if point isn't in one. If LIM is non-nil, it's used as the "safe" position to start parsing from. If NEAR is non-nil, then the limits of any literal next to point is returned. "Next to" means there's only spaces and tabs between point and the literal. The search for such a literal is done first in forward direction. If NOT-IN-DELIMITER is non-nil, the case when point is inside a starting delimiter won't be recognized. This only has effect for comments, which have starting delimiters with more than one character. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-literal-limits #[(&optional lim near not-in-delimiter) "\212` \206 \306 \210`\307 \"\211\310\234\203)\n\311\234b\210`\312\313\314\217\206%dB\202\317\n\315\234\203=\n\311\234b\210`\316 \210`B\202\317 \204a\n\317\234\204a`Sf\320=\203a\321\322!\203a\323u\210`\316 \210`B\202\317\f\205\317b\210\324\312w\210\321 !\203`\312\325\326\217\206{dB\202\317\321!\203\217`\316 \210`B\202\317\324\312x\210`\312 !\212\327\"!\330W)\203\255\312\331\332\217 \202\304\312\333\334\217\203\304\321\335!\203\304!b\210\336 \210`  \205\316 !B*,\207" [pos lim state not-in-delimiter near c-string-limit-regexp c-beginning-of-syntax parse-partial-sexp 3 8 nil (byte-code "\300`\301\"b\210`\207" [scan-sexps 1] 3) ((error)) 4 c-forward-single-comment 5 47 looking-at "[/*]" -1 " " (byte-code "\300`\301\"b\210`\207" [scan-sexps 1] 3) ((error)) skip-syntax-backward 0 (byte-code "\300`\301\"b\210`\207" [scan-sexps -1] 3) ((error)) (byte-code "\300u\210\301\207" [-2 t] 1) ((error)) "*/" c-backward-single-comment c-comment-start-regexp beg end c-string-syntax] 5 (#$ . 64952)]) (defalias 'c-literal-limits-fast 'c-literal-limits) #@488 If the argument is a cons of two buffer positions (such as returned by `c-literal-limits'), and that range contains a C++ style line comment, then an extended range is returned that contains all adjacent line comments (i.e. all comments that starts in the same column with no empty lines or non-whitespace characters between them). Otherwise the argument is returned. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-collect-line-comments #[(range) "\212\300\301\302\217)\207" [nil (byte-code ":\203[@b\210\306 !\203[i`\307\310!A\311 \203:` Y\203:\306 !\203: iU\203:`\307\310!\202\nb\210\312\313w\210\306 !\203V iU\203V\314\315y!`\204=\f\n,B\207\207" [range c-line-comment-starter end bopl beg col looking-at line-beginning-position 0 c-backward-single-comment " " nil zerop 1] 4) ((error range))] 3 (#$ . 66885)]) #@374 Convenience function that given the result of `c-literal-limits', returns nil or the type of literal that the range surrounds. It's much faster than using `c-in-literal' and is intended to be used when you need both the type of a literal and its limits. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-literal-type #[(range) ":\203-\212@b\210\302 !\203\303\202+\302\304!\204&\302\305!\203*\302\306!\203*\307\202+\310)\207\207" [range c-string-limit-regexp looking-at string "//" "\\s<" "#" c++ c] 2 (#$ . 67813)]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305\301!\210\306B\302\306!\204\"\303\306\304\"\210\305\306!\207" [current-load-list c-find-decl-syntactic-pos default-boundp set-default nil make-variable-buffer-local c-find-decl-match-pos] 3) (defalias 'c-invalidate-find-decl-cache #[(change-min-pos) "\205 W\205 \302\211\207" [c-find-decl-syntactic-pos change-min-pos nil] 2]) (put 'c-invalidate-find-decl-cache 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-debug-put-decl-spot-faces '(macro . #[(match-pos decl-pos) "\302\303!\205\304\300D\301 DD\305BB\207" [match-pos decl-pos facep c-debug-decl-spot-face c-save-buffer-state ((c-debug-add-face (max match-pos (point-min)) decl-pos 'c-debug-decl-sws-face) (c-debug-add-face decl-pos (min (1+ decl-pos) (point-max)) 'c-debug-decl-spot-face))] 4])) (defalias 'c-debug-remove-decl-spot-faces '(macro . #[(beg end) "\302\303!\205\304\305\306 \307BBB\306 \310BBBF\207" [beg end facep c-debug-decl-spot-face c-save-buffer-state nil c-debug-remove-face ('c-debug-decl-spot-face) ('c-debug-decl-sws-face)] 7])) (defalias 'c-find-decl-prefix-search '(macro . #[nil "\300\207" [(progn (unless cfd-prop-match (save-excursion (while (progn (goto-char (next-single-property-change (point) 'c-type nil cfd-limit)) (and (< (point) cfd-limit) (not (eq (c-get-char-property (1- (point)) 'c-type) 'c-decl-end))))) (setq cfd-prop-match (point)))) (unless cfd-re-match (if (> cfd-re-match-end (point)) (goto-char cfd-re-match-end)) (while (if (setq cfd-re-match-end (re-search-forward c-decl-prefix-or-start-re cfd-limit 'move)) (c-got-face-at (if (setq cfd-re-match (match-end 1)) (progn (goto-char cfd-re-match) (1- cfd-re-match)) (goto-char (match-beginning 0)) (point)) c-literal-faces) (setq cfd-re-match cfd-limit) nil) (while (progn (goto-char (next-single-property-change (point) 'face nil cfd-limit)) (and (< (point) cfd-limit) (c-got-face-at (point) c-literal-faces))))) (unless cfd-re-match (c-backward-syntactic-ws) (setq cfd-re-match (point)))) (if (< cfd-re-match cfd-prop-match) (setq cfd-match-pos cfd-re-match cfd-re-match nil) (setq cfd-match-pos cfd-prop-match cfd-prop-match nil)) (goto-char cfd-match-pos) (when (< cfd-match-pos cfd-limit) (c-forward-comments) (setq cfd-continue-pos (if cfd-prop-match (min cfd-prop-match (point)) (point)))))] 1])) (defalias 'c-find-decl-spots #[(cfd-limit cfd-decl-re cfd-face-checklist cfd-fun) "`d\306e?\205\n \306\307\211%&'()\306\211\211*+,`-./\310/\311\"\2110:\203T0\203O0@.>\204O0A\2110\204=0\202Y0.>+\203(o\204\245`S-./\310/\311\"\2110:\203\2210\203\2140@.>\204\2140A\2110\204z0\202\2260.>+\203\245\312`\311\306e$b\210\202]\3131!\204\272\314 \2112\203\2712@b\210)`\211,\203( \212)b\210\315y\210`)X\203(\212)b\210\316`\311\306 $b\210` W\203`-./\310/\311\"\2110:\2030\203 0@.>\204 0A\2110\204\3730\2020.>+\204\325` U)\203(,\202\352\212\315y\307U\205Bn\205B` Y\205B\317u\210`Sf\320=)\203P)S\321+\202\352\322 \203X\321+)34\203l34W\203l\3064)`\211*4=\204\205\2144\206~ed}\210\323 \210)`4=\203\2325\203\2325*\202\352*4o\203\251\307\211'\202\262\317u\210\324 \210` W\203\340%\204\327\212\316`\325\306 $b\210` W\203\323\310`S\325\"\326=\203\273`%)'\204\234&`V\203\347&b\210\3276 \330#\211&\203A\315\225\211'\203'b\210'S\202\n\307\224b\210`-./\310/\311\"\2110:\20380\20330@.>\20430A\2110\204!0\202=0.>+\202E '\306\203\221\316`\311\306 $b\210` W\203\347`-./\310/\311\"\2110:\203\2050\203\2000@.>\204\2000A\2110\204n0\202\2120.>+\204H\202\347'\204\234\323 \210`''%W\203\255'\306'\202\263%\306% b\210 W\203\340\331\332!\203\306m\203\274\313\333!\203\322\334u\210\202\274%\203\336%`^\202\337` )W\205\350 5\f\203\253\f)W\203\253+\203D,\206)b\210`7o?\2059\331\317!\203\313\335!\203\334u\210\306\2029\313\336!\2059`Sf\320=\2059`7W\2059\317u\210\202)\210\317u\210\324 \210\202\213,\203\207\204T,b\210\202q)b\210\312`\325\306,$b\210`,V\203q\310`\325\"\326=\203X`,U\203\213\337 \210` V\203\213 b\210\202\213)b\210`'\203\234'\fW\203\234\306'%\203\253%\fW\203\253\306%*\203\321 \203\374 *W\203\374*b\210\340 \210\f\203\374\f`W\203\374`\202\374%\204\363\212\316`\325\306 $b\210` W\203\357\310`S\325\"\326=\203\327`%)'\204\270&`V\203&b\210\3276 \330#\211&\203]\315\225\211'\203!'b\210'S\202&\307\224b\210`-./\310/\311\"\2110:\203T0\203O0@.>\204O0A\2110\204=0\202Y0.>+\202a '\306\203\255\316`\311\306 $b\210` W\203`-./\310/\311\"\2110:\203\2410\203\2340@.>\204\2340A\2110\204\2120\202\2460.>+\204d\202'\204\270\323 \210`''%W\203\311'\306'\202\317%\306% b\210 W\203\374\331\332!\203\342m\203\330\313\333!\203\356\334u\210\202\330%\203\372%`^\202\373`+ W\203\245 Sf\341=\203\310 S\342\"\203q\f U\204q\f V\203$\340 \210`` Y\204n\3138!\203n9\203\245`9./\310/\311\"\2110:\203e0\203`0@.>\204`0A\2110\204N0\202j0.>+\204\245\fb\210` W\203\245%\204\231\212\316`\325\306 $b\210` W\203\225\310`S\325\"\326=\203}`%)'\204^&`V\203\251&b\210\3276 \330#\211&\203\315\225\211'\203\307'b\210'S\202\314\307\224b\210`-./\310/\311\"\2110:\203\3720\203\3650@.>\204\3650A\2110\204\3430\202\3770.>+\202 '\306\203S\316`\311\306 $b\210` W\203\251`-./\310/\311\"\2110:\203G0\203B0@.>\204B0A\2110\20400\202L0.>+\204\n\202\251'\204^\323 \210`''%W\203o'\306'\202u%\306% b\210 W\203\375\331\332!\203\210m\203~\313\333!\203\224\334u\210\202~%\203\240%`^\202\241`\202\375` W\205A`)Y\203 \nV\203\323\212 b\210\212\322 \205\305` W)\203\320\343 \210`\202\321\307)\344\n!\204\353\n`V\203\346e\n}\210\202\353\307\202: \n\307U?\"\203\371\306%\n\307U\204e(}\210\fb\210\f U\203 \211\202\376%\2045\212\316`\325\306 $b\210` W\2031\310`S\325\"\326=\203`%)'\204\372&`V\203E&b\210\3276 \330#\211&\203\237\315\225\211'\203c'b\210'S\202h\307\224b\210`-./\310/\311\"\2110:\203\2260\203\2210@.>\204\2210A\2110\2040\202\2330.>+\202\243 '\306\203\357\316`\311\306 $b\210` W\203E`-./\310/\311\"\2110:\203\3430\203\3360@.>\204\3360A\2110\204\3140\202\3500.>+\204\246\202E'\204\372\323 \210`''%W\203 '\306'\202%\306% b\210 W\203\375\331\332!\203$m\203\313\333!\2030\334u\210\202%\203<%`^\202=`\202\375. \207" [c-type-decl-end-used cfd-limit cfd-macro-end cfd-token-pos cfd-continue-pos cfd-match-pos nil 0 get-text-property face previous-single-property-change looking-at c-literal-limits 1 next-single-property-change -1 92 t c-beginning-of-macro c-backward-sws c-beginning-of-current-token c-type c-decl-end re-search-forward move forward-comment 5 "\\\\[\n ]" 2 "\\*/" "[\n ]" c-forward-single-comment c-forward-sws 60 syntax-table c-end-of-macro zerop cfd-prop-match cfd-re-match-end cfd-re-match cfd-buffer-end cfd-start-pos syntactic-pos start-in-macro start-in-literal c-literal-faces faces pos pos-faces c-literal-start-regexp range change-min-pos c-find-decl-syntactic-pos c-find-decl-match-pos c-decl-prefix-or-start-re start cfd-decl-re cfd-face-checklist cfd-fun] 10]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305\301!\207" [current-load-list c-found-types default-boundp set-default nil make-variable-buffer-local] 3) (defalias 'c-clear-found-types #[nil "\301\302\303\"\211\207" [c-found-types make-vector 53 0] 3]) (put 'c-clear-found-types 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-add-type #[(from to) "\305 \n#\306 \f\"?\205\307 \310\311O\f\"\210\312 \f\")\207" [from to c-recognize-<>-arglists type c-found-types c-syntactic-content intern-soft unintern 0 -1 intern] 4]) (defalias 'c-unfind-type #[(name) "\302 \"\207" [name c-found-types unintern] 3]) (defalias 'c-check-type #[(from to) "\304\305 \n# \"\207" [from to c-recognize-<>-arglists c-found-types intern-soft c-syntactic-content] 5]) (put 'c-check-type 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-list-found-types #[nil "\302\303\304 \"\210\305\306\")\207" [type-list c-found-types nil mapatoms #[(type) "\302! B\211\207" [type type-list symbol-name] 2] sort string-lessp] 3]) (defalias 'c-trim-found-types #[(beg end old-len) " V\203B\212dW\203$b\210\304 \203$b\210\305 \203$\306\307`\"!\210 eV\203A b\210\305 \203A b\210\304 \203A\306\307` \"!\210)\n\205k\310 \"\203\\ U\206k\311\312\313\n8\"\206k\n@\314=\205k\306\n\211A@)!\207" [end beg c-maybe-stale-found-type x c-beginning-of-current-token c-end-of-current-token c-unfind-type buffer-substring-no-properties c-partial-ws-p string-match "^[ \n \f ]*$" 5 c-decl-id-start] 5]) (defalias 'c-after-change-check-<>-operators #[(beg end) "\212b\210\304\305!\204\306\307x\310W\203Gb\210\311 \210`W\203G\304 !\203G\310\225\211W\203G\312w\210`W\203G`\313\n\211T\314#\210)\307u\210\202- W\205\223 b\210\304\305!\204^\306\307x\310W\205\223 b\210\311 \210` W\205\223\304 !\205\223 \310\225\211W\205\223\312 w\210` W\205\223`\313\n\211T\315#\210)\307u\210\202y)\207" [beg c-<>-multichar-token-regexp pos end looking-at "[<>]" "<>" nil 0 c-beginning-of-current-token "^<>" remove-text-properties (syntax-table nil) (syntax-table nil)] 4]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306B\302\306!\204-\303\306\304\"\210\307B\302\307!\204<\303\307\304\"\210\310B\302\310!\204K\303\310\304\"\210\311B\302\311!\204Z\303\311\304\"\210\304\207" [current-load-list c-promote-possible-types default-boundp set-default nil c-parse-and-markup-<>-arglists c-restricted-<>-arglists c-record-type-identifiers c-record-ref-identifiers c-last-identifier-range] 3) (defalias 'c-record-type-id '(macro . #[(range) "\242\301=\203\302\303\301\304BBE\207\305\300DC\306BB\207" [range cons setq c-record-type-identifiers (c-record-type-identifiers) let ((if range (setq c-record-type-identifiers (cons range c-record-type-identifiers))))] 5])) (defalias 'c-record-ref-id '(macro . #[(range) "\242\301=\203\302\303\301\304BBE\207\305\300DC\306BB\207" [range cons setq c-record-ref-identifiers (c-record-ref-identifiers) let ((if range (setq c-record-ref-identifiers (cons range c-record-ref-identifiers))))] 5])) (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list c-record-found-types default-boundp set-default nil] 3) (defalias 'c-forward-keyword-prefixed-id '(macro . #[(type) "\301\302\303\304\305\306\300=\203\307\202\310E\311BBD\312\313\314=\205\315\316BBBF\207" [type let (res) while if setq res (c-forward-type) (c-forward-name) (nil (and (looking-at c-keywords-regexp) (c-forward-keyword-clause 1))) when (memq res '(t known found prefix)) ref (when c-record-type-identifiers (c-record-ref-id c-last-identifier-range)) (t)] 8])) (defalias 'c-forward-id-comma-list '(macro . #[(type update-safe-pos) "\302\303\304\205\305\306BB\304\307\310\311 DFED\207" [update-safe-pos type while and progn (setq safe-pos (point)) ((eq (char-after) 44)) (forward-char) (c-forward-syntactic-ws) c-forward-keyword-prefixed-id] 8])) (defalias 'c-forward-keyword-clause #[(match) "\306!\307 \n\")\310\211\311\310%\211&\205\303\225b\210\312 \210`%&\313'\211('N*\203\214\310)\314 \211)\204I\315*!\203I\316\317!\2044)\320>\205Q\311)\203\214`%\310f\321=\203\333\310u\210\312 \210\310)\314 \211)\204}\315*!\203}\316\317!\204h)\320>\205\205\311)\204U\202\333&\322'\211('N*\203 \310)\323 \211)\204\263\315*!\203\263\316\317!\204\236)\320>\205\320+\203\317,\211-\203\316-.B.)\311)\203 `%\310f\321=\203\333\310u\210\312 \210\310)\323 \211)\204\374\315*!\203\374\316\317!\204\347)\320>\205+\203,\211-\203-.B.)\311)\204\324\202\333&\324'\211('N*\203\210\310f\325=\203\210\310u\210\310\326\327\217\211\203\333 Sf\330=\203\333+\203|&\331'\211('N*\203|\332/ \311#\203|\333\224b\210\314 \204^\3150!\210\333\225b\210\202^ b\210\312 \210`%\202\333&\334'\211('N*\203\270\310f\335=\203\270\336&\337'\211('N*!\203\270\312 \210`%\202\333&\340'\211('N*\203\333\315/!\204\333\310\341\342\217\203\333\312 \210`%&\343'\211('N*\203\276\310f\344=\203R\310u\210\312 \210\310)\314 \211)\204\315*!\203\316\317!\204\372)\320>\205\311)\203\276`%\310f\321=\203\276\310u\210\312 \210\310)\314 \211)\204C\315*!\203C\316\317!\204.)\320>\205K\311)\204\202\276+\203\276%b\210\3151!\203\276\333\225b\210\312 \210\310)\314 \211)\204\201\315*!\203\201\316\317!\204l)\320>\205\211\311)\203\276\310f\321=\203\276\310u\210\312 \210\310)\314 \211)\204\262\315*!\203\262\316\317!\204\235)\320>\205\272\311)\204\215%b\210\311-\207" [match keyword c-keywords-obarray c-restricted-<>-arglists c-parse-and-markup-<>-arglists pos match-string intern-soft nil t c-forward-sws c-type-list-kwds c-forward-type looking-at c-forward-keyword-clause 1 (t known found prefix) 44 c-ref-list-kwds c-forward-name c-paren-any-kwds 40 (byte-code "\300`\301\211#\207" [scan-lists 1] 4) ((error)) 41 c-paren-type-kwds c-syntactic-re-search-forward 0 c-<>-sexp-kwds 60 c-forward-<>-arglist c-<>-type-kwds c-nonsymbol-sexp-kwds (byte-code "\300`\301\"b\210\302\207" [scan-sexps 1 t] 3) ((error)) c-colon-type-list-kwds 58 safe-pos kwd-sym lang-constant keyword-sym res c-keywords-regexp c-record-type-identifiers c-last-identifier-range range c-record-ref-identifiers c-symbol-start c-symbol-key c-colon-type-list-re] 6]) (defalias 'c-forward-<>-arglist #[(all-types) "`\205\303\304\305\215\203 :\203 \244\303\202\nb\210\306*\207" [c-record-type-identifiers c-record-found-types start t angle-bracket-arglist-escape (byte-code "\302!\211\207" [all-types c-record-found-types c-forward-<>-arglist-recur] 2) nil] 2]) (defalias 'c-forward-<>-arglist-recur #[(all-types) "`\306\211\211\306+\2045\307`\310\"\2035\306u\210\306\311\312\217\203.`Sf\313=\203.\314\202 b\210\306\202\306u\210\315,!\204-\203|.\203]\316 \210\315/!\203|\3140\317 \210)\202|`Sf\320>\203|1\316 \210\317 \321>\203{\315\322!\204{1)`\306f\313=\203\213\306u\210\202\252\3232\203\225\324\202\226\325\306\326\314\211\327&\204\252\306f\313=\203\306u\210`Sf\313=\203\f\3153!\203\300\330\225b\210\202?+\203 \203\346 @S\3314\2115\3325\211T\3334$)\210* A\211\204\311 \2115\3325\211T\3106$\210*`S\2115\3325\211T\3107$\210*\314\202`Sf\334=\203\366`\306\211\211\21189:;\315,!\2030\330\225\211\202\266 \335u\210\212\336 \210`:\337\340!\330W\204u<\341=\203u`\342\306x\330W\203o\343\306x\330W\203o\315=!\203o\330\225 Y\203o\314\202s b\210\306)\210\315>!\2118\204\207\315?!?\205\213`\211;)\205\265\306\211-\3448\205\260\345\327!@\346@A\")\347B\211CBN*!*\2119?\203\277\nb\210\202\3629-\203\3628\204\362D\203\350\316 \210\315D!\203\350;:BEBE\202\362;:B-B-,\202?`Sf\350=\203 2\204 ` B\211\202\351\352\306\"\204?\f\205\206\314.\207" [c-record-found-types arg-start-pos tmp pos res start nil get-text-property syntax-table (byte-code "\300`\301\211#b\210\302\207" [scan-lists 1 t] 4) ((error)) 62 t looking-at c-forward-sws c-forward-type (44 60) (known found) "[,>]" c-syntactic-re-search-forward "[<;{},|&+-]\\|\\([^>:-]>\\)" "[<;{},]\\|\\([^>:-]>\\)" move 1 0 c-<>-arg-sep put-text-property c-type 60 -1 c-backward-sws skip-syntax-backward "w_" pike-mode "-!%&*+/<=>^|~[]()" "`" c-forward-<>-arglist-recur match-string intern-soft c-<>-type-kwds 44 throw angle-bracket-arglist-escape c-parse-and-markup-<>-arglists c-<-op-cont-regexp c-record-type-identifiers all-types c-identifier-start c-promote-possible-types orig-record-found-types c-restricted-<>-arglists c->-op-cont-regexp value -pos- c-<-as-paren-syntax c->-as-paren-syntax keyword-match subres id-end id-start c-buffer-is-cc-mode c-symbol-key c-opt-<>-sexp-key c-keywords-regexp keyword c-keywords-obarray lang-constant keyword-sym c-opt-identifier-concat-key c-record-ref-identifiers] 8]) (defalias 'c-backward-<>-arglist #[(all-types &optional limit) "`\305u\210 \204)\306`\307\"\203)\310\311\312\217\203\"\310f\313=\203\"\314\202{b\210\310\202{\315\316\n\314#\210`Sf\313=\204=b\210\202w`\317 \210`V\204)\305u\210`\320\f!\203r`U\203^ b\210\310\202s`V\203kb\210\310\202s b\210\314\202s\314)\204)`U?)\207" [start c-parse-and-markup-<>-arglists limit beg-pos all-types -1 get-text-property syntax-table nil (byte-code "\300`\301\302#b\210\303\207" [scan-lists -1 1 t] 4) ((error)) 60 t c-syntactic-skip-backward "^<;{}" c-beginning-of-current-token c-forward-<>-arglist] 4]) (defalias 'c-forward-name #[nil "``\306\211\211\211\307\"!\203\260\310\225\211b\210\311\312!\310W\204R#\313=\203R`\314\306x\310W\203L\315\306x\310W\203L\307$!\203L\310\225 Y\203L\316\202P b\210\306)\210`\307%!\203#\317=\203\260\307\320!\203\260\321\224\203\212\322 \210\306\323\324\217\205{\307\325!)\202\200\316\203\260 b\210\326 \210 Sf\327=\203\242\330 \211&\203\236`&)\202\260\307'!\203\365\331 \203\260`\332\307\333!\203\277\310\225b\210\202\342\307'!\203\260\330 \203\260\307\325!\203\260\310\225b\210\326 \210\306f\334=\203\260\306u\210\326 \210`\307(!\203\262\335\225b\210\202\342\307)!\203\260`\310\225B*\310\225b\210\326 \210`\332\202\260\n\203\n U\204\n B* b\210\326 \210`\316\211\203\260 b\210+\204:,\203\260+\203P\307+!\203P\310\225b\210\326 \210\202\f,\203\260\306f\336=\203\260\306\211-.\337\306!*\203\260\340\f T\"\210\326 \210`\306*+\203\235\307+!\203\235.\203\224\n\203\224\n B/B/\321u\210\326 \210\202\f.\203\256\n\203\256\n B.B.\341 b\210 .\207" [c-promote-possible-types id-end id-start res start pos nil looking-at 0 skip-syntax-backward "w_" pike-mode "-!%&*+/<=>^|~[]()" "`" t c++-mode "\\(operator\\|\\(template\\)\\)\\([^[:alnum:]_$]\\|$\\)" 2 c-backward-sws (byte-code "\300u\210\301\207" [-2 t] 1) ((error)) "::" c-forward-sws 101 c-forward-name c-forward-type operator "[*&]" 42 1 60 c-forward-<>-arglist c-add-type template c-identifier-key c-buffer-is-cc-mode c-symbol-key c-keywords-regexp subres c-identifier-start c-opt-type-modifier-key c-overloadable-operators-regexp c-last-identifier-range c-opt-identifier-concat-key c-recognize-<>-arglists c-record-found-types c-record-type-identifiers c-record-ref-identifiers] 7]) (defalias 'c-forward-type #[nil "`\306\211\211\211\211\211 !\203'\307!!\203'\310\225b\210\311 \210\312\202\307\"!\203s\310\225b\210\311 \210`\313 \211\314>\203j \315=\203e\316 `\"\210#\203e$\203e$\211%\203d%#B#)\315\202\352 b\210\306\202\352\306\307&!\203\214\212`\313 \211\203\213`$)\307'!\203\231\315\211\202\257\317 (\320\216\321)!\210\307*!*\203{\322\211\203{ \203\323\212\323 +\324\216\310\225b\210\311 \210`\211+ Y\204\323\306\211\203{\310\225#\203\360,\204\346\f\315=\203\360\310\224\310\225B#B#-\203Z\323 +\325\216\307-!*\203Z\306.\326\310!\210`.\307-!\2031#\203*\307'!\203*\310\224\310\225B#B#\326\310!\210\202\n\307'!\203P#\203G\310\224\310\225B#B#\326\310!\210\315\202V.b\210\312)\202\352\323 +\327\216\326\310!*\204\352 \203q b\210\202\352\310\225b\210\311 \210\202\352 \203\352 \315=\203\326 b\210\f\204\221,\203\267\316\n \"\210#\203\256\203\256\211%\203\255%#B#)\f\204\352\330\202\352\n /0\331\3320/1#2\"*\203\321\330\202\322\333\202\352 \334=\203\344 b\210\315\202\352 b\210\306\f\203\332!\203\307!!\203\310\225b\210\311 \210\315\202\3633\203\3073!\203\310\225b\210\311 \210\202 4\203\305`\f\335>\206+,,#\2055,?5\3066\3074!\203\301\310\225b\210\311 \210\336 \2116\203\301\f\315=\204\2536\315=\203\205 \334=\204h\316\n \"\210#\203\200\203\200\211%\203%#B#)\315\202\253\f\322=\204\2536\322=\203\227\322\202\253\f\330=\204\2536\330=\203\251\330\202\253\333\f\315=\203\3045:\203\3045#\244#\202\304 b\210+5\203\332\f\337>\203\332\203\3325B5\f.\207" [id-range id-end id-start name-res res pos nil looking-at 1 c-forward-sws prefix c-forward-name (t template) t c-add-type syntax-table ((set-syntax-table c-with-syntax-table-orig-table)) set-syntax-table known match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-keyword-clause ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) found intern-soft c-syntactic-content maybe template (t known) c-forward-type (known found) start c-opt-type-modifier-key c-type-prefix-key c-record-type-identifiers c-last-identifier-range range c-identifier-start c-primitive-type-key c-with-syntax-table-orig-table c-identifier-syntax-table c-known-type-key save-match-data-internal c-promote-possible-types c-opt-type-component-key safe-pos to from c-recognize-<>-arglists c-found-types c-opt-type-suffix-key c-opt-type-concat-key c-record-found-types subres] 8]) (defalias 'c-fdoc-shift-type-backward '(macro . #[(&optional short) "\301?\205\302\303\304\305?\205\306\257\207" [short progn (setq identifier-type at-type identifier-start type-start got-parens nil got-identifier t got-suffix t got-suffix-after-parens id-start paren-depth 0) (if (setq at-type (if (eq backup-at-type 'prefix) t backup-at-type)) (setq type-start backup-type-start id-start backup-id-start) (setq type-start start-pos id-start start-pos)) (or at-type-decl (setq at-type-decl backup-at-type-decl)) (or maybe-typeless (setq maybe-typeless backup-maybe-typeless)) (setq start id-start)] 6])) (defalias 'c-forward-decl-or-cast-1 #[(preceding-token-end context last-cast-end) "`\306\211\211\211\211\211\211\211\211\211\211\211\211 ,89:;<=>?@AB`C\306\211DE\306F\307G!\203V\310\311!H\312HI\")D\212\313\311!\210`E)\314 \211F\203\226A\203y\315,A\316=\203y\212@b\210\317J\314 \210*A>@=?<FAC@`?\306\21198D\203$D\320K\211LKN*\203\303\317,A\203\271E?\202\275EBEb\202.\306>EBF\203\367D\321K\211LKN*\203\341\3179D\322K\211LKN*\205.\317\2118\202.D\321K\211LKN*\203 \317;D\322K\211LKN*\203\317:\317,Eb\202.F\205.F\317=?,\204,A\317=\203M\307M!\203G\313\311!\210\2029`?\2027A\323=\203Z\317A\2027A\204fB?\2027A\324=\2037N\325=\2037\212\306\211\211OPQ?b\210\326 \210`P\327\330!\331W\204\306N\332=\2036`R\333\306x\331W\203\275\334\306x\331W\203\275\307S!\203\275\331\225RY\203\275\317\202\302Rb\210\306)\2036\335`P\"Q\336\306x\331W\2036`O\327\330!\331W\204N\332=\2036`R\333\306x\331W\203 \334\306x\331W\203 \307S!\203 \331\225RY\203 \317\202Rb\210\306)\2036`@Y\2036\335`O\"Q\232\2036@b\210\306\211A>@?,`\331\306\211\211\211\211\211\211\211\211\211\211TUVWXYZ[\\]R^C?b\210\307_!\203\260N\325=\203\206\337\224\203\206\340 \211[\203\260\307\341!\203\260\306[\306f\342=\203\230^T^\306u\210\202\252Y\204\243^\331UY\317]\311\225b\210\343 \210\202b^\331V\\[\204\306\307`!\203\306\340 [\307a!\203\306f\344=\203\346^\331V\203\272^S^\306u\210\202\264\345 b\346\216\307\347!*\203\372\306\350\351\217\202\377\311\225b\210\317\203\272X\204^\331U\203\331\224X\317\211Z\202\261^\311U\203\272Y\204\272A\317=\204\272>\204E:\204E8\204Ec\203\272d\204\272\306\352\353\217\211R\203\272RSf\344=\203\272AV@U\306\\\317\211[Z?X\331^>\323=\203{\317\202}>\211A\203\216=@<?\202\226B@B?;\204\2379;:\204\2508:?CRb\210\317\203\272\343 \210\202\306:\204\3048\203'[\204']\204'A\203'AV@U\306\\\317\211[Z?X\331^>\323=\203\366\317\202\370>\211A\203 =@<?\202B@B?;\2049;:\204#8:?C\354\355\215,. \212e\205\304feV\205\304fSfe>\205\304\343 \210\307\356!\205\304\306\211Ru\210\343 \210`\307g!\205\217\331\225R\337\224\204\202\311\224\203z,\204\202A\357>\202\307h!?\205\217\307i!?\206\217\331\225RX)\205\304feV\205\304fSb\210`j=\206\304\326 \210\327\330!\331W\203\270\307k!\202\304`Sf\360>?\205\304\361 ?)\203\352\203\343A\203\343A\317=\204\343\317J@b\210\314 \210)\fb\210\362\202v,\203q \203+>\323=\203\376\317\202>\211A\203=@<?\202B@B?;\204\"9;:\204+8:d\363=\203M\307\364!\203M`\365l\211Rm\366m\211T\367l$)\210*\203iA\203iA\317=\204i\317J\212@b\210\314 \210*?;B\202v \n\306.\207" [c-record-type-identifiers c-record-ref-identifiers save-rec-ref-ids save-rec-type-ids cast-end backup-if-not-cast nil looking-at match-string 1 intern-soft c-forward-keyword-clause c-forward-type ids found t c-decl-hangon-kwds c-typedef-decl-kwds c-typeless-decl-kwds prefix maybe c++-mode c-backward-sws skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" "`" buffer-substring-no-properties ":~ \n \f" 2 c-forward-name "\\(::\\)" 40 c-forward-sws 41 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) "\\s(" (byte-code "\300`\301\"b\210\302\207" [scan-sexps 1 t] 3) ((error)) (byte-code "\300`\301\211#\207" [scan-lists 1] 4) ((error)) at-decl-or-cast (byte-code "\306V\203\307\310\311\217\210\312\301 \313=\"\210\314\n\315=\203\316\202&\n\203%\317\202&\320!\f\203\265 \2045&\203D'\204D(\204D\312\301\313\"\210(\203\364'\204\364)\204\364*\204b&\204b+\203\364 ,-.\307(\313\211/0)\306*\321=\203\202\313\202\204*\211\203\2241-20\202\2343-304\204\24554&\204\256+&06\202\364*\203\364`6U\203\332\307f\322=\203\322\312\301 \313=\"\210\202\332\3137\312\301\313\"\210/\2039'\2049(\2049\3137\312\301\313\"\210\2029 \313=\203\377\312\301\313\"\210`6U\2039 \2034\n\323=\203 8\2049\203, \324>\202)\n\315=\2034 \325>\2034\312\301\313\"\210\2029\312\301 \"\210(\203\300'\204\300\n\204\300 \313=\204\300*\204m&\204m+\204m:\203\300/\203m\314;!\204\300 ,-.\307(\313\211/0)\306*\321=\203\215\313\202\217*\211\203\2371-20\202\2473-304\204\26054&\204\271+&06\202\364'\203\324(\204\317/\203\324\312\301\313\"\210 \203\364'\204\364(\204\364)\203\364)f\326=\203\364\312\301\307\"\210 \203\375\312\301\313\"\210\f\203~\n\204~\314\203\223\312\301\313\"\210 \204\242\314\330!\204\242\312\301 \"\210 \331>\203\255\312\301\313\"\210=\332=\203,\203,\333>\204.f\334=\203\212.Tb\210\335 \210\336 >\337\216\340?!\210\314@!+\204\212.Tb\210`\341 \210`AB\342\343BAC#D\"+\203\312\301\313\"\210\f\203LE\203- \203- \204\314\330!\203-\n\204-/\204-\312\301\313\"\210)\2048\314\330!\203o \344=\203o\n\345=\204o\312\301\313\"\210\202o\n\203o'\204j\n\323=\203o9\204o(\204j/\203o\312\301\313\"\210\n\323=\207" [paren-depth at-decl-or-cast context at-decl-end got-identifier at-type 0 nil (byte-code "\301`\302#b\207" [paren-depth scan-lists 1] 4) ((error)) throw t looking-at <> "[,>]" "[,)]" "[,;]" prefix 58 decl (known found) (known found) 40 (t known) "=[^=]" (t known) c++-mode (found known) 126 c-forward-sws syntax-table ((set-syntax-table c-with-syntax-table-orig-table)) set-syntax-table c-forward-type intern-soft c-syntactic-content found arglist maybe-typeless got-prefix got-parens got-suffix-after-parens backup-at-type backup-maybe-typeless identifier-type type-start identifier-start got-suffix id-start backup-type-start backup-id-start start-pos at-type-decl backup-at-type-decl start backup-if-not-cast c-recognize-knr-p c-recognize-paren-inits c-recognize-typeless-decls c-after-suffixed-type-maybe-decl-key c-after-suffixed-type-decl-key c-buffer-is-cc-mode c-with-syntax-table-orig-table c-identifier-syntax-table c-known-type-key to from c-recognize-<>-arglists c-found-types got-prefix-before-parens] 6) "\\s)" (t known found) (41 93) c-on-identifier cast decl "," c-decl-arg-start put-text-property c-type backup-maybe-typeless backup-at-type-decl maybe-typeless at-type-decl backup-id-start backup-type-start backup-at-type id-start type-start at-type start-pos start kwd-sym kwd-clause-end found-type c-prefix-spec-kwds-re keyword c-keywords-obarray c-promote-possible-types lang-constant keyword-sym c-decl-hangon-key c-buffer-is-cc-mode end-1 end-2 name pos c-symbol-key c-parse-and-markup-<>-arglists identifier-start identifier-type at-decl-end got-suffix-after-parens got-prefix-before-parens got-suffix got-identifier got-parens got-prefix paren-depth c-type-decl-prefix-key c-identifier-start c-type-decl-suffix-key save-match-data-internal c-recognize-typeless-decls context c-cast-parens preceding-token-end c-primary-expr-regexp c-keywords-regexp c-nonsymbol-token-regexp last-cast-end c-simple-stmt-key value -pos-] 17]) (defalias 'c-forward-label #[(&optional assume-markup preceding-token-end limit) "`\306\211\211\211\307 !\203a\310\225+,\203#\310\224+B-B-+b\210\311\312.\313\211\306\310&\203W\314\224\203W\314\224b\210`S\315/\21101\3161\211T\317/$)\210*\313\202\\+b\210\313)\2022\203\232\3072!\203\232\310\225b\210,\203\310\224`B-B-`S\315/\21101\3161\211T\317/$)\210*\313\2023\203\306f\320=\2044\203\2624eX\202\273\212\321 \210`4o)\204a5\203\364\3224S\317\"\315=\204a\2124Sb\210\323 \210\3076!\206\342\3077!)\204a4Sf\324=\203\325 \202^\2124Sb\210\323 \210\3076!\206\3077!)\204a4Sf\324=\203\325 \202^4Sf\320=\203\214\2124Sb\210\212\326 \2051`)\211\203; d}\210\327\330\306\313#\210`\306,89\205P\3079!?\205]\331 \210\332\3068\f#,\203:\333=\203\220\334\335\306\313#\203\220\336u\210\214e.\206{d}\210\331 \210)\307\337!\203\220\306u\210\313\211\202\fb\210\311\340.\313\211$\203\336u\210`:\333=\205\257\341\342\f`{\"\214e.\206\270d}\210\331 \210)\307\337!\203\332\306u\210\343\f \"\344\230\203\324\345\202\325\346\211\202\n\203\334\347.\313#\203\214e.\206\357d}\210\331 \210)\307\337!\203\306u\210\350\211\203\214\f`}\210\351\352\215\210)\202\fb\210-\207" [label-type macro-start qt-symbol-idx label-end start c-label-kwds-regexp nil looking-at 1 c-syntactic-re-search-forward "[;{=,@]\\|\\(\\=\\|[^:]\\):\\([^:]\\|\\'\\)" t 2 c-decl-end put-text-property c-type 58 c-backward-sws get-text-property c-beginning-of-current-token 41 c-after-conditional c-beginning-of-macro c-syntactic-skip-backward "^-]:?;}=*/%&|,<>!@+" c-forward-sws c-forward-label c++-mode search-forward-regexp "\\=p\\(r\\(ivate\\|otected\\)\\|ublic\\)\\>[^_]" -1 ":\\([^:]\\|\\'\\)" "[ \n[:?;{=*/%&|,<>!@+-]" string-match "\\(p\\(r\\(ivate\\|otected\\)\\|ublic\\)\\|more\\)\\>" buffer-substring-no-properties "signals" qt-1kwd-colon goto-target "\\=slots\\>" qt-2kwds-colon check-label (byte-code "b\210\306 !\203b\210\307\310\311\307\"\210\307\312\313\217\203m\203 \203@b\210\306\f!\204@\314 \307\315#\203@\316\224\316\225BB\202+dS\317\211\320\211T\321$)\210*db\207" [start c-nonlabel-token-key label-type c-record-type-identifiers c-label-kwds-regexp c-symbol-key looking-at nil throw check-label (byte-code "\300`\301\"b\210\302 \210\303\207" [scan-sexps 1 c-forward-sws t] 3) ((error)) c-syntactic-re-search-forward t 0 c-decl-end put-text-property c-type c-record-ref-identifiers value pos -pos-] 6) kwd-end c-record-type-identifiers c-record-ref-identifiers limit value pos -pos- c-opt-extra-label-key c-recognize-colon-labels preceding-token-end assume-markup c-label-prefix-re c-block-stmt-1-key pte c-opt-cpp-prefix c-buffer-is-cc-mode] 8]) (defalias 'c-forward-objc-directive #[nil "`\306\307\306\310\311!\203\312\225b\210\202?\310\313!\203`\314\225b\210\315\306w\210\306f\316=\2034\306u\210l\204\317u\210\320 \203`\321\322\215\203`\323 \210\324 `S\325#\210`S\325\211\326\211T\327\f$)\210*\307\202g\324 `\325#\210\306,\207" [c-recognize-<>-arglists c-promote-possible-types start-char start value pos nil t looking-at "\\(@\\(?:end\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\)\\)\\([^[:alnum:]_$@]\\|$\\)" 1 "\\(@\\(?:i\\(?:mplementation\\|nterface\\)\\|protocol\\)\\)\\([^[:alnum:]_$@]\\|$\\)" 0 " \n \f " 92 -1 c-forward-type break (byte-code "\304\305!\2031\306f\306u\210\307 \210\310 \204\311\312\306\"\210\313=\2031\306f\314=\204+\311\312\306\"\210\306u\210\307 \210\306f\315=\203C\316\211\306\317\316!+\207\316\207" [start-char c-restricted-<>-arglists c-parse-and-markup-<>-arglists c-recognize-<>-arglists looking-at "[:(]" nil c-forward-sws c-forward-type throw break 40 41 60 t c-forward-<>-arglist] 3) c-backward-sws c-clear-c-type-property c-decl-end put-text-property c-type -pos-] 6]) (defalias 'c-beginning-of-inheritance-list #[(&optional lim) "\304 \305\216\306 !\210\307\310\311\n#\210\312 !\204\312\313!\205(\314\307\315\311\n#!\205(\202*\207" [c-with-syntax-table-orig-table c++-template-syntax-table lim c-symbol-start syntax-table ((set-syntax-table c-with-syntax-table-orig-table)) set-syntax-table c-backward-token-2 0 t looking-at "[<,]\\|::" zerop 1] 5]) (defalias 'c-in-method-def-p #[nil "\212\301 \210\205\302!\205`)\207" [c-opt-method-key beginning-of-line looking-at] 2]) (defalias 'c-in-gcc-asm-p #[nil "\205\212\301 \210\302\303!\210\304e\305\306#\210\307!)\207" [c-opt-asm-stmt-key beginning-of-line backward-up-list 1 c-beginning-of-statement-1 nil t looking-at] 4]) #@778 Return a determination as to whether point is at the `top-level'. Being at the top-level means that point is either outside any enclosing block (such function definition), or only inside a class, namespace or other block that contains another declaration level. If point is not at the top-level (e.g. it is inside a method definition), then nil is returned. Otherwise, if point is at a top-level not enclosed within a class definition, t is returned. Otherwise, a 2-vector is returned where the zeroth element is the buffer position of the start of the class declaration, and the first element is the buffer position of the enclosing class's opening brace. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-at-toplevel-p #[nil "\301 \302!?\206 \303!)\207" [paren-state c-parse-state c-most-enclosing-brace c-search-uplist-for-classkey] 2 (#$ . 102276)]) (defalias 'c-just-after-func-arglist-p #[(&optional lim) "`\306\211\307 !\310=\205r\f\311=\206\312 ?\205r\313\212\314 \210`)\306\211#\242\211\205r\nW\205r`\nV\204=\315\316!?\205r\212b\210\306f\317=\203Q\320`\321\"b\210\202` \203`\315 !\203`\322\323\324\"\210`\nW\205q\325\326\n\324\211$\205q`S)+\207" [id-start end beg lim c-buffer-is-cc-mode c-opt-op-identifier-prefix nil c-beginning-of-statement-1 same objc-mode c-forward-objc-directive c-forward-decl-or-cast-1 c-backward-sws looking-at "[=,]" 40 scan-sexps 1 c-forward-token-2 2 t c-syntactic-re-search-forward "("] 5]) (defalias 'c-in-knr-argdecl #[(&optional lim) "\212\2149\203&\212\306 \307\211\307\310\211\310\311\216\312 \205!`. \202'\206/e\2065e]\310\211\313 }\210\314\315\215.\207" [c-macro-start modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro line-end-position knr (byte-code "\302\303!\210`Sf\304=\203`\202#`Sf\305=\203\306\202#\307\310\306\"\210\203\230b\210\306\311\312\217\2046\307\310\306\"\210`\211\203\222b\210\313 \210\306f\314>\204\222 b\210\315 \210\316 \204n\306f\304=\203\222\306\317\320\217\203\222\315 \321=\203\222\316 \203\222 b\210\322 \210\316 \203\222\322 \203\222\323\324\215\203\222\307\310b\210\313 \210`\"\210\202 b\210\202\306\325\326\217\204\307\310\306\"\210\202" [after-rparen before-lparen c-syntactic-skip-backward "^)]}" 41 93 nil throw knr (byte-code "\301`\302\303#\211b\210)\207" [endpos scan-lists -1 0] 5) ((error)) c-forward-sws (59 123) c-backward-token-2 c-on-identifier (byte-code "\300`\301\302#b\210\303\207" [scan-lists -1 1 t] 4) ((error)) 0 c-forward-token-2 id-list (byte-code "\300f\301=\203\302 \210\303 \204\304\305\300\"\210\302 \210\202\300f\306=\207" [nil 44 c-forward-token-2 c-on-identifier throw id-list 41] 3) (byte-code "\301`\302\303#\211b\210)\207" [endpos scan-lists -1 0] 5) ((error))] 3) after-change-functions deactivate-mark macro-start lim before-lparen after-rparen] 3]) (defalias 'c-skip-conditional #[nil "\300`\301\302!\203\f\303\202\301\304!\203\305\202\306\"b\207" [scan-sexps looking-at "\\\\([^_]\\|$\\)" 3 "\\<\\(do\\|else\\|try\\|finally\\)\\>\\([^_]\\|$\\)" 1 2] 4]) (defalias 'c-after-conditional #[(&optional lim) "\212\303\304\305\306#!\205)\307 !\204(\310f\311=\205)\303\304\305\306#!\205)\307\n!\205)`)\207" [lim c-block-stmt-1-key c-block-stmt-2-key zerop c-backward-token-2 1 t looking-at nil 40] 5]) (defalias 'c-after-special-operator-id #[(&optional lim) "\212\205*\303\304\305\306 #!\205*\307!\205*\n\203)\303\304\305\306 #!\205*\307\n!\205*`)\207" [c-overloadable-operators-regexp lim c-opt-op-identifier-prefix zerop c-backward-token-2 1 nil looking-at] 5]) (defalias 'c-backward-to-block-anchor #[(&optional lim) "`\212\302 \210`)U?\205\303!\211\205 b)\207" [lim start back-to-indentation c-after-conditional] 3]) (put 'c-backward-to-block-anchor 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-backward-to-decl-anchor #[(&optional lim) "`\212\301 \210`)U?\205\302!\207" [lim back-to-indentation c-beginning-of-statement-1] 2]) (put 'c-backward-to-decl-anchor 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-search-decl-header-end #[nil "` \305=\203P\306\307\310\311\312\211%\205e\313!\204K\212\310\314\315\217\205#\316\n!)\204K`Sf\317=\205e\320 \321\216\322\f!\210\310\323\324\217\203C\312\202Gdb\210\310*\205e`\202\306\325\310\311\312\211%\205e\313!\205e`\202P)\207" [base c-buffer-is-cc-mode c-opt-op-identifier-prefix c-with-syntax-table-orig-table c++-template-syntax-table c++-mode c-syntactic-re-search-forward "[;{<=]" nil move t c-end-of-current-token (byte-code "\300`\301\"b\210\302\207" [scan-sexps -1 t] 3) ((error)) looking-at 60 syntax-table ((set-syntax-table c-with-syntax-table-orig-table)) set-syntax-table (byte-code "\300\301\302\217b\207" [nil (byte-code "\300`\301\211#\207" [scan-lists 1] 4) ((error))] 3) ((error)) "[;{=]"] 6]) (defalias 'c-beginning-of-decl-1 #[(&optional lim) "\300\301\215\207" [return (byte-code "``\306\n\307\310#`\307!\203\311!!\204U `U\204U\214\n\206&ed}\210\312 \210)`Sf\313>\204U\212\314u\210\311\315!)\204U\306\n\307\310#\211\316=\204U `\f\202 b\210*\"\203\250`\307#$\307f\317=\204n b\210\320\n!\211#\203\243#W\203\243#b\210\306\n\307\310#\316=\204\243\321\322$f\317=\203\232\323\202\233\324#B\"\210\202\247$b\210* \323=\203'\325 %\326\216\327&\330=\203\301'\202\303\325 !\210\212\331\332\310\211\211%\203\366`Sf\333=\203\366(\203\366)\203\366\212\334 \210\311(!\210\334 \210\311)!)\204\306`Sf\333=\205\331\335\310\211$\205`Sf\317=\205\307\336\337\217\205\331\340\310\211$?+\203'\324\307B\202* \307B+\207" [start last-stmt-start lim move tentative-move beg c-beginning-of-statement-1 nil t looking-at c-backward-sws (59 125 58 nil) -1 "\\s(" macro 123 c-in-knr-argdecl throw return previous same syntax-table ((set-syntax-table c-with-syntax-table-orig-table)) set-syntax-table c++-mode c-syntactic-re-search-forward "[;={]" 61 c-backward-token-2 "[;{]" (byte-code "\300\301\302\217b\210\303\207" [nil (byte-code "\300`\301\211#\207" [scan-lists 1] 4) ((error)) t] 3) ((error)) ";" c-opt-method-key c-recognize-knr-p knr-argdecl-start fallback-pos c-with-syntax-table-orig-table c-buffer-is-cc-mode c++-template-syntax-table c-overloadable-operators-regexp c-opt-op-identifier-prefix] 6)] 2]) (defalias 'c-end-of-decl-1 #[nil "`\304=\203 \202 \305 \306\307\215*\207" [c-buffer-is-cc-mode c++-template-syntax-table decl-syntax-table start c++-mode syntax-table return (byte-code "\306 \210\203`Sf\307=\203\310 !\203\311\312\313\314\315$\210`Sf\316=\203o\313\317\320\217\210\n\203j\212\321 \322\216\323\f!\210` b\210\311\324\n\325Q \315\211\211%\205f\326\224\205f`Sf\327=?\205f\311\330 \315\211\211%\205f`Sf\316=,\204o\331\332\315\"\210\321 \333\216\323\f!\210`Sf\307=\203\205\331\332\315\"\210\311\334\313\314\315$\204x*\313\207" [c-recognize-knr-p start c-opt-block-decls-with-vars-key c-with-syntax-table-orig-table decl-syntax-table lim c-search-decl-header-end 59 c-in-knr-argdecl c-syntactic-re-search-forward "{" nil move t 123 (byte-code "\300\301\302\217b\207" [nil (byte-code "\300`\301\211#\207" [scan-lists 1] 4) ((error))] 3) ((error (byte-code "db\210\300\301\302\"\207" [throw return nil] 3))) syntax-table ((set-syntax-table c-with-syntax-table-orig-table)) set-syntax-table "[;=([{]\\|\\(" "\\)" 1 95 "[;=([{]" throw return ((set-syntax-table c-with-syntax-table-orig-table)) ";"] 6)] 3]) (defalias 'c-looking-at-decl-block #[(containing-sexp goto-start &optional limit) "`\306\211\307 \f\310#\210 \203>`Sf\311=\203>\310\205$f\312=?\313\306\f\"\203=\307 \f\310#\210`Sf\311=\204(*\203S\314\n\310\211$\205\315\224\211b\210\314\n\310\211\211%\203}\315\224\211b\210\316\224\204\264\317 \203\264\320!\206y\320!?\202\261 \321=\205\nb\210\322 \315U\205\320!!\205\323\316!\"\324\"#\")\325$\211%$N*\205`\310\205\203\374b\210` W\203\366\320&!\203\336\315\225'\326\315!\204\332'b\210\327 \210)\202\274\314 \330\310$\203\361\315\224\211b\210\202\274 \202\274b\210\202\377 b\210 +\207" [first-specifier-pos kwd-start open-brace c-block-prefix-charset limit c-recognize-<>-arglists nil c-syntactic-skip-backward t 62 123 c-backward-<>-arglist c-syntactic-re-search-forward 0 1 c-forward-type looking-at pike-mode c-backward-token-2 match-string intern-soft c-modifier-kwds c-forward-keyword-clause c-forward-sws move containing-sexp c-disallow-comma-in-<>-arglists c-parse-and-markup-<>-arglists goto-start c-symbol-start c-decl-block-key c-type-decl-prefix-key c-buffer-is-cc-mode c-specifier-key keyword c-keywords-obarray lang-constant keyword-sym c-symbol-key end] 7]) (defalias 'c-search-uplist-for-classkey #[(paren-state) "\302!\211\205%\212 b\210\303f\304=\205$\305\306 \"\303\"\205$\307 \210\310` \"))\207" [paren-state open-paren-pos c-most-enclosing-brace nil 123 c-looking-at-decl-block c-safe-position back-to-indentation vector] 5]) (defalias 'c-inside-bracelist-p #[(containing-sexp paren-state) "\306\307\310\217\206\214\212\311=\205 \306\211\211\211 \204\211!\203\211\"\203M\"@:\203;\"@A\"A\"\202?\"@\"\203M\"@\"A\"!b\210\312\n\211\"\203^\306!\202\313\314\315\316 #\210#\203\241\306f\317=\203\241\f\313=\203\241\314\315\316 #\320U\204\206\306\202\234\321#!\203\221\316\202\234\321\322!\203\233\313\202\234\306\211\202s\f\313=\203a\306f\323=\203\263\306\202K \203\304\321 !\203\304\306\202K\306f\324=\203K\325\211\325=\203K\326\314\315\316 #!\203K$\203\355\321$!\203\355\306\202F\311=\203 \306f\327=\204 \306f\317=\203 `Sf\327=\203 \306\202F\321\330!\203\325\202F\331=\203E\212`\332\306x\210`%&`Sf\333=\205=\334%&\"?\205=\335 ?+\203E\306\202F\316\211\202\316\f\313=\203\241\314\315\316 #\320U\204\241\306\211\202\242\f\204|\306f\323=\203r\306!\202\n!\306\211\202\336\337\"!!\210`\211\203 .\207" [c-buffer-is-cc-mode c-decl-block-key next-containing lim braceassignp bufpos nil (byte-code "\212b\210\303`\304\"b\210\305\306\n!\204\303`\304\"b\210\306\n!\2052\305\307\310\217\211\2052\311` \312Z\"?\2052`*\207" [containing-sexp bracepos c-brace-list-key scan-sexps -1 nil looking-at (byte-code "\300`\301\302#\207" [scan-lists 1 -1] 4) ((error)) c-crosses-statement-barrier-p 2] 4) ((error)) pike-mode c-looking-at-inexpr-block dontknow c-backward-token-2 1 t 91 0 looking-at "\\sw\\|\\s_\\|[.[]" 59 61 maybe zerop 96 "\\s." c++-mode "^<>" 60 c-crosses-statement-barrier-p c-in-literal c-beginning-of-statement-1 c-most-enclosing-brace class-key containing-sexp paren-state c-opt-inexpr-brace-list-key c-opt-op-identifier-prefix pos< here] 6]) (defalias 'c-looking-at-special-brace-list #[(&optional lim) "\205\301\302\303\217\207" [c-special-brace-lists nil (byte-code "\212`\305\211\211\306 \210\305f\307=\203#\310u\210\306 \210`\305f\f\236\202=\305f\f\236\211\203=`\311 \210\312u\210\305f\307=\205<` \205r\205r\305\313\314\217\203n\305\315\316\217\203n`Sfz\317U\203f\306 \210` SU\205r BB\202r CB-\207" [type end inner-beg beg c-special-brace-lists nil c-forward-sws 40 1 c-backward-sws -1 (byte-code "b\210\302`\303\"b\210``Sf\304U\207" [beg end scan-sexps 1 41] 3) ((error)) (byte-code "b\210\303\304!\203\305`\306\"b\210\307\207 b\210\310u\210\311 \210`Sf\nAU\207" [inner-beg end type looking-at "\\s(" scan-sexps 1 t -1 c-backward-sws] 3) ((error)) 41] 4) ((error))] 3]) (defalias 'c-looking-at-bos #[(&optional lim) "\300 \207" [c-at-statement-start-p] 1]) (make-obsolete 'c-looking-at-bos 'c-at-statement-start-p) (defalias 'c-looking-at-inexpr-block #[(lim containing-sexp &optional check-at-end) "\212\306\307\206\f \206\fe\307f\310=\205`\211\306=\2036\311 \210` V\2036o\2046\312u\210\313\314!\2036\307\315\316\217\2036\313&!\203\317\320!'\321'(\"))\n\203\275)\322*\211+*N*\203\275\f\323=?\205\n\313,!\203\267`-\324\320\307 #\325U\203\214\307fz\326=\203\214`-\202t-b\210\327 )\203\267\212.\205\263/\330=\205\263\nb\210\331\332\320\333\"!\205\263\307f\334=)\205\n\335`B\202\n)\336*\211+*N*\203\327\f?\205\n\337`B\202\n)\340*\211+*N*\203\366\f\203\360\f\334=\205\n\341`B\202\n)\342*\211+*N*\203 \307\202\n\306)\2021\313\343!\2030\f\203)\f\323=\2051\307f\323=\2051\306\2021\307f\306\2021\306\211\202 \306=\203\2020\205\203\n\205\203\205\203f\334=\205\203b\210\212\214 \206Zed}\210\311 \210)` \206geV\205m\344 )\206x1\205x\345 ?\205\203\337`B\202\203 -\207" [containing-sexp lim block-follows closest-lim passed-paren res maybe nil 123 c-backward-sws -1 looking-at "[]).]\\|\\w\\|\\s_" (byte-code "\300u\210\301`\302\"b\207" [nil scan-sexps -1] 3) ((error)) match-string 1 intern-soft c-inexpr-class-kwds 91 c-backward-token-2 0 119 c-at-statement-start-p pike-mode zerop c-forward-token-2 t 40 inexpr-class c-inexpr-block-kwds inexpr-statement c-lambda-kwds inlambda c-block-stmt-kwds "\\s(" c-on-identifier c-looking-at-special-brace-list c-keywords-regexp keyword c-keywords-obarray kw-sym lang-constant keyword-sym c-class-key prev check-at-end c-buffer-is-cc-mode c-recognize-paren-inexpr-blocks c-special-brace-lists] 6]) (defalias 'c-looking-at-inexpr-block-backward #[(paren-state) "\212`\242\304\n:\2059\nAb\210\214e \206d}\210\305 \210)` U\2059\n@b\210A\211\2032\242\306\307 \" \",\207" [paren-state containing-sexp elem here nil c-forward-sws c-looking-at-inexpr-block c-safe-position] 4]) (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list c-auto-newline-analysis default-boundp set-default nil] 3) (defalias 'c-add-syntax #[(symbol &rest args) " B\nB\211\207" [symbol args c-syntactic-context] 2]) (put 'c-add-syntax 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-append-syntax #[(symbol &rest args) " \nBC\244\211\207" [c-syntactic-context symbol args] 3]) (put 'c-append-syntax 'byte-optimizer 'byte-compile-inline-expand) (defalias 'c-add-stmt-syntax #[(syntax-symbol syntax-extra-args stop-at-boi-only containing-sexp paren-state) "`\212\306 \210`)U\203\307\310` $\207\n\212\306 \210`)\311\307\310\311 $\210\312\313\215\203k \203k b\210!\203S\314 \211\"\203R\"@@`W\203R\"@@\211 b\210)\315 #\"#\316#! \212\306 \210`)`\311f\311$%&%\317=\203\351&\fU\204\321'\203\300\214 \206\214ed}\210\320 \210)\321\322!\203\236\323 \204\300\212&Tb\210\324 \210\311f)\325=\203\300\326\311(\211)(B\nB*\202\321\327\311&D(\211)(B\nB*\f \203\335 T\202\336e]b\210\330$\311\202R\331 !\211$\332=$\330=\203C&`U\204C\212&b\210\333\334 #\" \"\211*\2030*@\335=\2040\336\311C(\211)(B\nB*\202?\337\311C(\211)(B\nB**\202R\336\311C(\211)(B\nB*&\fU\203`&b\210\202g\212\306 \210`)+\202$\n\211+ =?\205\214+@A\203\203+@A`\240\210+A\211+\202o,\207" [syntax-symbol syntax-extra-args c-syntactic-context on-label boi syntax-last back-to-indentation apply c-add-syntax nil back-up-block (byte-code "`U\203 \204\306\n!\205\270` U\204)\307 \203)`\212\310 \210`)\202 b\210)`\311\f!\212\310 \210`) \312=`U\203Q\313\314\315\"\210\202\264 \316=\203p`Y\203p\306\317!\203p\212b\210\306\320!)\204\264\204\217U\204\217 \321>\203\217b\210\313\314\322\"\210\202\264\204\235 \323>\203\235\315 \316=\203\264\324\322C\211BB*+\202\207" [boi on-label c-comment-start-regexp savepos containing-sexp step-type looking-at c-backward-single-comment back-to-indentation c-beginning-of-statement-1 label throw back-up-block t up "else\\>[^_]" "if\\>[^_]" (up previous) nil (up previous beginning) substatement old-boi old-pos stop-at-boi-only args symbol c-syntactic-context] 5) c-looking-at-special-brace-list c-whack-state-after c-most-enclosing-brace 40 c-backward-sws looking-at "\\>" c-on-identifier c-forward-sws 123 inexpr-statement arglist-cont-nonempty same c-beginning-of-statement-1 label c-looking-at-inexpr-block c-safe-position inlambda statement-block-intro defun-block-intro containing-sexp c-special-brace-lists special-list paren-state step-type paren-char paren-pos c-recognize-paren-inexpr-blocks args symbol inexpr p] 6]) (defalias 'c-add-class-syntax #[(symbol containing-decl-open containing-decl-start containing-decl-kwd paren-state) "b\210 \306=\203\"`\212\307 \210`)U\203\" C\211\nB B*\207\fb\210\307 \210 `C\211\nB B* \310 \211\f N*\203[\f\212\fb\210\307 \210`)U\204[\311\312\211\nB B*`\207" [containing-decl-open symbol args c-syntactic-context containing-decl-start containing-decl-kwd inclass back-to-indentation c-inexpr-class-kwds inexpr-class nil lang-constant keyword-sym] 3]) (defalias 'c-guess-continued-construct #[(indent-point char-after-ip beg-of-same-or-containing-stmt containing-sexp paren-state) "\306 b\210\307\306w\210\n\203\310 \206 \311=\211\203\251\212\306f\311=\205,\312\f\313\"\205,`\211)\203E\314 C \211! B\"B\211\"*\202:\204Y\212 b\210\315\316 \313\211\211%)\203q\317\f!\210\320#\203g\321\202h\322\306\211\f$%\202\323 \204\236\317\f\306\211\313$\324=\203\236\212\306%\325\212\326 \210`)\306\211#*\203\236\320\327\306\313\f$%\202\320\330\306\211\f$%\202\331\332!\203\330\212 b\210\315\332 \333\313\211%\205\324\334\212\335 \210`)C \211! B\"B\"*\313)\206\212\336 \210\306f)\311=\203\323 \204\317\f\306\211\313$\324=\203\212\306%\325\212\326 \210`)\306\211#*\203\320\337\306\313\f$%\202\317\f!\210\320\322\306\211\f$%)\207" [special-brace-list indent-point c-special-brace-lists char-after-ip containing-sexp beg-of-same-or-containing-stmt nil " " c-looking-at-special-brace-list 123 c-looking-at-decl-block t class-open c-syntactic-re-search-forward "=\\([^=]\\|$\\)" c-beginning-of-statement-1 c-add-stmt-syntax brace-list-open statement-cont c-at-statement-start-p same c-forward-decl-or-cast-1 c-backward-sws defun-open substatement-open looking-at "\\(<<\\|>>\\)\\([^=]\\|$\\)" move stream-op back-to-indentation c-forward-sws func-decl-cont args symbol c-syntactic-context c-auto-newline-analysis paren-state c-recognize-typeless-decls] 7]) #@51 Return the syntactic context of the current line. (defalias 'c-guess-basic-syntax #[nil "\212\306 \210\307 \310\211\310\311\211\311@`A\311\211BC\311\211DE\311\211FG\311\211HI\311\211JK\311\211LM\311\211NO\311\211PQ\311\211RS\311\211TU\311V\312 W\311XYY\313\216\314W!\211U\203\252Ub\210\311f\315=\203\252\316\314WU\"\310\"\211J\203\252UR`S\311UJb\210\317Z!\205\250\320\321!N\322N[\")T\\\203\355W@UWAWU:\203\345UAV\\A\203\330\\A@UWAW\202\360UWBW\311U\202\360UTV\202\360eVU\203Uf\323=\203]YAb\210\214V\206\fed}\210\324 \210)`E`SfDAb\210\325\311w\210\311fF\326V!\211C\327=\203I\327\330\331!C^\211_^BIBI*\202pC\332>\203q\333V!\211J\203qCJ@C^\211_^BIBI*\202p\212\334 \205{`\211G)\203\333G\212\335 \210`)U\204\333\336M`\203\302\212Gb\210\337 \203\272\212Ab\210\335 \210`)a`aVH\340M`aU)\202\276\310H\311)\203\333MGC^\211_^BIBI*\311G\202p\317\341!\203\363\342U!\210\343\344\311\310UW%\210\202p\317\345!\203\212\342U!\346=`J)\203Jb\210\343\347\311\310UW%\210\202p\212b\350=\203&\317\351!\2020b\352=\205d\317\353!\205d\311\354\355\217\205d\311f\315=\205d\311\356\357\217\205d\311f\323=\203V\311\360\361\217\202W\310\205d\317\362!\205d`\211J)\203yJb\210\343\363\311\310UW%\210\202p\212c\205D\364=?\205d\205\221dE!?\205F\365>?\205D\366=\203\253\367\\!\205``J\342V!\211L\370=\204\257L\371=\203\311Jb\210\202\373`JL\372=\203\373\317c!\204\373\311e\342V!\211e\370=\204\335e\373=\203\366`J\202\372Jb\210)JV\205\317f!\203\374\375\321\311\"!\205\311f\323=\202\317c!)\203}L\373=\203kJb\210F\315=\203?\343\376\311\211UW%\210\202p\212Ab\210\335 \210\377 )\203\\\343\201\214\311\211UW%\210\202p\343\201\215\311\211UW%\210\202p\201\216AFJVW%\210\202p\317g!\203\332U\203\304Ub\210\314\\U\"\211VV`\212\335 \210`)U\204\264\201\217V!\211h\205\262hb)\210)\343\201\220\311\310VW%\210\202p\201\220eC^\211_^BIBI*\202p\212\335 \210\317i!?\205\350\377 )\203\215R\203\201\221\201\222RSTW%J\201\223JC^_I_^BC\244I*\202pU\203wUb\210\314\\U\"V\212\342V!\373=\203D\317\201\224!\203D\201\220\202E\370M)VV`\212\335 \210`)U\204h\201\217V!\211h\205fhb)\210)\343M\311\310VW%\210\202p\201\223eC^\211_^BIBI*\202p\201\225\201\226UW\"U\310#\211J\203\374J@\201\227\236\211M\203\267MAM\202\311F\315=\203\304\201\230\202\307\201\231MJAb\210\335 \210\343M\311\310\314\\`\"W%\210`JA=\204pJ@\311^\211_^BIBI*\202pR\204U\2044j\203\201\232 \206F\315=\211P\203-\212\311kF\315=\205[\316U\310\"\211k\205[`Jkb\210\317l!\205[\320\331!\211NN\322N[\")\201\233m\211nmN**\203\210Jb\210\343N\201\234\230\203s\201\235\202}\201\236N\201\237P!\311\310UW%\210\202p\212Ab\210\325\311w\210\311f\315=\205\244\316U\310\"\205\244`\211J)\203\277\201\240JC^\211_^BIBI*\202p\212\201\241V!\210\317o!\203\345\321\225b\210\214eA\206\332d}\210\201\242 \210)\202\307\212\335 \210`)JP:\206b\212Ab\210\311M`JV\203/\374\201\243\321\310\"!\203/\311f\201\244U\204/p\203\373M\204\373\317p!\203\373\201\245M\202\373\311f)\201\244=\204@\317q!\205b\212`AW\203Z\374\375\321\310\"!\203Z\311f\201\246>\203A\311f\201\247>)?)\203\262r\204\233b\352=\203\233M\201\245=\203\233\342V!\210\201\245\212\335 \210`)C^\211_^BIBI*\202p\201\250JC^\211_^BIBI*\202pR\203\355T\201\233m\211nmN*\204\355\201\230\311^\211_^BIBI*\201\221\201\222RSTW%\210\202pJb\210R\204\373G\203\201\251\212\335 \210`)C^\211_^BIBI*\202p\201\251\330 C^\211_^BIBI*\202p\212\201\252V!\211J\205>`\211Q)\203Qf\201\253=\203\240QAV\204a\212\324 \210`)QTU\203\200Jb\210\201\254\212\335 \210`)C^\211_^BIBI*\202pQTb\210\201\242 \210\201\255`C^\211_^BIBI*\202ps\203\343\201\256V!\203\343\342V!\210\201\257\212\335 \210`)C^\211_^BIBI*R\203p\201\221\201\222RSTW%\210\202p\342V!\210\201\260\212\335 \210`)C^\211_^BIBI*\202pb\350=\203!F\201\261=\203\325\311w\210\311u\210\317t!\204\335D\201\253=\204J\212F\201\253=\205F\311\201\262\201\263\217\205F\311f\201\253=?)\203\200\212\214V\206Red}\210\324 \210)D\201\253=\203u\201\264u\210\214V\206ned}\210\324 \210)\335 \210\317u!)\204\335b\352=\203\330 \212\342V!\210`)\311\211vwx\212v\204\313\317t!\203\260w`BO\310v\202\305\311\201\265\201\266\217\203\302`xX\203\305\310v\310w\202\230)O+\203\330 \201\267OA`\"\204\330 F\201\253=\203 \342V!\210\201\270\212\335 \210`)C^\211_^BIBI*\202pD\201\253=\203D \342V!\210\201\270\212\335 \210`)C^\211_^BIBI*R\203p\201\221\201\222RSTW%\210\202pO\203\273 OAO@w\211yb\210\317\201\271!\203~ \201\260\342V!\210\212\335 \210`)C^\211_^BIBI*\202\267 w\203\232 \201\272yC^\211_^BIBI*\202\267 \201\270OAb\210\342V!\210`C^\211_^BIBI**\202p\201\273V!\210\201\272`C^\211_^BIBI*\202p\212z\203C\n\201\274\201\275V\310#\210`VV\203N\n{\203\n\201\276V!\211J\203\nJb\210\202\336 `Sf\201\277=\203$\n\201\300\311V\"\204\336 \201\264u\210\202\336 `Sf\201\301=\203N\n\201\264u\210\212\201\302\311!)\203\336 \311u\210\202N\n\201\274\201\303V\310#\210`Sf\201\304>)\203\263 b\350=\203\366\n\212\214\201\305 |\201\306\216\201\307}!\210Ab\210\311\201\310\201\311\217\211J\205\214\nJf\201\301=,\203\366\n\201\305 |\201\312\216\201\307}!\210Jb\210\342V\310\"\210\212\214V\206\263\ned}\210\324 \210)`Sf)\201\301=\203\334\nJb\210\201\274\201\313V\310#\210\201\242 \210\202\337\n\335 \210*\201\314`C^\211_^BIBI*\202pb\350=\203| \212\342V!\210`J\317\201\315!\203 \375\321\311A#\210\317u!\205Y \374\375\201\316\311A#!\205Y \311f\201\301=\203O \201\305 |\201\317\216\201\307}!\210\374\375\321\310A#!*\202P \310\205Y \311f\201\253=)\203| Jb\210\201\272\212\335 \210`)C^\211_^BIBI*\202p\201\241U!@\372=\203\225 \212\324 \210`Sf)\366=\204| \343D\201\261=\203\245 \201\245\202\250 \201\320\311\211UW%\210\202pF\366=\203\377 T\201\233m\211nmN*\203\377 Sb\210\343\201\321T!\201\234\230\203\343 \201\322\202\361 \201\236\201\321T!\201\323P!\311\310\314W`\"W%\210\202pU\203&\fF\366=\203&\fRU=\203&\f\201\221\201\324RSTW%\210\202ps\203p\fD\366=\204p\f\212\201\241V!A\211J\205J\fc\205I\f\317c!?)\203p\fJAW\203p\fJb\210\201\325`C^\211_^BIBI*\202p~\203\246\f\317~!\203\246\f\342\311\310\"\210`AU\203\213\feb\210\201\326\212\335 \210`)C^\211_^BIBI*\202pb\201\327=\203\325\f`J\343\342 \372=\203\307\f`JU\204\307\f\201\245\202\312\f\201\330\311\211UW%\210\202p\214V\206\334\fed}\210\324 \210)`Sf\366=\203D \212`h\\\203 \\@:\203 \\\211@A)`=\203 \\\211@@)b\210\201\241U!\210`Jh`U?\205- \201\331 \210`AY*\203D Jb\210\343\201\245\311\211UW%\210\202pG\203Q AGV\204W\212`JD\201\332>\206\242 d\203k dE!\206\242 D\201\253=\203\222 \342V!\370=\203\222 \214V\206\204 ed}\210\324 \210)`\211J\206\242 b\201\333=\205\242 \201\334\201\335\215)\203WJb\210\201\330\330 C^\211_^BIBI*R\203'T\201\233m\211nmN*\203Rb\210`\212\335 \210`)U\204\347 Sb\210\343\201\321T!\201\234\230\203\373 \201\336\202 \201\236\201\337\201\321T!P!\311\310\314W`\"W%\210\202'\201\221\201\222RSTW%\210`\203pG\203pG\212Ab\210\335 \210`)U\204p\340\311^\211_^BIBI*\311G\202p~\203\213\212\342V!\210\306 \210\317~!\205p`\211J)\203\213\201\340JC^\211_^BIBI*\202pz\203\315`Sf\201\301=\203\315{\203\250\201\276V!\204\315\342\201\226`W\"!\210\201\314\212\335 \210`)C^\211_^BIBI*\202pG\203\346\342U!\210\343\201\341\311\310UW%\210\202p\342\201\226`W\"!\210b\201\333=\203`J\201\342 \203`AW\203\201\242 \210`J\202\374Jb\210\201\245\212\335 \210`)C^\211_^BIBI*\202pj\203F\212Ub\210\201\232 )\204\207Uf\315=\204\207F\201\343>\203\227Ub\210\212\335 \210`)J\311\201\344\201\345\217\203`JY\203\311u\210\325\311w\210\202\203Jb\210\343\201\346UC\310\314W`\"W%\210\202pF\315=\203\201\347`W\"\211J\203\264\201\350\211M\202\313\201\351M\201\225\201\226UW\"U\"\243\211J\203Jb\210\335 \210\343M@\311\310\314W`\"W%\210`JU\204pMA\311^\211_^BIBI*\202pD\201\352>\203IUb\210\212\335 \210`)J\311\201\353\201\354\217\2031`JY\2031\311u\210\325\311w\210\2025Jb\210\343\201\355UC\310\314W`\"W%\210\202pUb\210\311\201\356\201\357\217\203\250\317\201\360!\203\250UTb\210\214eA\206md}\210\201\242 \210)D\364=\203\222\201\341`C^\211_^BIBI*\202p\201\320`C^\211_^BIBI*\202p~\203Uf\201\361=\203USb\210\214\212\311\211\200\201\201\362 \210*\202\203\332\317\202!\203\332\331\225b\210`)\206\340ed}\210\324 \210)\317l!\204\201\363UC^\211_^BIB\211I*\204pUTb\210\212\201\242 \210`)\330\201\316!W\203\\Ub\210\212\335 \210`)J\311\201\364\201\365\217\203D`JY\203D\311u\210\325\311w\210\202HJb\210\343\201\366UC\310\314\\`\"W%\210\202p\214eA\206dd}\210\201\242 \210)\201\367\212\335 \210`)C^\211_^BIBI*\202pb\350=\203\212Ab\210\325\311w\210\317t!)\203Ab\210\325\311w\210F\201\253=\203\331\214V\206\267ed}\210\324 \210)\201\270\212\335 \210`)C^\211_^BIBI*\202pD\201\253=\203\375\201\270\212\335 \210`)C^\211_^BIBI*\202p\201\273V!\210\201\272`C^\211_^BIBI*\202pb\201\327=\204nj\2035\212Ub\210\201\232 )\206=\201\347UW\"\211P\203nP:\203\304\212Ub\210\311f)\323=\203\304FPA@=\203\304P@@b\210\325\311x\210n\203\206\201\370\201\320\201\371 \211J\"\203\206JI\202p\342\201\226USW\"!\210\375\331!\210\317o!\203\251\321\225b\210\201\242 \210\202\226\201\250\212\335 \210`)C^\211_^BIBI*\202pP:\203P@@b\210\212Ab\210\335 \210\311f\201\372=\203\353`TP@A=\206\311fPAA=\205\374\375 !\205`TP@A=)\202F\366=\203\\\311\201\373\201\374\217\203\\`UU\203\\`\212\335 \210`)=\203A\201\375`C^\211_^BIBI*\202p\314\\`\"V\342V!\210\343\201\375\311\310VW%\210\202pP:\203rP@@b\210\375\321\311A#\210\202vUb\210\311u\210`h\214eA\206\204d}\210\201\242 \210)h\330 ]b\210)A\206\232d\203\201\376\203w\210\311f\201\377=\203\277`\203W\203\277\311u\210l\204\234\201\264u\210)`AU\203P:\203\326P@@b\210\202\332Ub\210`\212\335 \210`)=\203\373\201`C^\211_^BIBI*\202p\314\\`\"V\342V!\210\343\201\311\310VW%\210\202pF\315=\204Bj\203X\212Ab\210\214e\201 \2061d}\210\201\242 \210)\201\232`!)\203X\201`C^\211_^BIBI*\202p\201`C^\211_^BIBI*\202pD\201>\204\274d\203\204dE!\204\274D\366=\203\222\367\\!\203\274`\212\342U!\210`\211J)V\203\274JUU\204\274\201\216AFJUW%\210\202pF\366=\203\270\314W!VUb\210\201\217 \203VV`\212\335 \210`)U\204\364\201\217V!\211h\205\362hb)\210)\343\201\311\310VW%\210\202p\201\225\201\226UW\"\311\"\211J\203\202J@\201=\203'\201\202*\201MUb\210\335 \210U`U\203OM`C^\211_^BIBI*\202pJAb\210\335 \210\343M\311\310\314W`\"W%\210`JAU\204pJ@\311^\211_^BIBI*\202p\212V\205\234Vb\210\316\314WV\"\311\"\205\234`\211J)\203\361VV`\212\335 \210`)U\204\264\342V!\210)\335 \210\212Jb\210\317\204!)\203\333\201`C^\211_^BIBI*\202p\201`C^\211_^BIBI*\202p\212\201  ?\205\342V\311\211\310$\372=\205`\211J\205\311\205\201\n\212\324 \210`)\311\211#))\203>\335 \210`UU\204/Jb\210\343\201\311\310VW%\210\202pV\203\216`\211J\212\335 \210`)U\204Z\342V!\370=\204CJb\210\317g!\203{\201`C^\211_^BIBI*\202pUb\210\343\201\311\310VW%\210\202pUb\210VV`\212\335 \210`)U\204\246\342V!\210)\343\201\311\211\314W!W%\210\202pAb\210`\206\342U!\207`\206U\203\331L\206\323\207L\311\202\346\207L`\212\335 \210`)U?*\204\274L\372=\203`AU\204\343\201\320\311\211UW%\210\202pL\370=\203\317g!\204\342U!\211L\202 L\370=\203B\343F\315=\2034\201 \2027\201\f\311\310UW%\210\202pL\370=\203S\342U!\211L\202DL\371=\203\202\343\201\341\311\310UW%\210F\315=\203p\201 \311^\211_^BIBI*\202pUb\210\314WU\"V\201\217 \203\336VV`\212\335 \210`)U\204\265\201\217V!\211h\205\263hb)\210)\343\201\311\310VW%\210F\315=\203p\201 \311^\211_^BIBI*\202p\201\225\201\226UW\"\311\"\211J\203qJ@\201=\203\201\202\201M\335 \210U`U\203%M`C^\211_^BIBI*\202UJAb\210\335 \210\343M\311\310\314\\`\"W%\210`JAU\204UJ@\311^\211_^BIBI*F\315=\203p\201 \311^\211_^BIBI*\202p\212\314W!\211J?\206\220Jb\210\311f\315=\205\220\316\314W`\"\311\")\203\302VV`\212\335 \210`)U\204\250\342V!\210)\335 \210\201`C^\211_^BIBI*\202p\212\201  ?\205\356\342V\311\211\310$\372=\205\356`\211J\205\356\311\205\201\n\212\324 \210`)\311\211#))\203\335 \210`UU\204Jb\210\343\201\311\310VW%\210\202p`\211J\212\335 \210`)U\204&\342V!\370=\204Jb\210\317g!\203G\201`C^\211_^BIBI*\202WUb\210\343\201\311\310VW%\210F\315=\203p\201 \311^\211_^BIBI*Ab\210\325\311w\210\317\210!\203\240\375\331\311\201 #\331U\204\240\201\311^_I_^BC\244I*\211\203\300\317\211!\203\300\201\311^_I_^BC\244I*I\211\212\203\212@\211\213A:\203\332\213A\242\202\335\213A)\250\203\375\212@\211\213A:\203\364\213A\242\202\367\213A)X\202\212A\211\212\204\310)G\203CG\212\335 \210`)=\203Cb\201=\203,GTf\201=\204C\201\311^_I_^BC\244I*\202\320`\203\320G\203\320H\203\226XGW\204~\201\355I\236\204\320\201\367I\236\204\320\201\366I\236\204\320\201\346I\236\204\320\311I\336GC^\211_^BIBI*\202\320GX=\203\320\340I\236\204\320\212Gb\210\337 ?\206\274`\212Ab\210\335 \210`)X)\203\320\340\311^\211_^BIBI*I.\"\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions beginning-of-line buffer-modified-p t nil c-parse-state ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-most-enclosing-brace 123 c-looking-at-decl-block looking-at match-string 1 intern-soft 40 c-backward-sws " " c-in-literal string line-beginning-position 0 (c c++) c-literal-limits c-beginning-of-macro back-to-indentation cpp-macro-cont c-forward-to-cpp-define-body cpp-define-intro "else\\>[^_]" c-beginning-of-statement-1 c-add-stmt-syntax else-clause "while\\>[^_]" beginning do-while-closure c++-mode "catch\\>[^_]" java-mode "\\(catch\\|finally\\)\\>[^_]" (byte-code "\300 \210\301`\302\"b\210\303\207" [c-backward-sws scan-sexps -1 t] 3) ((error)) (byte-code "\300 \210\301`\302\"b\210\303\207" [c-backward-sws scan-sexps -1 t] 3) ((error)) (byte-code "\300`\301\"b\210\302\207" [scan-sexps -1 t] 3) ((error)) "\\(try\\|catch\\)\\>[^_]" catch-clause 59 (41 93 44) 125 c-looking-at-inexpr-block-backward label previous same up zerop c-forward-token-2 substatement-open c-forward-label deactivate-mark indent-point case-fold-search literal char-before-ip before-ws-ip char-after-ip macro-start in-macro-expr c-syntactic-context placeholder c-in-literal-cache step-type tmpsymbol keyword injava-inher special-brace-list tmp-pos containing-decl-open containing-decl-start containing-decl-kwd containing-sexp lim paren-state syntactic-relpos c-stmt-delim-chars c-keywords-regexp c-keywords-obarray c-state-cache c-stmt-delim-chars-with-comma args symbol c-syntactic-indentation-in-macros indent-boi c-buffer-is-cc-mode c-opt-block-stmt-key c-at-vsemi-p-fn step c-block-stmt-2-key c-label-kwds-regexp start c-syntactic-ws-start c-special-brace-lists tmp c-symbol-key lang-constant keyword-sym c-specifier-key c-opt-inexpr-brace-list-key c-brace-list-key c-auto-newline-analysis c-recognize-knr-p c-opt-postfix-decl-spec-key c-class-key done cont fence where c-recognize-<>-arglists c-overloadable-operators-regexp c-with-syntax-table-orig-table c++-template-syntax-table c-opt-method-key x end-of-defun-function beginning-of-defun-function defun-prompt-regexp limit c-other-decl-block-key c-recognize-typeless-decls prev-point last-step-type c-comment-start-regexp c-opt-friend-key p langelem substatement-label substatement c-guess-continued-construct c-after-conditional case-label c-add-class-syntax inclass access-label "switch\\>[^_]" c-looking-at-inexpr-block c-safe-position ((inexpr-class . class-open) (inexpr-statement . block-open)) inline-open lambda-intro-cont c-looking-at-special-brace-list c-other-block-decl-kwds "extern" extern-lang-open intern "-open" class-open c-beginning-of-decl-1 c-forward-sws c-backward-token-2 61 topmost-intro-cont (59 40) (59 40) brace-list-open defun-open c-just-after-func-arglist-p 58 member-init-intro member-init-cont c-in-knr-argdecl knr-argdecl-intro func-decl-cont 44 (byte-code "\300u\210\301\207" [1 t] 1) ((error)) -1 (byte-code "\300`\301\"b\210\302\207" [scan-sexps -1 t] 3) ((error)) c-crosses-statement-barrier-p inher-intro "throws\\>[^_]" inher-cont c-beginning-of-inheritance-list c-syntactic-skip-backward "^;,=<>" c-after-special-operator-id 62 c-backward-<>-arglist 60 c-forward-<>-arglist "^;,=" (44 61 60) syntax-table ((set-syntax-table c-with-syntax-table-orig-table)) set-syntax-table (byte-code "\300`\301\302#\207" [scan-lists -1 1] 4) ((error)) ((set-syntax-table c-with-syntax-table-orig-table)) "^,;" template-args-cont "static\\>[^_]" 2 ((set-syntax-table c-with-syntax-table-orig-table)) statement-cont symbol-name extern-lang-close "-close" class-close knr-argdecl objc-method-intro awk-mode topmost-intro c-end-of-decl-1 (59 123 125 nil) objc-mode not-in-directive (byte-code "\303!\210`\304 \203$`\nW\203$\305 \210`\nY\203\306\307\310\"\210`\202\311\207" [lim placeholder indent-point c-beginning-of-statement-1 c-forward-objc-directive c-forward-sws throw not-in-directive t nil] 3) inextern-lang "in" objc-method-args-cont statement c-forward-objc-directive (41 93) (byte-code "\300\301!\210\302\207" [backward-up-list 1 t] 2) ((error)) arglist-close c-inside-bracelist-p (brace-list-open . inexpr-class) (block-open . inexpr-statement) (40 91) (byte-code "\300\301!\210\302\207" [backward-up-list 1 t] 2) ((error)) arglist-intro (byte-code "\300`\301\"b\210\302\207" [scan-sexps -1 t] 3) ((error)) "\\[^_]" 91 beginning-of-defun objc-method-call-cont (byte-code "\300\301!\210\302\207" [backward-up-list 1 t] 2) ((error)) arglist-cont-nonempty arglist-cont assoc c-guess-basic-syntax 41 (byte-code "\300\301\302\217b\210\303\207" [nil (byte-code "\300`\301\302#\207" [scan-lists -1 1] 4) ((error)) t] 3) ((error)) brace-list-close " \n \f " 92 brace-list-intro line-end-position brace-entry-open brace-list-entry (59 58) block-close inlambda inline-close defun-close c-at-statement-start-p c-forward-decl-or-cast-1 statement-case-open statement-case-intro block-open statement-block-intro defun-block-intro comment-intro friend pike-mode 34 cpp-macro] 8 (#$ . 120721)]) (defalias 'c-evaluate-offset #[(offset langelem symbol) "\247\203 \202\337\306!\203\202\337\204\307\202\337\310=\203% \202\337\311=\2030 [\202\337\312=\203> \211\\\313\\\202\337\314=\203K [\315_\202\337\316=\203W \315\245\202\337\317=\203d [\315\245\202\337\320!\203\212\321\n\211@)\n\211A:\203\nA\242\202\201\nA)B!\n #\202\337<\203\305@\322=\203\243\323\324 #\210\325 \210\307\202\337@\326>\203)\307\211@!A\211\203#\321@\n #\211\203!\204\317 !\202 \250\203\367\306!!\203\355\323\327@ ! \f&\210\325 \210\202\f! \"!\202!\250\203\323\330@ ! \f&\210\325 \210\202\331\f!\313H \313H\"!!A\211\204\271!+\202\337@\332=\203\233\307\211!A\211\203\225\321@\n #\211\203\216!\204R !\202\216 \250\203t\306!!\203k\331!\313H \\!!\202\216! \\!\202\216\306!!\203\213\323\333@ ! %\210\325 \210\202\216 !A\211\204<!*\202\337\307!@\334=\203\250A!\204\277\203\277\321@\n #!A\202\250!)\202\3379\203\325\335!\203\325J\202\337\323\336 #\210\325 \210\307\211!\203!\250\204\306!!\203!G\337U\203!\313H\250\203!\202\323\340 !$\210\325 \210\307)\207" [offset c-basic-offset langelem symbol method val vectorp nil + - ++ 0 -- 2 * / functionp c-evaluate-offset quote message "The offset %S for %s was mistakenly quoted" ding (min max) "Error evaluating offset %S for %s: Cannot combine absolute offset %S with relative %S in `%s' method" "Error evaluating offset %S for %s: Cannot combine relative offset %S with absolute %S in `%s' method" vector add "Error evaluating offset %S for %s: Cannot combine absolute offsets %S and %S in `add' method" first boundp "Unknown offset format %S for %s" 1 "Error evaluating offset %S for %s: Got invalid value %S" res] 8]) (defalias 'c-calc-offset #[(langelem) "\211@)\211\n\236\211\243 \203\306\f #\202( \203&\307\310 \"\210\311 \210\312\313\f!\2032\f\202F\f\247\203;\f\206F\f9\203E\fJ\206F\312+\207" [langelem symbol c-offsets-alist match offset c-strict-syntax-p c-evaluate-offset message "No offset found for syntactic symbol %s" ding 0 vectorp] 5]) (defalias 'c-get-offset #[(langelem) "\211A:\203A\242\202A)\203.\301\211@)\211A:\203(A\242\202*A)D!\207\301!\207" [langelem c-calc-offset] 4]) (defalias 'c-get-syntactic-indentation #[(langelems) "\306\307\n\203@\n@\310 !\311\f!\203\f\306\234e\2029 \f\\\2049\n@\211A:\2035 A\242\2027 A)\nA*\202\203O \212b\210i)\\\202P *\207" [anchor indent langelems c-syntactic-element res langelem 0 nil c-calc-offset vectorp] 3]) (provide 'cc-engine)