%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/ |
Current File : //usr/local/share/emacs/27.2/lisp/progmodes/octave.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306\307\306\310\306\311\312\313&\210\314\315\316\304#\210\317\315\316\320#\210\321\322\304\323#\207" [require comint custom-declare-group octave nil "Editing Octave code." :link (custom-manual "(octave-mode)Top") (url-link "https://www.gnu.org/s/octave") (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group languages defalias octave-submit-bug-report report-emacs-bug make-obsolete "24.4" define-abbrev-table octave-abbrev-table "Abbrev table for Octave's reserved words.\nUsed in `octave-mode' and `inferior-octave-mode' buffers."] 12) #@39 Character to start an Octave comment. (defvar octave-comment-char 35 (#$ . 1008)) #@46 Octave-specific `comment-start' (which see). (defvar octave-comment-start (char-to-string octave-comment-char) (#$ . 1096)) #@51 Octave-specific `comment-start-skip' (which see). (defvar octave-comment-start-skip "\\(^\\|\\S<\\)\\(?:%!\\|\\s<+\\)\\s-*" (#$ . 1226)) #@136 Regexp to match an Octave function header. The string `function' and its name are given by the first and third parenthetical grouping. (defvar octave-function-header-regexp "^\\s-*\\_<\\(function\\)\\_>\\([^=;(\n]*=[ ]*\\|[ ]*\\)\\(\\(?:\\w\\|\\s_\\)+\\)\\_>" (#$ . 1370)) #@29 Keymap used in Octave mode. (defvar octave-mode-map (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\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\323#\210\301\325\326#\210\301\327\330#\210\301\331\332#\210\301\333\334#\210\301\335\336#\210\301\337\340#\210\301\341\342#\210\301\343\344#\210\301\345\346#\210\301\347\350#\210\301\351\352#\210\301\353\354#\210\301\355\356#\210\301\357\340#\210\301\360\342#\210\301\361\344#\210\301\362\346#\210\301\363\350#\210\301\364\352#\210\301\365\354#\210\301\366\356#\210\211\207" [make-sparse-keymap define-key "\256" octave-find-definition "\212" octave-indent-new-comment-line "" octave-previous-code-line "" octave-next-code-line "" octave-beginning-of-line "" octave-end-of-line [remap down-list] smie-down-list "\210" octave-mark-block "]" smie-close-block "/" ";" octave-update-function-file-comment "d" octave-help "a" octave-lookfor "\f" octave-source-file "" octave-insert-defun " l" octave-send-line " b" octave-send-block " f" octave-send-defun " r" octave-send-region " a" octave-send-buffer " s" octave-show-process-buffer " q" octave-hide-process-buffer " k" octave-kill-process " \f" " " " " " " " " " " " " " "] 5) (#$ . 1651)) #@23 Menu for Octave mode. (defvar octave-mode-menu nil (#$ . 2998)) (easy-menu-do-define 'octave-mode-menu octave-mode-map "Menu for Octave mode." '("Octave" ["Split Line at Point" octave-indent-new-comment-line t] ["Previous Code Line" octave-previous-code-line t] ["Next Code Line" octave-next-code-line t] ["Begin of Line" octave-beginning-of-line t] ["End of Line" octave-end-of-line t] ["Mark Block" octave-mark-block t] ["Close Block" smie-close-block t] "---" ["Start Octave Process" run-octave t] ["Documentation Lookup" info-lookup-symbol t] ["Help on Function" octave-help t] ["Search help" octave-lookfor t] ["Find Function Definition" octave-find-definition t] ["Insert Function" octave-insert-defun t] ["Update Function File Comment" octave-update-function-file-comment t] "---" ["Function Syntax Hints" (eldoc-mode 'toggle) :style toggle :selected (bound-and-true-p eldoc-mode) :help "Display function signatures after typing `SPC' or `('"] ["Delimiter Matching" show-paren-mode :style toggle :selected show-paren-mode :help "Highlight matched pairs such as `if ... end'" :visible (fboundp 'smie--matching-block-data)] ["Auto Fill" auto-fill-mode :style toggle :selected auto-fill-function :help "Automatic line breaking"] ["Electric Layout" electric-layout-mode :style toggle :selected electric-layout-mode :help "Automatically insert newlines around some chars"] "---" ("Debug" ["Send Current Line" octave-send-line t] ["Send Current Block" octave-send-block t] ["Send Current Function" octave-send-defun t] ["Send Region" octave-send-region t] ["Send Buffer" octave-send-buffer t] ["Source Current File" octave-source-file t] ["Show Process Buffer" octave-show-process-buffer t] ["Hide Process Buffer" octave-hide-process-buffer t] ["Kill Process" octave-kill-process t]) "---" ["Octave Mode Manual" (info "(octave-mode)Top") t] ["Customize Octave" (customize-group 'octave) t] ["Submit Bug Report" report-emacs-bug t])) #@47 Syntax table in use in `octave-mode' buffers. (defvar octave-mode-syntax-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\305#\210\301\307\305#\210\301\310\305#\210\301\311\305#\210\301\312\305#\210\301\313\305#\210\301\314\305#\210\301\315\305#\210\301\316\305#\210\301\317\305#\210\301\320\305#\210\301\321\305#\210\301\322\305#\210\301\323\324#\210\301\325\326#\210\301\327\330#\210\301\331\330#\210\301\332\333#\210\301\334\335#\210\301\336\337#\210\211\207" [make-syntax-table modify-syntax-entry 13 " " 43 "." 45 61 42 47 62 60 38 124 33 92 39 96 46 34 "\"" 95 "_" 37 "< 13" 35 123 "(} 2c" 125 "){ 4c" 10 ">"] 5) (#$ . 4938)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307%\210\300\315\302\303\316DD\317\306\320%\210\321\315\322\323#\207" [custom-declare-variable octave-font-lock-texinfo-comment funcall function #[0 "\300\207" [t] 1] "Control whether to highlight the texinfo comment block." :type boolean :version "24.4" octave-blink-matching-block #[0 "\300\207" [t] 1] "Control the blinking of matching Octave block keywords.\nNon-nil means show matching begin of block when inserting a space,\nnewline or semicolon after an else or end keyword." octave-block-offset #[0 "\300\207" [2] 1] "Extra indentation applied to statements in Octave block structures." integer put safe-local-variable integerp] 8) #@66 String to insert to start a new Octave comment on an empty line. (defvar octave-block-comment-start (byte-code "\301\302\"\303P\207" [octave-comment-char make-string 2 " "] 3) (#$ . 6346)) (byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable octave-continuation-offset funcall function #[0 "\300\207" [4] 1] "Extra indentation applied to Octave continuation lines." :type integer] 6) (defconst octave-continuation-marker-regexp "\\\\\\|\\.\\.\\.") (defvar octave-continuation-regexp (concat "[^#%\n]*\\(" octave-continuation-marker-regexp "\\)\\s-*\\(\\s<.*\\)?$")) #@54 Character string used for Octave continuation lines. (defconst octave-continuation-string "..." (#$ . 6944)) #@68 Imenu expression for Octave mode. See `imenu-generic-expression'. (defvar octave-mode-imenu-generic-expression (byte-code "\301\302EC\207" [octave-function-header-regexp nil 3] 3) (#$ . 7059)) (byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\210\300\314\302\303\315DD\316\306\313%\210\300\317\302\303\320DD\321\306\313%\210\322\323!\207" [custom-declare-variable octave-mode-hook funcall function #[0 "\300\207" [nil] 1] "Hook to be run when Octave mode is started." :type hook octave-send-show-buffer #[0 "\300\207" [t] 1] "Non-nil means display `inferior-octave-buffer' after sending to it." boolean octave-send-line-auto-forward #[0 "\300\207" [t] 1] "Control auto-forward after sending to the inferior Octave process.\nNon-nil means always go to the next Octave code line after sending." octave-send-echo-input #[0 "\300\207" [t] 1] "Non-nil means echo input sent to the inferior Octave process." require smie] 6) (defconst octave-smie-grammar '((:smie-closer-alist (#22="do" . #23="until") (#1="try" . #24="end_try_catch") (#1# . #21="catch") (#2="unwind_protect" . #25="end_unwind_protect") (#2# . #20="unwind_protect_cleanup") (#5="for" . #26="endfor") (#6="parfor" . #27="endparfor") (#7="while" . #28="endwhile") (#8="if" . "endif") ("if" . #19="else") ("if" . #18="elseif") (#3="switch" . "endswitch") (#3# . #17="case") ("switch" . #16="otherwise") (#9="function" . #29="endfunction") (#10="enumeration" . #30="endenumeration") (#11="events" . #31="endevents") (#12="methods" . #32="endmethods") (#13="properties" . #33="endproperties") (#14="classdef" . #34="endclassdef") (#15="spmd" . #35="endspmd") (#1# . #4="end") (#2# . #4#) (#5# . #4#) (#6# . #4#) (#7# . #4#) (#8# . #4#) (#3# . #4#) (#9# . #4#) (#10# . #4#) (#11# . #4#) (#12# . #4#) (#13# . #4#) (#14# . #4#) (#15# . #4#)) ("..." 229 229) (".**" 215 201) (".^" 216 202) ("**" 217 203) ("^" 218 204) ("~" 183 184) ("!" 185 186) ("--" 187 188) ("++" 189 190) (".'" 169 170) ("'" 171 172) ("./" 158 158) (".*" 158 158) (".\\" 158 158) ("\\" 158 158) ("/" 158 158) ("*" 158 158) ("-" 147 147) ("+" 147 147) (":" 135 136) ("~=" 111 112) ("!=" 113 114) (">" 115 116) (">=" 117 118) ("==" 119 120) ("<=" 121 122) ("<" 123 124) ("|" 100 100) ("&" 89 89) ("||" 78 78) ("&&" 67 67) ("/=" 52 37) ("*=" 53 38) ("-=" 54 39) ("+=" 55 40) ("," 23 23) (#16# 0 0) (#17# 0 0) (#18# 0 0) (#19# 0 0) (#20# 0 0) (#21# 0 0) (#22# (230) 1) (#5# (231) 0) (#6# (232) 0) (#7# (233) 0) ("if" (234) 0) ("switch" (235) 0) (#9# (236) 0) (#10# (237) 0) (#11# (238) 0) (#12# (239) 0) (#13# (240) 0) (#14# (241) 0) (#15# (242) 0) ("try" (243) 0) ("unwind_protect" (244) 0) (";" 12 12) (#23# 1 26) (#24# 0 (245)) (#25# 0 (246)) (#26# 0 (247)) (#27# 0 (248)) (#28# 0 (249)) ("endif" 0 (250)) ("endswitch" 0 (251)) (#29# 0 (252)) (#30# 0 (253)) (#31# 0 (254)) (#32# 0 (255)) (#33# 0 (256)) (#34# 0 (257)) (#35# 0 (258)) ("global" (259) 25) ("persistent" (260) 24) ("break" 261 262) ("continue" 263 264) ("return" 265 266) ("end" 0 (267)) ("\n" 12 12) ("=" 56 41))) (defconst octave-operator-regexp "\\(?:!=\\|&&\\|\\*[*=]\\|\\+[+=]\\|-[=-]\\|\\.\\(?:\\*\\*\\|\\.\\.\\|['*/\\^]\\)\\|/=\\|<=\\|==\\|>=\\|||\\|~=\\|[!&'*+,/:->\\|~^-]\\)") #@65 Return non-nil if we're in an expression context. Moves point. (defalias 'octave-smie--funcall-p #[0 "\300\301!\207" [looking-at "[ ]*("] 2 (#$ . 10276)]) (defalias 'octave-smie--end-index-p #[0 "\300 \211A@\205 \211A@f\301>\207" [syntax-ppss (40 91 123)] 3]) (defalias 'octave-smie--in-parens-p #[0 "\300 \211A@\205 \211A@f\301=\207" [syntax-ppss 40] 3]) (defalias 'octave-smie-backward-token #[0 "`\302`[!\210`Sf\303=\2047 \211\304 V\2037 \305`\306Z\"\203* \307\224b\210\302`[!\210\2027 \310 \2047 \311\312w\210\313\202} \305 `\306Z\314#\203S \305\315`S\"\204S \307\224b\210\316\307!\202} \317 \211\320\267\202z \212\321 \210\322 )\203i \323\202{ \211\202{ \324 \203v \325\202{ \211\202{ \211\262\207" [octave-continuation-marker-regexp octave-operator-regexp forward-comment 59 line-end-position looking-back 3 0 octave-smie--in-parens-p " " nil ";" greedy "\\s\"" match-string-no-properties smie-default-backward-token #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("enumeration" 91 "end" 109)) smie-default-forward-token octave-smie--funcall-p "enumeration (function)" octave-smie--end-index-p "end (index)"] 5]) (defalias 'octave-smie-forward-token #[0 "\301\302w\210\303\304!\203 \305\225b\210\306\305!\210\303\307!\203? \212\301\302x\210n\206&