%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/
Upload File :
Create Path :
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&`Sf\310=)\204?\311 \204?l\2039\305u\210\202=\306\305!\210\312\207\306d!\210\303\313!\203S\305\224b\210\306\305!\210\312\207\303!\203g\303\314!\204g\315\225b\210\316\315!\207\317 \211\320\267\202\211\321 \203x\322\202\212\211\202\212\323 \203\205\324\202\212\211\202\212\211\207" [octave-operator-regexp " 	" nil looking-at "\\(\\\\\\|\\.\\.\\.\\)[ 	]*\\($\\|[%#]\\)" 1 forward-comment "[%#\n]" 59 octave-smie--in-parens-p ";" ";[ 	]*\\($\\|[%#]\\)" "\\s\"" 0 match-string-no-properties smie-default-forward-token #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("enumeration" 111 "end" 124)) octave-smie--funcall-p "enumeration (function)" octave-smie--end-index-p "end (index)"] 3])
(defconst octave--block-offset-keywords (byte-code "\301\302\"A@\303\304\305\306\307\310\311\312!\313\"\314\315%\"\"\316\317\"\207" [octave-smie-grammar assoc "end" delq nil mapcar make-byte-code 257 "\300\3018=\205\n\211@\207" vconcat vector [2] 4 "\n\n(fn X)" delete "switch"] 10))
#@19 

(fn KIND TOKEN)
(defalias 'octave-smie-rules #[514 "B\302\303\304\232\203\202r:\203a@\211\305=\203KA\211\306\235\203(\307\202F\310\267\202E\311 ?\205F\202F\312\313	\"\205F\314!\202F\315\262\202\\\316\267\202[ \202\\ \202\\\315\262\202r\317\267\202q\211 \202r \202r\315\207" [octave-block-offset octave--block-offset-keywords #[0 "\302\303\"\205\n\304	!\207" [octave--block-offset-keywords octave-block-offset apply smie-rule-parent-p smie-rule-parent] 3] #[0 "\301 ?\205\207" [octave-block-offset smie-rule-sibling-p] 1] (:elem . basic) :list-intro ("persistent" "global") t #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1=(:before . "case") 46 #2=(:after . ";") 56)) smie-rule-sibling-p apply smie-rule-parent-p smie-rule-parent nil #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1# 81 #2# 86)) #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (#1# 103 #2# 108))] 10 (#$ . 12614)])
#@53 A function for `smie-indent-functions' (which see).
(defalias 'octave-indent-comment #[0 "\212\301 \210\302 \203
\303\2028\304\305\306!)\262\203\307\2028\310\305\306!)\262\2058\311\305\306!)\262?\2058\312 )\207" [inhibit-changing-match-data back-to-indentation octave-in-string-or-comment-p nil "\\(\\s<\\)\\1\\{2,\\}" t looking-at 0 "\\s<\\(?:[^{}!]\\|$\\)" "\\(\\s<\\)\\1" comment-choose-indent] 3 (#$ . 13673)])
#@27 Reserved words in Octave.
(defvar octave-reserved-words (byte-code "\301\302\303\304\"\"\207" [octave-smie-grammar delq nil mapcar #[257 "\211@\262\211;\205\300\301\"\205\211\207" [string-match "\\`[[:alpha:]]"] 4 "\n\n(fn X)"]] 5) (#$ . 14110))
#@45 Additional Octave expressions to highlight.
(defvar octave-font-lock-keywords (byte-code "\303\304!\305Q\306B\307C	\310B\n\311\312EF\207" [octave-reserved-words octave-operator-regexp octave-function-header-regexp "\\_<" regexp-opt "\\_>" font-lock-keyword-face #[257 "\300\301\302#\203,\303\224\303\225\304 \204'\305\225\203\306 \202\307 \203'\310\311\312$\210\266\202\312\207" [re-search-forward "\\_<en\\(?:d\\|umeratio\\(n\\)\\)\\_>" move 0 octave-in-string-or-comment-p 1 octave-smie--funcall-p octave-smie--end-index-p put-text-property face nil] 8 "\n\n(fn LIMIT)"] font-lock-builtin-face (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)] 6) (#$ . 14369))
#@18 

(fn START END)
(defalias 'octave-syntax-propertize-function #[514 "b\210\300!\210`b\210`W\205t\301\302\303#\205t\304\224\203P\305\306!\211A\307\233\241\210\310!\266\311\224\311\225\312\212\313\311\224!)8\314=\205@\315\211\203K\316\317$\210\266\202\f\320\224\203\f\305\306!\211A\307\233\241\210\310!\266\316\304\224\304\225\317\321$\210\300!\210\202\f\207" [octave-syntax-propertize-sqs re-search-forward "\\(\\\\\\)\\|\\(?:^\\|[[({,; ]\\)\\('\\)" t 1 match-data ints 4 set-match-data 0 3 syntax-ppss 34 (9) put-text-property syntax-table 2 (7 . 39)] 12 (#$ . 15069)])
#@63 Propertize the content/end of single-quote strings.

(fn END)
(defalias 'octave-syntax-propertize-sqs #[257 "\300\301 8\302=\2054\303\304\305#\2054\306\224b\210\307\224\206`Sf\310=\203,\311\307\224S\307\224\312\313$\210\311\307\224\307\225\312\314$\207" [3 syntax-ppss 39 re-search-forward "\\(?:\\=\\|[^']\\)\\(?:''\\)*\\('\\)\\($\\|[^']\\)" move 2 1 92 put-text-property syntax-table (1) (7 . 39)] 6 (#$ . 15670)])
#@71 Select `octave-mode' if the current buffer seems to hold Octave code.
(defalias 'octave-maybe-mode #[0 "\212\302 p\303\304\305\306\307\"\310\"\311$\216\312!\210eb\210\313d!\210\314\315!)\266\202)\203+\316 \207\317\320	\"\211\205;\321	\"\322 )\207" [octave-mode-syntax-table auto-mode-alist syntax-table make-byte-code 0 "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table forward-comment looking-at "function" octave-mode rassq octave-maybe-mode remove set-auto-mode] 9 (#$ . 16099)])
(defvar octave-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [octave-mode-hook variable-documentation put "Hook run after entering Octave mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp octave-mode-map definition-name octave-mode] 4)
(defvar octave-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#\210\302\310\316\317#\207" [octave-mode-map variable-documentation put purecopy "Keymap for `octave-mode'." boundp octave-mode-syntax-table definition-name octave-mode (lambda (#1=#:def-tmp-var) (defvar octave-mode-syntax-table #1#)) make-syntax-table "Syntax table for `octave-mode'." derived-mode-parent prog-mode custom-mode-group octave] 5)
#@567 Major mode for editing Octave code.

Octave is a high-level language, primarily intended for numerical
computations.  It provides a convenient command line interface
for solving linear and nonlinear problems numerically.  Function
definitions can also be stored in files and used in batch mode.

See Info node `(octave-mode) Using Octave Mode' for more details.

Key bindings:
\{octave-mode-map}

In addition to any hooks its parent mode `prog-mode' might have run,
this mode runs the hook `octave-mode-hook', as the final or penultimate step
during initialization.
(defalias 'octave-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
@\326A\327\330\331\332\333&\210\306\334!\210\335\336\337\340\341\307$\210\306\342!\210\343\"B\"B\204u\344\345\346\347#\210\306\350!\210\343(B(\306\351!\210\352)\306\353!\210\307+\306\354!\210C,\306\355!\210\356-\306\357!\210D/\306\360!\210\3610\306\362!\210\3072\306\363!\210\364EP3\306\365!\21035\306\366!\210\3076\306\367!\210\3707\306\371!\210\3729\373\374\375\376B\377\341$\210\201OF\306\201G!\210\201PG\306\201I!\210HI\306\201J!\210\341J\306\201K!\210\201QK\336\201R\201S\341\307$\210\336\201T\201U\341\307$\210\306\201L!\210\201VLM\203;\201M \210\373\201W\201X\201YB\201Z\341$\210\201[N!\210)\201\\\201]!\207" [delay-mode-hooks major-mode mode-name octave-mode-map octave-mode-syntax-table octave-abbrev-table make-local-variable t prog-mode octave-mode "Octave" 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 smie-setup octave-smie-rules :forward-token octave-smie-forward-token :backward-token octave-smie-backward-token smie-indent-basic octave-block-offset add-hook smie-indent-functions octave-indent-comment nil smie-blink-matching-triggers 59 remove-hook post-self-insert-hook smie-blink-matching-open local electric-indent-chars electric-layout-rules ((59 . after)) comment-use-syntax comment-start comment-end "" comment-start-skip comment-add 1 parse-sexp-ignore-comments paragraph-start "\\s-*$\\|" paragraph-separate paragraph-ignore-fill-prefix fill-paragraph-function octave-fill-paragraph fill-nobreak-predicate #[0 "\300 \301=\207" [octave-in-string-p 39] 2] advice--add-function :around #[0 "\300\301!\207" [advice--buffer-local comment-line-break-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local comment-line-break-function] 4 "\n\n(fn GV--VAL)"] octave--indent-new-comment-line local-abbrev-table octave-smie-grammar octave-blink-matching-block octave-comment-start octave-comment-start-skip page-delimiter font-lock-defaults syntax-propertize-function octave-mode-imenu-generic-expression imenu-generic-expression imenu-case-fold-search add-log-current-defun-function beginning-of-defun-function octave-font-lock-texinfo-comment octave-mode-menu (octave-font-lock-keywords) octave-syntax-propertize-function octave-add-log-current-defun completion-at-point-functions octave-completion-at-point before-save-hook octave-sync-function-file-names octave-beginning-of-defun :before-until #[0 "\300\301!\207" [advice--buffer-local eldoc-documentation-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local eldoc-documentation-function] 4 "\n\n(fn GV--VAL)"] octave-eldoc-function easy-menu-add run-mode-hooks octave-mode-hook] 7 (#$ . 17571) nil])
(byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\307%\210\300\313\302\303\314DD\315\306\316%\210\300\317\302\303\320DD\321\306\322\323\324&\210\300\325\302\303\326DD\327\306\330\323\324&\210\300\331\302\303\332DD\333\306\334\323\324&\210\335\336\337\340#\210\341\211\203y\211@\336N\203r\337N\204r\342\337\336N#\210A\266\202\202X\210\343\336\337\324#\210\300\337\302\303\344DD\345\306\346%\210\300\347\302\303\350DD\351\323\324\306\352&\207" [custom-declare-variable inferior-octave-program funcall function #[0 "\300\207" [#1="octave"] 1 #1#] "Program invoked by `inferior-octave'." :type string inferior-octave-buffer #[0 "\300\207" [#2="*Inferior Octave*"] 1 #2#] "Name of buffer for running an inferior Octave process." inferior-octave-prompt #[0 "\300\207" [#3="\\(?:^octave\\(?:.bin\\|.exe\\)?\\(?:-[.0-9]+\\)?\\(?::[0-9]+\\)?\\|^debug\\|^\\)>+ "] 1 #3#] "Regexp to match prompts for the inferior Octave process." regexp inferior-octave-prompt-read-only #[0 "\207" [comint-prompt-read-only] 1] "If non-nil, the Octave prompt is read only.\nSee `comint-prompt-read-only' for details." boolean :version "24.4" inferior-octave-startup-file #[0 "\301!\302\303\304\"\303\305\"\"\207" [inferior-octave-program file-name-nondirectory locate-user-emacs-file format "init_%s.m" ".emacs-%s"] 6] "Name of the inferior Octave startup file.\nThe contents of this file are sent to the inferior Octave process on\nstartup." (choice (const :tag "None" nil) file) inferior-octave-startup-args #[0 "\300\207" [("-i" "--no-line-editing")] 1] "List of command line arguments for the inferior Octave process.\nFor example, for suppressing the startup message and using `traditional'\nmode, include \"-q\" and \"--traditional\"." (repeat string) defvaralias inferior-octave-startup-hook inferior-octave-mode-hook nil (saved-value saved-variable-comment) put make-obsolete-variable #[0 "\300\207" [nil] 1] "Hook to be run when Inferior Octave mode is started." hook inferior-octave-error-regexp-alist #[0 "\300\207" [(("error:\\s-*\\(.*?\\) at line \\([0-9]+\\), column \\([0-9]+\\)" 1 2 3 2 1) ("warning:\\s-*\\([^:\n]+\\):.*at line \\([0-9]+\\), column \\([0-9]+\\)" 1 2 3 1 1))] 1] "Value for `compilation-error-regexp-alist' in inferior octave." (repeat (choice (symbol :tag "Predefined symbol") (sexp :tag "Error specification")))] 8)
#@69 Value for `compilation-mode-font-lock-keywords' in inferior octave.
(defvar inferior-octave-compilation-font-lock-keywords '(("\\_<PASS\\_>" . compilation-info-face) ("\\_<FAIL\\_>" . compilation-error-face) ("\\_<\\(warning\\):" 1 compilation-warning-face) ("\\_<\\(error\\):" 1 compilation-error-face) ("^\\s-*!!!!!.*\\|^.*failed$" . compilation-error-face)) (#$ . 23497))
(defvar inferior-octave-process nil)
#@38 Keymap used in Inferior Octave mode.
(defvar inferior-octave-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\211\207" [comint-mode-map make-sparse-keymap set-keymap-parent define-key "\256" octave-find-definition "	" completion-at-point "d" octave-help "a" octave-lookfor "\277" comint-dynamic-list-filename-completions "\f" inferior-octave-dynamic-list-input-ring [menu-bar inout list-history] ("List Input History" . inferior-octave-dynamic-list-input-ring)] 5) (#$ . 23915))
#@56 Syntax table in use in `inferior-octave-mode' buffers.
(defvar inferior-octave-mode-syntax-table (byte-code "\301!\211\207" [octave-mode-syntax-table make-syntax-table] 2) (#$ . 24519))
#@62 Additional expressions to highlight in Inferior Octave mode.
(defvar inferior-octave-font-lock-keywords (byte-code "\301BC\207" [inferior-octave-prompt font-lock-type-face] 2) (#$ . 24712))
(defvar inferior-octave-output-list nil)
(defvar inferior-octave-output-string nil)
(defvar inferior-octave-receive-in-progress nil)
#@172 List of functions called to perform completion for inferior Octave.
This variable is used to initialize `comint-dynamic-complete-functions'
in the Inferior Octave buffer.
(defvar inferior-octave-dynamic-complete-functions '(inferior-octave-completion-at-point comint-filename-completion) (#$ . 25043))
(defalias 'inferior-octave-process-live-p #[0 "\301!\207" [inferior-octave-process process-live-p] 2])
(defvar inferior-octave-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [inferior-octave-mode-hook variable-documentation put "Hook run after entering Inferior Octave mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp inferior-octave-mode-map definition-name inferior-octave-mode] 4)
(defvar inferior-octave-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#\210\302\310\316\317#\207" [inferior-octave-mode-map variable-documentation put purecopy "Keymap for `inferior-octave-mode'." boundp inferior-octave-mode-syntax-table definition-name inferior-octave-mode (lambda (#1=#:def-tmp-var) (defvar inferior-octave-mode-syntax-table #1#)) make-syntax-table "Syntax table for `inferior-octave-mode'." derived-mode-parent comint-mode custom-mode-group octave] 5)
#@367 Major mode for interacting with an inferior Octave process.

See Info node `(octave-mode) Running Octave from Within Emacs' for more
details.

Key bindings:
\{inferior-octave-mode-map}

In addition to any hooks its parent mode `comint-mode' might have run,
this mode runs the hook `inferior-octave-mode-hook', as the final or penultimate step
during initialization.
(defalias 'inferior-octave-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
9:;\306\326!\210\307\306\327!\210<\306\330!\210\331\332=\306\333!\210>\334?\306\335!\210\336\306\337!\210\340\306\341!\210\342\343!\206\210\344!\306\345!\210\346\342\347!\206\226\350!%\351\307!\210\306\352!\210@*\306\353!\210A+\354\355\356\357\307$\210\354\360\361\357\307$\210\306\362!\210B2\306\363!\210C3\364\365!\210\366 \210)\367\370!\207" [delay-mode-hooks major-mode mode-name inferior-octave-mode-map inferior-octave-mode-syntax-table octave-abbrev-table make-local-variable t comint-mode inferior-octave-mode "Inferior Octave" 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 comment-use-syntax comment-start comment-end "" 32 comment-start-skip (inferior-octave-font-lock-keywords nil nil) info-lookup-mode octave-mode eldoc-documentation-function octave-eldoc-function comint-input-ring-file-name getenv "OCTAVE_HISTFILE" "~/.octave_hist" comint-input-ring-size string-to-number "OCTAVE_HISTSIZE" "1024" comint-read-input-ring comint-dynamic-complete-functions comint-prompt-read-only add-hook comint-input-filter-functions inferior-octave-directory-tracker nil window-configuration-change-hook inferior-octave-track-window-width-change compilation-error-regexp-alist compilation-mode-font-lock-keywords compilation-shell-minor-mode 1 compilation-forget-errors run-mode-hooks inferior-octave-mode-hook local-abbrev-table inferior-octave-prompt comint-prompt-regexp octave-comment-start comment-column octave-comment-start-skip font-lock-defaults inferior-octave-dynamic-complete-functions inferior-octave-prompt-read-only inferior-octave-error-regexp-alist inferior-octave-compilation-font-lock-keywords] 5 (#$ . 26509) nil])
#@521 Run an inferior Octave process, I/O via `inferior-octave-buffer'.
This buffer is put in Inferior Octave mode.  See `inferior-octave-mode'.

Unless ARG is non-nil, switches to this buffer.

The elements of the list `inferior-octave-startup-args' are sent as
command line arguments to the inferior Octave process on startup.

Additional commands to be executed on startup can be provided either in
the file specified by `inferior-octave-startup-file' or by the default
startup file, `~/.emacs-octave'.

(fn &optional ARG)
(defalias 'inferior-octave #[256 "\301!\204\302!\210\303!\204r\211q\210\304 \210\305 \210)\211\207" [inferior-octave-buffer get-buffer-create pop-to-buffer comint-check-proc inferior-octave-startup inferior-octave-mode] 4 (#$ . 28891) "P"])
(defalias 'run-octave 'inferior-octave)
#@35 Start an inferior Octave process.
(defalias 'inferior-octave-startup #[0 "\306\307\310\311#	\312\n\313\n\235?\205 \314	\315\211\211\313\316&\317U\205 \320\"$\321\322\"\210\211\315\211\32344\203W\324 \204P\f\203K\325\326\327\f\330#\330P\331!\"\210\332\333\"\210\334!\210\2020db\210\331!`\315\223\210\335o?\205h\336\f\205s\326\327\f\330#\330PP!\210\337\340C!\210\341\342\f@\"\203\210\337\343C!\210\337\344C!\210\345\346\f@\347\232?\205\232\f@#\210\337\350
\351\232?\205\246\3525\205\267\3535!\205\267\354\3555\"E!\210\f\203\306\335\326\327\f\330#!\210\321\356\"\210\3571\325\360 0\202\333\361\362\"\262\210\363\330\"\207" [inferior-octave-buffer inferior-octave-program inferior-octave-startup-args inferior-octave-process inferior-octave-output-list inferior-octave-output-string comint-exec-1 substring 1 -1 append "--no-gui" process-file nil "--help" 0 ("--no-gui") set-process-filter inferior-octave-output-digest t inferior-octave-process-live-p princ mapconcat identity "\n" process-mark error "Process `%s' died" accept-process-output insert-before-markers "\f\n" inferior-octave-send-list-and-digest "PS2\n" string-match "\\(PS2\\|ans\\) = *$" "PS2 ('> ');\n" "disp (getenv ('OCTAVE_SRCDIR'))\n" process-put octave-srcdir "" "more off;\n" ">> " "PS1 ('octave> ');\n" file-exists-p format "source ('%s');\n" comint-output-filter (debug error) inferior-octave-resync-dirs message "Error: %S" comint-send-string inferior-octave-receive-in-progress inferior-octave-startup-file] 14 (#$ . 29706)])
(defalias 'inferior-octave-completion-table #[0 "\300\301!\207" [completion-table-with-cache #[257 "\301\302\303\"C!\210\304\305\306\"!\207" [inferior-octave-output-list inferior-octave-send-list-and-digest format "completion_matches ('%s');\n" delete-consecutive-dups sort string-lessp] 5 "\n\n(fn COMMAND)"]] 2])
#@57 Return the data to complete the Octave symbol at point.
(defalias 'inferior-octave-completion-at-point #[0 "\301\302 \206\303\304\305\306#)\266\203?\2054\212\307\310\311 \"\210`)`\2052\211V\2052\312\313 \314\"E\266\202\207" [inhibit-changing-match-data "/" comint--match-partial-filename "" nil t string-match skip-syntax-backward "w_" comint-line-beginning-position completion-table-in-turn inferior-octave-completion-table comint-completion-file-name-table] 7 (#$ . 31565)])
#@51 List the buffer's input history in a help buffer.
(defalias 'inferior-octave-dynamic-list-input-ring #[0 "\306!\203\f\307!\203\310\311!\207\312\313\314!S\315 \316Y\203-\317\"B\262S\262\202	r\320!q\210p\321 \210\312\211\322\211\322\323 \210\324\325!\210+\211\326!\210q\210\327!\210)\266\310\330!\210\331 \211\332=\203q\333!\202x\211B\211\262\207" [comint-input-ring default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks ring-p ring-empty-p message "No history" nil " *Input History*" ring-length current-window-configuration 0 ring-ref get-buffer-create kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook display-completion-list internal-temp-output-buffer-show "Hit space to flush" read-event 32 set-window-configuration inhibit-read-only standard-output unread-command-events] 9 (#$ . 32061) nil])
#@192 Special output filter for the inferior Octave process.
Save all output between newlines into `inferior-octave-output-list', and
the rest to `inferior-octave-output-string'.

(fn PROC STRING)
(defalias 'inferior-octave-output-digest #[514 "P\262\304\305\"\203!\306	\307\310\211\224#C\"\307\310\225\"\262\202\304\n\"\203*\311\211\211\207" [inferior-octave-output-string inferior-octave-output-list inferior-octave-prompt inferior-octave-receive-in-progress string-match "\n" append substring 0 nil] 8 (#$ . 32971)])
(defalias 'inferior-octave-check-process #[0 "\300 \206\n\301\302\303!!\207" [inferior-octave-process-live-p error substitute-command-keys "No inferior octave process running. Type \\[run-octave]"] 3])
#@210 Send LIST to the inferior Octave process and digest the output.
The elements of LIST have to be strings and are sent one by one.  All
output is passed to the filter `inferior-octave-output-digest'.

(fn LIST)
(defalias 'inferior-octave-send-list-and-digest #[257 "\304 \210\305!\306\307\310\"\210\306\311\312\313\314\315\"\316\"\317$\216@\211\262\205A\306\320\321\"\210\203:\322!\210\202/A\262\202)\207" [inferior-octave-process inferior-octave-output-list inferior-octave-output-string inferior-octave-receive-in-progress inferior-octave-check-process process-filter nil set-process-filter inferior-octave-output-digest make-byte-code 0 "\302\300\301\"\207" vconcat vector [set-process-filter] 3 t comint-send-string accept-process-output] 11 (#$ . 33710)])
(defvar inferior-octave-directory-tracker-resync nil)
(make-variable-buffer-local 'inferior-octave-directory-tracker-resync)
#@143 Tracks `cd' commands issued to the inferior Octave process.
Use \[inferior-octave-resync-dirs] to resync if Emacs gets confused.

(fn STRING)
(defalias 'inferior-octave-directory-tracker #[257 "\203\f\301\302!\204\f\303\304\305\"\203\306\307!\207\304\310\"\2059\3111*\306\312\313\"!0\207\314\315\316\317!\312\313\"#\262\207" [inferior-octave-directory-tracker-resync inferior-octave-resync-dirs noerror nil string-match "^[ 	]*cd[ 	;]*$" cd "~" "^[ 	]*cd[ 	]+\\([^ 	\n;]*\\)[ 	\n;]*" (error) match-string 1 t message "%s: `%s'" error-message-string] 8 (#$ . 34624)])
#@208 Resync the buffer's idea of the current directory.
This command queries the inferior Octave process about its current
directory and makes this the current buffer's default directory.

(fn &optional NOERROR)
(defalias 'inferior-octave-resync-dirs #[256 "\301\302!\210\3031\304@!\210\3050\207?\205\306@A\"\207" [inferior-octave-output-list inferior-octave-send-list-and-digest ("disp (pwd ())\n") (error) cd t signal] 5 (#$ . 35214) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable inferior-octave-minimal-columns funcall function #[0 "\300\207" [80] 1] "The minimal column width for the inferior Octave process." :type integer :version "24.4"] 8)
(defvar inferior-octave-last-column-width nil)
(defalias 'inferior-octave-track-window-width-change #[0 "\302 ]	=?\205\303\301!\210\211\304 \205\305\306\307\"C!\207" [inferior-octave-minimal-columns inferior-octave-last-column-width window-width make-local-variable inferior-octave-process-live-p inferior-octave-send-list-and-digest format "putenv ('COLUMNS', '%s');\n"] 5])
#@54 Return non-nil if point is inside an Octave comment.
(defalias 'octave-in-comment-p #[0 "\300\301 8\207" [4 syntax-ppss] 2 (#$ . 36302)])
#@53 Return non-nil if point is inside an Octave string.
(defalias 'octave-in-string-p #[0 "\300\301 8\207" [3 syntax-ppss] 2 (#$ . 36446)])
#@64 Return non-nil if point is inside an Octave string or comment.
(defalias 'octave-in-string-or-comment-p #[0 "\300\301 8\207" [8 syntax-ppss] 2 (#$ . 36588)])
#@66 Like `looking-at', but sets `case-fold-search' nil.

(fn REGEXP)
(defalias 'octave-looking-at-kw #[257 "\301\302!)\207" [case-fold-search nil looking-at] 3 (#$ . 36752)])
(defalias 'octave-maybe-insert-continuation-string #[0 "\302 \206
\212\303 \210\304!)?\205\305 \210\306	Pc\207" [octave-continuation-regexp octave-continuation-string octave-in-comment-p beginning-of-line looking-at delete-horizontal-space " "] 2])
(defalias 'octave-completing-read #[0 "\300\301!\206\212\302\303!\210\300\301!)\304\305\203\306\202\307\"\310 \311\211\211\211&\207" [thing-at-point symbol skip-syntax-backward "-(" completing-read format "Function (default %s): " "Function: " inferior-octave-completion-table nil] 9])
#@65 Go to the function definition of FN in current buffer.

(fn FN)
(defalias 'octave-goto-function-definition #[257 "\302\205\303!\211\304\232\203\305\306#\202	\307#\262\207" [buffer-file-name octave-function-header-regexp #[771 "`\300eb\210\211\204&\301\300\302#\203&\303!\232\203\304\305 8\204\302\262\202\211\204-b\210\207" [nil re-search-forward t match-string 8 syntax-ppss] 9 "\n\n(fn FN RE SUB)"] file-name-extension "cc" "\\_<DEFUN\\(?:_DLD\\)?\\s-*(\\s-*\\(\\(?:\\sw\\|\\s_\\)+\\)" 1 3] 7 (#$ . 37481)])
#@112 Return non-nil if the first token is "function".
The value is (START END NAME-START NAME-END) of the function.
(defalias 'octave-function-file-p #[0 "\212eb\210 \302\232\205,\303\304!\210`\305\306!\210`b\210\307	\310#\205%\311\224\311\225DBB\266\203)\207" [smie-forward-token-function octave-function-header-regexp "function" forward-word-strictly -1 forward-sexp 1 re-search-forward t 3] 6 (#$ . 38025)])
#@14 

(fn LIMIT)
(defalias 'octave-skip-comment-forward #[257 "\301 \3028\203\3038b\210\202\304\305\"\206`b\210\210`W\2054\306\305\307!)\262\2054\310\311!\210\202\207" [inhibit-changing-match-data syntax-ppss 4 8 comment-search-forward t "\\s<" looking-at forward-comment 1] 5 (#$ . 38445)])
#@59 Beginning and end positions of the function file comment.
(defalias 'octave-function-file-comment #[0 "\212eb\210\212\302d\303\"\205&\304f\305=\203\306u\210\307\310!\210\303\311\303\312!)\262))\2031\313d!\210\202\302d\303\"\211\205C\211b\210\313d!\210\211`D\262)\207" [case-fold-search inhibit-changing-match-data comment-search-forward t nil 123 1 skip-syntax-forward "-" "\\(?:copyright\\|author\\)\\_>" looking-at octave-skip-comment-forward] 3 (#$ . 38756)])
#@93 Ensure function name agree with function file name.
See Info node `(octave)Function Files'.
(defalias 'octave-sync-function-file-names #[0 "\205\231\302 \211@A\211@A\211@A\211@A\n\211\205\225\205\225{\303\304!!\305\306#\211\232?\205Q\307 \310\311\312\313\314!\315\"\316$\216\317 \210\320\321\322\")\262\211\323\267\202\221\324\325\326\"P!\327!\203n\330\331\332\"!\205}\327!\203z\333\326#\210\334!\262\202\222\212b\210|\210c)\202\222\335)\266\203\266\204\266\211\207" [buffer-file-name help-form octave-function-file-p file-name-sans-extension file-name-nondirectory format-message "a: Use function name `%s'\nb: Use file name `%s'\nq: Don't fix\n" current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 help-form-show read-char-choice "Which name to use? (a/b/q) " (97 98 113) #s(hash-table size 2 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (97 87 98 130)) expand-file-name file-name-extension t file-exists-p yes-or-no-p format "Target file %s exists; proceed? " rename-file set-visited-file-name nil] 22 (#$ . 39237) nil])
#@70 Query replace function names in function file comment.

(fn BEG END)
(defalias 'octave-update-function-file-comment #[514 "\212\300 \206	\301\302!\211AA\203\303\304AA\"\202\301\305!b\210\306\307\310\311!^\312#\205-\313\314!\315\316\2037\317\2028\320\"\321\211$\203]\211\203]\232\204]\322\323\321\324\321\211

&	\202`\325\326!\266\204)\207" [octave-function-file-p error "Not in a function file buffer" apply buffer-substring "Function name not found" re-search-forward "[=}]\\s-*\\(\\(?:\\sw\\|\\s_\\)+\\)\\_>" line-end-position 4 t match-string 1 read-string format "Name to replace (default %s): " "Name to replace: " nil perform-replace query delimited message "Function names match"] 16 (#$ . 40385) (byte-code "\300 \210\301 \203\302 \303 D\207\304 \206\305\306!\207" [barf-if-buffer-read-only use-region-p region-beginning region-end octave-function-file-comment error "No function file comment found"] 2)])
(custom-declare-face 'octave-function-comment-block '((t (:inherit font-lock-doc-face))) "Face used to highlight function comment block.")
(defalias 'octave-font-lock-texinfo-comment #[0 "\300\301\302\303\304\305\306\307!\310\"\311\312%CC\313#\207" [(("@\\([a-zA-Z]+\\|[^ 	\n]\\)" 1 font-lock-keyword-face . #1=(prepend)) ("^\\*\\([^\n:]*\\)" 1 font-lock-function-name-face . #1#) ("@\\(emph\\|i\\|sc\\){\\([^}]+\\)" 2 'italic . #1#) ("@\\(strong\\|b\\){\\([^}]+\\)" 2 'bold . #1#) ("@\\(kbd\\|key\\|url\\|uref\\){\\([^}]+\\)" 2 font-lock-string-face . #1#) ("@\\(file\\|email\\){\\([^}]+\\)" 2 font-lock-string-face . #1#) ("@\\(samp\\|code\\|var\\|env\\|command\\|option\\){\\([^}]+\\)" 2 font-lock-variable-name-face . #1#) ("@math{\\([^{}]*{?[^{}]*}?[^{}]*\\)}" 1 font-lock-variable-name-face . #1#) ("@\\(cite\\|x?ref\\|pxref\\|dfn\\|inforef\\){\\([^}]+\\)" 2 font-lock-constant-face . #1#) ("@\\(anchor\\){\\([^}]+\\)" 2 font-lock-type-face . #1#) ("@\\(dmn\\|acronym\\|value\\){\\([^}]+\\)" 2 font-lock-builtin-face . #1#) ("@\\(end\\|itemx?\\) +\\(.+\\)" 2 font-lock-keyword-face . #1#) ("^@\\(appendix\\(?:s\\(?:ec\\(?:tion\\)?\\|ubs\\(?:\\(?:ubs\\)?ec\\)\\)\\)?\\|chap\\(?:heading\\|ter\\)\\|heading\\|majorheading\\|s\\(?:ection\\|ub\\(?:heading\\|s\\(?:ection\\|ub\\(?:heading\\|section\\)\\)\\)\\)\\|top\\|unnumbered\\(?:s\\(?:\\(?:ubs\\(?:ubs\\)?\\)?ec\\)\\)?\\).*\n" 0 'texinfo-heading . #1#)) font-lock-add-keywords nil make-byte-code 257 "`W\203Q\301\302\303#\203Q\304 \203Q\305\306 8\307d!\210`\310\311\303$\210\312\313\314$\210\300\211\203L\211@b\210\315@\316#\203E\317A!\210\2024A\266\202\202+\266\202\320\207" vconcat vector [search-forward "-*- texinfo -*-" t octave-in-comment-p 8 syntax-ppss octave-skip-comment-forward put-text-property font-lock-multiline font-lock-prepend-text-property face octave-function-comment-block re-search-forward move #[257 "\211@\211\224\225\3008\204\3018\206\231\302\303#\202\231\304A@!\211\242\305=\2035\306AA#\210\211A@\262\211\204C\307=\204C\310\202\227\204Y\311\305\310$\206\227\312\305$\202\227\313\267\202\203\312\305$\202\227\314\305$\202\227\315\305$\202\227\316\305$\202\227?\205\227\311\305\310$\206\227\312\305$\262\207" [2 3 error "No match %d in highlight %S" eval face add-text-properties t nil text-property-not-all put-text-property #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 95 prepend 104 append 113 keep 122)) font-lock-prepend-text-property font-lock-append-text-property font-lock-fillin-text-property] 11 2173197] nil] 9 "\n\n(fn LIMIT)" append] 9])
#@218 Break Octave line at point, continuing comment if within one.
Insert `octave-continuation-string' before breaking the line
unless inside a list.  Signal an error if within a single-quoted
string.

(fn &optional SOFT)
(defalias 'octave-indent-new-comment-line #[256 "!\207" [comment-line-break-function] 3 (#$ . 43988) nil])
#@24 

(fn ORIG &rest ARGS)
(defalias 'octave--indent-new-comment-line #[385 "\301 \2049\302 \303=\203\304\305!\210\2029\302 \306=\203 c\210\2029\307 \210\310 A@\2034\310 A@f\311=\2049\312\261\210\313\"\210\314 \207" [octave-continuation-string octave-in-comment-p octave-in-string-p 39 error "Cannot split a single-quoted string" 34 delete-horizontal-space syntax-ppss 40 " " apply indent-according-to-mode] 5 (#$ . 44320)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias octave-indent-defun prog-indent-sexp nil make-obsolete "24.4"] 4)
#@225 Move ARG lines of Octave code forward (backward if ARG is negative).
Skips past all empty and comment lines.  Default for ARG is 1.

On success, return 0.  Otherwise, go as far as possible and return -1.

(fn &optional ARG)
(defalias 'octave-next-code-line #[256 "\211\204\300\262\301 \210\302\302V\203\300\202\303\302U\204A\302U\203A\211y\262\302U\2039\304\305!\2039\211y\262\202&Z\262\202\207" [1 beginning-of-line 0 -1 looking-at "\\s-*\\($\\|\\s<\\)"] 5 (#$ . 44893) "p"])
#@225 Move ARG lines of Octave code backward (forward if ARG is negative).
Skips past all empty and comment lines.  Default for ARG is 1.

On success, return 0.  Otherwise, go as far as possible and return -1.

(fn &optional ARG)
(defalias 'octave-previous-code-line #[256 "\211\204\300\262\301[!\207" [1 octave-next-code-line] 3 (#$ . 45401) "p"])
#@330 Move point to beginning of current Octave line.
If on an empty or comment line, go to the beginning of that line.
Otherwise, move backward to the beginning of the first Octave code line
which is not inside a continuation statement, i.e., which does not
follow a code line ending with `...' or is inside an open
parenthesis list.
(defalias 'octave-beginning-of-line #[0 "\301 \210\302\303!?\205<\304 A@\203\304 A@b\210\301 \210\202\n\302\303!\2042\212\305 \306U\205.\302!)\205<\307y\306U\205<\202\n\207" [octave-continuation-regexp beginning-of-line looking-at "\\s-*\\($\\|\\s<\\)" syntax-ppss octave-previous-code-line 0 -1] 2 (#$ . 45755) nil])
#@237 Move point to end of current Octave line.
If on an empty or comment line, go to the end of that line.
Otherwise, move forward to the end of the first Octave code line which
does not end with `...' or is inside an open parenthesis list.
(defalias 'octave-end-of-line #[0 "\301\210\212\302 \210\303\304!)?\205E\305 A@\203+\3061&\307\310!\210\301\210\3110\202(\210\301\204\212\302 \210\303\304!\2068\303!)\203C\310y\312U\204\301\207" [octave-continuation-regexp nil beginning-of-line looking-at "\\s-*\\($\\|\\s<\\)" syntax-ppss (error) up-list 1 t 0] 2 (#$ . 46419) nil])
#@133 Put point at the beginning of this Octave block, mark at the end.
The block marked is the one that contains point or follows point.
(defalias 'octave-mark-block #[0 "\302\303!\203\304\303`S\"\203\305\306!\210\302\307!\2042\212 \310	\"\211\205(\211A@\247?\266\202)\2042\311\312!\210\313 \207" [smie-forward-token-function smie-grammar looking-at "\\sw\\|\\s_" looking-back skip-syntax-forward "w_" "\\s(" assoc backward-up-list 1 mark-sexp] 4 (#$ . 47010) nil])
#@80 Octave-specific `beginning-of-defun-function' (which see).

(fn &optional ARG)
(defalias 'octave-beginning-of-defun #[256 "\211\204\300\262\301 \203\301 b\210\302\211C`\262\211\303\304\305\306\307!\310\"\311\312%\240\210\211\242`!b\210\313V\203<`U\204<S\262\314[!\210\313W\203K\314\315!\210`U?\207" [1 octave-in-string-or-comment-p nil make-byte-code 257 "\3011\302\303!\210\300\242`!0\207\210\207" vconcat vector [(scan-error) backward-up-list 1] 3 "\n\n(fn POS)" 0 forward-sexp -1] 10 (#$ . 47486)])
#@78 Fill paragraph of Octave code, handling Octave comments.

(fn &optional ARG)
(defalias 'octave-fill-paragraph #[256 "\212\301 \210\302`\303\"\301\304!\210\305\306w\210\307 \210`\310 \306b\210`W\203\303\3111*\312 0\202.\210\202/\210\313!\210iW\203\224\314 \203\224\212\307 \210\315\316!)\204\224\212\307 \210\317\320!\203X\314 \203M\321\322!\262)iW\203\224\212\323y\210\315\324\325Q!\205x\315\324\326Q!?)\203\224\327\323!\210\317!\210\322\224\322\225|\210\330 \210\313!\210\202^\331\306w\210\332 \210iW\204\253iU\203\261l\203\261\323y\210\202l\204\270\333c\210 \204\323y\210\202\303\266\204)\207" [normal-auto-fill-function forward-paragraph copy-marker t -1 " 	\n" nil beginning-of-line current-fill-column (error) indent-according-to-mode move-to-column octave-in-comment-p looking-at "^\\s-*\\s<+\\s-*$" re-search-forward "\\s<+" match-string 0 1 "^\\s-*" "\\S<" "\\s-*$" delete-char fixup-whitespace "^ 	\n" delete-horizontal-space " "] 9 (#$ . 48014) "P"])
#@56 Find the text to complete and the corresponding table.
(defalias 'octave-completion-at-point #[0 "\212\301\302!\210`)``W\203\212\303\302!\210`\262)\211V\205+\304 \203)\305 \206*E\207" [octave-reserved-words skip-syntax-backward "w_" skip-syntax-forward inferior-octave-process-live-p inferior-octave-completion-table] 5 (#$ . 49017)])
#@62 A function for `add-log-current-defun-function' (which see).
(defalias 'octave-add-log-current-defun #[0 "\212\301\210\302 \205\303\304 \305#\205\306\307!)\207" [octave-function-header-regexp nil beginning-of-defun re-search-forward line-end-position t match-string 3] 4 (#$ . 49369)])
(put 'octave-insert-defun 'no-self-insert t)
#@656 Insert an Octave function skeleton.
Prompt for the function's name, arguments and return values (to be
entered without parens).

This is a skeleton command (see `skeleton-insert').
Normally the skeleton text is inserted at point, with nothing "inside".
If there is a highlighted region, the skeleton text is wrapped
around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words.
A prefix argument of -1 says to wrap around region, even if not highlighted.
A prefix argument of zero says to wrap around zero words---that is, nothing.
This is a way of overriding the use of a highlighted region.

(fn &optional STR ARG)
(defalias 'octave-insert-defun #[512 "\300\301#\207" [skeleton-proxy-new ((let* ((defname (file-name-sans-extension (buffer-name))) (name (read-string (format "Function name (default %s): " defname) nil nil defname)) (args (read-string "Arguments: ")) (vals (read-string "Return values: "))) (format "%s%s (%s)" (cond ((string-equal vals "") vals) ((string-match "[ ,]" vals) (concat "[" vals "] = ")) (t (concat vals " = "))) name args)) n octave-block-comment-start "usage: " str n octave-block-comment-start '(delete-horizontal-space) n octave-block-comment-start '(delete-horizontal-space) n "function " > str n _ n "endfunction" > n)] 6 (#$ . 49713) "*P\nP"])
#@46 Kill inferior Octave process and its buffer.
(defalias 'octave-kill-process #[0 "\302\303!!\205-\304\305\306	\"!\204\307\310!\205-\311 \203*\312	\313\"\210\314	\315\"\210\316	!\210\317!\207" [inferior-octave-buffer inferior-octave-process buffer-live-p get-buffer yes-or-no-p format "Kill %S and its buffer? " user-error "Aborted" inferior-octave-process-live-p set-process-query-on-exit-flag nil process-send-string "quit;\n" accept-process-output kill-buffer] 4 (#$ . 51041) nil])
#@55 Make sure that `inferior-octave-buffer' is displayed.
(defalias 'octave-show-process-buffer #[0 "\301!\203\n\302!\207\303\304\"\207" [inferior-octave-buffer get-buffer display-buffer message "No buffer named %s"] 3 (#$ . 51537) nil])
#@59 Delete all windows that display `inferior-octave-buffer'.
(defalias 'octave-hide-process-buffer #[0 "\301!\203\n\302!\207\303\304\"\207" [inferior-octave-buffer get-buffer delete-windows-on message "No buffer named %s"] 3 (#$ . 51781) nil])
#@195 Execute FILE in the inferior Octave process.
This is done using Octave's source function.  FILE defaults to
current buffer file unless called with a prefix arg \[universal-argument].

(fn FILE)
(defalias 'octave-source-file #[257 "\211;\204\f\302\303\304D\"\210\305\306!\210rq\210\307	\310\311\"\")\207" [inferior-octave-buffer inferior-octave-process signal wrong-type-argument stringp inferior-octave t comint-send-string format "source '%s'\n"] 6 (#$ . 52033) (byte-code "\204	\206\302\303\304\211\305$C\207" [current-prefix-arg buffer-file-name read-file-name "File: " nil t] 5)])
#@67 Send current region to the inferior Octave process.

(fn BEG END)
(defalias 'octave-send-region #[514 "\306\307!\210\310\"\311r	q\210\312 \210\311\313\230\204f\314\315\"\2032\316\317\211\224#\262\316\317\225\"\262\2028\262\313\262\307\320\315PC!\210\203L\321!\210\202A\322\323\324\325\f\203YC\202[\313C\n
C#\315#!\210\202)\266\205q\326	!\207" [inferior-octave-process inferior-octave-buffer inferior-octave-output-list inferior-octave-receive-in-progress octave-send-echo-input inferior-octave-output-string inferior-octave t buffer-substring-no-properties nil compilation-forget-errors "" string-match "\n" substring 0 inferior-octave-send-list-and-digest accept-process-output insert-before-markers mapconcat identity append display-buffer octave-send-show-buffer] 12 (#$ . 52633) "r"])
#@53 Send current buffer to the inferior Octave process.
(defalias 'octave-send-buffer #[0 "\300ed\"\207" [octave-send-region] 3 (#$ . 53459) nil])
#@59 Send current Octave block to the inferior Octave process.
(defalias 'octave-send-block #[0 "\212\300 \210\301`\302 \")\207" [octave-mark-block octave-send-region mark] 3 (#$ . 53608) nil])
#@62 Send current Octave function to the inferior Octave process.
(defalias 'octave-send-defun #[0 "\212\300 \210\301`\302 \")\207" [mark-defun octave-send-region mark] 3 (#$ . 53803) nil])
#@211 Send current Octave code line to the inferior Octave process.
With positive prefix ARG, send that many lines.
If `octave-send-line-auto-forward' is non-nil, go to the next unsent
code line.

(fn &optional ARG)
(defalias 'octave-send-line #[256 "\211\204\301\262\211\302V\205.\303\211\304 \210`\262\305S!\210\303\210`\262\203(\305\301!\210\306\"\266\202\207" [octave-send-line-auto-forward 1 0 nil beginning-of-line octave-next-code-line octave-send-region] 6 (#$ . 53995) "P"])
#@72 Evaluate Octave sexp before point and print value into current buffer.
(defalias 'octave-eval-print-last-sexp #[0 "\303\304!\210p\305`\306 \210\307\212\310\311!\210\312\313`\"\314PC!\210\315\316\n\314#)!\210\306 *\207" [print-escape-newlines standard-output inferior-octave-output-list inferior-octave t nil terpri prin1 forward-sexp -1 inferior-octave-send-list-and-digest buffer-substring-no-properties "\n" mapconcat identity] 8 (#$ . 54491) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable octave-eldoc-message-style funcall function #[0 "\300\207" [auto] 1] "Octave eldoc message style: auto, oneline, multiline." :type (choice (const :tag "Automatic" auto) (const :tag "One Line" oneline) (const :tag "Multi Line" multiline)) :version "24.4"] 8)
(defvar octave-eldoc-cache nil)
#@11 

(fn FN)
(defalias 'octave-eldoc-function-signatures #[257 "\211@\232\2046\302\303\304\"C!\210\305	\211\203-\211@\306\307\"\203&\310\311\"B\262A\266\202\202\210\312!\237B\210A\207" [octave-eldoc-cache inferior-octave-output-list inferior-octave-send-list-and-digest format "print_usage ('%s');\n" nil string-match "\\s-*\\(?:--[^:]+:\\|\\_<usage:\\|--\\)\\s-*\\(.*\\)$" match-string 1 substring-no-properties] 7 (#$ . 55330)])
#@60 A function for `eldoc-documentation-function' (which see).
(defalias 'octave-eldoc-function #[0 "\302 \205w\303 \211A@\212\211\203,\304p!=\203\305!W\203,\211f\306=\203,\211b\210\202/\307\262\310\311!\312W\204;\211\205>\313\314!)\211\205F\315!\316\317\320\321\322\323##\316\324\325#	\326\267\202tG\327\330 !W\203h\202u\211\202u\202u\211\202u\307\266\206\207" [inferior-octave-process octave-eldoc-message-style inferior-octave-process-live-p syntax-ppss get-buffer-process process-mark 40 nil skip-syntax-backward "-" 0 thing-at-point symbol octave-eldoc-function-signatures mapconcat identity propertize " | " face warning #[257 "\300P\207" ["-- "] 3 "\n\n(fn S)"] "\n" #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (auto 90 oneline 108 multiline 112)) window-width minibuffer-window] 11 (#$ . 55780)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313\314\315\316\317\320\321&\210\312\322\314\315\316\323%\207" [custom-declare-variable octave-help-buffer funcall function #[0 "\300\207" [#1="*Octave Help*"] 1 #1#] "Buffer name for `octave-help'." :type string :version "24.4" define-button-type octave-help-file follow-link t action help-button-action help-function octave-find-definition octave-help-function #[257 "\300\301!\302!{!\207" [octave-help button-start button-end] 5 "\n\n(fn B)"]] 8)
(defvar octave-help-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\211\207" [make-sparse-keymap define-key "\256" octave-find-definition "d" octave-help "a" octave-lookfor] 5))
(defvar octave-help-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [octave-help-mode-hook variable-documentation put "Hook run after entering OctHelp mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp octave-help-mode-map definition-name octave-help-mode] 4)
(defvar octave-help-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204\302\300\301\303\304!#\210\302\305\306\307#\207" [octave-help-mode-map variable-documentation put purecopy "Keymap for `octave-help-mode'." octave-help-mode derived-mode-parent help-mode] 5)
#@249 Major mode for displaying Octave documentation.

In addition to any hooks its parent mode `help-mode' might have run,
this mode runs the hook `octave-help-mode-hook', as the final or penultimate step
during initialization.

\{octave-help-mode-map}
(defalias 'octave-help-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!\210\321\f!\210\322\310!\210\306\323!\210
)\324\325!\207" [delay-mode-hooks major-mode mode-name octave-help-mode-map octave-mode-syntax-table regexp-unmatchable make-local-variable t help-mode octave-help-mode "OctHelp" mode-class put keymap-parent set-keymap-parent current-local-map use-local-map set-syntax-table require help-xref-symbol-regexp run-mode-hooks octave-help-mode-hook] 5 (#$ . 58068) nil])
#@43 Display the documentation of FN.

(fn FN)
(defalias 'octave-help #[257 "\306\307\310\"C!\210\311\312\313@\"\203\314\315\316\317@\"\"\210\n\320\211\223\210\321B\322\fB\323 ?\324!\211@\320\211\325\326\327\330#!\210r?q\210\311A\331\332D\333\334!\"\210)db\210\335\336\320\311#\203e\337\224b\210`d|\210eb\210\340\341\342 \311#\203\230\316\317!\343\344\343!!!\345\346\320\211\211\317%\210\347\350!c\210\351\352\"\353\n#\210\347\354!c\266\355 p\356\337\357\360\361\"\362\"\363$\216\364B!\210\340\365\320\311#\203\323\212\340\366\320\311#)\340\367\311#\203\322\370\317\224\317\225\371\372$\210\202\276\210)\266\373 )\262rq\210\374\320\"\262)\375\376!\203\363\376\"\202\364\211)\266\204+\207" [inferior-octave-output-list inhibit-read-only help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame inferior-octave-send-list-and-digest format "help ('%s');\n" t string-match "error: \\(.*\\)$" error "%s" match-string 1 nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup princ mapconcat identity "\n" help-setup-xref octave-help called-interactively-p interactive search-backward "\n\n\n" 0 re-search-forward "from the file \\(.*\\)$" line-end-position file-name-directory directory-file-name replace-match "" substitute-command-keys "`" help-insert-xref-button file-relative-name octave-help-file "'" syntax-table make-byte-code "r\301q\210\302\300!)\207" vconcat vector [set-syntax-table] 2 set-syntax-table "^\\s-*See also:" "^\\s-*$" "\\s-*\\([^,\n]+?\\)\\s-*\\(?:[,]\\|[.]?$\\)" make-text-button :type octave-help-function octave-help-mode temp-buffer-window-show functionp help-window-setup octave-help-buffer standard-output help-xref-following octave-mode-syntax-table] 15 (#$ . 58877) (byte-code "\300 C\207" [octave-completing-read] 1)])
#@166 Search for the string STR in all function help strings.
If ALL is non-nil search the entire help string else only search the first
sentence.

(fn STR &optional ALL)
(defalias 'octave-lookfor #[513 "\306\307\310\203\311\202\f\312#C!\210\211@;\203)\313\314@\"\203)\315\316\317\320@\"\"\210	\321\211\223\210\322\nB\323B\324 
\325!\2117\321\211r
q\210\203U\326\327\330#c\210\202\\\307\331\"c\210\3328\333\334E\335\336!\"\210)eb\210\203\207\337\340\321\341#\203\207\342\320\224\320\225\343\344$\210\202s\204\250db\210\345c\210\346\347\350\332\351\352\353\354\355\356!\357\"\360\361%%\210\362c\210\363 )\262rq\210\364\321\"\262)\365\366!\203\305\366\"\202\306\211)\266\204*\207" [inferior-octave-output-list help-window-point-marker temp-buffer-window-setup-hook temp-buffer-window-show-hook help-window-old-frame octave-help-buffer inferior-octave-send-list-and-digest format "lookfor (%s'%s');\n" "'-all', " "" string-match "error: \\(.*\\)$" error "%s" match-string 1 nil help-mode-setup help-mode-finish selected-frame temp-buffer-window-setup mapconcat identity "\n" "Nothing found for \"%s\".\n" t help-setup-xref octave-lookfor called-interactively-p interactive re-search-forward "^\\([^[:blank:]]+\\) " noerror make-text-button :type octave-help-function "\nRetry with " insert-text-button "'-all'" follow-link action make-byte-code 257 "\301\300\302\"\207" vconcat vector [octave-lookfor -all] 4 "\n\n(fn B)" ".\n" octave-help-mode temp-buffer-window-show functionp help-window-setup standard-output help-xref-following] 18 (#$ . 60741) "sSearch for: \nP"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable octave-source-directories funcall function #[0 "\300\207" [nil] 1] "A list of directories for Octave sources.\nIf the environment variable OCTAVE_SRCDIR is set, it is searched first." :type (repeat directory) :version "24.4"] 8)
(defalias 'octave-source-directories #[0 "\203\302\303\"\206\304\305!\211\203\211	B\202	\207" [inferior-octave-process octave-source-directories process-get octave-srcdir getenv "OCTAVE_SRCDIR"] 3])
(defvar octave-find-definition-filename-function 'octave-find-definition-default-filename)
#@74 Default value for `octave-find-definition-filename-function'.

(fn NAME)
(defalias 'octave-find-definition-default-filename #[257 "\300!\211\301\267\202O\302\303\304\305!!\306Q!\202P\307\310 \"\206%\307\305!\310 \"\211\203/\311!\2044\312\313\"\210\211\262\202P\314\315\316\305!\"!\203I\202P\317\320!\202P\207" [file-name-extension #s(hash-table size 3 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("oct" 9 "cc" 22 "mex" 58)) octave-find-definition-default-filename "libinterp/dldfcn/" file-name-sans-extension file-name-nondirectory ".cc" locate-file octave-source-directories file-exists-p error "File `%s' not found" yes-or-no-p format-message "File `%s' may be binary; open? " user-error "Aborted"] 7 (#$ . 62969)])
#@137 Find the definition of FN.
Functions implemented in C++ can be found if
variable `octave-source-directories' is set correctly.

(fn FN)
(defalias 'octave-find-definition #[257 "\303\304!\210`\305\306!\203\307!\203\310\311!\"\202q\312\313\314\211\211$C!\210\315\211\211\204F	:\203F	\211A\242\262\316\317\"\203&\320\321\"\262\202&\211\204Y\322\323\206U\324\325\"\"\202o\310\326 \"\210\n!\262\211\205o\327!\210\307!\266\202\207" [find-tag-marker-ring inferior-octave-output-list octave-find-definition-filename-function require etags derived-mode-p octave-mode octave-goto-function-definition ring-insert copy-marker inferior-octave-send-list-and-digest format "if iskeyword('%s') disp('`%s'' is a keyword') else which('%s') endif\n" nil string-match "from the file \\(.*\\)$" match-string 1 user-error "%s" format-message "`%s' not found" point-marker find-file] 9 (#$ . 63736) (byte-code "\300 C\207" [octave-completing-read] 1)])
(provide 'octave)

Zerion Mini Shell 1.0