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

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/progmodes/cc-engine.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:18 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/cc-engine.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 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]))
(defvar c++-template-syntax-table nil)
(make-variable-buffer-local 'c++-template-syntax-table)
(defvar c-no-parens-syntax-table nil)
(make-variable-buffer-local 'c-no-parens-syntax-table)
#@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 (#$ . 1104))
(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 (#$ . 1584))
(make-variable-buffer-local 'c-identifier-syntax-table)
#@718 If non-nil, a list of functions called from c-before-change-hook.
Typically these will record enough state to allow
`c-before-font-lock-function' to extend the region to fontify,
and may do such things as removing text-properties which must be
recalculated.

These functions will be run in the order given.  Each of them
takes 2 parameters, the BEG and END supplied to every
before-change function; on entry, the buffer will have been
widened and match-data will have been saved; point is undefined
on both entry and exit; the return value is ignored.

The functions are called even when font locking isn't enabled.

When the mode is initialized, the functions are called with
parameters (point-min) and (point-max).
(defvar c-get-state-before-change-functions nil (#$ . 1878))
(make-variable-buffer-local 'c-get-state-before-change-functions)
#@796 If non-nil, a list of functions called just before font locking.
Typically they will extend the region about to be fontified (see
below) and will set `syntax-table' text properties on the region.

These functions will be run in the order given.  Each of them
takes 3 parameters, the BEG, END, and OLD-LEN supplied to every
after-change function; point is undefined on both entry and exit;
on entry, the buffer will have been widened and match-data will
have been saved; the return value is ignored.

The functions may extend the region to be fontified by setting the
buffer local variables c-new-BEG and c-new-END.

The functions are called even when font locking is disabled.

When the mode is initialized, these functions are called with
parameters (point-min), (point-max) and <buffer size>.
(defvar c-before-font-lock-functions nil (#$ . 2729))
(make-variable-buffer-local 'c-before-font-lock-functions)
#@473 If non-nil, a list of functions called just before context (or
other non-change) fontification is done.  Typically they will
extend the region.

These functions will be run in the order given.  Each of them
takes 2 parameters, the BEG and END of the region to be
fontified.  Point is undefined on both entry and exit.  On entry,
the buffer will have been widened and match-data will have been
saved; the return value is a cons of the adjusted
region, (NEW-BEG . NEW-END).
(defvar c-before-context-fontification-functions nil (#$ . 3644))
(make-variable-buffer-local 'c-before-context-fontification-functions)
#@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 (#$ . 4260))
(make-variable-buffer-local 'c-at-vsemi-p-fn)
#@426 Contains a function "are we unsure whether there is a virtual semicolon on this line?".
The (admittedly kludgy) 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 (#$ . 4617))
(make-variable-buffer-local 'c-vsemi-status-unknown-p-fn)
#@49 Whether the language has bitfield declarations.
(defvar c-has-bitfields nil (#$ . 5159))
(make-variable-buffer-local 'c-has-bitfields)
#@163 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 (#$ . 5301))
(make-variable-buffer-local 'c-symbol-start)
#@103 Set of characters that can be part of a symbol.
This is of the form that fits inside [ ] in a regexp.
(defvar c-symbol-chars nil (#$ . 5555))
(make-variable-buffer-local 'c-symbol-chars)
#@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 (#$ . 5749))
(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 (#$ . 5964))
(make-variable-buffer-local 'c-nonsymbol-chars)
(defvar c-opt-identifier-concat-key nil)
(make-variable-buffer-local 'c-opt-identifier-concat-key)
#@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 (#$ . 6257))
(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<X,Y>" in C++.
(defvar c-identifier-key nil (#$ . 6501))
(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 (#$ . 6927))
(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 (#$ . 7120))
(make-variable-buffer-local 'c-multiline-string-start-char)
#@69 The symbol which starts preprocessor constructs when in the margin.
(defvar c-opt-cpp-symbol nil (#$ . 7471))
(make-variable-buffer-local 'c-opt-cpp-symbol)
#@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 (#$ . 7635))
(make-variable-buffer-local 'c-opt-cpp-prefix)
#@113 Regexp matching the prefix of a cpp directive anchored to BOL,
in the languages that have a macro preprocessor.
(defvar c-anchored-cpp-prefix nil (#$ . 7918))
(make-variable-buffer-local 'c-anchored-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 (#$ . 8136))
(make-variable-buffer-local 'c-opt-cpp-start)
#@117 Cpp directive (without the prefix) that is followed by a macro
definition, or nil if the language doesn't have any.
(defvar c-opt-cpp-macro-define nil (#$ . 8406))
(make-variable-buffer-local 'c-opt-cpp-macro-define)
(defvar c-opt-cpp-macro-define-start nil)
(make-variable-buffer-local 'c-opt-cpp-macro-define-start)
(defvar c-opt-cpp-macro-define-id nil)
(make-variable-buffer-local 'c-opt-cpp-macro-define-id)
#@125 Regexp which matches the start of a CPP directive which contains an
expression, or nil if there aren't any in the language.
(defvar c-cpp-expr-intro-re nil (#$ . 8826))
(make-variable-buffer-local 'c-cpp-expr-intro-re)
(defvar c-overloadable-operators-regexp nil)
(make-variable-buffer-local 'c-overloadable-operators-regexp)
#@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 (#$ . 9159))
(make-variable-buffer-local 'c-opt-op-identifier-prefix)
(defvar c-nonsymbol-token-regexp nil)
(make-variable-buffer-local 'c-nonsymbol-token-regexp)
(defvar c-assignment-op-regexp nil)
(make-variable-buffer-local 'c-assignment-op-regexp)
(defvar c-<>-multichar-token-regexp nil)
(make-variable-buffer-local 'c-<>-multichar-token-regexp)
(defvar c-<-op-cont-regexp nil)
(make-variable-buffer-local 'c-<-op-cont-regexp)
(defvar c->-op-cont-regexp nil)
(make-variable-buffer-local 'c->-op-cont-regexp)
(defvar c-stmt-delim-chars nil)
(make-variable-buffer-local 'c-stmt-delim-chars)
(defvar c-stmt-delim-chars-with-comma nil)
(make-variable-buffer-local 'c-stmt-delim-chars-with-comma)
#@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 (#$ . 10333))
(make-variable-buffer-local 'c-line-comment-starter)
(defvar c-comment-start-regexp nil)
(make-variable-buffer-local 'c-comment-start-regexp)
(defvar c-block-comment-start-regexp nil)
(make-variable-buffer-local 'c-block-comment-start-regexp)
(defvar c-line-comment-start-regexp nil)
(make-variable-buffer-local 'c-line-comment-start-regexp)
(defvar c-literal-start-regexp nil)
(make-variable-buffer-local 'c-literal-start-regexp)
#@54 Regexp to match the start of documentation comments.
(defvar c-doc-comment-start-regexp nil (#$ . 11154))
(make-variable-buffer-local 'c-doc-comment-start-regexp)
(defvar c-syntactic-ws-start nil)
(make-variable-buffer-local 'c-syntactic-ws-start)
(defvar c-syntactic-ws-end nil)
(make-variable-buffer-local 'c-syntactic-ws-end)
(defvar c-syntactic-eol nil)
(make-variable-buffer-local 'c-syntactic-eol)
#@40 Regexp to append to `paragraph-start'.
(defvar c-paragraph-start nil (#$ . 11564))
(make-variable-buffer-local 'c-paragraph-start)
#@43 Regexp to append to `paragraph-separate'.
(defvar c-paragraph-separate nil (#$ . 11701))
(make-variable-buffer-local 'c-paragraph-separate)
(defvar c-primitive-type-key nil)
(make-variable-buffer-local 'c-primitive-type-key)
(defvar c-typedef-key nil)
(make-variable-buffer-local 'c-typedef-key)
(defvar c-type-prefix-key nil)
(make-variable-buffer-local 'c-type-prefix-key)
(defvar c-opt-type-modifier-key nil)
(make-variable-buffer-local 'c-opt-type-modifier-key)
(defvar c-opt-type-component-key nil)
(make-variable-buffer-local 'c-opt-type-component-key)
(defvar c-class-key nil)
(make-variable-buffer-local 'c-class-key)
(defvar c-brace-list-key nil)
(make-variable-buffer-local 'c-brace-list-key)
(defvar c-other-decl-block-key nil)
(make-variable-buffer-local 'c-other-decl-block-key)
#@104 Alist associating keywords in c-other-decl-block-decl-kwds with
their matching "in" syntactic symbols.
(defvar c-other-decl-block-key-in-symbols-alist nil (#$ . 12500))
(make-variable-buffer-local 'c-other-decl-block-key-in-symbols-alist)
(defvar c-typedef-decl-key nil)
(make-variable-buffer-local 'c-typedef-decl-key)
(defvar c-decl-hangon-key nil)
(make-variable-buffer-local 'c-decl-hangon-key)
(defvar c-prefix-spec-kwds-re nil)
(make-variable-buffer-local 'c-prefix-spec-kwds-re)
(defvar c-specifier-key nil)
(make-variable-buffer-local 'c-specifier-key)
(defvar c-not-decl-init-keywords nil)
(make-variable-buffer-local 'c-not-decl-init-keywords)
(defvar c-not-primitive-type-keywords-regexp nil)
(make-variable-buffer-local 'c-not-primitive-type-keywords-regexp)
(defvar c-opt-block-decls-with-vars-key nil)
(make-variable-buffer-local 'c-opt-block-decls-with-vars-key)
#@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 (#$ . 13385))
(make-variable-buffer-local 'c-colon-type-list-re)
(defvar c-opt-<>-sexp-key nil)
(make-variable-buffer-local 'c-opt-<>-sexp-key)
(defvar c-block-stmt-1-key nil)
(make-variable-buffer-local 'c-block-stmt-1-key)
(defvar c-block-stmt-2-key nil)
(make-variable-buffer-local 'c-block-stmt-2-key)
(defvar c-opt-block-stmt-key nil)
(make-variable-buffer-local 'c-opt-block-stmt-key)
(defvar c-simple-stmt-key nil)
(make-variable-buffer-local 'c-simple-stmt-key)
(defvar c-paren-stmt-key nil)
(make-variable-buffer-local 'c-paren-stmt-key)
(defvar c-opt-asm-stmt-key nil)
(make-variable-buffer-local 'c-opt-asm-stmt-key)
(defvar c-case-kwds-regexp nil)
(make-variable-buffer-local 'c-case-kwds-regexp)
(defvar c-label-kwds-regexp nil)
(make-variable-buffer-local 'c-label-kwds-regexp)
(defvar c-opt-inexpr-brace-list-key nil)
(make-variable-buffer-local 'c-opt-inexpr-brace-list-key)
(defvar c-decl-block-key nil)
(make-variable-buffer-local 'c-decl-block-key)
(defvar c-opt-bitfield-key nil)
(make-variable-buffer-local 'c-opt-bitfield-key)
(defvar c-keywords-regexp nil)
(make-variable-buffer-local 'c-keywords-regexp)
(defvar c-keywords-obarray nil)
(make-variable-buffer-local 'c-keywords-obarray)
(defvar c-regular-keywords-regexp nil)
(make-variable-buffer-local 'c-regular-keywords-regexp)
(defvar c-primary-expr-regexp nil)
(make-variable-buffer-local 'c-primary-expr-regexp)
(defvar c-decl-prefix-re nil)
(make-variable-buffer-local 'c-decl-prefix-re)
#@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 (#$ . 15142))
(make-variable-buffer-local 'c-decl-start-re)
(defvar c-decl-prefix-or-start-re nil)
(make-variable-buffer-local 'c-decl-prefix-or-start-re)
(defvar c-cast-parens nil)
(make-variable-buffer-local 'c-cast-parens)
(defvar c-block-prefix-charset nil)
(make-variable-buffer-local 'c-block-prefix-charset)
(defvar c-type-decl-prefix-key nil)
(make-variable-buffer-local 'c-type-decl-prefix-key)
(defvar c-type-decl-suffix-key nil)
(make-variable-buffer-local 'c-type-decl-suffix-key)
(defvar c-after-suffixed-type-decl-key nil)
(make-variable-buffer-local 'c-after-suffixed-type-decl-key)
(defvar c-after-suffixed-type-maybe-decl-key nil)
(make-variable-buffer-local 'c-after-suffixed-type-maybe-decl-key)
(defvar c-opt-type-concat-key nil)
(make-variable-buffer-local 'c-opt-type-concat-key)
#@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 (#$ . 16254))
(make-variable-buffer-local 'c-opt-type-suffix-key)
(defvar c-known-type-key nil)
(make-variable-buffer-local 'c-known-type-key)
#@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 (#$ . 16806))
(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 (#$ . 17053))
(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 (#$ . 17209))
(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 (#$ . 17657))
(make-variable-buffer-local 'c-recognize-<>-arglists)
#@64 Non-nil means that an enum structure can contain declarations.
(defvar c-enums-contain-decls nil (#$ . 18126))
(make-variable-buffer-local 'c-enums-contain-decls)
#@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 (#$ . 18296))
(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 (#$ . 18550))
(make-variable-buffer-local 'c-recognize-paren-inexpr-blocks)
(defvar c-opt-<>-arglist-start nil)
(make-variable-buffer-local 'c-opt-<>-arglist-start)
(defvar c-opt-<>-arglist-start-in-paren nil)
(make-variable-buffer-local 'c-opt-<>-arglist-start-in-paren)
(defvar c-opt-postfix-decl-spec-key nil)
(make-variable-buffer-local 'c-opt-postfix-decl-spec-key)
#@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 (#$ . 19096))
(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 (#$ . 19419))
(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 (#$ . 19660))
(make-variable-buffer-local 'c-nonlabel-token-key)
#@200 Regexp matching things that can't occur two symbols before a colon in
a label construct.  This catches C++'s inheritance construct "class foo
: bar".  Only used if `c-recognize-colon-labels' is set.
(defvar c-nonlabel-token-2-key nil (#$ . 20024))
(make-variable-buffer-local 'c-nonlabel-token-2-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 (#$ . 20332))
(make-variable-buffer-local 'c-opt-extra-label-key)
(defvar c-opt-friend-key nil)
(make-variable-buffer-local 'c-opt-friend-key)
(defvar c-opt-method-key nil)
(make-variable-buffer-local 'c-opt-method-key)
(defvar c-type-decl-end-used nil)
(make-variable-buffer-local 'c-type-decl-end-used)
(defvar c-hungry-delete-key nil)
(make-variable-buffer-local 'c-hungry-delete-key)
(defvar c-electric-flag t)
(make-variable-buffer-local 'c-electric-flag)
(defvar c-auto-newline nil)
(make-variable-buffer-local 'c-auto-newline)
(defalias 'c-calculate-state #[(arg prevstate) "\203\302\303!\211!\203	?\207\304V\207" [arg prevstate zerop prefix-numeric-value 0] 3])
(defvar c-macro-start 'unknown)
(defalias 'c-query-and-set-macro-start #[nil "9\203*\212\306 \307\211\307\310\211\310\211\f
\310\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 buffer-file-name buffer-file-truename] 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\211\f
\310\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 buffer-file-name buffer-file-truename] 2])
(put 'c-query-macro-start 'byte-optimizer 'byte-compile-inline-expand)
(defvar c-macro-cache nil)
(make-variable-buffer-local 'c-macro-cache)
(defvar c-macro-cache-start-pos nil)
(make-variable-buffer-local 'c-macro-cache-start-pos)
(defvar c-macro-cache-syntactic nil)
(make-variable-buffer-local 'c-macro-cache-syntactic)
(defalias 'c-invalidate-macro-cache #[(beg end) "?\206)	@W\203\304\211\304\211\207A\205)	AW\205)\304\241\210	\304\211\207" [c-macro-cache beg c-macro-cache-start-pos c-macro-cache-syntactic nil] 3])
#@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) "`	\205\202\n@\203B`\n@Y\203B\nA\203`\nAX\204$`X\203B\n@\f\206+eW?\205\202\f\2065e\n@]b\210]\306\202\202\307\211\307\214\f\203Q\fd}\210\310 \210`SSf\311=\203c\312y\210\202T\313 \210`X\203}\314
!\203}`\307B\306\202\201b\210\307))\207" [here c-opt-cpp-prefix c-macro-cache c-macro-cache-start-pos lim c-macro-cache-syntactic t nil beginning-of-line 92 -1 back-to-indentation looking-at c-opt-cpp-start] 3 (#$ . 22922)])
#@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 "A\203`AX\203`@Y\203Ab\207@\203)`	X\203)`@Y\204/\303\211\303\303\210`Sf\304=\203Dm\204D\303u\210\202/@\205L`\241\207" [c-macro-cache c-macro-cache-start-pos c-macro-cache-syntactic nil 92] 3 (#$ . 23713)])
(defalias 'c-syntactic-end-of-macro #[nil "`\305 \210`\306\2044\307	\"\310\n8\204\311\n8\2031	V\2031\312\n8S\307	\"\202\f@`+\207" [here there s c-macro-cache-syntactic c-macro-cache c-end-of-macro nil parse-partial-sexp 3 4 8] 3])
(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\210A
\203\232\313\f	\321#@\321U\203\232\317`S`\"C\241\210A`\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!\204s9\203=\212\310 \311\211\311\306\211\306\211\306\312\216\313 \2056`.\211\202>\203Y\314\315!\203Y\212\316\306x\210n)\203Y\317c\210\320u\210\311\321\216\322 \323 \212\324 \210`)|\210\325 \210\\j\210*`\212\324 \210`)W\203\207	\204\207\324 \202\223d\nZ`V\205\223d\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 buffer-file-name buffer-file-truename 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])
(put 'c-keyword-member 'byte-optimizer 'byte-compile-inline-expand)
(defconst c-string-syntax (byte-code "\301>\203\302\207\303\207" [c-emacs-features gen-string-delim "\"|" "\""] 2))
(defconst c-string-limit-regexp (byte-code "\301>\203\302\207\303\207" [c-emacs-features gen-string-delim "\\s\"\\|\\s|" "\\s\""] 2))
(defconst c-ws*-string-limit-regexp (concat "[ 	]*\\(" c-string-limit-regexp "\\)"))
(defvar c-parsing-error nil)
(make-variable-buffer-local 'c-parsing-error)
(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])
(defvar c-literal-faces (byte-code "\300\301\302\303!\205	\304\"\207" [append (font-lock-comment-face font-lock-string-face) facep font-lock-comment-delimiter-face (font-lock-comment-delimiter-face)] 4))
(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\211\310\311\"\310\312\216\203W@A\313\314\"\f=\203#\315!^\316!]\317!\210\202#\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 buffer-file-name buffer-file-truename beg end overlays overlay] 5])
(defalias 'c-debug-remove-face #[(beg end face) "\306 \307\211\307\310\211\310\211\310\311\"\310\312\216\203_@A\313\314\"\f=\203+\315!^\316!]\317!\210\202+W\203s\320\321\"\314\f#\210V\205\206\320\321\"\314\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 buffer-file-name buffer-file-truename 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]))
#@2414 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).

If point is already at the earliest statement within braces or parens,
this function doesn't move back into any whitespace preceding it; it
returns 'same in this case.

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 or "case...:" or "default:";
'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\211\211\211\211\206*\311\312\306\211\211$%&'()*+,-./0123456789:\214;\203j;d}\210\212\313 \205u`9U?)\203|`8`2\314 \210<\203\215< \204\225\315\306x\316U\203|`Sf7>\203\326\317u\210`3\314 \210`Sf7>\204\314`Sf\320>\204\314`Sfz\321=\204\314<\203\326< \203\326\322%32\202\3239b\210\323\324!\203\3449$\325\326\215\204\344'\203/\327(!\203 (G\330=\203 =\204 \331\332(\333\234(\334\234\335e\212(\316\234b\210\336 \210`)\"T$>'@A('A\211'\204\357%\312=\203i*\337>\204i\323?!\203H
\202I\f\2113\203i93V\203^32\202i93U\203i\340%@\204\3235\341=\203\323%\342=\204\3230\203\323-\204\323.\203\260.2X\204\260/\203\245/9W\203\245/\202\2472b\210\323A!\203\32309W\203\27702\202\323\343%/\203\323/9W\203\323/22b\2104\203%\342=\204\323B!\20349W\203\36642%\312=\203\343%\314 \210<\203<`!\204\315\306x\316U\204`2\2022b\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[	\317:\316\320\321\307\"\210\202\217;\204z\313<!\203\217\322\323\324!!\211;\203\217\fW\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$A\320\321=@@>=@A@=A\211=\"\202\312>\327=\203K;\335=\203=@@>=@A@=A\211=\204\201\336:\320\321\307\"\202\312;\326=\203\315?\204/\330\331@\324\234@\332\234\333e\212@\334\234b\210\311 \210`)\"T$A=@@>=@A@=A\211=\204\201\320\321\307\"\202\312>\337=\203\210;\326=\203pB\204p\340\fCDE$@\341\211>\202\312\320\321=@@>=@A@=A\211=\"\202\312>\341=\203\376;\342=\203\265=@@>=@A@=A\211=\204\201\336:\320\321\307\"\202\312;\326=\203\315@\334\234=\204\342@\334\234@\324\234C@\332\234D@\343\234E\fb\210\307;=@@>=@A@=A\211=\204\201\320\321\307\"\202\312>\344=\203M;\326=\203\345\211>\202\312?\2045\330\331@\324\234@\332\234\333e\212@\334\234b\210\311 \210`)\"T$A\320\321=@@>=@A@=A\211=\"\202\312>\345=\203\315;\346=\203z=@@>=@A@=A\211=\204\201\336:\320\321\307\"\202\312;\344=\203\210\344\211>\202\312;\326=\203\315?\204\261\330\331@\324\234@\332\234\333e\212@\334\234b\210\311 \210`)\"T$A=@@>=@A@=A\211=\204\201\320\321\307\"\204\201;\326=\203\fY\203\347>@B=B=\202\201=@@>=@A@=A\211=\204\201\320\321\307\"\210\202\201;\325=\203\">@B=B=\340\f\335\325#@\325>\202\201;\337=\203eE\203UEfF>\204U`=\203HG\203HG \204UH\203\201HE!\203\201>@B=B=\337>\202\201;\347>\203\201>@B=B=\340\f\346;#@\344>I\203\217\307\211BJ\307I;\326=\203\234\350:\202D\351 \210`\fKL\307\352\353\217\204\261\320\321\307\"\210\204\316\354 \203\316\212\355 \210\356`K\")\204\324`\211K\202\321\313\357!\204\245\204\361M\203\361\313M!\203\361\212\355 \210\356`K\")\202)\307f\360=\203
\361N\307\316#\204
\212\362`\324\"b\210`)\202)\313\363!\203$\212\307\364\365\217Tb\210\356`K\")\202)\356`K\"\211O\203CDECDOC\326;\320\321\316\"\210*P\203Y\366 \211\203Y	\316\320\321\307\"\210Q\203\303I\247\203\227R\204\227\212C\206pb\210\313S!)\204\227\313S!\204\227\367`I\"\204\227C\206\217R`T\202\303T\203\303U\204\303\313V!\203\275\313W!\204\275\367`C\"\204\275`U\202\303\307\211RT
\316=\204+I\247\203C\206\325X\313Y!\204\356\212\307\370\371\217\205\352\313Z!)\203\364\307I\202B\203	J\204C\206J\202C\206B\316I\307[[\204+\313Y!\203+C\206)[\307;DECD`\211C\211\207" [macro-start saved c-opt-cpp-start start pos ignore-labels " 	" nil 35 beginning-of-line 92 looking-at c-forward-to-cpp-define-body c-forward-sws t macro throw loop intern match-string 1 else boundary else-boundary format #1="No matching `%s' found for `%s' on line %d" 2 count-lines 0 if beginning while vector while-boundary do 3 catch catch-boundary try (catch finally) previous c-backward-sws (byte-code "\300`\301\"b\210\302\207" [scan-sexps -1 t] 3) ((error)) c-beginning-of-macro c-end-of-macro c-crosses-statement-barrier-p "\\\\$" 123 c-looking-at-inexpr-block scan-sexps "\\s(" (byte-code "\301\302\211#\207" [before-sws-pos scan-lists -1] 4) ((error)) c-in-method-def-p c-punctuation-in (byte-code "\300`\301\"b\210\302\207" [scan-sexps -1 t] 3) ((error)) 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 maybe-after-boundary-pos before-sws-pos c-opt-cpp-prefix lim boundary-pos c-opt-method-key c-has-bitfields bitfield-size-pos c-keywords-regexp bitfield-id-pos bitfield-type-pos c-symbol-key c-not-primitive-type-keywords-regexp after-case:-pos c-nonlabel-token-key c-nonlabel-token-2-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 bitfield-size-pos bitfield-id-pos bitfield-type-pos label-good-pos last-label-pos after-labels-pos boundary-pos pos saved after-case:-pos 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 c-case-kwds-regexp] 27 (#$ . 30708)])
#@202 Return non-nil if there is a non-comment non-macro punctuation character
between FROM and TO.  FROM must not be in a string or comment.  The returned
value is the position of the first such character.
(defalias 'c-punctuation-in #[(from to) "\212b\210`\nw\210\214e\206d}\210\304 \210)`	V\203\"`\202)`W\205*`)\207" [from pos c-symbol-chars to c-forward-sws] 2 (#$ . 39031)])
#@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 recognizes 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) "\203	\306\307O	\307\310OQ\202	\311\n\307\310O\310\"\310\211\214~\210\212\312\313\215.\207" [c-opt-cpp-symbol c-stmt-delim-chars skip-chars non-skip-list lit-range vsemi-pos 0 1 nil append done (byte-code "b\210	\n\306\307!^w\210`\nW\203\256n\2039\212\310!\211\203\"@b\210\311 \210`
\205-
 )\2039\312\313\f\"\210\202\310!\211\203HAb\210\202\314f\315=\203l\314u\210\314f\315=\203e`\nW\203e\314u\210\202`S\202\314f\316=\203\200\314\317\320O\211\202\203\236\321!\203\236\212\317y\210\321!)\203\236\322 \210\202\314f>\203\312\313`\"\210\202\214\206\264ed}\210\311 \210)`\nW\205\313
\205\313
 \205\313`\207" [from skip-chars to lit-range vsemi-pos c-at-vsemi-p-fn line-beginning-position 2 c-literal-limits c-backward-sws throw done nil 58 63 0 -2 looking-at c-end-of-macro c-maybe-labelp c-stmt-delim-chars c-opt-cpp-symbol c-opt-cpp-prefix non-skip-list] 5)] 6 (#$ . 39424)])
#@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 (#$ . 41200)])
#@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 (#$ . 41961)])
#@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 (#$ . 43017)])
#@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 (#$ . 43818)])
(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 "`\302\303x\210\304\305!\203`Sf\306=\203\307u\210\202o?\205M\310\311\312#\210\303\313\307!)\205Ml\203;\303\313\307!)\202<\312\205M\304\314!\203L\315u\210\303\202M\312)\207" [start open-paren-in-column-0-is-defun-start " 	\n
\f" nil looking-at "[\n
]" 92 -1 re-search-forward "\\=\\s *[\n
]" t forward-comment "\\*/" 2] 4 (#$ . 44319)])
#@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?\205d\303\211\304\305!\211\2048`Sf\306=\203!\305u\210\202`Sf\307=\2038`SSf\306=\2038\310u\210\202	*\203J\311\312!\203\313u\210\303\202d\311\314!\205d`Sf\315=\205d`W\205d\305u\210\202)\207" [start moved-comment open-paren-in-column-0-is-defun-start nil forward-comment -1 13 10 -2 looking-at "\\*/" 2 "[\n
]" 92] 2 (#$ . 45217)])
(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$`Td^\311!
\312\313$\211\203:\314\312\306
$S!\202=`!\315 #\313\211$%\313&\306\211'(\306)\316\216\203\322\317`\320\"\203\322\314`\320\306d$b\210\317`\312\"\204\200\317`S\312\"\204}\321`\312\"b\210\322u\210`!\307\306w\323V\203\322m\204\322\317`\312\"\204\246``T*+\324+*\325#\210*!T`T*+\326+*\312\313$\210*!`\211!\211*+\326+*\320\313$\210*\202U`\327\330!\203\336m\203\324\310\331!\203\352\332u\210\202\324`	U\204\365m?\202:\212,\205\310-!\205\333\306x\210n\205o\206\322u\210`Sf\334=?)\203\365\306\210`Sf\334=\2033\335y\323U\2033\306\210\202\335y\210\313m?\203\365` \307\306w\210`Td^\203X\204h\317	\320\"\203h\311 
\312\313$\211\203\332\203\332	T *+\324+*\336#\210*\203\204!	U\204\230!	T*+\326+*\312\313$\210*\313!`\211!\211*+\326+*\320\313$\210*\317
S\312\"\204\306
S
*+\324+*\325#\210* 
*+\326+*\312\313$\210*\202U\n\211\203\354\314\312\306
$S!\202\360 !\313\202U\f`=\205\"\fdW\203\f\211T*+\324+*\325#*\202\"\fS\f*+\324+*\337#*..\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 buffer-modified-p ((byte-code "\204\301\302!\210\302\207" [#1=#:modified restore-buffer-modified-p nil] 2)) 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 #1# buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename end beg c-opt-cpp-prefix c-opt-cpp-start] 9])
(defalias 'c-backward-sws #[nil "`\306\211\211\211\211\307\306x\210o?\205\235\212\310u\210\311&!)\205\235`\312\306x\210\313`
Td^\314\315$\211\203=\n\211b\210\202@	b\210\316 '\315\211()\315*\306\211+,\306-\317\216\n\203\336o\204\336\320`S\321\"\203\336\322`\321\306e$b\210\320`\314\"\204}\323`\314\"b\210`\324\306x`\312\306x^\325W\203\230\313`
\314\315$\211\204\236	b\210\202\336\320
S\314\"\204\266
S
./\326/.\327#\210*\n
./\330/.\314\315$\210*\n
S./\330/.\321\315$\210*\n\211\202X`0o?\205H\306\21112\331\310!\2111\204`Sf\332=\203\310u\210\202\354`Sf\333=\203`SSf\332=\203\334u\210\202\3541*\203-\311\335!\203\341\336u\210\306\202H\311\337!\205H`Sf\340=\205H`0W\205H\310u\210\202\341)\210`3\203\257	U\204\257\341 \203\257`4	b\210\342 \210`V\203|\310u\210`Sf\340=\203|\342 \210\202e`W\203\211b\210\306\202\253	b\210\312\306x\210`Sf\340=\203\233\306u\210\343y\210`	W\203\246`4b\210\315)\202\301\212\312	w\210`\211)	U\204h\fb\210\315\203h`\324\306x\210\n\204\350\320	S\321\"\203\350\212\312\306x\210\313`\fTd^\314\315$)\203a\fT	./\326/.\344#\210*\n\203	
U\2047
Td^5\3205S\314\"\204#5S5./\326/.\327#\210*	5./\330/.\314\315$\210*\315)`\211\211
./\330/.\321\315$\210*	\211\fT./\330/.\314\315$\210*\202X\f`\202X`=\205\233eW\203\206S./\326/.\327#*\202\233e\343V\205\233\211T./\326/.\345#*..\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 buffer-modified-p ((byte-code "\204\301\302!\210\302\207" [#1=#:modified restore-buffer-modified-p nil] 2)) 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 13 10 -2 "\\*/" 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 #1# buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-file-truename end beg start moved-comment open-paren-in-column-0-is-defun-start c-opt-cpp-prefix cpp-beg rung-end-pos] 7])
(defalias 'c-partial-ws-p #[(beg end) "\212Td^e\nS]b\210\206d\304w\210\305f\306=\203-`W\203-\305u\210l\204\307u\210)`=\206\\\nb\210	\206<d\304w\210\305f\306=\203X`W\203X\305u\210l\204=\307u\210)`	=*\207" [end end+1 beg limit " 	\n
\f" nil 92 -1] 2])
(defconst c-state-cache-too-far 5000)
(defvar c-state-cache nil)
(make-variable-buffer-local 'c-state-cache)
(defvar c-state-cache-good-pos 1)
(make-variable-buffer-local 'c-state-cache-good-pos)
(defconst c-state-nonlit-pos-interval 3000)
(defvar c-state-nonlit-pos-cache nil)
(make-variable-buffer-local 'c-state-nonlit-pos-cache)
(defvar c-state-nonlit-pos-cache-limit 1)
(make-variable-buffer-local 'c-state-nonlit-pos-cache-limit)
(defvar c-state-semi-nonlit-pos-cache nil)
(make-variable-buffer-local 'c-state-semi-nonlit-pos-cache)
(defvar c-state-semi-nonlit-pos-cache-limit 1)
(make-variable-buffer-local 'c-state-semi-nonlit-pos-cache-limit)
(defalias 'c-state-pp-to-literal #[(from to) "\212\304	\"\305\3068\204\3078\2036\3068\203\310\202+\3118\312=\203*\313\202+\314\304`d\305\211\315&\210\n\203E\n\3168`BE\202GC+\207" [from to ty s parse-partial-sexp nil 3 4 string 7 t c++ c syntax-table 8] 7])
(put 'c-state-pp-to-literal 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'c-state-safe-place #[(here) "\214~\210\212\306\211\211\211\211\211\211\203*@V\203*A\211\204\203H@V\203H@A\211\2042@\206Oe\f\204\\\211X\203
\212\307\"\306\3108\204\203\3118\203\251\3108\203\216\312\202\234\3138\314=\203\233\315\202\234\316\307`d\306\211\317&\210\203\274\3208`BE\202\277C-\211AA)@\211\203\327AXA\203
b\210\321 \205\347`
U?\205\347`\211\203\370\322 \210m\204\366\306u\210`\n\203	X	\203
\211B\202U
BV\203.	\207" [c-state-nonlit-pos-cache macro-end macro-beg lit high-pos npos nil parse-partial-sexp 3 4 string 7 t c++ c syntax-table 8 c-beginning-of-macro c-syntactic-end-of-macro pos c-state-nonlit-pos-cache-limit here c-state-nonlit-pos-interval to from ty s x] 8])
(defalias 'c-state-semi-safe-place #[(here) "\214~\210\212\306\211\211\211\211\211\211\203*@V\203*A\211\204\203H@V\203H@A\211\2042@\206Oe\f\204\341\\\211X\203\341
\212\307\"\306\3108\204\203\3118\203\251\3108\203\216\312\202\234\3138\314=\203\233\315\202\234\316\307`d\306\211\317&\210\203\274\3208`BE\202\277C-\211AA)@\211\203\327AXA\203\341
\211B\202UV\203\355.	\207" [c-state-semi-nonlit-pos-cache macro-end macro-beg lit high-pos npos nil parse-partial-sexp 3 4 string 7 t c++ c syntax-table 8 pos c-state-semi-nonlit-pos-cache-limit here c-state-nonlit-pos-interval to from ty s x] 8])
(defalias 'c-state-literal-at #[(here) "\214~\210\212\306!\211\212\307\n\"\310\311
8\204 \312
8\203B\311
8\203*\313\2027\314
8\315=\2036\316\2027\317\307`d\310\211
\320&\210\f\203Q
\f\321
8`BE\202S
C-\211AA)@+\207" [here pos to from ty s c-state-safe-place parse-partial-sexp nil 3 4 string 7 t c++ c syntax-table 8 x] 8])
(defalias 'c-state-lit-beg #[(pos) "\301!@\206\207" [pos c-state-literal-at] 2])
(put 'c-state-lit-beg 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'c-state-cache-non-literal-place #[(pos state) "\3038\204\f\3048\203\3058\202	\212\nb\210\306 \203!`\202\"\n*\207" [state pos res 3 4 8 c-beginning-of-macro] 2])
(put 'c-state-cache-non-literal-place 'byte-optimizer 'byte-compile-inline-expand)
(defvar c-state-point-min 1)
(make-variable-buffer-local 'c-state-point-min)
(defvar c-state-point-min-lit-type nil)
(make-variable-buffer-local 'c-state-point-min-lit-type)
(defvar c-state-point-min-lit-start nil)
(make-variable-buffer-local 'c-state-point-min-lit-start)
(defvar c-state-min-scan-pos 1)
(make-variable-buffer-local 'c-state-min-scan-pos)
(defalias 'c-state-get-min-scan-pos #[nil "\206\214\212~\210	b\210\n\303=\203\304 \210\202\305\306!\210`\211*\207" [c-state-min-scan-pos c-state-point-min-lit-start c-state-point-min-lit-type string forward-sexp forward-comment 1] 2])
(defalias 'c-state-mark-point-min-literal #[nil "e\306\214~\210\307	!\211\2036\212@b\210\310\n!\203\311\202)\310!\203(\312\202)\313)@A\211\f\202>\306\211	\211\f+\207" [lit p-min c-block-comment-start-regexp c-line-comment-starter c-state-point-min-lit-type c-state-point-min-lit-start nil c-state-literal-at looking-at c c++ string c-state-min-scan-pos] 3])
(defvar c-state-brace-pair-desert nil)
(make-variable-buffer-local 'c-state-brace-pair-desert)
(defalias 'c-state-cache-top-lparen '(macro . #[(&optional cache) "\206\302\303\304\305	DD\306	D\305	DF)\207" [cache cash c-state-cache if consp car caar] 5]))
(defalias 'c-state-cache-top-paren '(macro . #[(&optional cache) "\206\302\303\304\305	DD\306	D\305	DF)\207" [cache cash c-state-cache if consp car cdar] 5]))
(defalias 'c-state-cache-after-top-paren '(macro . #[(&optional cache) "\206\302\303\304\305	DD\306	D\307\305	D\310\305	DDEF)\207" [cache cash c-state-cache if consp car cdar and 1+] 8]))
(defalias 'c-get-cache-scan-pos #[(here) "\305\211\203%\n@:\203\n\211@@)\202\n@\fY\203%\nA\211\204\n@\211:\203?	A\fV\203:	@T\202U	A\202U	\203H	T\202U\306 \fX\203T\306 \202U\305*\207" [c-state-cache elt c x here nil c-state-get-min-scan-pos] 3])
(defvar c-state-old-cpp-beg-marker nil)
(make-variable-buffer-local 'c-state-old-cpp-beg-marker)
(defvar c-state-old-cpp-beg nil)
(make-variable-buffer-local 'c-state-old-cpp-beg)
(defvar c-state-old-cpp-end-marker nil)
(make-variable-buffer-local 'c-state-old-cpp-end-marker)
(defvar c-state-old-cpp-end nil)
(make-variable-buffer-local 'c-state-old-cpp-end)
(defalias 'c-state-balance-parens-backwards #[(here- here+ top) "\306\211\211\211\212\214e\f}\210
\306\307\310\217\210*\203\"\306\311\312\217\210,\207" [lonely-rens ren+1 pa pos top here+ nil (byte-code "\303\304\211#\211\203	\nB	\202\303\207" [pos ren+1 lonely-rens scan-lists 1] 4) ((error)) (byte-code "\203\303	\304\305#\211\203\nA\211\204\303\207" [lonely-rens pos pa scan-lists -1 1] 5) ((error)) here-] 4])
(defalias 'c-parse-state-get-strategy #[(here good-pos) "\305!\306\211\f\206\307 \307 W\203\310\202=\fX\203*\311\f]\202=\fZZW\2039\312\202=\311\n\211\311=\205E	+D\207" [here start-point strategy cache-pos good-pos c-get-cache-scan-pos nil c-state-get-min-scan-pos IN-LIT forward backward] 3])
(defalias 'c-renarrow-state-cache #[nil "eW\203\306 \210\307\n\307\202\204
\203e\310 W\204 \306 \210\307	B\307	\211\nA@:\203;\nA\211@@)\202?\nA@\211	\203U	eY\203U\nA\211\n\202)\n:\203\203\nA	=\203j\307\n\202\203\n\307\241\210	@:\203	\211@@)\202\201	@T*e\211\207" [c-state-point-min c-state-cache c-state-min-scan-pos c-state-cache-good-pos c-state-brace-pair-desert c-state-point-min-lit-start c-state-mark-point-min-literal nil c-state-get-min-scan-pos pa ptr x] 3])
(defalias 'c-append-lower-brace-pair-to-state-cache #[(from here &optional upper-lim) "\212\214\306	@:\203	\211@@)\202	@\fb\210\307 \210`\310
\311\"\312=\203+
\202,\f\306\2049\f\205Y@=\205Y@\203T\f@V\205Y\fAX?\2051\205u@=\205u\fAY\205uA\205\200\fW\205\200\211\203\225\203\225]\202\240\206\240\206\240e\313 T}\210*\306\314\315\217\210\203\277W\203\277\202\246\203W\203W\203f\316=\203TB	@:\203\357	\240\2021	@\247\203	@W\203		AB\241\2021	B\211\2021\203(W\203(V\203(\202)e\f^B\211.\207" [new-cons c-state-cache x cache-pos from macro-start-or-from nil c-beginning-of-macro get-text-property category c-cpp-delimiter buffer-size (byte-code "\304\305\211#\211\2037\304	\305\306#\211\2037\nV\204	\nW\2037f\307=\203b\2037\310 \2037`W\204\304\207" [bra ce here macro-start-or-from scan-lists -1 1 123 c-beginning-of-macro] 4) ((error)) 123 bra ce upper-lim c-state-brace-pair-desert cache-lim desert-lim here] 4])
(defalias 'c-state-push-any-brace-pair #[(bra+1 macro-start-or-here) "\205/	V\204b\210\303 \204*S\304\305\211#B\n@:\203%\nA\202&\nB\211\207\306Sd\"\207" [bra+1 macro-start-or-here c-state-cache c-beginning-of-macro scan-lists 1 c-append-lower-brace-pair-to-state-cache] 5])
(put 'c-state-push-any-brace-pair 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'c-append-to-state-cache #[(from here) "\212b\210\306 \210`)\212b\210\307 \203`\202)\310	\310\211\211\211\211\211\212\214e}\210\310\311\312\217\210\203\234V\203\234
\211\205\204
V\204a
b\210\307 \204
S\313
\314\211#B@:\203vA\202xB\211\202\204\315
Sd\"*\210SB\310\211\310\2026\310\316\317\217\2046
\211\205\337
V\204\274
b\210\307 \204\332
S\313
\314\211#B@:\203\321A\202\323B\211\202\337\315
Sd\"*\210@\211\203V\203\367\202b\210\307 \205`\211\206V\203A\211\202\343\203'\n\203'\n^\202-\206-	.\f\207" [here from mstart bra+1s ce+1 bra+1 beginning-of-line c-beginning-of-macro nil (byte-code "\304\305\306#\211\nB\304	\305\211#	Sf\307=\203	\n\240\210\202" [ren+1 pa+1 paren+1s bra+1 scan-lists 1 -1 123] 5) ((error)) scan-lists 1 c-append-lower-brace-pair-to-state-cache (byte-code "\301\302\211#\211\207" [ren+1 scan-lists 1] 4) ((error)) paren+1s paren+1 ren+1 pa+1 macro-start-or-here here-bol c-state-cache] 11])
(defalias 'c-remove-stale-state-cache #[(start-point here pps-point) "\212\214\306d}\210\212b\210\307 \205`)\nW\205#\212\nb\210\307 \205\"`)\211\2051\212b\210\310 \210`)\311\211
\311\211\311\211\311\203YV\203]W\203]\202a^\203\222@:\203z\211@@)\202}@Y\203\222@\242A\211\204h\203\274@:\203\274\211@A)V\203\274\211\211@@)\240\210@\f\203\313	=\204\313\fT\202\314\n\211
b\210\203\207@\247\204\343A\203\207`W\203\207
\204\363\312\202
@=\203
@S\313``W\203\202\311
%`U\203

@=\203\321`
@:\203N`\211@A)=\203NA\242A\243\211\202\323@\247\203c@A\211\202\323\211A@)\247\203\321\211A@)\211AA)\211\204\326`W\203\227\313`\311\211
%\203\272f\314=\203\272\242:\203\260A
BB

E.\f\207" [here in-macro-start start-point start-point-actual-macro-start start-point-actual-macro-end pps-state 1 c-beginning-of-macro c-end-of-macro nil -1 parse-partial-sexp 123 pos upper-lim scan-back-pos pair-beg pps-point-state target-depth c-state-old-cpp-beg c-state-old-cpp-end c-state-cache x pps-point] 7])
(defalias 'c-remove-stale-state-cache-backwards #[(here) "\306!	\307\211\211\211\211\211\211\211\211\212b\210\310 \210`)\nZe]\203f@:\203I\211@@)\202L@\211Y\203f@:A\2022@:\203\224\211@A)V\203\224\211@@)\240\210T\311E\202I\312!\211@\206\237A\206\250\212b\210\313 \203\313\203\300`U\204\313`\314 \210`\202\322)\214d}\210\315
#)W\203\371\205\364\311E\202I\214\fd}\210\307\316\317\217\210)\214d}\210\307\320\321\217)\211\203'T\205\"\307E\202I\212\fb\210\322y\210`)\312!@\206<)\211\205G\307E.
\207" [here c-state-cache-good-pos c-state-cache-too-far too-far-back here-bol here+ c-get-cache-scan-pos nil beginning-of-line t c-state-literal-at c-beginning-of-macro c-end-of-macro c-state-balance-parens-backwards (byte-code "\302\303\304#\211\203	\202\302\207" [pos pa scan-lists -1 1] 4) ((error)) (byte-code "\301\302\211#\207" [pos scan-lists -1] 4) ((error)) -1 here- here-lit-end here-lit-start lit good-pos dropped-cons ren pa pos cache-pos c-state-cache x c-state-old-cpp-beg] 15])
(defalias 'c-state-cache-init #[nil "\306\307\306\307\306\307\306	\307\n\306\211\f\307
\306\211\310 \207" [c-state-cache c-state-cache-good-pos c-state-nonlit-pos-cache c-state-nonlit-pos-cache-limit c-state-semi-nonlit-pos-cache c-state-semi-nonlit-pos-cache-limit nil 1 c-state-mark-point-min-literal c-state-brace-pair-desert c-state-point-min c-state-point-min-lit-type c-state-point-min-lit-start c-state-min-scan-pos c-state-old-cpp-beg c-state-old-cpp-end] 2])
(defalias 'c-invalidate-state-cache-1 #[(here) "	W\203\nW\203\203\306 W\203$\307\211\307\202\254\212b\210\310 \210`)\307\211\211\n\f
\f\203v\f@:\203L\f\211@A)\202N\f@\211\nY\203v\f@:\f@:\203k\f\211@@)\202m\f@\f\fA\211\204<\203\215\f\\W\203\215\311\f
#\210\f@:\203\235\f\211@A)\202\245\f@\203\250\f@T\206\252\306 ,@\205\313@W\203\277\307\211\207AW\205\313\241\207" [here c-state-nonlit-pos-cache-limit c-state-semi-nonlit-pos-cache-limit c-state-cache-good-pos c-state-cache c-state-min-scan-pos c-state-get-min-scan-pos nil beginning-of-line c-append-lower-brace-pair-to-state-cache pa dropped-cons too-high-pa here-bol x c-state-cache-too-far c-state-brace-pair-desert] 5])
(defalias 'c-parse-state-1 #[nil "`\306\307!\310\211\310\211\310\211\310\211eU\204$\311 \210\312\"\211@\211A@)\n\313=\203\264\314
	#\211@\211A@)\211AA)@\203g\315\"\210\316\"\203\256\fZW\203\256	\3178\204\217\3208\203\226\3218\202\230\212b\210\322 \203\250`\202\252,\202\257\f\202\372\n\323=\203\364\324!\211@\211A@)\211AA)@\203\342\315\"\210\203\356\316\f\"\202\357\f\202\372\310\211.\n\207" [here here-bopl strategy cache-pos good-pos start-point line-beginning-position 0 nil c-renarrow-state-cache c-parse-state-get-strategy forward c-remove-stale-state-cache c-append-lower-brace-pair-to-state-cache c-append-to-state-cache 3 4 8 c-beginning-of-macro backward c-remove-stale-state-cache-backwards bopl-state res scan-backward-pos scan-forward-p c-state-point-min c-state-cache-good-pos x c-state-cache-too-far state pos c-state-cache] 5])
(defalias 'c-invalidate-state-cache #[(here) "\306\216\307\310\311\312#\210\307\313\311\312#\210\203\203	W\203\203\314\216\315 \316\211\316\312\211\312\211\312\317\216\320\211T\321#\210)	^dW\203X	^\320\211T\322#\210)\323\216\315 \316\211\316\312\211\312\211\312\324\216\307\325\311#\210\326	!.\202\253\327\216\315 \316\211\316\312\211\312\211\312\330\216\307\325\311#\210\326	!.)\207" [c-state-old-cpp-beg here modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks ((byte-code "\302\300\303#\210\302\301\303	#\207" [c-<-as-paren-syntax c->-as-paren-syntax put syntax-table] 4)) put c-<-as-paren-syntax syntax-table nil c->-as-paren-syntax ((byte-code "\306 \307\211\307\310\211\310\211
\310\311\216\312\211T\313\314$\210)^dW\203A^\312\211T\313\314$\210).\n\310\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-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)) put-text-property category c-cpp-delimiter deactivate-mark buffer-file-name buffer-file-truename c-state-old-cpp-beg -pos- c-state-old-cpp-end here] 6)) buffer-modified-p t ((byte-code "\204
\301 \203
\302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) remove-text-properties (category . #1=(nil)) (category . #1#) ((byte-code "\306 \307\211\307\310\211\310\211
\310\311\216\312\313\314\310#\210.\n\310\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-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)) put c-cpp-delimiter syntax-table deactivate-mark buffer-file-name buffer-file-truename] 5)) ((byte-code "\204
\301 \203
\302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-cpp-delimiter c-invalidate-state-cache-1 ((byte-code "\306 \307\211\307\310\211\310\211
\310\311\216\312\313\314\310#\210.\n\310\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-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)) put c-cpp-delimiter syntax-table deactivate-mark buffer-file-name buffer-file-truename] 5)) ((byte-code "\204
\301 \203
\302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename pos c-state-old-cpp-end] 5])
(defalias 'c-state-maybe-marker '(macro . #[(place marker) "\302\303	\304	\305BBE\306	EF\207" [place marker and or setq ((make-marker)) set-marker] 7]))
(defalias 'c-parse-state #[nil "\306\211\212\307 \203`\310 \211	V\204\306\211)\311\216\312\313\314\306#\210\312\315\314\306#\210	\203\226	V\203\226\316\216\317 \320\211\320\306\211\306\211\306 \321\216	!\322!\211T\323#\210)dW\203l!\322!\211T\324#\210)\325\216\317 \320\211\320\306\211\306\211\306 \326\216\312\327\314#\210\330 .\202\275\331\216\317 \320\211\320\306\211\306\211\306 \332\216\312\327\314#\210\330 .)	\205\324\"\204\317\333 \211\"\205\324\"	\306\223#\205\354$\204\347\333 \211$\205\354$\306\223%*\207" [here-cpp-end here-cpp-beg modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks nil c-beginning-of-macro c-syntactic-end-of-macro ((byte-code "\302\300\303#\210\302\301\303	#\207" [c-<-as-paren-syntax c->-as-paren-syntax put syntax-table] 4)) put c-<-as-paren-syntax syntax-table c->-as-paren-syntax ((byte-code "\306 \307\211\307\310\211\310\211
\310\311\216\312\211T\313\314$\210)dW\203;\312\211T\313\314$\210).\n\310\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-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)) put-text-property category c-cpp-delimiter deactivate-mark buffer-file-name buffer-file-truename here-cpp-beg -pos- here-cpp-end] 6)) buffer-modified-p t ((byte-code "\204
\301 \203
\302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) remove-text-properties (category . #1=(nil)) (category . #1#) ((byte-code "\306 \307\211\307\310\211\310\211
\310\311\216\312\313\314\310#\210.\n\310\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-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)) put c-cpp-delimiter syntax-table deactivate-mark buffer-file-name buffer-file-truename] 5)) ((byte-code "\204
\301 \203
\302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-cpp-delimiter c-parse-state-1 ((byte-code "\306 \307\211\307\310\211\310\211
\310\311\216\312\313\314\310#\210.\n\310\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-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)) put c-cpp-delimiter syntax-table deactivate-mark buffer-file-name buffer-file-truename] 5)) ((byte-code "\204
\301 \203
\302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) make-marker before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename pos c-state-old-cpp-beg-marker c-state-old-cpp-beg c-state-old-cpp-end-marker c-state-old-cpp-end] 5])
(defvar c-debug-parse-state nil)
(byte-code "\300\301!\204\301\302KM\210\300\207" [fboundp c-real-parse-state c-parse-state] 2)
(defvar c-parse-state-point nil)
(defvar c-parse-state-state nil)
(defalias 'c-record-parse-state-state #[nil "`\302\303\304\"\211\207" [c-parse-state-point c-parse-state-state mapcar #[(arg) "J	:\203\302	!\202	)B\207" [arg val copy-tree] 3] (c-state-cache c-state-cache-good-pos c-state-nonlit-pos-cache c-state-nonlit-pos-cache-limit c-state-semi-nonlit-pos-cache c-state-semi-nonlit-pos-cache-limit c-state-brace-pair-desert c-state-point-min c-state-point-min-lit-type c-state-point-min-lit-start c-state-min-scan-pos c-state-old-cpp-beg c-state-old-cpp-end c-parse-state-point)] 3])
(defalias 'c-replay-parse-state-state #[nil "\301\302\303\304\305#\306Q!\207" [c-parse-state-state message "(setq " mapconcat #[(arg) "\301\302@A:\204\303\202\304A$\207" [arg format "%s %s%s" "" "'"] 5] "  " ")"] 6])
(defalias 'c-debug-parse-state-double-cons #[(state) "\303\211\n\203\n@\nA	:\203\n@:\203\304\202*\207" [conses-not-ok state-car state nil t] 2])
(defalias 'c-debug-parse-state #[nil "`\306 \307\307\310\307\310\307\310\307\211\310\307\211\306 .	\232\204>\311\312\n	$\210\311\313!\210\314 \210\315	!\203Q\311\316\n	#\210\311\313!\210\314 \210\317 \210+\207" [res2 res1 here c-state-old-cpp-end c-state-old-cpp-beg c-state-min-scan-pos c-real-parse-state nil 1 message "c-parse-state inconsistency at %s: using cache: %s, from scratch: %s" "Old state:" c-replay-parse-state-state c-debug-parse-state-double-cons "c-parse-state INVALIDITY at %s: %s" c-record-parse-state-state c-state-point-min-lit-start c-state-point-min-lit-type c-state-point-min c-state-brace-pair-desert c-state-nonlit-pos-cache-limit c-state-nonlit-pos-cache c-state-cache-good-pos c-state-cache] 11])
(defalias 'c-toggle-parse-state-debug #[(&optional arg) "\303	\"\304	\203\301\202\305KM\210\306\302!\203\307\310\311	\203$\312\202%\313\"\207" [arg c-debug-parse-state zmacs-region-stays c-calculate-state c-parse-state c-real-parse-state boundp t message "c-debug-parse-state %sabled" "en" "dis"] 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\203b\2025\306\211\312 \210*
\203-\313
!\203-\314\225b\210`W\2055b+\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\2043b\210\313f\316=\205A\310\f!\205A\315\225Y\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 (#$ . 76011)])
(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])
(defconst c-jump-syntax-balanced (byte-code "\301>\203\302\207\303\207" [c-emacs-features gen-string-delim "\\w\\|\\s_\\|\\s(\\|\\s)\\|\\s\"\\|\\s|" "\\w\\|\\s_\\|\\s(\\|\\s)\\|\\s\""] 2))
(defconst c-jump-syntax-unbalanced (byte-code "\301>\203\302\207\303\207" [c-emacs-features gen-string-delim "\\w\\|\\s_\\|\\s\"\\|\\s|" "\\w\\|\\s_\\|\\s\""] 2))
#@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 (#$ . 78447)])
#@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 (#$ . 80500)])
#@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 (#$ . 81422)])
#@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 (#$ . 81889)])
#@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 (#$ . 82361)])
(defalias 'c-ssb-lit-begin #[nil "\212`\306\211\211\f\203\f@`V\203\fA\211\204
\f\242\211\2045\307`
\206*\310 \"\206/\311e]\211C\312\n\311#`W\203J`\211\fB\2025	\313\234\203Y	\313\234T\211\fB	\314\234\204e	\315\234\205h	\316\234-\207" [pps-end-pos state safe-pos pos safe-pos-list c-state-cache nil c-safe-position c-parse-state 0 parse-partial-sexp 1 3 4 8] 5])
(put 'c-ssb-lit-begin 'byte-optimizer 'byte-compile-inline-expand)
#@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`\306\211\212`\306\211\211\203=@`V\203=A\211\204/\242\211\204Z\310`\206N\311 \"\206S\307e]\211C\312\307#`W\203t`\211B\202Z\313\234\203\206\313\234T\211B\314\234\204\224\315\234\205\230\316\234-\211\203\245	b\210\317\202
\203\347\212\312\320#`\f@\307U)\204\347\f@\307W\203\335\212\312\306\211\f%\211@\307W)\203\335\306\321\322\217\202
\f\313\234Tb\210\306\202
\323!\205
`\n\206\212
b\210\323!\210`)\211W\203\317\202
b\210\306+\204\f`\324 \210`V\204\f`
U.?\207" [paren-level-pos lit-beg start-macro-beg safe-pos-list state-2 start nil 0 c-safe-position c-parse-state parse-partial-sexp 1 3 4 8 t -1 (byte-code "\304\305	@[#b\210`\203\nY\203b\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))) c-beginning-of-macro c-backward-sws skip-chars limit pps-end-pos pos state safe-pos c-state-cache paren-level] 7 (#$ . 86922)])
#@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-in-literal #[(&optional lim detect-cpp) "\214~\210\306`!\211`\212\307\n	\"\310\311\f8\204\312\f8\203A\311\f8\203)\313\2026\314\f8\315=\2035\316\2026\317\307`d\310\211\f\320&\210\203P\f\321\f8`BE\202R\fC-\211\211A@)\206k\205k\212\322 )\205k\323+\207" [safe-place to from ty s lit c-state-semi-safe-place parse-partial-sexp nil 3 4 string 7 t c++ c syntax-table 8 c-beginning-of-macro pound x detect-cpp] 8 (#$ . 88831)])
#@770 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\n\306!\214~\210	\212\307\n\"\310\311
8\204&\312
8\203H\311
8\2030\313\202=\314
8\315=\203<\316\202=\317\307`d\310\211
\320&\210\f\203W
\f\321
8`BE\202Y
C.\211#@$#\211%AA)@\211&\206'\204\226$\322\234\204\226`Sf\323=\203\226\324\325!\203\226\326u\210`\327 \210`B\202(\205b\210\330\310w\210\324)!\203\266`\310\331\332\217\206\262dB\202\324*!\203\306`\327 \210`B\202\330\310x\210`\310+,\212\333-!\334W)\203\344\310\335\336\217+\202\373\310\337\340\217\203\373\324\341!\203\373,b\210\342 \210`++\205+,B*.\207" [pos lim to from ty s c-state-semi-safe-place parse-partial-sexp nil 3 4 string 7 t c++ c syntax-table 8 5 47 looking-at "[/*]" -1 c-forward-single-comment " 	" (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 pp-to-lit state x lit-limits not-in-delimiter near c-string-limit-regexp c-comment-start-regexp beg end c-string-syntax] 8 (#$ . 89901)])
(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 (#$ . 91910)])
#@414 Convenience function that given the result of `c-literal-limits',
returns nil or the type of literal that the range surrounds, one
of the symbols 'c, 'c++ or 'string.  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 (#$ . 92838)])
(defalias 'c-determine-limit-get-base #[(start try-size) "	Ze]\305\n!\306\n\"\307\f8\204\310\f8\203!\311\f8\202\"`+\207" [start try-size pos base s c-state-semi-safe-place parse-partial-sexp 4 3 8] 3])
(put 'c-determine-limit-get-base 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'c-determine-limit #[(how-far-back &optional start try-size) "\212\206`	\206\n\306_	\211	Ze]\307!\310\f\"\311
8\204.\312
8\2034\313
8\2025`-\211\310\211\"\314\211\314\315W\203\234\310\314\211
\316&\311
8\204f\312
8\203l\313
8\202m`Z\211\315V\203\200BB\311
8\204\214\312
8\203\226\310`\314\211
\316&`\211\202K\nW\203\276\203\276@AA\\\211\202\236\nY\203\320@\nZ\\\202\342\fe=\203\332e\202\342\317\nZ\f	#.\n\207" [start try-size how-far-back pos base s 2 c-state-semi-safe-place parse-partial-sexp 4 3 8 nil 0 syntax-table c-determine-limit stack elt size count] 8])
(defalias 'c-determine-+ve-limit #[(how-far &optional start-pos) "\212\206`	\305``\"m\204E\306V\203E\305\f\211\\d^\307\211\n\310&\311`\fZ\312#`\313\n8\203\305\fd\307\211\n\310&`\202`,\207" [start-pos how-far s count pos parse-partial-sexp 0 nil syntax-table - 1 8] 7])
(defvar c-find-decl-syntactic-pos nil)
(make-variable-buffer-local 'c-find-decl-syntactic-pos)
(defvar c-find-decl-match-pos nil)
(make-variable-buffer-local 'c-find-decl-match-pos)
(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-./`012\3102\311\"\2113:\203T3\203O3@1>\204O3A\2113\204=3\202Y31>+\203(o\204\245`S012\3102\311\"\2113:\203\2213\203\2143@1>\204\2143A\2113\204z3\202\22631>+\203\245\312`\311\306e$b\210\202]\3134!\204\272\314 \2115\203\2715@b\210)`\211/\203(	\212,b\210\315y\210`)X\203(\212,b\210\316`\311\306	$b\210`	W\203`012\3102\311\"\2113:\2033\203
3@1>\204
3A\2113\204\3733\20231>+\204\325`	U)\203(/\202\354\212\315y\307U\205Bn\205B`	Y\205B\317u\210`Sf\320=)\203P,S\321.\202\354\322 \203X\321.,67\205m67W\205m\306\2117)\210`\211-7=\204\207\2147\206\200ed}\210\323 \210)`7=\203\2348\203\2348-\202\354-7o\203\253\307\211*\202\264\317u\210\324 \210`	W\203\342(\204\331\212\316`\325\306	$b\210`	W\203\325\310`S\325\"\326=\203\275`()*\204\236)`V\203\351)b\210\3279	\330#\211)\203C\315\225\211*\203*b\210*S\202\f\307\224b\210`012\3102\311\"\2113:\203:3\20353@1>\20453A\2113\204#3\202?31>+\202G	*\306\203\223\316`\311\306	$b\210`	W\203\351`012\3102\311\"\2113:\203\2073\203\2023@1>\204\2023A\2113\204p3\202\21431>+\204J\202\351*\204\236\323 \210`**(W\203\257*\306*\202\265(\306(
b\210
	W\203\342\331\332!\203\310m\203\276\313\333!\203\324\334u\210\202\276(\203\340(`^\202\341`
,W\205\352
8\f\203\341\f,W\203\341.\203z/\206,b\210`:o?\205o\306\211;<\331\317!\211;\204A`Sf\335=\203*\317u\210\202`Sf\336=\203A`SSf\335=\203A\337u\210\202;*\203T\313\340!\203\334u\210\306\202o\313\341!\205o`Sf\320=\205o`:W\205o\317u\210\202)\210\317u\210\324 \210\202\301/\203\275\204\212/b\210\202\247,b\210\312`\325\306/$b\210`/V\203\247\310`\325\"\326=\203\216`/U\203\301\342 \210`	V\203\301	b\210\202\301,b\210`*\203\322*\fW\203\322\306*(\203\341(\fW\203\341\306(-\203
\2032
-W\2032-b\210\343 \210\f\2032\f`W\2032`\2022(\204)\212\316`\325\306	$b\210`	W\203%\310`S\325\"\326=\203
`()*\204\356)`V\2039)b\210\3279	\330#\211)\203\223\315\225\211*\203W*b\210*S\202\\\307\224b\210`012\3102\311\"\2113:\203\2123\203\2053@1>\204\2053A\2113\204s3\202\21731>+\202\227	*\306\203\343\316`\311\306	$b\210`	W\2039`012\3102\311\"\2113:\203\3273\203\3223@1>\204\3223A\2113\204\3003\202\33431>+\204\232\2029*\204\356\323 \210`**(W\203\377*\306*\202(\306(
b\210
	W\2032\331\332!\203m\203\313\333!\203$\334u\210\202(\2030(`^\2021`+
	W\203\333
Sf\344=\203I\310
S\345\"\203\247\fU\204\247\fV\203Z\343 \210``	Y\204\244\313=!\203\244>\203\333`>12\3102\311\"\2113:\203\2333\203\2263@1>\204\2263A\2113\204\2043\202\24031>+\204\333\fb\210`	W\203\333(\204\317\212\316`\325\306	$b\210`	W\203\313\310`S\325\"\326=\203\263`()*\204\224)`V\203\337)b\210\3279	\330#\211)\2039\315\225\211*\203\375*b\210*S\202\307\224b\210`012\3102\311\"\2113:\20303\203+3@1>\204+3A\2113\2043\202531>+\202=	*\306\203\211\316`\311\306	$b\210`	W\203\337`012\3102\311\"\2113:\203}3\203x3@1>\204x3A\2113\204f3\202\20231>+\204@\202\337*\204\224\323 \210`**(W\203\245*\306*\202\253(\306(
b\210
	W\2033\331\332!\203\276m\203\264\313\333!\203\312\334u\210\202\264(\203\326(`^\202\327`\2023`	W\205w`,Y\203:
\nV\203	\212
b\210\212\322 \205\373`
W)\203\346 \210`\202\307)\347\n!\204!\n`V\203e\n}\210\202!\307\202:?
\n\307U?\"\203/\306(\n\307U\204:e+}\210\fb\210\f	U\203I	\211\2024(\204k\212\316`\325\306	$b\210`	W\203g\310`S\325\"\326=\203O`()*\2040)`V\203{)b\210\3279	\330#\211)\203\325\315\225\211*\203\231*b\210*S\202\236\307\224b\210`012\3102\311\"\2113:\203\3143\203\3073@1>\204\3073A\2113\204\2653\202\32131>+\202\331	*\306\203%\316`\311\306	$b\210`	W\203{`012\3102\311\"\2113:\2033\2033@1>\2043A\2113\2043\20231>+\204\334\202{*\2040\323 \210`**(W\203A*\306*\202G(\306(
b\210
	W\2033\331\332!\203Zm\203P\313\333!\203f\334u\210\202P(\203r(`^\202s`\2023.	\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 13 10 -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 moved-comment open-paren-in-column-0-is-defun-start cfd-decl-re cfd-face-checklist cfd-fun] 10])
(defvar c-found-types nil)
(make-variable-buffer-local 'c-found-types)
(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-clear-<-pair-props #[(&optional pos) "\212\203b\210\202
`\306`\307\"	\232\205E\307 p\310\216\311\f!\210\312\313\314\217\210+\306`S\307\"
\232\203<`S\315\211T\316#\210)\315\211T\317#))\207" [pos c-<-as-paren-syntax #1=#:buffer #2=#:table c-no-parens-syntax-table c->-as-paren-syntax get-text-property syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table nil (byte-code "\301`\302\303#\211b\210\210)\301\207" [endpos scan-lists 1 0] 5) ((error)) remove-text-properties (category . #3=(nil)) (category . #3#)] 4])
(defalias 'c-clear->-pair-props #[(&optional pos) "\212\203b\210\202
`\306`\307\"	\232\205C\307 p\310\216\311\f!\210\312\313\314\217\210+\306`\307\"
\232\203:`\315\211T\316#\210)\315\211T\317#))\207" [pos c->-as-paren-syntax #1=#:buffer #2=#:table c-no-parens-syntax-table c-<-as-paren-syntax get-text-property syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table nil (byte-code "\300`\301\302#b\207" [scan-lists -1 1] 4) ((error)) remove-text-properties (category . #3=(nil)) (category . #3#)] 4])
(defalias 'c-clear-<>-pair-props #[(&optional pos) "\301f\302=\203\303!\207\301f\304=\203\305!\207\306\307!\210\310 \207" [pos nil 60 c-clear-<-pair-props 62 c-clear->-pair-props message "c-clear-<>-pair-props called from wrong position" ding] 2])
(defalias 'c-clear-<-pair-props-if-match-after #[(lim &optional pos) "\212\203b\210\202
`\306`\307\"	\232\205R\307 p\310\216\311\f!\210\312\313\314\217\210+`
Y\203Q\306`S\307\"\232\203Q`S\211\315\211T\316#\210*\211\315\211T\316#\210*\317)\207" [pos c-<-as-paren-syntax #1=#:buffer #2=#:table c-no-parens-syntax-table lim get-text-property syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table nil (byte-code "\301`\302\303#\211b\210\210)\301\207" [endpos scan-lists 1 0] 5) ((error)) remove-text-properties (category nil) t c->-as-paren-syntax] 5])
(defalias 'c-clear->-pair-props-if-match-before #[(lim &optional pos) "\212\203b\210\202
`\306`\307\"	\232\205P\307 p\310\216\311\f!\210\312\313\314\217\210+`
X\203O\306`\307\"\232\203O`\211\315\211T\316#\210*\211\315\211T\316#\210*\317)\207" [pos c->-as-paren-syntax #1=#:buffer #2=#:table c-no-parens-syntax-table lim get-text-property syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table nil (byte-code "\300`\301\302#b\207" [scan-lists -1 1] 4) ((error)) remove-text-properties (category nil) t c-<-as-paren-syntax] 5])
(defalias 'c-before-change-check-<>-operators #[(beg end) "\212b\210\306 	b\210\306 \307\211\211\211\211\203!@\202\"b\210\310\311\312\313!\"\210``\211W\203M\314\315\"\316\232\204M\317\315\307$\211\2021W\205]b\210\320\321!\210`)\203n\322`S\"\203-\323\202-\203yA\202z	b\210\324\325\326\313!\301#\210``\211	V\203\247\314S\315\"\327\232\204\247\330\315\307	$\211\202\212	V\205\267b\210\331\321!\210`)\203\306\332	!\203\206\323\202\206\203\332
b\210\333 \210`W\203\332`\n\205\351\f V\205\351\f\211 .\207" [beg end need-new-end need-new-beg new-end new-beg c-literal-limits nil c-syntactic-skip-backward "^;{}" c-determine-limit 512 get-text-property category c-<-as-paren-syntax next-single-property-change search-forward-regexp "." c-clear-<-pair-props-if-match-after t c-syntactic-re-search-forward "[;{}]" c-determine-+ve-limit c->-as-paren-syntax previous-single-property-change search-backward-regexp c-clear->-pair-props-if-match-before c-forward-sws end-lit-limits beg-lit-limits place c-new-BEG c-new-END] 7])
(defalias 'c-after-change-check-<>-operators #[(beg end) "\212b\210\303\304!\204\305\306x\307W\203@b\210\310 \210`W\203@\303	!\203@\307\225\211W\203@\311w\210`W\203@\312 \210\306u\210\202-\nW\205\205\nb\210\303\304!\204W\305\306x\307W\205\205\nb\210\310 \210`\nW\205\205\303	!\205\205\n\307\225\211W\205\205\311\nw\210`\nW\205\205\312 \210\306u\210\202r)\207" [beg c-<>-multichar-token-regexp end looking-at "[<>]" "<>" nil 0 c-beginning-of-current-token "^<>" c-clear-<>-pair-props] 3])
(defvar c-promote-possible-types nil)
(defvar c-parse-and-markup-<>-arglists nil)
(defvar c-restricted-<>-arglists nil)
(defvar c-record-type-identifiers nil)
(defvar c-record-ref-identifiers nil)
(defvar c-last-identifier-range nil)
(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]))
(defvar c-record-found-types nil)
(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\304\305\306\215\203$	:\203	\244\307=\203 \310 \210\304\202(\nb\210\311*\207" [c-record-type-identifiers c-record-found-types start c-buffer-is-cc-mode t angle-bracket-arglist-escape (byte-code "\302!\211\207" [all-types c-record-found-types c-forward-<>-arglist-recur] 2) java-mode c-fontify-recorded-types-and-refs 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\316 \21001\203O2\204V3\317=\203\226\316 \210\315\320!\203e\306u\210\202u\3154!\203u\314\2115\321 \210*\316 \210\315\322!\204\204\315\323!\203\226\306v\210\316 \210\314\2115\321 \210\316 \210*)`\324\325\306\314\211$\203`Sf\313=\203\3156!\203\270\326\225b\210\202?.\203\374	\203\335	@S\3277\2118\3308\211T\3317$+\210	A\211\204\301
\2118\3308\211T\332\333$\210*`S\2118\3308\211T\332\334$\210*\314\202`Sf\335=\203\355`\306\211\211\2119:;<\315/!\203(\326\225\326\225b\210\202\351\336u\210\212\337 \210`;\340\341!\326W\204m3\342=\203m`\343\306x\326W\203g\344\306x\326W\203g\315=!\203g\326\225Y\203g\314\202kb\210\306)\210\315>!\2119\204\315?!?\205\203`\211<)\203\346\314\2115\3459\205\250\346\347!@\350@A\")\351B\211CBN*!*\211:\203\346:1\203\3519\204\351D\203\331\316 \210\315D!\203\331<;BEBE\202\351<;B1B1\202\351\306u\210,\202?F\204`Sf\352=\203\306f\352=\203	`Sf\353=\203`	B\211\202\354\355\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 java-mode "\\?" c-forward-type "extends" "super" c-syntactic-re-search-forward "[<;{},|+&-]\\|[>)]" 0 c-<>-arg-sep put-text-property c-type category c-<-as-paren-syntax c->-as-paren-syntax 60 -1 c-backward-sws skip-syntax-backward "w_" pike-mode "-!%&*+/<=>^|~[]()" "`" c-forward-<>-arglist-recur match-string 1 intern-soft c-<>-type-kwds 38 44 throw angle-bracket-arglist-escape c-parse-and-markup-<>-arglists c-<-op-cont-regexp orig-record-found-types c-record-type-identifiers all-types c-buffer-is-cc-mode c-identifier-start c-promote-possible-types c->-op-cont-regexp value -pos- keyword-match subres id-end id-start 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 c-restricted-<>-arglists] 7])
(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\202sb\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\316\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 #[(&optional brace-block-too) "\203\306\307!\203\310\311!\210\312 \210`\313\211\211\211\211\211%&'\2039\306'!\2039\314\225b\210\312 \210\315\202&\306(!\203\243\314\225b\210\312 \210`%\316 \211??\f\311=\203w\317%`\"\210)\203w*\203w*\211+\203v+)B)),\203\230
\320>\203\230\313f\321=\203\230\212\313\322\323\217)\203\230%b\210\311
\204&b\210\202\313%\306-!\203\275\212`\316 \211\203\274`*)\306.!\203\312\311\211\202\340\324 /\325\216\3260!\210\3061!*\203\257\327\211\203\257\n\203\212\330 2\331\216\314\225b\210\312 \210`\211%+\nY\204\313\211\203\257\314\225)\203\"3\204
\311=\203\"\314\224\314\225B)B)4\203\214\330 2\332\216\3064!*\203\214\3135\333\314!\210`5\3064!\203c)\203\\\306.!\203\\\314\224\314\225B)B)\333\314!\210\202<\306.!\203\202)\203y\314\224\314\225B)B)\333\314!\210\311\202\2105b\210\315)\202\330 2\334\216\333\314!*\204%\203\245%b\210\202\314\225b\210\312 \210\202\f\203\f\311=\203	\nb\210
\204\3053\203\353\317\n\"\210)\203\342	\203\342	\211+\203\341+)B))
\204\335\202\n67\336\33776#8\"*\203\335\202\340\202\f\341=\203\nb\210\311\202&b\210\313
\203'\2039\306'!\2039\314\225b\210\312 \210\311\202&9\203O\3069!\203O\314\225b\210\312 \210\202>:\203\372`%
\342>\206_33)\205i3?;\313<\306:!\203\365\314\225b\210\312 \210\343 \211<\203\365
\311=\204\337<\311=\203\271\f\341=\204\234\317\n\"\210)\203\264	\203\264	\211+\203\263+)B))\311\202\337
\327=\204\337<\327=\203\313\327\202\337
\335=\204\337<\335=\203\335\335\202\337\340
\311=\203\371;:\203\371;)\244)\202\371%b\210+;\203
\344>\203	\203	;B;
.\207" [c-recognize-<>-arglists id-range id-end id-start name-res res looking-at "<" c-forward-<>-arglist t c-forward-sws nil 1 prefix c-forward-name c-add-type (t nil) 123 (byte-code "\301`\302\"b\210\303 \210`\211\207" [pos scan-sexps 1 c-forward-sws] 3) ((error)) 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) pos start c-opt-type-modifier-key c-type-prefix-key c-record-type-identifiers c-last-identifier-range range brace-block-too 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-found-types c-opt-type-suffix-key c-opt-type-concat-key c-record-found-types subres] 8])
(defalias 'c-forward-annotation #[nil "\300\301!\205\302u\210\303 \205\304 \210\300\305!\203\302\306\307\217\207\310\207" [looking-at "@" nil c-forward-type c-forward-sws "(" (byte-code "\301`\302\303#\211b\210)\207" [endpos scan-lists 1 0] 5) ((error)) t] 3])
(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\211	/<=>?@ABCDEFG\307 \203:\310 \210\202/`H\306\211IJ\306K\311L!\204ZM\312=\203{\311\313!\203{\311N!\203d\314?\315\316!O\317OP\")I\212\320\316!\210`J)\321\314!\211K\203\274F\203\237\322/F\323=\203\237\212Eb\210\314Q\321 \210*FCEBDAKFHE`D\306\211=<I\203JI\324R\211SRN*\203\351\314/F\203\337JD\202\343JGJb\202T\306CJGK\203I\325R\211SRN*\203\314=I\326R\211SRN*\205T\314\211<\202TI\325R\211SRN*\203/\314@I\326R\211SRN*\203A\314>\314/Jb\202TK\205TK\314=?,\204:F\314=\203s\311T!\203m\320\316!\210\202_`D\202]F\327=\203\200\314F\202]F\204\214GD\202]F\330=\203]M\331=\203]\212\306\211\211UVWDb\210\332 \210`V\333\334!\335W\204\354M\336=\203\\`X\337\306x\335W\203\343\340\306x\335W\203\343\311Y!\203\343\335\225XY\203\343\314\202\350Xb\210\306)\203\\\341`V\"W\342\306x\335W\203\\`U\333\334!\335W\204<M\336=\203\\`X\337\306x\335W\2033\340\306x\335W\2033\311Y!\2033\335\225XY\2033\314\2028Xb\210\306)\203\\`EY\203\\\341`U\"W\232\203\\Eb\210\306\211FCED,`\335\306\211\211\211\211\211\211\211\211\211\211Z[\\]^_`abcXdHDb\210\311e!\203\326M\331=\203\254\343\224\203\254\344 \211a\203\326\311\345!\203\326\306a\306f\346=\203\276dTd\306u\210\202\320_\204\311d\335U_\314c\316\225b\210\310 \210\202\210d\335Vba\204\354\311f!\203\354\344 a\311g!\203?\306f\347=\203\fd\335V\203\340dSd\306u\210\202\332\350 h\351\216\311\352!*\203 \306\353\354\217\202%\316\225b\210\314\203\340^\2048d\335U\2038\335\224^\314\211`\202\327d\316U\203\340_\204\340F\314=\204\340C\204k>\204k<\204ki\203\340j\204\340\306\355\356\217\211X\203\340XSf\347=\203\340F\\E[\306b\314\211a`D^\335dC\327=\203\241\314\202\243C\211F\203\264BEAD\202\274GEGD@\204\305=@>\204\316<>DHXb\210\314\203\340\310 \210\202\354>\204\352<\203Ma\204Mc\204MF\203MF\\E[\306b\314\211a`D^\335dC\327=\203\314\202C\211F\203/BEAD\2027GEGD@\204@=@>\204I<>DH\357\360\215/.
\212k\205\352leV\205\352lSfk>\205\352\310 \210\311\361!\205\352\306\211Xu\210\310 \210`\311m!\205\265\335\225X\362\224\204\250\316\224\203\240/\204\250F\363>\202\245\311n!?\205\265\311o!?\206\265\335\225XX)\205\352leV\205\352lSb\210`p=\206\352\332 \210\333\334!\335W\203\336\311q!\202\352`Sf\364>?\205\352\365 ?)\203\203	F\203	F\314=\204	\314QEb\210\321 \210)\fb\210\366\202\250/\203\243
\203QC\327=\203$\314\202&C\211F\2037BEAD\202?GEGD@\204H=@>\204Q<>j\367=\203r\311\370!\203r`\371r\211Xs\372s\211T\373r$+\210\203\216F\203\216F\314=\204\216\314Q\212Eb\210\321 \210*D@\204\232?\205\237@?BB\202\250\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 c-forward-annotation c-forward-sws looking-at java-mode "@[A-Za-z0-9]+" t match-string 1 intern-soft c-forward-keyword-clause c-forward-type ids found 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" 3 c-forward-name "\\(::\\)" 40 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)\204+\204,\204b(\204b-\203
./0\307*\313\21112+\306,\321=\203\202\313\202\204,\211\203\2243/42\202\2345/526\204\24576(\204\256-(28\202,\203`8U\203\373\307f\322=\203\3639\323=\204\363	\313=\203\335\312\301\313\"\210\202\373:\203\373	\324=\203\373\313;\312\301\313\"\210\202\373\313;\312\301\313\"\2101\203Z)\204Z*\204Z\313;\312\301\313\"\210\202Z
\313=\203 \312\301\313\"\210`8U\203Z\203U\n\325=\203A<\204;=\203M
\326>\202J\n\315=\203U
\327>\203U\312\301\313\"\210\202Z\312\301	\"\210*\203\341)\204\341\n\204\341
\313=\204\341,\204\216(\204\216-\204\216>\203\3411\203\216\314?!\204\341
./0\307*\313\21112+\306,\321=\203\256\313\202\260,\211\203\3003/42\202\3105/526\204\32176(\204\332-(28\202)\203\365*\204\3601\203\365\312\301\313\"\210
\203)\204*\204+\203+f\330=\203\312\301\307\"\210	\203\312\301\313\"\210\f\203\237\n\204\237\314@!\203\237*\203\225)\204\2251\204\225
\313=\204\225
./0\307*\313\21112+\306,\321=\203b\313\202d,\211\203t3/42\202|5/526\204\20576(\204\216-(28\202\232+\203\237\312\301\313\"\210)\204\251*\204\264
\331>\203\264\312\301\313\"\210\204\303\314\332!\204\303\312\301	\"\210
\333>\203\316\312\301\313\"\2109\334=\203).\203).\335>\204$0f\336=\203)\2120Tb\210\337 \210\340 A\341\216\342B!\210\314C!+\204$\2120Tb\210`\343 \210`DE\344\345EDF#G\"+\203)\312\301\313\"\210\f\203mH\203N
\203N\204@\314\332!\203N\n\204N1\204N\312\301\313\"\210+\204Y\314\332!\203\220
\346=\203\220\n\347=\204\220\312\301\313\"\210\202\220\n\203\220)\204\213\n\325=\203\220=\204\220*\204\2131\203\220\312\301\313\"\210\n\325=\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 java-mode ids 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 c-buffer-is-cc-mode c-has-bitfields 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-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)" 2 (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-typedef 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 c-buffer-is-cc-mode c-typedef-key keyword c-keywords-obarray c-promote-possible-types lang-constant keyword-sym c-decl-hangon-key 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-] 18])
(defalias 'c-forward-label #[(&optional assume-markup preceding-token-end limit) "`\306\211\211\211\211\307,!\203c\310\225-.\203&\310\224-B/B/-b\210\311\3120\313\211\306\310&\203Y\314\224\203Y\314\224b\210`S\3151\21123\3163\211T\3171$+\210\313\202^-b\210\313)\202(4\203\233\3074!\203\233\310\225b\210.\203\201\310\224`B/B/`S\3151\21123\3163\211T\3171$+\210\313\202(5\203%\306f\320=\204%6\203\2636eX\202\307\212\321 \210`6o\206\3067\205\3067 )\204m8\203\3226S\317\"\315=\204m\2126Sb\210\323 \210\3079!\206\356\307:!)\204m6Sf\324=\203%\325 \202j\2126Sb\210\323 \210\3079!\206\307:!)\204m6Sf\324=\203&\325 \202j6Sf\320=\203%\214\2126Sb\210\212\326 \205=`)\211\203G\nd}\210\327\330\306\313#\210`\306.;<\205\\\307<!?\205i\331 \210\332\306;
#,\203%=\333=\203\234\334\335\306\313#\203\234\336u\210\214e0\206\207d}\210\331 \210)\307\337!\203\234\306u\210\313\211\202
b\210\311\3400\313\211$\203%\336u\210`=\333=\205\273\341\342
`{\"\214e0\206\304d}\210\331 \210)\307\337!\203\356\306u\210\343
\f\"\211\344\230\204\344\345\230\203\350\346\202\351\347\211\202\203%\334\3500\313#\203%\214e0\206d}\210\331 \210)\307\337!\203%\306u\210\351\211\203%\214
`}\210\352\353\215\210)\202(
b\210	.\207" [kwd label-type macro-start qt-symbol-idx label-end start 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" "Q_SIGNALS" qt-1kwd-colon goto-target "\\=\\(slots\\|Q_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$+\210db\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) c-label-kwds-regexp 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 c-at-vsemi-p-fn 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\211\310\311!\203\312\225b\210\202C\310\313!\203n\314\225b\210`\315\306w\210\306f\316=\2038\306u\210l\204#\317u\210\320 \203n\321\322\215\203n\214	\206Ied}\210\323 \210)\324\f`S\325#\210`S\325\211\326\211T\327
$+\210\307\202u\324\f`\325#\210\306-\207" [c-recognize-<>-arglists lim c-promote-possible-types start-char start value 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 -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])
#@879 Return a determination as to whether point is "at the top level".
Informally, "at the top level" is anywhere where you can write
a function.

More precisely, being at the top-level means that point is either
outside any enclosing block (such as a function definition), or
directly 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 (#$ . 132962)])
(defalias 'c-just-after-func-arglist-p #[(&optional lim) "`\306\211\307!\310=\205r\f\311=\205\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\214\212\306 \205	`)\212\205\307 \205`)\n\206e\206\"e]\310\211\311\f	\2061d}\210\312\313\215.\207" [macro-start macro-end lim low-lim before-lparen after-rparen c-beginning-of-macro c-end-of-macro nil 20 knr (byte-code "\303V\205\264S\304\305!\210`Sf\306=\203`\202,`Sf\307=\203'\310\202,\311\312\310\"\210	\203\245	b\210\310\313\314\217\204?\311\312\310\"\210`\211\203\237	b\210\315 \210\310f\316>\204\237\nb\210\317 \210\320 `=\204{\310f\306=\203\237\310\321\322\217\203\237\317 \303=\203\237\320 `=\203\237\nb\210\323 \210\320 \203\237\323 \203\237\324\325\215\203\237\311\312	b\210\315 \210`\"\210\202\nb\210\202\310\326\327\217\204\311\312\310\"\210\202\207" [pp-count-out after-rparen before-lparen 0 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 61) c-backward-token-2 c-on-identifier (byte-code "\300`\301\302#b\210\303\207" [scan-lists -1 1 t] 4) ((error)) 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) pp-count-out] 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 "\\<else\\([ 	\n]\\|\\\\\n\\)+if\\>\\([^_]\\|$\\)" 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-pull-open-brace '(macro . #[(ps) "\301\302\303\304DD\305\306DEE\307\304D\305\306DEEE\207" [ps progn while consp car setq cdr prog1] 8]))
(defalias 'c-most-enclosing-decl-block #[(paren-state) "@:\203
A\211\202@A@:\203 A\211\202@A	\203N\212	b\210\303\n\304\")\204N\n@:\203EA\211\2029@A\202&	*\207" [paren-state open-brace next-open-brace c-looking-at-decl-block nil] 4])
(defalias 'c-cheap-inside-bracelist-p #[(paren-state) "\302\212	@:\203	A\211\202	@	A\211\203)b\210\303 \210\304 \210\305\306!\203*\207" [b-pos paren-state nil c-backward-sws c-backward-token-2 looking-at "="] 3])
(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\202rCB-\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 "22.1")
(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])
(defalias 'c-at-macro-vsemi-p #[(&optional pos) "\212\214~\210\203b\210\202`	\205\273\306\307x\310=\205\273\306\307w\205\273\311\312!\203P\310\225b\203P\311\n!\203@\313\314!\203P\306\307w\202M\311!\203L\307\210\202P\307\204\"l\205\273b\205\273\315 \210`=\205\273`Sf\316=\203t\307\317\320\217\205\273\315 \210\321\322!\310W\204\255\f\323=\205\273`\324\307x\310W\203\245\325\307x\310W\203\245\311
!\203\245\310\225Y\203\245\326\202\251b\210\307)\205\273\311	!\205\273b\205\273\327 ?*\207" [pos c-macro-with-semi-re c-block-comment-start-regexp c-line-comment-start-regexp c-buffer-is-cc-mode c-symbol-key " 	" nil 0 looking-at "\\(\\\\[\n
][ 	]*\\)*" forward-comment 1 c-backward-sws 41 (byte-code "\301`\302\303#\211b\210)\207" [endpos scan-lists -1 0] 5) ((error)) skip-syntax-backward "w_" pike-mode "-!%&*+/<=>^|~[]()" "`" t c-in-literal] 3])
(defalias 'c-macro-vsemi-status-unknown-p #[nil "\300\207" [t] 1])
(defvar c-auto-newline-analysis nil)
(defalias 'c-brace-anchor-point #[(bracepos) "\212\212b\210\303 \210`)b\210`	V\203 \304\n!\204 \305 \210\202`	V\203*`\202+	*\207" [bracepos boi c-other-decl-block-key back-to-indentation looking-at c-backward-token-2] 2])
(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\312$\"\205)`	$\210\313\314\215\203\262%\203\262%b\210&\203[\315 \211'\203Z'@@`W\203Z'@@\211%b\210)\316%(\"(\317(!%\212\306 \210`)`\311f\311)*+*\320=\203\365+\fU\204\335,\203\312\214%\206\224ed}\210\321 \210)\322\323!\203\246\324 \204\312\212+Tb\210\325 \210\311f)\326=\203\312\327\311-\211.-B\nB\211*\210\202\335\330\311+D-\211.-B\nB\211*\210\f%\203\351%T\202\352e]b\210\331)\311\202\231\332%!\211)\333=)\331=\203\210+`U\204\210\311/\212+b\210\334\335%(\"%\"\211/)\203F/@\336=\2032\337\2023\340\311C-\211.-B\nB\211*\210\202\204\3220!\203s\341\342\343!$\"A\212+b\210\306 \210`)`]C-\211.-B\nB\211*\210\202\204\337\311C-\211.-B\nB\211*\210)\202\231\340\311C-\211.-B\nB\211*\210+\fU\203\247+b\210\202\256\212\306 \210`)+\202,\n\3111\2112
=?\205\3462@A\2111\203\3351@\204\3241`\240\2101A\2111\204\3112A\2112\202\271-\207" [syntax-symbol syntax-extra-args c-syntactic-context on-label boi syntax-last back-to-indentation apply c-add-syntax nil rassq back-up-block (byte-code "`U\203	\204\306\n!\205\272`U\204)\307 \203)`\212\310 \210`)\202b\210)`\311\f!\212\310 \210`)
\312=`U\203Q\313\314\315\"\210\202\266
\316=\203p`Y\203p\306\317!\203p\212b\210\306\320!)\204\266\204\217U\204\217
\321>\203\217b\210\313\314\322\"\210\202\266\204\235
\323>\203\235\315
\316=\203\266\324\322C\211BB\211*\210+\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 defun-block-intro statement-block-intro assoc match-string 1 c-other-decl-block-key-in-symbols-alist containing-sexp c-special-brace-lists special-list paren-state step-type paren-char paren-pos c-recognize-paren-inexpr-blocks args symbol inexpr c-other-decl-block-key q p] 7])
(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\nBB\211*\210\207\fb\210\307 \210	`C\211\nBB\211*\210
\310\211\fN*\203a\f\212\fb\210\307 \210`)U\204a\311\312\211\nBB\211*\210`\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\211\nb\210\307\306w\210\203\310 \206\f\311=\211\203\256\212\306f\311=\205/\312
\313\"\205/`\211.)\203I\314.C/\2110/B1B\2111*\202\372	:\204^\212.b\210\315\316\n\313\211\211%)\203v\317
!\210\3202\203l\321\202m\322\306\211
3%\202\372\323 \204\243\317
\306\211\313$\324=\203\243\212\3064\325\212\326 \210`)\306\211#*\203\243\320\327\306\313
3%\202\372\320\330\306\211
3%\202\372\331\332!\203\340\212.b\210\315\332\n\333\313\211%\205\334\334\212\335 \210`)C/\2110/B1B\2111*\210\313)\206\372\212\336 \210\306f)\311=\203\323 \204\317
\306\211\313$\324=\203\212\3064\325\212\326 \210`)\306\211#*\203\320\337\306\313
3%\202\3725\340=\203^`\211\203^\317 \203^\341 \203<`W\203<\336 \210\202+`Yb\210\203^\317
!\210\342`C/\2110/B1B\2111*\202\3725\343=\203\356\212\nb\210\344 6\345\216\3467!\210\306\347\350\217*\205\227f\351=\205\227Sf\351U?\205\227Tb\210\3318!?)\203\356\344 6\352\216\3467!\210b\210\317
\313\"\210\212\214
\206\265ed}\210\326 \210)`Sf)\351=\203\324b\210\353\354
\313#\210\336 \210\202\327\335 \210*\355`D/\2110/B1B\2111*\202\372\317
!\210\320\322\306\211
3%*\207" [placeholder special-brace-list indent-point c-special-brace-lists char-after-ip containing-sexp 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 java-mode c-forward-annotation annotation-var-cont c++-mode 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)) 60 ((set-syntax-table c-with-syntax-table-orig-table)) c-syntactic-skip-backward "^,;" template-args-cont beg-of-same-or-containing-stmt args symbol c-syntactic-context c-auto-newline-analysis paren-state c-recognize-typeless-decls c-buffer-is-cc-mode c-with-syntax-table-orig-table c++-template-syntax-table c-<-op-cont-regexp] 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\211@A\311B`C\311\211DE\311\211FG\311\211HI\311\211JK\311\211LM\311\211NO\311\211PQ\311\211RS\311\211TU\311\211VW\311\211XY\312 Z\311[\\\\\313\216\314Z!\211X\203\263Xb\210\311f\315=\203\263\316\314ZX\"\310\"\211L\203\263XU`V\311XLb\210\317]!\205\261\320\321!P\322P^\")W_\203\366Z@XZAZX:\203\356XAY_A\203\341_A@XZAZ\202\371XZBZ\311X\202\371XTY\202\371eY\323 \203Cb\210\324\325!`Y`]Y)X\203 Xf\326=\203 a\\Cb\210\214Y\206+ed}\210\327 \210)`G`SfFCb\210\330\311w\210\311fH\331Y!\211E\332=\203j\332\333\334!Cb\211cbBKB\211K*\210\202\320E\335>\203\224\336Y!\211L\203\224EL@Cb\211cbBKB\211K*\210\202\320\212\323 \205\236`\211I)\203I\212\337 \210`)U\204\340Od\203\345\212Ib\210\341 \203\335\212Cb\210\337 \210`)e`eVJ\342O`eU)\202\341\310J\311)\203OICb\211cbBKB\211K*\210\311I\202\320\317\343!\203\344X!\210\345\346\311\310XZ%\210\202\320\317\347!\203=\212\344X!\350=`L)\203=Lb\210\345\351\311\310XZ%\210\202\320\212f\352=\203K\317\353!\202Uf\354=\205\211\317\355!\205\211\311\356\357\217\205\211\311f\315=\205\211\311\360\361\217\205\211\311f\326=\203{\311\362\363\217\202|\310\205\211\317\364!\205\211`\211L)\203\236Lb\210\345\365\311\310XZ%\210\202\320\212g\205AF\366=?\205Ah\205\266hG!?\205AH\367>?\205AF\370=\203\320\371_!\205A``L\344Y!\211N\372=\204\324N\373=\203\356Lb\210\202 `LN\374=\203 \317g!\204 \311i\344Y!\211i\372=\204i\375=\203`L\202Lb\210)LV\205A\317j!\203=\376\377\321\311\"!\205A\311f\326=\202A\317g!)\203\246N\375=\203\224Lb\210H\315=\203f\345\201\220\311\211XZ%\210\202\320\212Cb\210\337 \210\201\221 )\203\205\345\201\222\311\211XZ%\210\202\320\345\201\223\311\211XZ%\210\202\320\201\224CHLYZ%\210\202\320\317k!\203X\203\356Xb\210\314_X\"\211YY`\212\337 \210`)U?\205\335\201\225Y!\211l\205\334lb))\210\345\201\226\311\310YZ%\210\202\320\201\226eCb\211cbBKB\211K*\210\202\320\212\337 \210\317m!?\205\201\221 )\203\300U\203K\201\227\201\230UVWZ%L\201\231LCbcKcbBC\244\211K*\210\202\320X\203\250Xb\210\314_X\"Y\212\344Y!\375=\203t\317\201\232!\203t\201\226\202u\372O)YY`\212\337 \210`)U?\205\230\201\225Y!\211l\205\227lb))\210\345O\311\310YZ%\210\202\320\201\231eCb\211cbBKB\211K*\210\202\320\201\233\201\234XZ\"X\310#\211L\2031L@\201\235\236\211O\203\352OAO\202\374H\315=\203\367\201\236\202\372\201\237OLAb\210\337 \210\345O\311\310\314_`\"Z%\210`LA=\204\320L@\311b\211cbBKB\211K*\210\202\320U\204;X\204n\203G\201\240 \206KH\315=\211R\203l\212\311oH\315=\205\220\316X\310\"\211o\205\220`Lob\210\317p!\205\220\320\334!\211PP\322P^\")\201\241q\211rqN**\203\275Lb\210\345P\201\242\230\203\250\201\243\202\262\201\244P\201\245P!\311\310XZ%\210\202\320\212Cb\210\330\311w\210\311f\315=\205\331\316X\310\"\205\331`\211L)\203\366\201\246LCb\211cbBKB\211K*\210\202\320\212\201\247Y!\210\317s!\203\321\225b\210\214eC\206d}\210\201\250 \210)\202\376\212\337 \210`)LR:\206\227\212Cb\210\311O`LV\203e\376\201\251\321\310\"!\203e\317\201\252!\204et\2032O\2042\317t!\2032\201\253O\2022\317\201\252!)\204u\317u!\205\227\212`CW\203\217\376\377\321\310\"!\203\217\311f\201\254>\203v\311f\201\255>)?)\203\353v\204\322f\354=\203\322O\201\253=\203\322\344Y!\210\201\253\212\337 \210`)Cb\211cbBKB\211K*\210\202\320\201\256LCb\211cbBKB\211K*\210\202\320U\203(W\201\241q\211rqN*\204(\201\236\311b\211cbBKB\211K*\210\201\227\201\230UVWZ%\210\202\320\212\201\247Y!\210\317s!\203N\321\225b\210\214eC\206Cd}\210\201\250 \210)\2020\201\257\212\337 \210`)Cb\211cbBKB\211K*\210)\202\320\212\201\260Y\324\201\261!]!\211L\205\203`\211S)\203PSf\201\262=\203\351SCY\204\246\212\327 \210`)STU\203\307Lb\210\201\263\212\337 \210`)Cb\211cbBKB\211K*\210\202\320STb\210\201\250 \210\201\264`Cb\211cbBKB\211K*\210\202\320w\203.\201\265Y!\203.\344Y!\210\201\266\212\337 \210`)Cb\211cbBKB\211K*\210U\203\320\201\227\201\230UVWZ%\210\202\320\344Y!\210\201\267\212\337 \210`)Cb\211cbBKB\211K*\210\202\320f\352=\203nH\201\270=\203g\330\311w\210\311u\210\317x!\204*	F\201\262=\204\227\212H\201\262=\205\223\311\201\271\201\272\217\205\223\311f\201\262=?)\203\315\212\214Y\206\237ed}\210\327 \210)F\201\262=\203\302\201\273u\210\214Y\206\273ed}\210\327 \210)\337 \210\317y!)\204*	f\354=\2031\n\212\344Y!\210`)\311\211z{|\212z\204	\317x!\203\375{`BQ\310z\202	\311\201\274\201\275\217\203	`|X\203	\310z\310{\202\345)Q+\2031\n\201\276QA`\"\2041\nH\201\262=\203U	\344Y!\210\201\277\212\337 \210`)Cb\211cbBKB\211K*\210\202\320F\201\262=\203\225	\344Y!\210\201\277\212\337 \210`)Cb\211cbBKB\211K*\210U\203\320\201\227\201\230UVWZ%\210\202\320Q\203\nQAQ@{\211}b\210\317\201\300!\203\321	\201\267\344Y!\210\212\337 \210`)Cb\211cbBKB\211K*\210\202\n{\203\357	\201\301}Cb\211cbBKB\211K*\210\202\n\201\277QAb\210\344Y!\210`Cb\211cbBKB\211K*\210*\202\320\201\302Y!\210\201\301`Cb\211cbBKB\211K*\210\202\320\212~\203\234\n\201\303\201\304Y\310#\210`YV\203\247\n\203a\n\201\305Y!\211L\203a\nLb\210\2027\n`Sf\201\306=\203}\n\201\307\311Y\"\2047\n\201\273u\210\2027\n`Sf\201\310=\203\247\n\201\273u\210\212\201\311\311!)\2037\n\311u\210\202\247\n\201\303\201\312Y\310#\210`Sf\201\313>)\203-\ff\352=\203S\212\214\201\314 \200\201\315\216\201\316\201!\210Cb\210\311\201\317\201\320\217\211L\205\345\nLf\201\310=,\203S\201\314 \200\201\321\216\201\316\201!\210Lb\210\344Y\310\"\210\212\214Y\206\fed}\210\327 \210)`Sf)\201\310=\2035Lb\210\201\303\201\322Y\310#\210\201\250 \210\2028\337 \210*\201\323`LDb\211cbBKB\211K*\210\202\320f\352=\203\333\212\344Y!\210`L\317\201\324!\203r\377\321\311C#\210\317y!\205\266\376\377\201\325\311C#!\205\266\311f\201\310=\203\254\201\314 \200\201\326\216\201\316\201!\210\376\377\321\310C#!*\202\255\310\205\266\311f\201\262=)\203\333Lb\210\201\301\212\337 \210`)Cb\211cbBKB\211K*\210\202\320`\211L\203\f\201\247X!@\374=\203\f\212\327 \210`Sf)\370=\203\f`LW\204\333\345`L=\203\f\201\327\202\"\fF\201\270=\203\f\201\253\202\"\f\201\330\311\211XZ%\210\202\320H\370=\203y\fW\201\241q\211rqN*\203y\fVb\210\345\201\331W!\201\242\230\203]\f\201\332\202k\f\201\244\201\331W!\201\333P!\311\310\314Z`\"Z%\210\202\320X\203\240\fH\370=\203\240\fUX=\203\240\f\201\227\201\334UVWZ%\210\202\320w\203\361\fX\204\361\fF\370=\204\361\f\212\201\247Y!A\211L\205\311\fg\205\310\f\317g!?)\203\361\fLCW\203\361\fLb\210\201\335`Cb\211cbBKB\211K*\210\202\320\202\203)
\317\202!\203)
\344\311\310\"\210`CU\203\f
eb\210\201\336\212\337 \210`)Cb\211cbBKB\211K*\210\202\320f\201\337=\203X
`L\345\344 \374=\203J
`LU\204J
\201\253\202M
\201\340\311\211XZ%\210\202\320\214Y\206_
ed}\210\327 \210)`Sf\370=\203\307
\212`l_\203\225
_@:\203\225
_\211\203@A)`=\203\225
_\211\203@@)b\210\201\247X!\210`Ll`U?\205\260
\201\341 \210`CY*\203\307
Lb\210\345\201\253\311\211XZ%\210\202\320I\203\324
CIV\204\323\212`LF\201\342>\206%h\203\356
hG!\206%F\201\262=\203\344Y!\372=\203\214Y\206ed}\210\327 \210)`\211L\206%f\201\343=\205%\201\344\201\345\215)\203\323Lb\210\201\340\333 Cb\211cbBKB\211K*\210U\203\241W\201\241q\211rqN*\203\221\201\346U!b\210\345\201\331W!\201\242\230\203u\201\347\202\203\201\244\201\350\201\331W!P!\311\310\314Z`\"Z%\210\202\241\201\227\201\230UVWZ%\210d\203\320I\203\320I\212Cb\210\337 \210`)U\204\320\342\311b\211cbBKB\211K*\210\311I\202\320\202\203	\212\344Y!\210\306 \210\317\202!\205\354`\211L)\203	\201\351LCb\211cbBKB\211K*\210\202\320~\203M`Sf\201\310=\203M\203&\201\305Y!\204M\344\201\234`Z\"!\210\201\323\212\337 \210`)Cb\211cbBKB\211K*\210\202\320I\203f\344X!\210\345\201\327\311\310XZ%\210\202\320f\354=\203\260`\211L\203\260\344 \203\260\201\352 \203\210\201\250 \210\202y`LYLb\210\203\260\201\353\212\337 \210`)Cb\211cbBKB\211K*\210\202\320\344\201\234`Z\"!\210f\201\343=\203\343`L\201\354 \203\337`CW\203\337\201\250 \210`L\202\306Lb\210\201\253\212\337 \210`)Cb\211cbBKB\211K*\210\202\320n\203\212Xb\210\201\240 )\204[Xf\315=\204[H\201\355>\203cXb\210\212\337 \210`)L\311\201\356\201\357\217\203K`LY\203K\311u\210\330\311w\210\202OLb\210\345\201\360XC\310\314Z`\"Z%\210\202\320H\315=\203\316\201\361`Z\"\211L\203\200\201\362\211O\202\227\201\363O\201\233\201\234XZ\"X\"\243\211L\203\316Lb\210\337 \210\345O@\311\310\314Z`\"Z%\210`LU\204\320OA\311b\211cbBKB\211K*\210\202\320F\201\364>\203Xb\210\212\337 \210`)L\311\201\365\201\366\217\203\377`LY\203\377\311u\210\330\311w\210\202Lb\210\345\201\367XC\310\314Z`\"Z%\210\202\320Xb\210\311\201\370\201\371\217\203z\317\201\372!\203zXTb\210\214eC\206;d}\210\201\250 \210)F\366=\203b\201\327`Cb\211cbBKB\211K*\210\202\320\201\330`Cb\211cbBKB\211K*\210\202\320\202\203\330Xf\201\373=\203\330XSb\210\214\212\311\211\204\205\201\374 \210*\206\203\254\317\206!\203\254\334\225b\210`)\206\262ed}\210\327 \210)\317p!\204\330\201\375XCb\211cbBKB\211K*\204\320XTb\210\212\201\250 \210`)\333\201\325!W\203.Xb\210\212\337 \210`)L\311\201\376\201\377\217\203`LY\203\311u\210\330\311w\210\202Lb\210\345\201XC\310\314_`\"Z%\210\202\320\214eC\2066d}\210\201\250 \210)\201\212\337 \210`)Cb\211cbBKB\211K*\210\202\320f\352=\203\364\212Cb\210\330\311w\210\317x!)\203\364Cb\210\330\311w\210H\201\262=\203\257\214Y\206\213ed}\210\327 \210)\201\277\212\337 \210`)Cb\211cbBKB\211K*\210\202\320F\201\262=\203\325\201\277\212\337 \210`)Cb\211cbBKB\211K*\210\202\320\201\302Y!\210\201\301`Cb\211cbBKB\211K*\210\202\320f\201\337=\204Rn\203\212Xb\210\201\240 )\206\201\361XZ\"\211R\203RR:\203\240\212Xb\210\311f)\326=\203\240HRA@=\203\240R@@b\210\330\311x\210n\203`\201\201\330\201 \211L\"\203`LK\202\320\344\201\234XSZ\"!\210\377\334!\210\317s!\203\203\321\225b\210\201\250 \210\202p\201\256\212\337 \210`)Cb\211cbBKB\211K*\210\202\320R:\203\343R@@b\210\212Cb\210\337 \210\311f\201=\203\307`TR@A=\206\337\311fRAA=\205\337\376\377 !\205\337`TR@A=)\202\371H\370=\203:\311\201\201\217\203:`XU\203:`\212\337 \210`)=\203\201`Cb\211cbBKB\211K*\210\202\320\314_`\"Y\344Y!\210\345\201\311\310YZ%\210\202\320R:\203PR@@b\210\377\321\311C#\210\202TXb\210\311u\210`l\214eC\206bd}\210\201\250 \210)l\333 ]b\210)C\206xd\207\201\207w\210\311f\201	=\203\235`\207W\203\235\311u\210l\204z\201\273u\210)`CU\203\366R:\203\264R@@b\210\202\270Xb\210`\212\337 \210`)=\203\333\201\n`Cb\211cbBKB\211K*\210\202\320\314_`\"Y\344Y!\210\345\201\n\311\310YZ%\210\202\320H\315=\204\"n\203:\212Cb\210\214e\201 \206d}\210\201\250 \210)\201\240`!)\203:\201\f`Cb\211cbBKB\211K*\210\202\320\201
`Cb\211cbBKB\211K*\210\202\320F\201>\204\240h\203hhG!\204\240F\370=\203v\371_!\203\240`\212\344X!\210`\211L)V\203\240LXU\204\240\201\224CHLXZ%\210\202\320H\370=\203\251\314Z!YXb\210\201\225 \203\351YY`\212\337 \210`)U?\205\330\201\225Y!\211l\205\327lb))\210\345\201\311\310YZ%\210\202\320\201\233\201\234XZ\"\311\"\211L\203kL@\201=\203\f\201\202\201OXb\210\337 \210X`U\2036O`Cb\211cbBKB\211K*\210\202\320LAb\210\337 \210\345O\311\310\314Z`\"Z%\210`LAU\204\320L@\311b\211cbBKB\211K*\210\202\320\212Y\205\205Yb\210\316\314ZY\"\311\"\205\205`\211L)\203\337YY`\212\337 \210`)U?\205\235\344Y!)\210\337 \210\212Lb\210\317\210!)\203\307\201`Cb\211cbBKB\211K*\210\202\320\201`Cb\211cbBKB\211K*\210\202\320\212\201 ?\205\344Y\311\211\310$\374=\205`\211L\205\311\211\201\212\327 \210`)\311\211#))\203,\337 \210`XU\204Lb\210\345\201\311\310YZ%\210\202\320Y\203~`\211L\212\337 \210`)U\204H\344Y!\372=\2041Lb\210\317k!\203k\201`Cb\211cbBKB\211K*\210\202\320Xb\210\345\201\311\310YZ%\210\202\320Xb\210YY`\212\337 \210`)U?\205\226\344Y!)\210\345\201\311\211\314Z!Z%\210\202\320~\203\214Xd}\210\311\201\201\217)\211T\203Tf\201\310=\203\212Tb\210\337 \210`)LXb\210`LY\203\356\311u\210\330\311w\210\202\362Lb\210\345\201\323TC\310\314_`\"Z%\210\202\320Cb\210`\212\344X!\213`\212U\203'N\206!\213N\311\2024\213N`\212\337 \210`)U?*\204\nN\374=\203U`CU\204U\345\201\330\311\211XZ%\210\202\320N\372=\203m\317k!\204m\344X!\211N\202WN\372=\203\220\345H\315=\203\202\201\202\205\201\311\310XZ%\210\202\320N\372=\203\241\344X!\211N\202\222N\373=\203\322\345\201\327\311\310XZ%\210H\315=\203\320\201\311b\211cbBKB\211K*\210\202\320Xb\210\314ZX\"Y\201\225 \2031YY`\212\337 \210`)U?\205\201\225Y!\211l\205lb))\210\345\201\311\310YZ%\210H\315=\203\320\201\311b\211cbBKB\211K*\210\202\320\201\233\201\234XZ\"\311\"\211L\203\312L@\201=\203T\201\202W\201O\337 \210X`U\203zO`Cb\211cbBKB\211K*\210\202\254LAb\210\337 \210\345O\311\310\314_`\"Z%\210`LAU\204\254L@\311b\211cbBKB\211K*\210H\315=\203\320\201\311b\211cbBKB\211K*\210\202\320\212\314Z!\211L?\206\351Lb\210\311f\315=\205\351\316\314Z`\"\311\")\203YY`\212\337 \210`)U?\205\344Y!)\210\337 \210\201`Cb\211cbBKB\211K*\210\202\320\212\201 ?\205J\344Y\311\211\310$\374=\205J`\211L\205J\311\211\201\212\327 \210`)\311\211#))\203k\337 \210`XU\204\\Lb\210\345\201\311\310YZ%\210\202\320`\211L\212\337 \210`)U\204\202\344Y!\372=\204kLb\210\317k!\203\245\201`Cb\211cbBKB\211K*\210\202\265Xb\210\345\201\311\310YZ%\210H\315=\203\320\201\311b\211cbBKB\211K*\210Cb\210\330\311w\210\317\214!\203\377\334\311\201 #\334U\204\201\311bcKcbBC\244\211K*\210\215\203$\317\215!\203$\201\311bcKcbBC\244\211K*\210K\211\216\203j\216@\211\217A:\203>\217A\242\202A\217A)\250\203a\216@\211\217A:\203X\217A\242\202[\217A)[\202j\216A\211\216\204,)I\203\251I\212\337 \210`)=\203\251f\201=\203\220ITf\201=\204\251\201 \311bcKcbBC\244\211K*\210\202:d\203:I\203:J\203\376[IW\204\344\201\367K\236\204:\201K\236\204:\201K\236\204:\201\360K\236\204:\311K\340ICb\211cbBKB\211K*\210\202:I[=\203:\342K\236\204:\212Ib\210\341 ?\206$`\212Cb\210\337 \210`)X)\203:\342\311b\211cbBKB\211K*\210K.%\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 c-beginning-of-macro c-determine-limit 2000 40 c-backward-sws " 	" c-in-literal string line-beginning-position 0 (c c++) c-literal-limits 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 deactivate-mark buffer-file-name buffer-file-truename 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-< 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 lim1 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-open c-forward-label 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 "=\\([^=]\\|$\\)" topmost-intro-cont (59 40) (59 40) brace-list-open defun-open c-just-after-func-arglist-p 500 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 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) c-brace-anchor-point inextern-lang "in" objc-method-args-cont c-forward-annotation annotation-top-cont 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)) "\\<for\\>[^_]" 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 (scan-lists indent-point -1 1) ((error)) statement-case-open statement-case-intro block-open statement-block-intro defun-block-intro comment-intro friend pike-mode 34 cpp-macro] 8 (#$ . 154261)])
(defalias 'c-evaluate-offset #[(offset langelem symbol) "\247\203	\202\335\306!\203\202\335\204\307\202\335\310=\203%	\202\335\311=\2030	[\202\335\312=\203<	\313_\202\335\314=\203I	[\313_\202\335\315=\203U	\313\245\202\335\316=\203b	[\313\245\202\335\317!\203\210\320\n\211@)\n\211A:\203}\nA\242\202\nA)B!\n#\202\335<\203\303@\321=\203\241\322\323#\210\324 \210\307\202\335@\325>\203'\307\211@!A\211\203!\320@\n#\211\203!\204\315
!\202
\250\203\365\306!!\203\353\322\326@!
\f&\210\324 \210\202\f!
\"!\202!\250\203
\322\327@!
\f&\210\324 \210\202\330\f!\331H
\331H\"!!A\211\204\267!+\202\335@\332=\203\231\307\211!A\211\203\223\320@\n#\211\203\214!\204P
!\202\214
\250\203r\306!!\203i\330!\331H
\\!!\202\214!
\\!\202\214\306!!\203\211\322\333@!
%\210\324 \210\202\214
!A\211\204:!*\202\335\307!@\334=\203\246A!\204\275\203\275\320@\n#!A\202\246!)\202\3359\203\323\335!\203\323J\202\335\322\336#\210\324 \210\307\211!\203!\250\204\306!!\203!G\337U\203!\331H\250\203!\202\322\340!$\210\324 \210\307)\207" [offset c-basic-offset langelem symbol method val vectorp nil + - ++ 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 0 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)

MMCT - 2023