;ELC ;;; Compiled by mockbuild@x86-02.bsys.centos.org on Tue Oct 13 16:11:21 2020 ;;; from file /builddir/build/BUILD/systemtap-4.0/emacs/systemtap-mode.el ;;; in Emacs version 24.3.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" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@32 SystemTap Mode version number. (defconst systemtap-mode-version "0.02" (#$ . 548)) (byte-code "\300\301\302\303\304\305\306\307\306\310& \210\311\312!\210\311\313!\210\314\301\315\"\210\316\317\320\321#\210\316\322\323\324#\210\316\325\326\327#\210\316\330\331\332#\210\316\333\334\335#\210\336\337\302\340\306\301%\207" [custom-declare-group systemtap-mode nil "A mode for SystemTap." :prefix "systemtap-" :group tools languages require cc-mode cc-awk c-add-language awk-mode c-define-lang-constant c-primitive-type-kwds (((systemtap-mode) quote ("string" "long" "global" "private"))) (cc-langs) c-modifier-kwds (((systemtap-mode) append '("probe" "function") (c-get-lang-constant 'c-modifier-kwds '(cc-langs)))) (cc-langs) c-block-stmt-2-kwds (((systemtap-mode) quote ("else" "for" "foreach" "if" "while"))) (cc-langs) c-simple-stmt-kwds (((systemtap-mode) quote ("break" "continue" "delete" "next" "return"))) (cc-langs) c-identifier-syntax-modifications (((systemtap-mode) quote ((46 . "_") (39 . ".")))) (cc-langs) custom-declare-variable systemtap-font-lock-extra-types "Font-lock extra types for SystemTap mode."] 10) #@42 Minimal highlighting for SystemTap mode. (defconst systemtap-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 ((eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 (cc-fonts) systemtap-mode] 4) (#$ . 1679)) #@46 Fast normal highlighting for SystemTap mode. (defconst systemtap-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 ((eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[#1=(limit) "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] ("\\<\\(\\(?:break\\|c\\(?:\\(?:as\\|ontinu\\)e\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\)\\|else\\|f\\(?:or\\(?:each\\)?\\|unction\\)\\|if\\|next\\|probe\\|return\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list #[#1# "\304\300!\305 \n\306#\203I\307\224b\210\310\n!\204\307\225b\210\311 \312\216\313\314\224\314\225\315\316$\210*\311 \317\216\314\225b\210\320 \210*\311 \321\216\322\n\306\323#\210*\314\225b\210\202)\323\207" [parse-sexp-lookup-properties c-known-type-key limit save-match-data-internal boundp re-search-forward t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) put-text-property 1 face font-lock-type-face ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-forward-sws ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-declarators nil] 5])) c-get-lang-constant c-matchers-2 (cc-fonts) systemtap-mode] 4) (#$ . 2106)) #@50 Accurate normal highlighting for SystemTap mode. (defconst systemtap-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.32\.4 ((eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[(limit) "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-font-lock-invalid-string nil] 4] ("\\<\\(\\(?:break\\|c\\(?:\\(?:as\\|ontinu\\)e\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\)\\|else\\|f\\(?:or\\(?:each\\)?\\|unction\\)\\|if\\|next\\|probe\\|return\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls ("\\<\\(\\(?:global\\|long\\|private\\|string\\)\\)\\>" 1 'font-lock-type-face)) c-get-lang-constant c-matchers-3 (cc-fonts) systemtap-mode] 4) (#$ . 3942)) #@53 Default expressions to highlight in SystemTap mode. (defvar systemtap-font-lock-keywords systemtap-font-lock-keywords-3 (#$ . 5215)) #@46 Syntax table used in systemtap-mode buffers. (defvar systemtap-mode-syntax-table nil (#$ . 5354)) (byte-code "\204 \302=\203\303\202\304\305\306\307# \302\207" [systemtap-mode-syntax-table c-version-sym 5\.32\.4 (lambda nil (let ((table (make-syntax-table))) (c-populate-syntax-table table) nil table)) c-get-lang-constant c-make-mode-syntax-table (cc-langs) systemtap-mode] 4) #@52 Abbreviation table used in systemtap-mode buffers. (defvar systemtap-mode-abbrev-table nil (#$ . 5746)) #@40 Keymap used in systemtap-mode buffers. (defvar systemtap-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210)\207" [map c-make-inherited-keymap define-key "e" systemtap-execute-script "c" systemtap-interrupt-script] 4) (#$ . 5856)) #@25 SystemTap Mode Commands (defvar systemtap-menu nil (#$ . 6109)) (byte-code "\302\303\304\305\306\307 \310=\203\311\202\312\313\314\315#\"B$\207" [systemtap-mode-map c-version-sym easy-menu-do-define systemtap-menu "SystemTap Mode Commands" "SystemTap" append (["Execute This Script" systemtap-execute-script t] ["Interrupt Execution of Script" systemtap-interrupt-script (get-process "systemtap-script")] "----") 5\.32\.4 (["Comment Out Region" comment-region (c-fn-region-is-active-p)] ["Uncomment Region" (comment-region (region-beginning) (region-end) '(4)) (c-fn-region-is-active-p)] ["Indent Expression" c-indent-exp (memq (char-after) '(40 91 123))] ["Indent Line or Region" c-indent-line-or-region t] ["Fill Comment Paragraph" c-fill-paragraph t] "----" ["Backward Statement" c-beginning-of-statement t] ["Forward Statement" c-end-of-statement t] "----" ("Style..." ["Set Style..." c-set-style t] ["Show Current Style Name" (message "Style Name: %s" c-indentation-style) t] ["Guess Style from this Buffer" c-guess-buffer-no-install t] ["Install the Last Guessed Style..." c-guess-install (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)] ["View the Last Guessed Style" c-guess-view (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)]) "----" ("Toggle..." ["Syntactic indentation" c-toggle-syntactic-indentation :style toggle :selected c-syntactic-indentation] ["Electric mode" c-toggle-electric-state :style toggle :selected c-electric-flag] ["Auto newline" c-toggle-auto-newline :style toggle :selected c-auto-newline] ["Hungry delete" c-toggle-hungry-state :style toggle :selected c-hungry-delete-key] ["Subword mode" subword-mode :style toggle :selected (and (boundp 'subword-mode) subword-mode)])) c-get-lang-constant c-mode-menu (cc-langs) systemtap-mode] 11) #@41 Name of the SystemTap execution buffer. (defvar systemtap-buffer-name "*SystemTap*" (#$ . 7922)) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\306\307&\207" [custom-declare-variable systemtap-stap-program "stap" "SystemTap's stap program to execute scripts." :type file :group systemtap-mode systemtap-stap-options '("-v") "A list of options to give to stap." (repeat string)] 8) #@35 Execute current SystemTap script. (defalias 'systemtap-execute-script #[nil "\305!\203\n\306!\210\307!\210\310!\210\311 \312\n C\"\313\314\315\f %\210*\316\317!\207" [systemtap-buffer-name file-name systemtap-stap-options options systemtap-stap-program get-buffer kill-buffer get-buffer-create display-buffer buffer-file-name append apply start-process "systemtap-script" message "Execution of SystemTap script started."] 6 (#$ . 8338) nil]) #@37 Interrupt running SystemTap script. (defalias 'systemtap-interrupt-script #[nil "\300\301!\210\302\303!\207" [interrupt-process "systemtap-script" message "SystemTap script is interrupted."] 2 (#$ . 8794) nil]) (byte-code "\300\301\302\"\210\300\301\303\"\210\304\305!\210\306\307N\204\310\306\307\311\312!#\210\313\314!\204(\310\314\315\316#\210\300\207" [add-to-list auto-mode-alist ("\\.stp\\'" . systemtap-mode) ("\\.stpm\\'" . systemtap-mode) require simple systemtap-mode-hook variable-documentation put purecopy "Hook run when entering SystemTap mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp systemtap-mode-map definition-name systemtap-mode] 5) (defvar systemtap-mode-map (make-sparse-keymap)) (byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\210\302\305\310\311#\207" [systemtap-mode-map variable-documentation put purecopy "Keymap for `systemtap-mode'." systemtap-mode derived-mode-parent nil custom-mode-group systemtap] 5) #@169 Major mode for editing SystemTap scripts. Key bindings: \{systemtap-mode-map} This mode runs the hook `systemtap-mode-hook', as the final step during initialization. (defalias 'systemtap-mode #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \315\307!\210\313 !\210\311\316\211 \306\317!\210\306\320!\210\306\321!\210\306\322!\210\306\323!\210\324\325\326\217\210+\327\311!\210\330!!\210\331\332!\210\333 \210)\331\334!\207" [delay-mode-hooks major-mode mode-name systemtap-mode-map systemtap-mode-syntax-table systemtap-mode-abbrev-table make-local-variable t kill-all-local-variables systemtap-mode "SystemTap" use-local-map set-syntax-table c-initialize-cc-mode nil comment-start comment-end comment-start-skip beginning-of-defun-function end-of-defun-function err (byte-code "\306=\203'\302\307\303\310\304\311\305\312\313\314 \315\316 \317\320\321\322\"\205d\323 @\324@!\210@)@\325\326\327@#\210\325\330\327@#\210\325\331\327@#\210\325\332\327@#\210\325\333\327@#\210\325\334\327@#\210@)\335\336\337\340\341\211AAB\204}\342\343!\210B\344N\211C\204\215\342\345B\"\210\346CAP!*J)!\316DE@E\203\276E@DEAE\325D@DA@#\210\202\241@+\347\350\211F<\203\322F\202\325FC)'\351\352\211F<\203\347F\202\352FC))\353\354\211F<\203\374F\202\377FC)+\355\356-\357\360/\361\3161\362\3632\364\3654\366\3676\370\3718\372\316:\373\363;\374\375<\376\316>\377\316?\201G\316G\201H\316H\201I\316I\201J\316J\201K\316K\201L\316L\201M\316M\201N\316N\201O\316O\201P\316P\201Q\201\253Q\201R\201\254R\201S\201\255S\201T\201\256T\201U\201\257U\201V\201\260V\201W\201\261W\201X\201\262X\201Y\201\263Y\201Z\201\264Z\201[\201\262[\201\\\201\265\\\201]\201\264]\201^\201\266^\201_\201\267_\201`\201\270`\201a\201\271a\201b\201\271b\201c\201\272c\201d\201\273d\201e\201\273e\201f\316f\201g\316g\201h\201\273h\201i\201\273i\201j\201\273j\201k\201\274\201\275\316\"k\201l\201\273l\201m\201\273m\201n\201\276n\201o\201\276o\201p\201\277p\201q\201\300q\201r\316r\201s\316s\201t\316t\201u\201\301u\201v\201\302v\201w\201\303w\201x\201\304x\201y\201\305y\201z\316z\201{\201\273{\201|\201\306|\201}\316}\201~\201\273~\201\316\201\200\201\307\200\201\206\201\310\201\316\211\202\203\201\311\201G\201\312_\201\313\"\204\201\203\204\201\211\205@@)\202\201\211\205@A)\203\201A\201\201\314\346\202\204\"\201\315\201\316\201\274\201\317\203\"\"\"\210\202H\204,\206\201\207\201\300\207\201\210\201\320\210\201\211\201\321\211\201\212\363\212\201\213\201\321\213\201\214\201\322\214\201\215\201\323\215\201\216\201\264\216\201\217\201\324\217\201\220\201\325\220\201\221\201\326\221\201\222\316\222\201\223\316\223\201\227\201\327\201\330AB\204 \342\343!\210B\344N\211C\204\342\345B\"\210\346CAP!*!\205T\201\330\211AAB\204:\342\343!\210B\344N\211C\204J\342\345B\"\210\346CAP!*J)\224\201\315\201\316\201\274\201\331\224\"\"\225\201\315\201\316\201\274\201\332\224\"\"\226\201\333\201\334\201\335\201\336\316\201\335\201\337\226\"\"C\225\"\201\340\"\201\341Q+\227\201\230\316\230\201\231\316\231\201\232\316\232\321\316\201\233\316\233\201\234\316\234\201\235\316\235\201\236\316\236\201\237\316\237\201\240\316\240\201\241\316\241\201\242\201\342\242\201\243\201\343\243\201\244\201\264\244\201\245\316\245\201\246\316\246\201\247\316\247\201\250\201\344\250\202W\201\344\251\201\345\252\252\211\205@@)\252\211\205@@)\201\346\252@A@!L\210\252A\211\252\2041)\316\207" [c-version-sym current-var comment-start comment-end comment-start-skip beginning-of-defun-function 5\.32\.4 "# " #18="" "\\(#+\\)\\s *" c-awk-beginning-of-defun end-of-defun-function c-awk-end-of-defun c++-template-syntax-table nil c-no-parens-syntax-table c-get-lang-constant c-recognize-<>-arglists (cc-langs) make-syntax-table c-populate-syntax-table modify-syntax-entry 40 "." 41 91 93 123 125 c-identifier-syntax-modifications ((46 . "_") (39 . ".")) c-identifier-syntax-table copy-syntax-table #5="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 c-get-state-before-change-functions c-awk-record-region-clear-NL c-before-font-lock-functions c-awk-extend-and-syntax-tablify-region c-before-context-fontification-functions c-context-set-fl-decl-start c-at-vsemi-p-fn c-awk-at-vsemi-p c-vsemi-status-unknown-p-fn c-awk-vsemi-status-unknown-p c-has-bitfields c-symbol-start "[[:alpha:]_]" c-symbol-chars "[:alnum:]_$" c-symbol-key "[[:alpha:]_][[:alnum:]_$]*" c-nonsymbol-chars "^[:alnum:]_$" c-opt-identifier-concat-key c-identifier-start c-identifier-key "\\([[:alpha:]_][[:alnum:]_$]*\\)" c-string-escaped-newlines c-multiline-string-start-char table suffix c-buffer-is-cc-mode mode-prefix mod mods fs c-opt-cpp-symbol c-opt-cpp-prefix 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-overloadable-operators-regexp c-opt-op-identifier-prefix c-nonsymbol-token-regexp c-assignment-op-regexp c-<>-multichar-token-regexp c-<-op-cont-regexp c->-op-cont-regexp c-stmt-delim-chars c-stmt-delim-chars-with-comma c-line-comment-starter c-comment-start-regexp c-block-comment-start-regexp c-line-comment-start-regexp c-literal-start-regexp c-doc-comment-start-regexp c-syntactic-ws-start c-syntactic-ws-end c-syntactic-eol c-paragraph-start c-paragraph-separate c-primitive-type-key c-typedef-key c-type-prefix-key c-opt-type-modifier-key c-opt-type-component-key c-class-key c-brace-list-key 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-opt-block-decls-with-vars-key c-colon-type-list-re c-opt-<>-sexp-key c-block-stmt-1-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-decl-block-key c-opt-bitfield-key c-keywords-regexp alist kwd lang-const-list obarray x c-keywords-obarray c-regular-keywords-regexp c-primary-expr-regexp 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-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 extra-types regexp-strings plain-strings c-known-type-key c-special-brace-lists c-recognize-knr-p c-recognize-typeless-decls 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 source-eval init "\\(?:!=\\|%=\\|&[&=]\\|\\*=\\|\\+[+=]\\|-[=>-]\\|/=\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>=\\|[=>]\\)\\|\\^=\\||[=|]\\|[]!%&(-,./:-?[{-~^-]\\)" "=\\([^=]\\|$\\)\\|\\(?:\\(?:<<\\|>>\\|[%&*+/|^-]\\)=\\)" "\\(?:->\\|<\\(?:<=\\|[<=]\\)\\|>\\(?:>=\\|[=>]\\)\\)" "\\(?:<=\\|[<=]\\)" "\\(?:>=\\|[=>]\\)" "^;{}?:" "^;,{}?:" "#" "#\\|\\s!" "\\<\\>" "#\\|\\s!\\|\"|" "\\s \\|[\n #]\\|\\\\[\n ]\\|\\s!" "\\s \\|[\n ]\\|\\s!" "\\s *\\(#\\|\\\\$\\|$\\)" "$" "\\(\\(?:global\\|long\\|private\\|string\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\<\\>\\)" mapcar #[#6=(elt) "\211\301\230\203 \302\202\303\304P!B\207" [elt #7="extern" inextern-lang intern #8="in"] 4] "\\(\\(?:function\\|probe\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|c\\(?:\\(?:as\\|ontinu\\)e\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\)\\|else\\|for\\(?:each\\)?\\|if\\|next\\|return\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|c\\(?:\\(?:as\\|ontinu\\)e\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\)\\|else\\|f\\(?:or\\(?:each\\)?\\|unction\\)\\|if\\|next\\|probe\\|return\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:do\\|else\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:else\\|for\\(?:each\\)?\\|if\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:do\\|else\\|for\\(?:each\\)?\\|if\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|continue\\|delete\\|next\\|return\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:for\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:case\\|default\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|c\\(?:\\(?:as\\|ontinu\\)e\\)\\|d\\(?:e\\(?:fault\\|lete\\)\\|o\\)\\|else\\|f\\(?:or\\(?:each\\)?\\|unction\\)\\|global\\|if\\|long\\|next\\|pr\\(?:\\(?:ivat\\|ob\\)e\\)\\|return\\|string\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" ((#4="private" c-type-start-kwds c-primitive-type-kwds) (#3="global" c-type-start-kwds c-primitive-type-kwds) (#2="long" c-type-start-kwds c-primitive-type-kwds) (#1="string" c-type-start-kwds c-primitive-type-kwds) ("default" c-label-kwds) ("case" c-label-kwds) ("while" c-block-stmt-2-kwds c-block-stmt-kwds) ("if" c-block-stmt-2-kwds c-block-stmt-kwds) ("foreach" 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-2-kwds c-block-stmt-kwds c-block-stmt-1-kwds) ("do" c-block-stmt-kwds c-block-stmt-1-kwds) ("return" c-simple-stmt-kwds) ("next" c-simple-stmt-kwds) ("delete" c-simple-stmt-kwds) ("continue" c-simple-stmt-kwds) ("break" c-simple-stmt-kwds) ("function" c-prefix-spec-kwds c-modifier-kwds) ("probe" c-prefix-spec-kwds c-modifier-kwds)) make-vector 2 0 setplist apply nconc #[#9=(lang-const) "\301D\207" [lang-const t] 2] "\\(\\(\\<\\>\\)\\|\\(?:\\+\\+\\|--\\|[(+-]\\)\\)\\|[[:alpha:]_]\\|\\.?[0-9]\\|[!~]\\|\\s\"\\|\\s|" "\\([{}();,]+\\)" (40) "^!-#%-/:-@[-^`{-~" "\\((\\)" "{" "\\({\\)\\|[;,]" boundp #10="font-lock-extra-types" #[#11=(re) "\301\302\"\205 C\207" [re string-match #12="[][.*+?^$\\]"] 3] #[#13=(re) "\301\302\"?\205\nC\207" [re string-match #14="[][.*+?^$\\]"] 3] #15="\\<\\(" c-concat-separated append c-make-keywords-re (#1# #2# #3# #4#) #16="\\|" #17="\\)\\>" "\\([{};]+\\)" "\\(\\(?:break\\|continue\\|d\\(?:elete\\|o\\)\\|else\\|f\\(?:or\\(?:each\\)?\\|unction\\)\\|global\\|if\\|long\\|next\\|pr\\(?:\\(?:ivat\\|ob\\)e\\)\\|return\\|string\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" t ((comment-start (c-lang-const comment-start)) (comment-end (c-lang-const comment-end)) (comment-start-skip (c-lang-const comment-start-skip)) (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 (c-lang-const c++-make-template-syntax-table))) nil) (c-no-parens-syntax-table (funcall (c-lang-const c-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 #5#))) (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-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-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-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-nonsymbol-token-regexp (c-lang-const c-nonsymbol-token-regexp) nil) (c-assignment-op-regexp (c-lang-const c-assignment-op-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-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-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-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-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-primitive-type-key (c-lang-const c-primitive-type-key) nil) (c-typedef-key (c-lang-const c-typedef-key) nil) (c-type-prefix-key (c-lang-const c-type-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-class-key (c-lang-const c-class-key) nil) (c-brace-list-key (c-lang-const c-brace-list-key) nil) (c-other-decl-block-key (c-lang-const c-other-decl-block-key) nil) (c-other-decl-block-key-in-symbols-alist (mapcar (lambda #6# (cons elt (if (string= elt #7#) 'inextern-lang (intern (concat #8# 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-opt-block-decls-with-vars-key (c-lang-const c-opt-block-decls-with-vars-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-opt-<>-sexp-key (c-lang-const c-opt-<>-sexp-key) nil) (c-block-stmt-1-key (c-lang-const c-block-stmt-1-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-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 #9# (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-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-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 #10#)) (c-mode-var "font-lock-extra-types"))) (regexp-strings (apply 'nconc (mapcar (lambda #11# (when (string-match #12# re) (list re))) extra-types))) (plain-strings (apply 'nconc (mapcar (lambda #13# (unless (string-match #14# re) (list re))) extra-types)))) (concat #15# (c-concat-separated (append (list (c-make-keywords-re nil (append (c-lang-const c-primitive-type-kwds) plain-strings))) regexp-strings) #16#) #17#)) 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-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-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)) eval] 9) ((error (byte-code "\203\304\305 \203\306\307\310\311\n$\202\312 $\210\202\"\313 @ A\"\210\304\207" [current-var source-eval c-version err 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)" systemtap-mode "5.32.4" #18# signal] 8))) c-common-init easy-menu-add run-mode-hooks c-mode-common-hook c-update-modeline systemtap-mode-hook local-abbrev-table source-eval current-var c-buffer-is-cc-mode systemtap-menu] 3 (#$ . 9856) nil]) (provide 'systemtap-mode)