Edit file File name : cc-engine.elc Content :;ELC ;;; Compiled ;;; in Emacs version 26.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\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++-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 (#$ . 928)) (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 (#$ . 1407)) (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 (#$ . 1701)) (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 (#$ . 2552)) (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 (#$ . 3467)) (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 (#$ . 4083)) (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 (#$ . 4440)) (make-variable-buffer-local 'c-vsemi-status-unknown-p-fn) #@49 Whether the language has bitfield declarations. (defvar c-has-bitfields nil (#$ . 4982)) (make-variable-buffer-local 'c-has-bitfields) #@61 Whether the language has numbers quoted like 4'294'967'295. (defvar c-has-quoted-numbers nil (#$ . 5123)) (make-variable-buffer-local 'c-has-quoted-numbers) #@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 (#$ . 5287)) (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 (#$ . 5610)) (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 (#$ . 5865)) (make-variable-buffer-local 'c-symbol-chars) #@66 Regexp matching a sequence of at least one identifier character. (defvar c-symbol-char-key nil (#$ . 6058)) (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 (#$ . 6221)) (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 (#$ . 6436)) (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 (#$ . 6729)) (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 (#$ . 6973)) (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 (#$ . 7399)) (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 (#$ . 7592)) (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 (#$ . 7943)) (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 (#$ . 8107)) (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 (#$ . 8390)) (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 (#$ . 8608)) (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 (#$ . 8878)) (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 (#$ . 9298)) (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-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 (#$ . 9724)) (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) (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-delim-chars-with-comma nil) (make-variable-buffer-local 'c-stmt-delim-chars-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 (#$ . 11725)) (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 (#$ . 12083)) (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 (#$ . 12527)) (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 (#$ . 13016)) (make-variable-buffer-local 'c-block-comment-ender) (defvar c-block-comment-ender-regexp nil) (make-variable-buffer-local 'c-block-comment-ender-regexp) (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 (#$ . 13808)) (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 (#$ . 13977)) (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 (#$ . 14391)) (make-variable-buffer-local 'c-paragraph-start) #@43 Regexp to append to `paragraph-separate'. (defvar c-paragraph-separate nil (#$ . 14528)) (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-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 (#$ . 15764)) (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 (#$ . 16086)) (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-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 (#$ . 16941)) (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 (#$ . 17456)) (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-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 (#$ . 19575)) (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 (#$ . 19902)) (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) #@301 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 (#$ . 20616)) (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 (#$ . 21441)) (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 (#$ . 21993)) (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 (#$ . 22240)) (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 (#$ . 22395)) (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 (#$ . 22583)) (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 (#$ . 23031)) (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 (#$ . 23501)) (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 (#$ . 24260)) (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 (#$ . 24430)) (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 (#$ . 24684)) (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 (#$ . 25230)) (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 (#$ . 25553)) (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 (#$ . 25794)) (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 (#$ . 26158)) (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 (#$ . 26466)) (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 (#$ . 27053)) (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\205- AW\205- \305\241\210 \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&