| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/progmodes/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\207" [require cc-defs cc-vars] 2)
(defalias 'c-declare-lang-variables '(macro . #[0 "\301\302\303A\"B\207" [c-lang-variable-inits progn mapcan #[257 "\211\300\234\203 \301@\302\300\234F\202 \301@\303BB\304\305@DDD\207" [2 defvar nil (nil) make-variable-buffer-local quote] 6 "\n\n(fn INIT)"]] 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 (#$ . 518))
(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 (#$ . 997))
(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 (#$ . 1290))
(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 (#$ . 2142))
(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 (#$ . 3057))
(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 (#$ . 3673))
(make-variable-buffer-local 'c-at-vsemi-p-fn)
#@419 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 (#$ . 4030))
(make-variable-buffer-local 'c-vsemi-status-unknown-p-fn)
#@49 Whether the language has bitfield declarations.
(defvar c-has-bitfields nil (#$ . 4565))
(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 (#$ . 4707))
(make-variable-buffer-local 'c-single-quotes-quote-strings)
(defvar c-string-delims nil)
(make-variable-buffer-local 'c-string-delims)
(defvar c-ml-string-non-punc-skip-chars nil)
(make-variable-buffer-local 'c-ml-string-non-punc-skip-chars)
#@362 If non-nil, a regexp that matches a multi-line string opener.
It may also match context.
Such an opener must be at least 2 characters long, and must
contain a " character. (match-string 1) matches the actual
delimiter and (match-string 2) matches the actual ". If a
delimiter contains several "s, it is recommended to configure
the first of them as "the" ".
(defvar c-ml-string-opener-re nil (#$ . 5476))
(make-variable-buffer-local 'c-ml-string-opener-re)
#@63 If non-nil, the maximum length of a multi-line string opener.
(defvar c-ml-string-max-opener-len nil (#$ . 5942))
(make-variable-buffer-local 'c-ml-string-max-opener-len)
#@440 If non-nil, a regexp that matches any multi-line string closer.
It may also match context.
A search for this regexp starting at the end of the corresponding
opener must find the first closer as the first match.
Such a closer must include a " character. (match-string 1)
matches the actual delimiter and (match-string 2) matches the
actual ". If a delimiter contains several "s, it is
recommended to regard the last of them as "the" ".
(defvar c-ml-string-any-closer-re nil (#$ . 6120))
(make-variable-buffer-local 'c-ml-string-any-closer-re)
#@256 If non-nil, the maximum length of a multi-line string closer.
This must include the length of any "context trailer" following
the actual closer and any "context leader" preceding it. This
variable is ignored when `c-ml-string-back-closer-re' is non-nil.
(defvar c-ml-string-max-closer-len nil (#$ . 6673))
(make-variable-buffer-local 'c-ml-string-max-closer-len)
#@240 If non-nil, the maximum length of a ml string closer without its leader.
By "leader" is meant the context bytes preceding the actual
multi-line string closer, that part of
`c-ml-string-any-closer-re''s match preceding (match-beginning 1).
(defvar c-ml-string-max-closer-len-no-leader nil (#$ . 7044))
(make-variable-buffer-local 'c-ml-string-max-closer-len-no-leader)
#@915 A regexp to move back out of a putative ml closer point is in.
This variable need only be non-nil for languages with multi-line
string closers that can contain an indefinite length "leader"
preceding the actual closer. It was designed for formats where
an unbounded number of \s or "s might precede the closer
proper, for example in Pike Mode or csharp-mode.
If point is in a putative multi-line string closer, a backward
regexp search with `c-ml-string-back-closer-re' will leave point
in a "safe place", from where a forward regexp search with
`c-ml-string-any-closer-re' can test whether the original
position was inside an actual closer.
When non-nil, this variable should end in "\\\==". Note that
such a backward search will match a minimal string, so a
"context character" is probably needed at the start of the
regexp. The value for csharp-mode would be something like
"\\(:?\\`\\|[^\"]\\)\"*\\\==".
(defvar c-ml-string-back-closer-re nil (#$ . 7419))
(make-variable-buffer-local 'c-ml-string-back-closer-re)
#@459 If non-nil, a function which creates a closer regexp matching an opener.
Such a function is given one argument, a multi-line opener (a
string), and returns a regexp which will match the corresponding
closer. When this regexp matches, (match-string 1) should be the
actual closing delimiter, and (match-string 2) the "active" "
it contains.
A forward regexp search for this regexp starting at the end of
the opener must find the closer as its first match.
(defvar c-make-ml-string-closer-re-function nil (#$ . 8449))
(make-variable-buffer-local 'c-make-ml-string-closer-re-function)
#@540 If non-nil, a function which creates an opener regexp matching a closer.
Such a function is given one argument, a multi-line closer (a
string), and returns a regexp which will match the corresponding
opener. When this regexp matches, (match-string 1) should be the
actual opening delimiter, and (match-string 2) the "active" "
it contains.
A backward regexp search for this regexp starting at the start of
the closer might not find the opener as its first match, should
there be copies of the opener contained in the multi-line string.
(defvar c-make-ml-string-opener-re-function nil (#$ . 9041))
(make-variable-buffer-local 'c-make-ml-string-opener-re-function)
(defvar c-ml-string-cpp-or-opener-re nil)
(make-variable-buffer-local 'c-ml-string-cpp-or-opener-re)
(defvar c-cpp-or-ml-match-offset nil)
(make-variable-buffer-local 'c-cpp-or-ml-match-offset)
#@61 Whether the language has numbers quoted like 4'294'967'295.
(defvar c-has-quoted-numbers nil (#$ . 9907))
(make-variable-buffer-local 'c-has-quoted-numbers)
#@76 Whether literal initializers {...} are used other than in initializations.
(defvar c-has-compound-literals nil (#$ . 10070))
(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 (#$ . 10256))
(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 (#$ . 10580))
(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 (#$ . 10836))
(make-variable-buffer-local 'c-symbol-chars)
#@66 Regexp matching a sequence of at least one identifier character.
(defvar c-symbol-char-key nil (#$ . 11030))
(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 (#$ . 11194))
(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 (#$ . 11410))
(make-variable-buffer-local 'c-nonsymbol-chars)
#@179 Regexp that matches any character that can't be part of a symbol.
It's usually appended to other regexps to avoid matching a prefix.
It's assumed to not contain any submatchers.
(defvar c-nonsymbol-key nil (#$ . 11605))
(make-variable-buffer-local 'c-nonsymbol-key)
(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 (#$ . 11977))
(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 (#$ . 12222))
(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 (#$ . 12649))
(make-variable-buffer-local 'c-string-escaped-newlines)
#@571 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.
Note that from CC Mode 5.36, this character use is obsolete,
having been superseded by the "multi-line string" mechanism.
If both mechanisms are set for a language, the newer one prevails
over the old `c-multiline-string-start-char'. See the variables
in the page containing `c-ml-string-opener-re' in cc-langs.el for
further directions.
(defvar c-multiline-string-start-char nil (#$ . 12843))
(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 (#$ . 13630))
(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 (#$ . 13795))
(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 (#$ . 14079))
(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 (#$ . 14298))
(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 (#$ . 14648))
(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 (#$ . 15069))
(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 (#$ . 15654))
(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 (#$ . 16893))
(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 (#$ . 17201))
(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 (#$ . 18666))
(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 (#$ . 19024))
(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 (#$ . 19468))
(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 (#$ . 19957))
(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 (#$ . 20372))
(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 (#$ . 20929))
(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 (#$ . 21336))
(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 (#$ . 21505))
(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 (#$ . 21919))
(make-variable-buffer-local 'c-paragraph-start)
#@43 Regexp to append to `paragraph-separate'.
(defvar c-paragraph-separate nil (#$ . 22056))
(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 (#$ . 23393))
(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 (#$ . 23715))
(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-using-key nil)
(make-variable-buffer-local 'c-using-key)
(defvar c-no-type-key nil)
(make-variable-buffer-local 'c-no-type-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 (#$ . 24898))
(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 (#$ . 25413))
(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)
#@64 List of keywords which may need to cause electric indentation.
(defvar c-std-abbrev-keywords nil (#$ . 27280))
(make-variable-buffer-local 'c-std-abbrev-keywords)
(defvar c-keywords-regexp nil)
(make-variable-buffer-local 'c-keywords-regexp)
(defvar c-stmt-block-only-keywords-regexp nil)
(make-variable-buffer-local 'c-stmt-block-only-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 (#$ . 27903))
(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 (#$ . 28230))
(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 (#$ . 29035))
(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 (#$ . 29861))
(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 (#$ . 30413))
(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 (#$ . 30660))
(make-variable-buffer-local 'c-recognize-knr-p)
(defvar c-pre-id-bracelist-key nil)
(make-variable-buffer-local 'c-pre-id-bracelist-key)
#@77 A regexp matching tokens which, preceding a brace, make it a non-bracelist.
(defvar c-pre-brace-non-bracelist-key nil (#$ . 30904))
(make-variable-buffer-local 'c-pre-brace-non-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 (#$ . 31103))
(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 (#$ . 31551))
(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 (#$ . 32021))
(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 (#$ . 32780))
(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 (#$ . 32950))
(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 (#$ . 33204))
(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 (#$ . 33482))
(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 (#$ . 34028))
(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 (#$ . 34351))
(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 (#$ . 34592))
(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 (#$ . 34956))
(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 (#$ . 35380))
(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 (#$ . 35688))
(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 (#$ . 36275))
(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)
#@22
(fn ARG PREVSTATE)
(defalias 'c-calculate-state #[514 "\203 \300!\211\262\301U\203 \211?\207\301V\207" [prefix-numeric-value 0] 4 (#$ . 36839)])
(defvar c-macro-start 'unknown)
(defalias 'c-query-and-set-macro-start #[0 "9\203 \212\304 \305\211\305\306\307\"\216\310 \205 `,\262)\211\207\207" [c-macro-start buffer-undo-list inhibit-read-only inhibit-modification-hooks buffer-modified-p t make-closure #[0 "\300?\205 \301\302!\207" [V0 restore-buffer-modified-p nil] 2] c-beginning-of-macro] 5])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put c-query-and-set-macro-start speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'c-query-macro-start #[0 "9\203 \212\304 \305\211\305\306\307\"\216\310 \205 `,\262)\207\207" [c-macro-start buffer-undo-list inhibit-read-only inhibit-modification-hooks buffer-modified-p t make-closure #[0 "\300?\205 \301\302!\207" [V0 restore-buffer-modified-p nil] 2] c-beginning-of-macro] 5])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put c-query-macro-start speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(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)
#@16
(fn BEG END)
(defalias 'c-invalidate-macro-cache #[514 "?\206? @X\203 \304\211\304\211\211\207A\203. AW\203. \304\241\210\304\211\211\207 \205? W\205? \304\211\211\207" [c-macro-cache c-macro-cache-start-pos c-macro-cache-syntactic c-macro-cache-no-comment nil] 5 (#$ . 38323)])
(defalias 'c-macro-is-genuine-p #[0 "`\301 \210`e=\203$ `\302U\204$ \214~\210\301 \210\303!\205 \302\224=)\202% \304b\210\207" [c-anchored-cpp-prefix beginning-of-line 1 looking-at t] 3])
#@306 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.
(fn &optional LIM)
(defalias 'c-beginning-of-macro #[256 "`\306 \205\320 @\203A ` @Y\203A A\203 ` AX\204% `\nX\203A @\206, eW?\205\320 \2066 e @]b\210\n]\307\207\310\211\310\211\214\203R d}\210\311 \210\203_ Y\203\241 \312 \313\314\"\216`S\206l `Sf\315=\203y \316y\210\202f
\203\237 \317
\307#\203\237 \320\225b\210\321 \203\230 \311 \210`\211\262\202\234 b\210\310\204f )\210\322 \210`X\203\313 \312 \313\323\"\216\324!)\262\203\313 \325 \203\313 `C\310\307\202\317 b\210\310)\207" [c-opt-cpp-prefix c-macro-cache c-macro-cache-start-pos c-macro-cache-syntactic c-macro-cache-no-comment c-last-c-comment-end-on-line-re line-end-position t nil beginning-of-line match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 92 -1 re-search-forward 1 c-backward-single-comment back-to-indentation #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] looking-at c-macro-is-genuine-p c-opt-cpp-start] 9 (#$ . 38825)])
#@564 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, although
it is assumed that point isn't inside a comment or string.
If LIM is provided, it is a limit position at which point is left
if the end of the macro doesn't occur earlier.
Note that this function might do hidden buffer changes. See the
comment at the start of cc-engine.el for more info.
(fn &optional LIM)
(defalias 'c-end-of-macro #[256 "\214\211\203 e}\210A\203\"