Current File : //proc/thread-self/root/kunden/usr/share/emacs/27.2/lisp/progmodes/cc-engine.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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\303A\"B\207" [c-lang-variable-inits progn mapcan #[(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]] 4]))
(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 (#$ . 833))
(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 (#$ . 1312))
(make-variable-buffer-local 'c-identifier-syntax-table)
#@719 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-functions' 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 (#$ . 1606))
(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 (#$ . 2458))
(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 (#$ . 3373))
(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 (#$ . 3989))
(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 (#$ . 4346))
(make-variable-buffer-local 'c-vsemi-status-unknown-p-fn)
#@49 Whether the language has bitfield declarations.
(defvar c-has-bitfields nil (#$ . 4888))
(make-variable-buffer-local 'c-has-bitfields)
#@466 Whether the language uses single quotes for multi-char strings.
Note that to set up a language to use this, additionally:
(i) the syntax of "'" must be "string quote" (7);
(ii) the language's value of `c-has-quoted-numbers' must be nil;
(iii) the language's value of `c-get-state-before-change-functions' may not
contain `c-parse-quotes-before-change';
(iv) the language's value of `c-before-font-lock-functions' may not contain
`c-parse-quotes-after-change'.
(defvar c-single-quotes-quote-strings nil (#$ . 5030))
(make-variable-buffer-local 'c-single-quotes-quote-strings)
(defvar c-string-delims nil)
(make-variable-buffer-local 'c-string-delims)
#@61 Whether the language has numbers quoted like 4'294'967'295.
(defvar c-has-quoted-numbers nil (#$ . 5691))
(make-variable-buffer-local 'c-has-quoted-numbers)
#@76 Whether literal initializers {...} are used other than in initializations.
(defvar c-has-compound-literals nil (#$ . 5854))
(make-variable-buffer-local 'c-has-compound-literals)
#@222 Regexp that matches a “modified” constant literal such as "L\='a\='",
a “long character”. In particular, this recognizes forms of constant
which `c-backward-sexp' needs to be called twice to move backwards over.
(defvar c-modified-constant nil (#$ . 6039))
(make-variable-buffer-local 'c-modified-constant)
#@164 Regexp that matches the start of a symbol, i.e. any identifier or
keyword. It's unspecified how far it matches. Does not contain a \|
operator at the top level.
(defvar c-symbol-start nil (#$ . 6362))
(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 (#$ . 6617))
(make-variable-buffer-local 'c-symbol-chars)
#@66 Regexp matching a sequence of at least one identifier character.
(defvar c-symbol-char-key nil (#$ . 6810))
(make-variable-buffer-local 'c-symbol-char-key)
#@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 (#$ . 6973))
(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 (#$ . 7188))
(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 (#$ . 7481))
(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 (#$ . 7725))
(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 (#$ . 8151))
(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 (#$ . 8344))
(make-variable-buffer-local 'c-multiline-string-start-char)
(defvar c-string-innards-re-alist nil)
(make-variable-buffer-local 'c-string-innards-re-alist)
#@69 The symbol which starts preprocessor constructs when in the margin.
(defvar c-opt-cpp-symbol nil (#$ . 8790))
(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 (#$ . 8954))
(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 (#$ . 9237))
(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 (#$ . 9455))
(make-variable-buffer-local 'c-opt-cpp-start)
(defvar c-cpp-include-key nil)
(make-variable-buffer-local 'c-cpp-include-key)
#@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 (#$ . 9804))
(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 (#$ . 10224))
(make-variable-buffer-local 'c-cpp-expr-intro-re)
(defvar c-cpp-expr-functions-key nil)
(make-variable-buffer-local 'c-cpp-expr-functions-key)
(defvar c-operator-re nil)
(make-variable-buffer-local 'c-operator-re)
(defvar c-non-after-{}-ops-re nil)
(make-variable-buffer-local 'c-non-after-{}-ops-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 (#$ . 10809))
(make-variable-buffer-local 'c-opt-op-identifier-prefix)
(defvar c-ambiguous-overloadable-or-identifier-prefix-re nil)
(make-variable-buffer-local 'c-ambiguous-overloadable-or-identifier-prefix-re)
(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-arithmetic-op-regexp nil)
(make-variable-buffer-local 'c-arithmetic-op-regexp)
(defvar c-:$-multichar-token-regexp nil)
(make-variable-buffer-local 'c-:$-multichar-token-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)
#@184 Regexp matching the continuation of a pseudo digraph starting "<".
This is used only in C++ Mode, where "<::" is handled as a
template opener followed by the "::" operator - usually.
(defvar c-<-pseudo-digraph-cont-regexp nil (#$ . 12048))
(make-variable-buffer-local 'c-<-pseudo-digraph-cont-regexp)
#@148 The maximum length of the main bit of a `c-<-pseudo-digraph-cont-regexp' match.
This doesn't count the merely contextual bits of the regexp match.
(defvar c-<-pseudo-digraph-cont-len nil (#$ . 12356))
(make-variable-buffer-local 'c-<-pseudo-digraph-cont-len)
(defvar c->-op-cont-regexp nil)
(make-variable-buffer-local 'c->-op-cont-regexp)
(defvar c->-op-without->-cont-regexp nil)
(make-variable-buffer-local 'c->-op-without->-cont-regexp)
(defvar c-multichar->-op-not->>->>>-regexp nil)
(make-variable-buffer-local 'c-multichar->-op-not->>->>>-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-boundary-skip-chars nil)
(make-variable-buffer-local 'c-stmt-boundary-skip-chars)
(defvar c-stmt-boundary-skip-list nil)
(make-variable-buffer-local 'c-stmt-boundary-skip-list)
(defvar c-stmt-delim-chars-with-comma nil)
(make-variable-buffer-local 'c-stmt-delim-chars-with-comma)
(defvar c-stmt-boundary-skip-chars-with-comma nil)
(make-variable-buffer-local 'c-stmt-boundary-skip-chars-with-comma)
(defvar c-stmt-boundary-skip-list-with-comma nil)
(make-variable-buffer-local 'c-stmt-boundary-skip-list-with-comma)
(defvar c-pack-key nil)
(make-variable-buffer-local 'c-pack-key)
(defvar c-auto-ops-re nil)
(make-variable-buffer-local 'c-auto-ops-re)
(defvar c-haskell-op-re nil)
(make-variable-buffer-local 'c-haskell-op-re)
#@169 List of operators following which an apparent declaration (e.g.
"t1 *fn (t2 *b);") is most likely to be an actual declaration
(as opposed to an arithmetic expression).
(defvar c-pre-start-tokens nil (#$ . 13821))
(make-variable-buffer-local 'c-pre-start-tokens)
(defvar c-pre-lambda-tokens-re nil)
(make-variable-buffer-local 'c-pre-lambda-tokens-re)
#@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 (#$ . 14179))
(make-variable-buffer-local 'c-line-comment-starter)
#@379 String that starts block comments, or nil if such don't exist.
Block comments are ended by `c-block-comment-ender', which is assumed
to be set if this is. At least one of `c-line-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-block-comment-starter nil (#$ . 14623))
(make-variable-buffer-local 'c-block-comment-starter)
#@208 String that ends block comments, or nil if such don't exist.
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-block-comment-ender nil (#$ . 15112))
(make-variable-buffer-local 'c-block-comment-ender)
(defvar c-block-comment-ender-regexp nil)
(make-variable-buffer-local 'c-block-comment-ender-regexp)
#@146 List of characters which, inside a block comment, could be the first
character of a double character construct. This doesn't include
backslash.
(defvar c-block-comment-awkward-chars nil (#$ . 15527))
(make-variable-buffer-local 'c-block-comment-awkward-chars)
(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)
#@193 Regexp which matches the last block comment ender on the
current line, if any, or nil in those languages without block
comments. When a match is found, submatch 1 contains the comment
ender.
(defvar c-last-c-comment-end-on-line-re nil (#$ . 16084))
(make-variable-buffer-local 'c-last-c-comment-end-on-line-re)
(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 (#$ . 16491))
(make-variable-buffer-local 'c-doc-comment-start-regexp)
#@58 Non-nil when the default comment style is block comment.
(defvar c-block-comment-is-default nil (#$ . 16660))
(make-variable-buffer-local 'c-block-comment-is-default)
(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 (#$ . 17074))
(make-variable-buffer-local 'c-paragraph-start)
#@43 Regexp to append to `paragraph-separate'.
(defvar c-paragraph-separate nil (#$ . 17211))
(make-variable-buffer-local 'c-paragraph-separate)
(defvar c-return-key nil)
(make-variable-buffer-local 'c-return-key)
(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-typeof-key nil)
(make-variable-buffer-local 'c-typeof-key)
(defvar c-template-typename-key nil)
(make-variable-buffer-local 'c-template-typename-key)
(defvar c-type-prefix-key nil)
(make-variable-buffer-local 'c-type-prefix-key)
(defvar c-opt-type-modifier-prefix-key nil)
(make-variable-buffer-local 'c-opt-type-modifier-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-type-decl-suffix-ws-ids-key nil)
(make-variable-buffer-local 'c-type-decl-suffix-ws-ids-key)
(defvar c-class-id-suffix-ws-ids-key nil)
(make-variable-buffer-local 'c-class-id-suffix-ws-ids-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-after-brace-list-key nil)
(make-variable-buffer-local 'c-after-brace-list-key)
#@101 Set to t when we recognize a colon and then a type after an enum,
e.g., enum foo : int { A, B, C };
(defvar c-recognize-post-brace-list-type-p nil (#$ . 18548))
(make-variable-buffer-local 'c-recognize-post-brace-list-type-p)
(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 (#$ . 18870))
(make-variable-buffer-local 'c-other-decl-block-key-in-symbols-alist)
(defvar c-defun-type-name-decl-key nil)
(make-variable-buffer-local 'c-defun-type-name-decl-key)
(defvar c-typedef-decl-key nil)
(make-variable-buffer-local 'c-typedef-decl-key)
(defvar c-equals-type-clause-key nil)
(make-variable-buffer-local 'c-equals-type-clause-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-protection-key nil)
(make-variable-buffer-local 'c-protection-key)
#@122 The token which (may) follow a protection keyword,
e.g. the ":" in C++ Mode's "public:". nil if there is no such token.
(defvar c-post-protection-token nil (#$ . 19915))
(make-variable-buffer-local 'c-post-protection-token)
(defvar c-opt-block-decls-with-vars-key nil)
(make-variable-buffer-local 'c-opt-block-decls-with-vars-key)
(defvar c-postfix-decl-spec-key nil)
(make-variable-buffer-local 'c-postfix-decl-spec-key)
(defvar c-make-top-level-key nil)
(make-variable-buffer-local 'c-make-top-level-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 (#$ . 20430))
(make-variable-buffer-local 'c-colon-type-list-re)
(defvar c-paren-nontype-key nil)
(make-variable-buffer-local 'c-paren-nontype-key)
(defvar c-opt-<>-sexp-key nil)
(make-variable-buffer-local 'c-opt-<>-sexp-key)
(defvar c-inside-<>-type-key nil)
(make-variable-buffer-local 'c-inside-<>-type-key)
(defvar c-block-stmt-1-key nil)
(make-variable-buffer-local 'c-block-stmt-1-key)
(defvar c-block-stmt-1-2-key nil)
(make-variable-buffer-local 'c-block-stmt-1-2-key)
(defvar c-block-stmt-2-key nil)
(make-variable-buffer-local 'c-block-stmt-2-key)
(defvar c-block-stmt-hangon-key nil)
(make-variable-buffer-local 'c-block-stmt-hangon-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-brace-stack-thing-key nil)
(make-variable-buffer-local 'c-brace-stack-thing-key)
(defvar c-brace-stack-no-semi-key nil)
(make-variable-buffer-local 'c-brace-stack-no-semi-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)
#@136 Regexp matching a keyword that is followed by a colon, where
the whole construct can precede a declaration.
E.g. "public:" in C++.
(defvar c-decl-start-colon-kwd-re nil (#$ . 22640))
(make-variable-buffer-local 'c-decl-start-colon-kwd-re)
(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 (#$ . 22967))
(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-dposr-cpp-macro-depth nil)
(make-variable-buffer-local 'c-dposr-cpp-macro-depth)
(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)
#@302 Regexp matching any declarator operator which isn't a keyword,
that might precede the identifier in a declaration, e.g. the
"*" in "char *argv". The end of the first submatch is taken
as the end of the operator. Identifier syntax is in effect when
this is matched (see `c-identifier-syntax-table').
(defvar c-type-decl-operator-prefix-key nil (#$ . 23772))
(make-variable-buffer-local 'c-type-decl-operator-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 (#$ . 24598))
(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 (#$ . 25150))
(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 (#$ . 25397))
(make-variable-buffer-local 'c-recognize-knr-p)
#@80 A regexp matching tokens which, preceding an identifier, signify a bracelist.
(defvar c-pre-id-bracelist-key nil (#$ . 25552))
(make-variable-buffer-local 'c-pre-id-bracelist-key)
#@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 (#$ . 25740))
(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 (#$ . 26188))
(make-variable-buffer-local 'c-recognize-<>-arglists)
#@551 A regexp matching any single character notable inside a <...> construct.
This must include "<" and ">", and should include ",", and
any character which cannot be valid inside such a construct.
This is used in `c-forward-<>-arglist-recur' to try to detect
sequences of tokens which cannot be a template/generic construct.
When "(" is present, that defun will attempt to parse a
parenthesized expression inside the template. When ")" is
present it will treat an unbalanced closing paren as a sign of
the invalidity of the putative template construct.
(defvar c-<>-notable-chars-re nil (#$ . 26658))
(make-variable-buffer-local 'c-<>-notable-chars-re)
(defvar c-enum-clause-introduction-re nil)
(make-variable-buffer-local 'c-enum-clause-introduction-re)
#@64 Non-nil means that an enum structure can contain declarations.
(defvar c-enums-contain-decls nil (#$ . 27417))
(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 (#$ . 27587))
(make-variable-buffer-local 'c-recognize-paren-inits)
#@158 Non-nil means that brace initializers without "=" exist,
i.e. constructs like
int foo[] {1, 2, 3};
in addition to the more classic
int foo[] = {1, 2, 3};
(defvar c-recognize-bare-brace-inits nil (#$ . 27841))
(make-variable-buffer-local 'c-recognize-bare-brace-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 (#$ . 28119))
(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 (#$ . 28665))
(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 (#$ . 28988))
(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 (#$ . 29229))
(make-variable-buffer-local 'c-nonlabel-token-key)
#@302 Regexp matching things that can't occur in generic colon labels,
neither in a statement nor in a declaration context, with the
exception of an open parenthesis. 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-nonparen-token-key nil (#$ . 29593))
(make-variable-buffer-local 'c-nonlabel-nonparen-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 (#$ . 30017))
(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 (#$ . 30325))
(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)
#@236 List of faces that might be put at the start of a type when
`c-font-lock-declarations' runs. This must be evaluated (with `eval') at
runtime to get the actual list of faces. This ensures that face name
aliases in Emacs are resolved.
(defvar c-maybe-decl-faces nil (#$ . 30912))
(make-variable-buffer-local 'c-maybe-decl-faces)
(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!\211\303U\203 ?\207\303V\207" [arg prevstate prefix-numeric-value 0] 2])
(defvar c-macro-start 'unknown)
(defalias 'c-query-and-set-macro-start #[nil "9\203 \212\305 \306\211\306\307\216\310 \205 `.\211\207\207" [c-macro-start #1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks buffer-modified-p t #[nil "?\205 \301\302!\207" [#1# restore-buffer-modified-p nil] 2] c-beginning-of-macro] 3])
(put 'c-query-and-set-macro-start 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'c-query-macro-start #[nil "9\203 \212\305 \306\211\306\307\216\310 \205 `.\207\207" [c-macro-start #1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks buffer-modified-p t #[nil "?\205 \301\302!\207" [#1# restore-buffer-modified-p nil] 2] c-beginning-of-macro] 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)
(defvar c-macro-cache-no-comment nil)
(make-variable-buffer-local 'c-macro-cache-no-comment)
(defalias 'c-invalidate-macro-cache #[(beg _end) "?\206? @X\203 \305\211\305\211\211\207A\203. AW\203. \305\241\210 \305\211\211\207\n\205? \nW\205? \305\211\211\207" [c-macro-cache beg c-macro-cache-start-pos c-macro-cache-syntactic c-macro-cache-no-comment nil] 3])
(defalias 'c-macro-is-genuine-p #[nil "`\302 \210`e=\203% `\303U\204% \214~\210\302 \210\304 !\205! \303\224=)\202&