;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; 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-mode cc-langs] 2) #@34 Keymap used in vcl-mode buffers. (defvar vcl-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\211\207" [c-mode-base-map make-sparse-keymap set-keymap-parent define-key "%" vcl-match-paren] 5) (#$ . 478)) #@42 Syntax table in use in VCL Mode buffers. (defvar vcl-mode-syntax-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\313#\210\301\315\313#\210\301\316\313#\210\301\317\313#\210\301\320\313#\210\301\321\313#\210\301\322\313#\210\301\323\313#\210\301\324\325#\210\301\326\313#\210\301\327\330#\210\211\207" [make-syntax-table modify-syntax-entry 10 "> b" 35 "< b" 47 ". 124b" 42 ". 23" 43 "." 45 126 61 37 60 62 38 124 95 "_" 39 34 "\""] 5) (#$ . 697)) (define-abbrev-table 'vcl-mode-abbrev-table '(("else" "else" c-electric-continued-statement :system t)) "Abbreviation table used in vcl-mode buffers.") #@45 Subdued level highlighting for VCL buffers. (defconst vcl-font-lock-keywords-1 '(("^[ ]*\\(vcl\\)\\>[ ]*\\([[:digit:]]+\\.[[:digit:]]+\\)" (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) ("\\<\\(vcl_\\(?:backend_\\(?:error\\|fetch\\|response\\)\\|deliver\\|error\\|f\\(?:etch\\|ini\\)\\|h\\(?:ash\\|it\\)\\|init\\|miss\\|p\\(?:ass\\|ipe\\)\\|recv\\|synth\\)\\)\\>" . font-lock-builtin-face) ("\\<\\(?:backend\\|i\\(?:mport\\|nclude\\)\\|sub\\)\\>" . font-lock-keyword-face)) (#$ . 1387)) #@44 Medium level highlighting for VCL buffers. (defconst vcl-font-lock-keywords-2 (append vcl-font-lock-keywords-1 '(("\\<\\(?:acl\\|call\\|director\\|else\\|if\\|probe\\|re\\(?:move\\|turn\\)\\|\\(?:un\\)?set\\)\\>" . font-lock-keyword-face) ("\\<\\(?:deliver\\|error\\|f\\(?:alse\\|etch\\)\\|h\\(?:ash\\|it_for_pass\\)\\|lookup\\|ok\\|p\\(?:ass\\|ipe\\)\\|restart\\|true\\)\\>" . font-lock-constant-face) ("\\<\\(?:ban\\|call\\|hash_data\\|new\\|regsub\\(?:all\\)?\\|synth\\(?:etic\\)?\\)\\>" . font-lock-function-name-face) ("\\<\\(bere\\(?:q\\|sp\\)\\|obj\\|re\\(?:q\\|sp\\)\\)\\.\\(http\\)\\(\\.\\([a-zA-Z_-][a-zA-Z_0-9-]*\\)\\)?" (1 font-lock-builtin-face) (2 font-lock-builtin-face) (4 font-lock-string-face nil t)) ("\\<\\(bereq\\)\\.\\(b\\(?:ackend\\|etween_bytes_timeout\\)\\|connect_timeout\\|first_byte_timeout\\|method\\|proto\\|retries\\|u\\(?:ncacheable\\|rl\\)\\|xid\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face)) ("\\<\\(beresp\\)\\.\\(backend\\)\\.\\(ip\\|name\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face) (3 font-lock-builtin-face)) ("\\<\\(beresp\\)\\.\\(do_\\(?:esi\\|g\\(?:\\(?:un\\)?zip\\)\\|stream\\)\\|grace\\|keep\\|proto\\|reason\\|st\\(?:atus\\|orage_hint\\)\\|ttl\\|uncacheable\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face)) ("\\<\\(client\\)\\.\\(i\\(?:dentity\\|p\\)\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face)) ("\\<\\(obj\\)\\.\\(grace\\|hits\\|keep\\|proto\\|reason\\|status\\|ttl\\|uncacheable\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face)) ("\\<\\(req\\)\\.\\(backend_hint\\|can_gzip\\|esi\\(?:_level\\)?\\|hash_\\(?:always_miss\\|ignore_busy\\)\\|method\\|proto\\|restarts\\|ttl\\|url\\|xid\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face)) ("\\<\\(resp\\)\\.\\(proto\\|reason\\|status\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face)) ("\\<\\(server\\)\\.\\(hostname\\|i\\(?:dentity\\|p\\)\\)" (1 font-lock-builtin-face) (2 font-lock-builtin-face)) ("\\<\\(storage\\)\\.\\(\\sw+\\)\\.\\(free_space\\|happy\\|used_space\\)" (1 font-lock-builtin-face) (2 font-lock-variahle-name-face) (3 font-lock-builtin-face)) ("\\<\\(?:bere\\(?:q\\|sp\\)\\|client\\|now\\|obj\\|re\\(?:q\\|sp\\)\\|server\\)\\>" . font-lock-builtin-face) ("\\<\\(\\(\\sw+\\)\\.\\)*\\(\\sw+\\)[ ]*(" (2 font-lock-variable-name-face nil t) (3 font-lock-function-name-face)) ("\\<\\([[:digit:]]+\\(\\.[[:digit:]]+\\)?\\)[ ]*\\(ms\\|[smhdwy]\\)?\\>" (1 font-lock-constant-face) (3 font-lock-builtin-face nil t)))) (#$ . 1897)) #@43 Gaudy level highlighting for VCL buffers. (defconst vcl-font-lock-keywords-3 (append vcl-font-lock-keywords-2 '(("^[ ]*\\(sub\\)\\>[ ]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t)))) (#$ . 4410)) (defvar vcl-font-lock-keywords vcl-font-lock-keywords-3) (put 'vcl-mode 'c-mode-prefix "vcl-") (defconst vcl-syntax-propertize-function #[514 "b\210`W\205m\300\301\302#\205m\303\224\2037\303\224\303\225\304\212\305\306\224!)8?\205'\307\211\2032\310\311$\210\266\202\312\224\203\313\314!\211A\315\233\241\210\316!\266\303\224\303\225\317\212\305\306\224!)8\302=\205]\307\211\203h\310\311$\210\266\202\207" [re-search-forward "\\({\\)\"\\|\"\\(}\\)" t 1 8 syntax-ppss 0 (15) put-text-property syntax-table 2 match-data ints 4 set-match-data 3] 10 "\n\n(fn START END)"]) #@172 If point is on a parenthesis (including VCL multi-line string delimiter), find the matching one and move point to it. With ARG, do it that many times. (fn &optional ARG) (defalias 'vcl-match-paren #[256 "\211\206\300\301\302!\203 \303\304!\305\304\306\307\310!\311\"\312$\262\313B\202f\301\314!\203;\303\304!\305\304\315\307\310!\316\"\312$\262\317B\202f\301\320!\204L\212\321u\210\301\320!)\203R\322\323B\202f\301\324!\204c\212\321u\210\301\324!)\205f\325\326B\211\204p\327\330!\202\313\3311\304\3321\263\211@A\3332\254\211 \210S\262\304U\203\225\334\333\335\"\210\202\200\3361\237 0\202\250\210\327\337!\210\334\333\335\"\210\202\200\266\20200\202\3130\3128b\210\327\340A@\"\262\202\313\327\341A\"\262\207" [1 looking-at "\\s(" match-string 0 make-byte-code "\301\300!\210\302u\207" vconcat vector [search-forward -1] 2 #[0 "\300 \210\301u\207" [forward-list -1] 1] "\\s)" "\301\300!\207" [search-backward] #[0 "\300u\210\301 \207" [nil backward-list] 1] "{\"" -1 #[0 "\300\301!\207" [search-forward "{\""] 2] #[0 "\300\301!\210\302u\207" [search-forward-regexp "\"}" -1] 2] "\"}" #[0 "\300\301!\207" [search-backward "\"}"] 2] #[0 "\300\301!\207" [search-backward-regexp "{\""] 2] message "Point not at parenthesis" (search-failed) (scan-error) stop throw t (search-failed) "Not enough groups to satisfy the request" "%s" "Unbalanced %s"] 9 (#$ . 5245) "p"]) (byte-code "\300\301\302\303!\304B\"\207" [add-to-list auto-mode-alist purecopy "\\.vcl\\'" vcl-mode] 4) (defvar vcl-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vcl-mode-hook variable-documentation put "Hook run after entering VCL mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp vcl-mode-map definition-name vcl-mode] 4) (defvar vcl-mode-map (make-sparse-keymap)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\305\306!\204\302\306\307\310#\210\311\312 !\210\306\301N\204-\302\306\301\303\313!#\210\302\310\314\315#\207" [vcl-mode-map variable-documentation put purecopy "Keymap for `vcl-mode'." boundp vcl-mode-syntax-table definition-name vcl-mode (lambda (#1=#:def-tmp-var) (defvar vcl-mode-syntax-table #1#)) make-syntax-table "Syntax table for `vcl-mode'." derived-mode-parent prog-mode] 5) #@259 Major mode for editing Varnish Configuration Language code. Key bindings: \{vcl-mode-map} In addition to any hooks its parent mode `prog-mode' might have run, this mode runs the hook `vcl-mode-hook', as the final or penultimate step during initialization. (defalias 'vcl-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 !\210\325\f!\210 @\306\326!\210A\306\327!\210\307\330\307!\210\331B\307C\311\331\211D\306\332!\210\306\333!\210\306\334!\210\306\335!\210\306\336!\210\306\337!\210\3401\223E\341=\203h\332\262\342\333\262\343\334\262\344\335\262\331\336\262\345\337\262\346\347\262\331'\350\262\331(\351\262\352)\353\262\354\355\211FFD\204\322\356\357!\210D\360N\211G\204\342\356\361D\"\210\362GFP!*J)!)\331\203@\262A\262\363@A#\210\202\360\266\203+\364\262\331\211<\203\211\202\211C\2624\365\262\366\211<\203,\211\202.\211C\2625\367\262\370\211<\203?\211\202A\211C\2627\371\262\3319\372\262\331:\373\262\331;\374\262\331<\375\262\331=\376\262\377>\201H\262\201\323H\201I\262\201\324I\201J\262\201\325J\201K\262\201\326K\201L\262\331L\201M\262\377M\201N\262\201\327N\201O\262\331O\201P\262\331P\201Q\262\201\330Q\201B\262\201\331B\201R\262\201\332R\201S\262\201\333S\201T\262\201\334T\201U\262\201\335U\201V\262\201\336V\201W\262\201\337W\201X\262\201\340X\201Y\262\331Y\201Z\262\331Z\201[\262\201\341[\201\\\262\201\342\\\201]\262\201\343]\201^\262\201\344^\201_\262\201\345_\201`\262\201\346`\201a\262\201\347a\201b\262\201\350b\201c\262\201\351c\201d\262\201\352d\201e\262\201\345e\201f\262\201\353f\201g\262\201\354g\201h\262\201\341h\201i\262\201\345i\201j\262\201\345j\201k\262\201\355k\201l\262\201\356l\201m\262\201\357m\201n\262\201\360n\201o\262\201\361o\201p\262\201\362p\201q\262\201\363q\201r\262\201\364r\201s\262\201\357s\201t\262\201\365t\201u\262\201\345u\201v\262\331v\201w\262\201\366w\201x\262\201\367x\201y\262\201\370y\201z\262\201\371z\201{\262\201\371{\201|\262\201\372|\201}\262\201\373}\201~\262\201\374~\201\262\201\341\201\200\262\201\341\200\201\201\262\201\341\201\201\202\262\331\202\201\203\262\331\203\201\204\262\331\204\201\205\262\201\341\205\201\206\262\201\341\206\201\207\262\201\375\207\201\210\262\201\341\210\201\211\262\331\211\201\212\262\201\341\212\201\213\262\201\376\201\377\331\"\213\201\214\262\201\375\214\201\215\262\201\341\215\201\216\262\201\375\216\201\217\262\201\375\217\201\220\262\201\220\201\221\262\201\221\201\222\262\201\341\222\201\223\262\331\223\201\224\262\331\224\201\225\262\201\341\225\201\226\262\201\341\226\201\227\262\331\227\201\230\262\201\341\230\201\231\262\201\341\231\201\232\262\201\341\232\201\233\262\201\233\201\234\262\201\341\234\201\235\262\201\235\201\236\262\201\236\201\237\262\201\237\201\240\262\201\240\201\241\262\331\241\201\242\262\201\242\201\243\262\201\243\201\244\262\331\244\201\245\262\201 \245\201\246\262\201\n\246\201\247\262\201\341\247\201\250\262\331\250\201\251\262\201 \251\201\253\262\201\f\331\211\201 G\201_\201\"\252\203r@@\262@A\262A\262\201\362\252\"\201\201\201\376\201\"\"\"\210\202C\252)\266\203\253\201\254\262\201\254\201\255\262\201\255\201\256\262\201\345\256\201\257\262\201\257\201\260\262\377\260\201\261\262\201\261\201\262\262\201\262\201\263\262\201\263\201\264\262\201\345\264\201\265\262\201\345\265\201\266\262\201\266\201\267\262\201\267\201\270\262\201\270\201\271\262\331\271\201\272\262\331\272\201\273\262\201\201FD\204\356\357!\210D\360N\211G\204/\356\361D\"\210\362GFP!*!\205f\201\211FFD\204L\356\357!\210D\360N\211G\204\\\356\361D\"\210\362GFP!*J)\201\331\201\376\201\"\"\201\331\201\376\201\"\"\201 \201!\201\"\201#\331\201\"\201$\"\"C\"\201%\"\201&Q\266\203\273\201\274\262\331\274\201\275\262\331\275\201\276\262\201\345\276\201\277\262\331\277\201\300\262\331\300\201\301\262\201'\301\201\302\262\201(\302\201\303\262\331\303\201\304\262\331\304\201\305\262\331\305\201\306\262\331\306\201\307\262\331\307\201\310\262\331\310\201\311\262\331\311\201\312\262\201)\312\201\313\262\201*\313\201\314\262\201\345\314\201\315\262\331\315\201\316\262\331\316\201\317\262\331\317\201\320\262\307\320\201\321\262\201+\211\321\202\217\307\262\201,\211\211\205\213\211@\211@\262\211@\201-A@!L\210A\266\202\202o\262\2620\202\302\203\270\201.\201/\203\262\2010\2011\311\2012\322$\202\263\343$\202\300\2013@A\"\262\210)\266\2014\311!\210\2015\2016\2017\"\210\2018 \210)\2015\2017!\207" [delay-mode-hooks major-mode mode-name vcl-mode-map vcl-mode-syntax-table vcl-mode-abbrev-table make-local-variable t prog-mode vcl-mode "VCL" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table syntax-propertize-function parse-sexp-lookup-properties c-initialize-cc-mode nil comment-start comment-end comment-start-skip comment-end-can-be-escaped beginning-of-defun-function end-of-defun-function (error) 5\.33\.2 #10="# " "" "\\(//+\\|/\\*+\\)\\s *" c-beginning-of-defun c-end-of-defun c++-template-syntax-table c-no-parens-syntax-table c-identifier-syntax-modifications ((95 . "w") (36 . "w")) c-identifier-syntax-table copy-syntax-table #11="mode-syntax-table" error "Not inside a CC Mode based mode" c-mode-prefix "%S has no mode prefix known to `c-mode-symbol'" intern modify-syntax-entry c-get-state-before-change-functions c-before-font-lock-functions (c-depropertize-new-text c-change-expand-fl-region) c-before-context-fontification-functions c-context-expand-fl-region c-at-vsemi-p-fn c-vsemi-status-unknown-p-fn c-has-bitfields c-has-quoted-numbers c-modified-constant c-symbol-start "[[:alpha:]_]" local-abbrev-table vcl-syntax-propertize-function c-opt-cpp-prefix abbrev-mode c-buffer-is-cc-mode c-version-sym suffix mode-prefix c-symbol-chars c-symbol-char-key c-symbol-key c-nonsymbol-chars c-opt-identifier-concat-key c-identifier-start c-identifier-key c-string-escaped-newlines c-multiline-string-start-char c-opt-cpp-symbol c-anchored-cpp-prefix c-opt-cpp-start c-opt-cpp-macro-define c-opt-cpp-macro-define-start c-opt-cpp-macro-define-id c-cpp-expr-intro-re c-cpp-expr-functions-key c-overloadable-operators-regexp c-opt-op-identifier-prefix c-ambiguous-overloadable-or-identifier-prefix-re c-nonsymbol-token-regexp c-assignment-op-regexp c-arithmetic-op-regexp c-:$-multichar-token-regexp c-<>-multichar-token-regexp c-<-op-cont-regexp c->-op-cont-regexp c->-op-without->-cont-regexp c-multichar->-op-not->>-regexp c-:-op-cont-regexp c-stmt-delim-chars c-stmt-delim-chars-with-comma c-pack-key c-auto-ops-re c-haskell-op-re c-pre-start-tokens c-pre-lambda-tokens-re c-line-comment-starter c-block-comment-starter c-block-comment-ender c-block-comment-ender-regexp c-comment-start-regexp c-block-comment-start-regexp c-line-comment-start-regexp c-literal-start-regexp c-doc-comment-start-regexp c-block-comment-is-default c-syntactic-ws-start c-syntactic-ws-end c-syntactic-eol c-paragraph-start c-paragraph-separate c-return-key c-primitive-type-key c-typedef-key c-typeof-key c-template-typename-key c-type-prefix-key c-opt-type-modifier-prefix-key c-opt-type-modifier-key c-opt-type-component-key c-type-decl-suffix-ws-ids-key c-class-key c-brace-list-key c-after-brace-list-key c-recognize-post-brace-list-type-p c-other-decl-block-key c-other-decl-block-key-in-symbols-alist c-typedef-decl-key c-decl-hangon-key c-prefix-spec-kwds-re c-specifier-key c-not-decl-init-keywords c-not-primitive-type-keywords-regexp c-protection-key c-post-protection-token c-opt-block-decls-with-vars-key c-postfix-decl-spec-key c-make-top-level-key c-colon-type-list-re c-paren-nontype-key c-opt-<>-sexp-key c-inside-<>-type-key c-block-stmt-1-key c-block-stmt-1-2-key c-block-stmt-2-key c-opt-block-stmt-key c-simple-stmt-key c-paren-stmt-key c-opt-asm-stmt-key c-case-kwds-regexp c-label-kwds-regexp c-opt-inexpr-brace-list-key c-brace-stack-thing-key c-brace-stack-no-semi-key c-decl-block-key c-opt-bitfield-key c-keywords-regexp obarray c-keywords-obarray c-regular-keywords-regexp c-primary-expr-regexp c-decl-start-colon-kwd-re c-decl-prefix-re c-decl-start-re c-decl-prefix-or-start-re c-cast-parens c-block-prefix-charset c-type-decl-prefix-key c-type-decl-operator-prefix-key c-type-decl-suffix-key c-after-suffixed-type-decl-key c-after-suffixed-type-maybe-decl-key c-opt-type-concat-key c-opt-type-suffix-key c-known-type-key c-special-brace-lists c-recognize-knr-p c-pre-id-bracelist-key c-recognize-typeless-decls c-recognize-<>-arglists c-<>-notable-chars-re c-enum-clause-introduction-re c-enums-contain-decls c-recognize-paren-inits c-recognize-paren-inexpr-blocks c-opt-<>-arglist-start c-opt-<>-arglist-start-in-paren c-opt-postfix-decl-spec-key c-recognize-colon-labels c-label-prefix-re c-nonlabel-token-key c-nonlabel-token-2-key c-opt-extra-label-key c-opt-friend-key c-opt-method-key c-type-decl-end-used c-maybe-decl-faces c-version "[:alnum:]_$" "[[:alnum:]_$]+" "[[:alpha:]_][[:alnum:]_$]*" "^[:alnum:]_$" "\\([[:alpha:]_][[:alnum:]_$]*\\)" "#" "\\s *#\\s *" "^\\s *\\(#\\)\\s *" "\\s *#\\s *\\([[:alnum:]]+\\)" "define" "\\s *#\\s *define[ ]+\\(\\(\\sw\\|_\\)+\\)\\(([^)]*)\\)?\\([ ]\\|\\\\\n\\)*" "\\s *#\\s *define[ ]+\\(\\sw\\|_\\)+" "\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\<\\>\\)" "\\(?:!=\\|##\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=>-]\\|/[*/=]\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>=\\|[=>]\\)\\|\\^=\\||[=|]\\|[!#%&*+,./:-?|~^-]\\)" "=\\([^=]\\|$\\)\\|\\(?:\\(?:<<\\|>>\\|[%&*+/|^-]\\)=\\)" "\\(?:!=\\|%=\\|&[&=]\\|\\*=\\|\\+=\\|-=\\|/=\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>=\\|[=>]\\)\\|\\^=\\||[=|]\\|[%&*+/<=>|^-]\\)" "\\<\\>" "\\(?:->\\|<\\(?:<=\\|[<=]\\)\\|>\\(?:>=\\|[=>]\\)\\)" "\\(?:<=\\|[<=]\\)" "\\(?:>=\\|[=>]\\)" "=" "\\(?:->\\|>\\(?:>?=\\)\\)" "^;{}?:" "^;,{}?:" (";" "{" "}") "\\(?:!=\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=-]\\|/[*/=]\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>=\\|[=>]\\)\\|\\^=\\||[=|]\\|[!%&(*+,/:-?[{-~^-]\\)" "//" "/*" "*/" "\\*/" "\\(?:/[*/]\\)\\|\\s!" "/\\*" "\\(?:/[*/]\\)\\|\\s!\\|\"|" "\\s \\|\\(?:/[*/]\\|[\n #]\\)\\|\\\\[\n ]\\|\\s!" "\\s \\|[\n /]\\|\\s!" "\\s *\\(/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\s *\\)*\\(//\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*$\\|\\\\$\\|$\\)" "$" "\\(\\(?:return\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:char\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|\\(?:unsigne\\|voi\\)d\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:typedef\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:enum\\)\\)\\([^[:alnum:]_$]\\|$\\)" mapcar #[257 "\211\300\230\203 \301\202\302\303P!B\207" [#12="extern" inextern-lang intern #13="in"] 5 "\n\n(fn ELT)"] "\\(\\(?:break\\|c\\(?:\\(?:as\\|ontinu\\)e\\)\\|d\\(?:efault\\|o\\)\\|else\\|for\\|goto\\|if\\|return\\|switch\\|typedef\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|c\\(?:\\(?:as\\|ontinu\\)e\\)\\|d\\(?:efault\\|o\\)\\|e\\(?:lse\\|num\\)\\|for\\|goto\\|if\\|return\\|switch\\|typedef\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:do\\|else\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:for\\|if\\|switch\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:do\\|else\\|for\\|if\\|switch\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|continue\\|goto\\|return\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:for\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:case\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:case\\|default\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\([),:;{}]\\)" "\\([{}]\\)" "\\(\\(?:break\\|c\\(?:ase\\|har\\|ontinue\\)\\|d\\(?:efault\\|o\\(?:uble\\)?\\)\\|e\\(?:lse\\|num\\)\\|f\\(?:loat\\|or\\)\\|goto\\|i\\(?:f\\|nt\\)\\|long\\|return\\|s\\(?:hort\\|igned\\|witch\\)\\|typedef\\|unsigned\\|void\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" ((#9="void" c-type-start-kwds c-primitive-type-kwds) (#8="unsigned" c-type-start-kwds c-primitive-type-kwds) (#7="signed" c-type-start-kwds c-primitive-type-kwds) (#6="short" c-type-start-kwds c-primitive-type-kwds) (#5="long" c-type-start-kwds c-primitive-type-kwds) (#4="int" c-type-start-kwds c-primitive-type-kwds) (#3="float" c-type-start-kwds c-primitive-type-kwds) (#2="double" c-type-start-kwds c-primitive-type-kwds) (#1="char" c-type-start-kwds c-primitive-type-kwds) ("typedef" c-typedef-kwds) ("default" c-label-kwds) ("case" c-case-kwds c-label-kwds) ("while" c-block-stmt-2-kwds c-block-stmt-kwds) ("switch" c-block-stmt-2-kwds c-block-stmt-kwds) ("if" c-block-stmt-2-kwds c-block-stmt-kwds) ("for" c-block-stmt-2-kwds c-paren-stmt-kwds c-block-stmt-kwds) ("else" c-block-stmt-kwds c-block-stmt-1-kwds) ("do" c-block-stmt-kwds c-block-stmt-1-kwds) ("return" c-return-kwds c-simple-stmt-kwds) ("goto" c-before-label-kwds c-simple-stmt-kwds) ("continue" c-simple-stmt-kwds) ("break" c-simple-stmt-kwds) ("enum" c-typedef-decl-kwds c-brace-id-list-kwds c-prefix-spec-kwds c-typeless-decl-kwds c-brace-list-decl-kwds)) make-vector 2 0 setplist apply nconc #[257 "\211\300D\207" [t] 3 "\n\n(fn LANG-CONST)"] "\\(\\(\\<\\>\\)\\|\\(?:\\+\\+\\|--\\|[(+-]\\)\\)\\|[[:alpha:]_]\\|\\.?[0-9]\\|[!#~]\\|\\s\"\\|\\s|" "\\([{}();,]+\\)" (40) "^!\"%-/:-@[-^`{-~" "\\((\\)" "{" "\\({\\)\\|[;,]" boundp #14="font-lock-extra-types" delq #[257 "\300\301\"\205\211\207" [string-match #15="[][.*+?^$\\]"] 4 "\n\n(fn RE)"] #[257 "\300\301\"?\205 \211\207" [string-match #16="[][.*+?^$\\]"] 4 "\n\n(fn RE)"] #17="\\<\\(" c-concat-separated append c-make-keywords-re (#1# #2# #3# #4# #5# #6# #7# #8# #9#) #18="\\|" #19="\\)\\>" "[<;{},|+&->)]" "\\<\\(\\(?:enum\\)\\)\\>[^][{};/#=]*{" "\\([{};]+\\)" "\\(\\(?:break\\|c\\(?:har\\|ontinue\\)\\|do\\(?:uble\\)?\\|e\\(?:lse\\|num\\)\\|f\\(?:loat\\|or\\)\\|goto\\|i\\(?:f\\|nt\\)\\|long\\|return\\|s\\(?:hort\\|igned\\|witch\\)\\|typedef\\|unsigned\\|void\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" (list nil font-lock-type-face c-reference-face-name font-lock-keyword-face) ((comment-start #10#) (comment-end (c-lang-const comment-end)) (comment-start-skip (c-lang-const comment-start-skip)) (comment-end-can-be-escaped (c-lang-const comment-end-can-be-escaped)) (beginning-of-defun-function (c-lang-const beginning-of-defun-function)) (end-of-defun-function (c-lang-const end-of-defun-function)) (c++-template-syntax-table (and (c-lang-const c++-make-template-syntax-table) (funcall (eval (c-lang-const c++-make-template-syntax-table)))) nil) (c-no-parens-syntax-table (and (c-lang-const c-make-no-parens-syntax-table) (funcall (eval (c-lang-const c-make-no-parens-syntax-table)))) nil) (c-identifier-syntax-modifications (c-lang-const c-identifier-syntax-modifications) "A list that describes the modifications that should be done to the\nmode syntax table to get a syntax table that matches all identifiers\nand keywords as words.\n\nThe list is just like the one used in `font-lock-defaults': Each\nelement is a cons where the car is the character to modify and the cdr\nthe new syntax, as accepted by `modify-syntax-entry'.") (c-identifier-syntax-table (let ((table (copy-syntax-table (c-mode-var #11#))) (mods c-identifier-syntax-modifications) mod) (while mods (setq mod (car mods) mods (cdr mods)) (modify-syntax-entry (car mod) (cdr mod) table)) table) "Syntax table built on the mode syntax table but additionally\nclassifies symbol constituents like `_' and `$' as word constituents,\nso that all identifiers are recognized as words.") (c-get-state-before-change-functions (let ((fs (c-lang-const c-get-state-before-change-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called from c-before-change-hook.\nTypically these will record enough state to allow\n`c-before-font-lock-function' to extend the region to fontify,\nand may do such things as removing text-properties which must be\nrecalculated.\n\nThese functions will be run in the order given. Each of them\ntakes 2 parameters, the BEG and END supplied to every\nbefore-change function; on entry, the buffer will have been\nwidened and match-data will have been saved; point is undefined\non both entry and exit; the return value is ignored.\n\nThe functions are called even when font locking isn't enabled.\n\nWhen the mode is initialized, the functions are called with\nparameters (point-min) and (point-max).") (c-before-font-lock-functions (let ((fs (c-lang-const c-before-font-lock-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before font locking.\nTypically they will extend the region about to be fontified (see\nbelow) and will set `syntax-table' text properties on the region.\n\nThese functions will be run in the order given. Each of them\ntakes 3 parameters, the BEG, END, and OLD-LEN supplied to every\nafter-change function; point is undefined on both entry and exit;\non entry, the buffer will have been widened and match-data will\nhave been saved; the return value is ignored.\n\nThe functions may extend the region to be fontified by setting the\nbuffer local variables c-new-BEG and c-new-END.\n\nThe functions are called even when font locking is disabled.\n\nWhen the mode is initialized, these functions are called with\nparameters (point-min), (point-max) and .") (c-before-context-fontification-functions (let ((fs (c-lang-const c-before-context-fontification-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before context (or\nother non-change) fontification is done. Typically they will\nextend the region.\n\nThese functions will be run in the order given. Each of them\ntakes 2 parameters, the BEG and END of the region to be\nfontified. Point is undefined on both entry and exit. On entry,\nthe buffer will have been widened and match-data will have been\nsaved; the return value is a cons of the adjusted\nregion, (NEW-BEG . NEW-END).") (c-at-vsemi-p-fn (c-lang-const c-at-vsemi-p-fn) "Contains a function \"Is there a virtual semicolon at POS or point?\".\nSuch a function takes one optional parameter, a buffer position (defaults to\npoint), and returns nil or t. This variable contains nil for languages which\ndon't have EOL terminated statements. ") (c-vsemi-status-unknown-p-fn (c-lang-const c-vsemi-status-unknown-p-fn) "Contains a function \"are we unsure whether there is a virtual semicolon on this line?\".\nThe (admittedly kludgy) purpose of such a function is to prevent an infinite\nrecursion in c-beginning-of-statement-1 when point starts at a `while' token.\nThe function MUST NOT UNDER ANY CIRCUMSTANCES call c-beginning-of-statement-1,\neven indirectly. This variable contains nil for languages which don't have\nEOL terminated statements.") (c-has-bitfields (c-lang-const c-has-bitfields) "Whether the language has bitfield declarations.") (c-has-quoted-numbers (c-lang-const c-has-quoted-numbers) "Whether the language has numbers quoted like 4'294'967'295.") (c-modified-constant (c-lang-const c-modified-constant) "Regexp that matches a “modified” constant literal such as \"L\\='a\\='\",\na “long character”. In particular, this recognizes forms of constant\nwhich `c-backward-sexp' needs to be called twice to move backwards over.") (c-symbol-start (c-lang-const c-symbol-start) "Regexp that matches the start of a symbol, i.e. any identifier or\nkeyword. It's unspecified how far it matches. Does not contain a \\|\noperator at the top level.") (c-symbol-chars (c-lang-const c-symbol-chars) "Set of characters that can be part of a symbol.\nThis is of the form that fits inside [ ] in a regexp.") (c-symbol-char-key (c-lang-const c-symbol-char-key) "Regexp matching a sequence of at least one identifier character.") (c-symbol-key (c-lang-const c-symbol-key) "Regexp matching identifiers and keywords (with submatch 0). Assumed\nto match if `c-symbol-start' matches on the same position.") (c-nonsymbol-chars (c-lang-const c-nonsymbol-chars) "This is the set of chars that can't be part of a symbol, i.e. the\nnegation of `c-symbol-chars'.") (c-opt-identifier-concat-key (c-lang-const c-opt-identifier-concat-key) nil) (c-identifier-start (c-lang-const c-identifier-start) "Regexp that matches the start of an (optionally qualified) identifier.\nIt should also match all keywords. It's unspecified how far it\nmatches.") (c-identifier-key (c-lang-const c-identifier-key) "Regexp matching a fully qualified identifier, like \"A::B::c\" in\nC++. It does not recognize the full range of syntactic whitespace\nbetween the tokens; `c-forward-name' has to be used for that. It\nshould also not match identifiers containing parenthesis groupings,\ne.g. identifiers with template arguments such as \"A\" in C++.") (c-string-escaped-newlines (c-lang-const c-string-escaped-newlines) "Set if the language support backslash escaped newlines inside string\nliterals.") (c-multiline-string-start-char (c-lang-const c-multiline-string-start-char) "Set if the language supports multiline string literals without escaped\nnewlines. If t, all string literals are multiline. If a character,\nonly literals where the open quote is immediately preceded by that\nliteral are multiline.") (c-opt-cpp-symbol (c-lang-const c-opt-cpp-symbol) "The symbol which starts preprocessor constructs when in the margin.") (c-opt-cpp-prefix (c-lang-const c-opt-cpp-prefix) "Regexp matching the prefix of a cpp directive in the languages that\nnormally use that macro preprocessor. Tested at bol or at boi.\nAssumed to not contain any submatches or \\| operators.") (c-anchored-cpp-prefix (c-lang-const c-anchored-cpp-prefix) "Regexp matching the prefix of a cpp directive anchored to BOL,\nin the languages that have a macro preprocessor.") (c-opt-cpp-start (c-lang-const c-opt-cpp-start) "Regexp matching the prefix of a cpp directive including the directive\nname, or nil in languages without preprocessor support. The first\nsubmatch surrounds the directive name.") (c-opt-cpp-macro-define (c-lang-const c-opt-cpp-macro-define) "Cpp directive (without the prefix) that is followed by a macro\ndefinition, or nil if the language doesn't have any.") (c-opt-cpp-macro-define-start (c-lang-const c-opt-cpp-macro-define-start) nil) (c-opt-cpp-macro-define-id (c-lang-const c-opt-cpp-macro-define-id) nil) (c-cpp-expr-intro-re (c-lang-const c-cpp-expr-intro-re) "Regexp which matches the start of a CPP directive which contains an\nexpression, or nil if there aren't any in the language.") (c-cpp-expr-functions-key (c-lang-const c-cpp-expr-functions-key) nil) (c-overloadable-operators-regexp (c-lang-const c-overloadable-operators-regexp) nil) (c-opt-op-identifier-prefix (c-lang-const c-opt-op-identifier-prefix) "Regexp matching the token before the ones in\n`c-overloadable-operators' when operators are specified in their\n\"identifier form\". This typically matches \"operator\" in C++ where\noperator functions are specified as e.g. \"operator +\". It's nil in\nlanguages without operator functions or where the complete operator\nidentifier is listed in `c-overloadable-operators'.\n\nThis regexp is assumed to not match any non-operator identifier.") (c-ambiguous-overloadable-or-identifier-prefix-re (c-lang-const c-ambiguous-overloadable-or-identifier-prefix-re) nil) (c-nonsymbol-token-regexp (c-lang-const c-nonsymbol-token-regexp) nil) (c-assignment-op-regexp (c-lang-const c-assignment-op-regexp) nil) (c-arithmetic-op-regexp (c-lang-const c-arithmetic-op-regexp) nil) (c-:$-multichar-token-regexp (c-lang-const c-:$-multichar-token-regexp) nil) (c-<>-multichar-token-regexp (c-lang-const c-<>-multichar-token-regexp) nil) (c-<-op-cont-regexp (c-lang-const c-<-op-cont-regexp) nil) (c->-op-cont-regexp (c-lang-const c->-op-cont-regexp) nil) (c->-op-without->-cont-regexp (c-lang-const c->-op-without->-cont-regexp) nil) (c-multichar->-op-not->>-regexp (c-lang-const c-multichar->-op-not->>-regexp) nil) (c-:-op-cont-regexp (c-lang-const c-:-op-cont-regexp) nil) (c-stmt-delim-chars (c-lang-const c-stmt-delim-chars) nil) (c-stmt-delim-chars-with-comma (c-lang-const c-stmt-delim-chars-with-comma) nil) (c-pack-key (c-lang-const c-pack-key) nil) (c-auto-ops-re (c-lang-const c-auto-ops-re) nil) (c-haskell-op-re (c-lang-const c-haskell-op-re) nil) (c-pre-start-tokens (c-lang-const c-pre-start-tokens) "List of operators following which an apparent declaration (e.g.\n\"t1 *fn (t2 *b);\") is most likely to be an actual declaration\n(as opposed to an arithmetic expression).") (c-pre-lambda-tokens-re (c-lang-const c-pre-lambda-tokens-re) nil) (c-line-comment-starter (c-lang-const c-line-comment-starter) "String that starts line comments, or nil if such don't exist.\nLine comments are always terminated by newlines. At least one of\n`c-block-comment-starter' and this one is assumed to be set.\n\nNote that it's currently not enough to set this to support a new\ncomment style. Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-starter (c-lang-const c-block-comment-starter) "String that starts block comments, or nil if such don't exist.\nBlock comments are ended by `c-block-comment-ender', which is assumed\nto be set if this is. At least one of `c-line-comment-starter' and\nthis one is assumed to be set.\n\nNote that it's currently not enough to set this to support a new\ncomment style. Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-ender (c-lang-const c-block-comment-ender) "String that ends block comments, or nil if such don't exist.\n\nNote that it's currently not enough to set this to support a new\ncomment style. Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-ender-regexp (c-lang-const c-block-comment-ender-regexp) nil) (c-comment-start-regexp (c-lang-const c-comment-start-regexp) nil) (c-block-comment-start-regexp (c-lang-const c-block-comment-start-regexp) nil) (c-line-comment-start-regexp (c-lang-const c-line-comment-start-regexp) nil) (c-literal-start-regexp (c-lang-const c-literal-start-regexp) nil) (c-doc-comment-start-regexp (c-lang-const c-doc-comment-start-regexp) "Regexp to match the start of documentation comments.") (c-block-comment-is-default (c-lang-const c-block-comment-is-default) "Non-nil when the default comment style is block comment.") (c-syntactic-ws-start (c-lang-const c-syntactic-ws-start) nil) (c-syntactic-ws-end (c-lang-const c-syntactic-ws-end) nil) (c-syntactic-eol (c-lang-const c-syntactic-eol) nil) (c-paragraph-start (c-lang-const c-paragraph-start) "Regexp to append to `paragraph-start'.") (c-paragraph-separate (c-lang-const c-paragraph-separate) "Regexp to append to `paragraph-separate'.") (c-return-key (c-lang-const c-return-key) nil) (c-primitive-type-key (c-lang-const c-primitive-type-key) nil) (c-typedef-key (c-lang-const c-typedef-key) nil) (c-typeof-key (c-lang-const c-typeof-key) nil) (c-template-typename-key (c-lang-const c-template-typename-key) nil) (c-type-prefix-key (c-lang-const c-type-prefix-key) nil) (c-opt-type-modifier-prefix-key (c-lang-const c-opt-type-modifier-prefix-key) nil) (c-opt-type-modifier-key (c-lang-const c-opt-type-modifier-key) nil) (c-opt-type-component-key (c-lang-const c-opt-type-component-key) nil) (c-type-decl-suffix-ws-ids-key (c-lang-const c-type-decl-suffix-ws-ids-key) nil) (c-class-key (c-lang-const c-class-key) nil) (c-brace-list-key (c-lang-const c-brace-list-key) nil) (c-after-brace-list-key (c-lang-const c-after-brace-list-key) nil) (c-recognize-post-brace-list-type-p (c-lang-const c-recognize-post-brace-list-type-p) "Set to t when we recognize a colon and then a type after an enum,\ne.g., enum foo : int { A, B, C };") (c-other-decl-block-key (c-lang-const c-other-decl-block-key) nil) (c-other-decl-block-key-in-symbols-alist (mapcar (lambda (elt) (cons elt (if (string= elt #12#) 'inextern-lang (intern (concat #13# elt))))) (c-lang-const c-other-block-decl-kwds)) "Alist associating keywords in c-other-decl-block-decl-kwds with\ntheir matching \"in\" syntactic symbols.") (c-typedef-decl-key (c-lang-const c-typedef-decl-key) nil) (c-decl-hangon-key (c-lang-const c-decl-hangon-key) nil) (c-prefix-spec-kwds-re (c-lang-const c-prefix-spec-kwds-re) nil) (c-specifier-key (c-lang-const c-specifier-key) nil) (c-not-decl-init-keywords (c-lang-const c-not-decl-init-keywords) nil) (c-not-primitive-type-keywords-regexp (c-lang-const c-not-primitive-type-keywords-regexp) nil) (c-protection-key (c-lang-const c-protection-key) nil) (c-post-protection-token (c-lang-const c-post-protection-token) "The token which (may) follow a protection keyword,\ne.g. the \":\" in C++ Mode's \"public:\". nil if there is no such token.") (c-opt-block-decls-with-vars-key (c-lang-const c-opt-block-decls-with-vars-key) nil) (c-postfix-decl-spec-key (c-lang-const c-postfix-decl-spec-key) nil) (c-make-top-level-key (c-lang-const c-make-top-level-key) nil) (c-colon-type-list-re (c-lang-const c-colon-type-list-re) "Regexp matched after the keywords in `c-colon-type-list-kwds' to skip\nforward to the colon. The end of the match is assumed to be directly\nafter the colon, so the regexp should end with \":\". Must be a\nregexp if `c-colon-type-list-kwds' isn't nil.") (c-paren-nontype-key (c-lang-const c-paren-nontype-key) nil) (c-opt-<>-sexp-key (c-lang-const c-opt-<>-sexp-key) nil) (c-inside-<>-type-key (c-lang-const c-inside-<>-type-key) nil) (c-block-stmt-1-key (c-lang-const c-block-stmt-1-key) nil) (c-block-stmt-1-2-key (c-lang-const c-block-stmt-1-2-key) nil) (c-block-stmt-2-key (c-lang-const c-block-stmt-2-key) nil) (c-opt-block-stmt-key (c-lang-const c-opt-block-stmt-key) nil) (c-simple-stmt-key (c-lang-const c-simple-stmt-key) nil) (c-paren-stmt-key (c-lang-const c-paren-stmt-key) nil) (c-opt-asm-stmt-key (c-lang-const c-opt-asm-stmt-key) nil) (c-case-kwds-regexp (c-lang-const c-case-kwds-regexp) nil) (c-label-kwds-regexp (c-lang-const c-label-kwds-regexp) nil) (c-opt-inexpr-brace-list-key (c-lang-const c-opt-inexpr-brace-list-key) nil) (c-brace-stack-thing-key (c-lang-const c-brace-stack-thing-key) nil) (c-brace-stack-no-semi-key (c-lang-const c-brace-stack-no-semi-key) nil) (c-decl-block-key (c-lang-const c-decl-block-key) nil) (c-opt-bitfield-key (c-lang-const c-opt-bitfield-key) nil) (c-keywords-regexp (c-lang-const c-keywords-regexp) nil) (c-keywords-obarray (let* ((alist (c-lang-const c-keyword-member-alist)) kwd lang-const-list (obarray (make-vector (* (length alist) 2) 0))) (while alist (setq kwd (caar alist) lang-const-list (cdar alist) alist (cdr alist)) (setplist (intern kwd obarray) (apply 'nconc (mapcar (lambda (lang-const) (list lang-const t)) lang-const-list)))) obarray) nil) (c-regular-keywords-regexp (c-lang-const c-regular-keywords-regexp) nil) (c-primary-expr-regexp (c-lang-const c-primary-expr-regexp) nil) (c-decl-start-colon-kwd-re (c-lang-const c-decl-start-colon-kwd-re) "Regexp matching a keyword that is followed by a colon, where\n the whole construct can precede a declaration.\n E.g. \"public:\" in C++.") (c-decl-prefix-re (c-lang-const c-decl-prefix-re) nil) (c-decl-start-re (c-lang-const c-decl-start-re) "Regexp matching the start of any declaration, cast or label.\nIt's used on the token after the one `c-decl-prefix-re' matched. This\nregexp should not try to match those constructs accurately as it's\nonly used as a sieve to avoid spending more time checking other\nconstructs.") (c-decl-prefix-or-start-re (c-lang-const c-decl-prefix-or-start-re) nil) (c-cast-parens (c-lang-const c-cast-parens) nil) (c-block-prefix-charset (c-lang-const c-block-prefix-charset) nil) (c-type-decl-prefix-key (c-lang-const c-type-decl-prefix-key) nil) (c-type-decl-operator-prefix-key (c-lang-const c-type-decl-operator-prefix-key) "Regexp matching any declarator operator which isn't a keyword\nthat might precede the identifier in a declaration, e.g. the\n\"*\" in \"char *argv\". The end of the first submatch is taken\nas the end of the operator. Identifier syntax is in effect when\nthis is matched (see `c-identifier-syntax-table').") (c-type-decl-suffix-key (c-lang-const c-type-decl-suffix-key) nil) (c-after-suffixed-type-decl-key (c-lang-const c-after-suffixed-type-decl-key) nil) (c-after-suffixed-type-maybe-decl-key (c-lang-const c-after-suffixed-type-maybe-decl-key) nil) (c-opt-type-concat-key (c-lang-const c-opt-type-concat-key) nil) (c-opt-type-suffix-key (c-lang-const c-opt-type-suffix-key) "Regexp matching operators that might follow after a type, or nil in\nlanguages that don't have such operators. The end of the first\nsubmatch is taken as the end of the operator. This should not match\nthings like C++ template arglists if `c-recognize-<>-arglists' is set.\nIt's undefined whether identifier syntax (see `c-identifier-syntax-table')\nis in effect or not.") (c-known-type-key (let* ((extra-types (when (boundp (c-mode-symbol #14#)) (c-mode-var "font-lock-extra-types"))) (regexp-strings (delq nil (mapcar (lambda (re) (when (string-match #15# re) re)) extra-types))) (plain-strings (delq nil (mapcar (lambda (re) (unless (string-match #16# re) re)) extra-types)))) (concat #17# (c-concat-separated (append (list (c-make-keywords-re nil (append (c-lang-const c-primitive-type-kwds) plain-strings))) regexp-strings) #18#) #19#)) nil) (c-special-brace-lists (c-lang-const c-special-brace-lists) "List of open- and close-chars that makes up a pike-style brace list,\ni.e., for a ([ ]) list there should be a cons (?\\[ . ?\\]) in this\nlist.") (c-recognize-knr-p (c-lang-const c-recognize-knr-p) "Non-nil means K&R style argument declarations are valid.") (c-pre-id-bracelist-key (c-lang-const c-pre-id-bracelist-key) "A regexp matching tokens which, preceding an identifier, signify a bracelist.\n") (c-recognize-typeless-decls (c-lang-const c-recognize-typeless-decls) "Non-nil means function declarations without return type should be\nrecognized. That can introduce an ambiguity with parenthesized macro\ncalls before a brace block. This setting does not affect declarations\nthat are preceded by a declaration starting keyword, so\ne.g. `c-typeless-decl-kwds' may still be used when it's set to nil.") (c-recognize-<>-arglists (c-lang-const c-recognize-<>-arglists) "Non-nil means C++ style template arglists should be handled. More\nspecifically, this means a comma separated list of types or\nexpressions surrounded by \"<\" and \">\". It's always preceded by an\nidentifier or one of the keywords on `c-<>-type-kwds' or\n`c-<>-arglist-kwds'. If there's an identifier before then the whole\nexpression is considered to be a type.") (c-<>-notable-chars-re (c-lang-const c-<>-notable-chars-re) "A regexp matching any single character notable inside a <...> construct.\nThis must include \"<\" and \">\", and should include \",\", and\nany character which cannot be valid inside such a construct.\nThis is used in `c-forward-<>-arglist-recur' to try to detect\nsequences of tokens which cannot be a template/generic construct.\nWhen \"(\" is present, that defun will attempt to parse a\nparenthesized expression inside the template. When \")\" is\npresent it will treat an unbalanced closing paren as a sign of\nthe invalidity of the putative template construct.") (c-enum-clause-introduction-re (c-lang-const c-enum-clause-introduction-re) nil) (c-enums-contain-decls (c-lang-const c-enums-contain-decls) "Non-nil means that an enum structure can contain declarations.") (c-recognize-paren-inits (c-lang-const c-recognize-paren-inits) "Non-nil means that parenthesis style initializers exist,\ni.e. constructs like\n\nFoo bar (gnu);\n\nin addition to the more classic\n\nFoo bar = gnu;") (c-recognize-paren-inexpr-blocks (c-lang-const c-recognize-paren-inexpr-blocks) "Non-nil to recognize gcc style in-expression blocks,\ni.e. compound statements surrounded by parentheses inside expressions.") (c-opt-<>-arglist-start (c-lang-const c-opt-<>-arglist-start) nil) (c-opt-<>-arglist-start-in-paren (c-lang-const c-opt-<>-arglist-start-in-paren) nil) (c-opt-postfix-decl-spec-key (c-lang-const c-opt-postfix-decl-spec-key) nil) (c-recognize-colon-labels (c-lang-const c-recognize-colon-labels) "Non-nil if generic labels ending with \":\" should be recognized.\nThat includes labels in code and access keys in classes. This does\nnot apply to labels recognized by `c-label-kwds' and\n`c-opt-extra-label-key'.") (c-label-prefix-re (c-lang-const c-label-prefix-re) "Regexp like `c-decl-prefix-re' that matches any token that can precede\na generic colon label. Not used if `c-recognize-colon-labels' is\nnil.") (c-nonlabel-token-key (c-lang-const c-nonlabel-token-key) "Regexp matching things that can't occur in generic colon labels,\nneither in a statement nor in a declaration context. The regexp is\ntested at the beginning of every sexp in a suspected label,\ni.e. before \":\". Only used if `c-recognize-colon-labels' is set.") (c-nonlabel-token-2-key (c-lang-const c-nonlabel-token-2-key) "Regexp matching things that can't occur two symbols before a colon in\na label construct. This catches C++'s inheritance construct \"class foo\n: bar\". Only used if `c-recognize-colon-labels' is set.") (c-opt-extra-label-key (c-lang-const c-opt-extra-label-key) "Optional regexp matching labels.\nNormally, labels are detected according to `c-nonlabel-token-key',\n`c-decl-prefix-re' and `c-nonlabel-decl-prefix-re'. This regexp can\nbe used if there are additional labels that aren't recognized that\nway.") (c-opt-friend-key (c-lang-const c-opt-friend-key) nil) (c-opt-method-key (c-lang-const c-opt-method-key) nil) (c-type-decl-end-used (c-lang-const c-type-decl-end-used) nil) (c-maybe-decl-faces (c-lang-const c-maybe-decl-faces) "List of faces that might be put at the start of a type when\n`c-font-lock-declarations' runs. This must be evaluated (with `eval') at\nruntime to get the actual list of faces. This ensures that face name\naliases in Emacs are resolved.")) eval message "Eval error in the `c-lang-defvar' or `c-lang-setvar' for `%s'%s: %S" format " (fallback source eval - %s compiled with CC Mode %s but loaded with %s)" "5.33.2" signal c-common-init run-mode-hooks c-mode-common-hook vcl-mode-hook c-update-modeline] 15 (#$ . 7618) nil]) (provide 'vcl-mode)