%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/ |
Current File : //usr/local/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&