* progmodes/octave-inf.el (inferior-octave-has-built-in-variables):
New defvar. (inferior-octave-resync-dirs): Check to see whether Octave has built-in variables and set inferior-octave-has-built-in-variables. Check inferior-octave-has-built-in-variables to decide whether to send commands that set built-in variables or call functions to change Octave's behavior. Send "disp (pwd ())" to Octave instead of just "pwd". (inferior-octave-startup): Send "more off" to Octave instead of "page_screen_output = 0".
This commit is contained in:
parent
04a623aac6
commit
d32f600dfc
2 changed files with 32 additions and 5 deletions
|
@ -1,3 +1,16 @@
|
|||
2006-10-26 John W. Eaton <jwe@octave.org>
|
||||
|
||||
* progmodes/octave-inf.el (inferior-octave-has-built-in-variables):
|
||||
New defvar.
|
||||
(inferior-octave-resync-dirs): Check to see whether Octave has
|
||||
built-in variables and set inferior-octave-has-built-in-variables.
|
||||
Check inferior-octave-has-built-in-variables to decide whether to
|
||||
send commands that set built-in variables or call functions to
|
||||
change Octave's behavior.
|
||||
Send "disp (pwd ())" to Octave instead of just "pwd".
|
||||
(inferior-octave-startup): Send "more off" to Octave instead of
|
||||
"page_screen_output = 0".
|
||||
|
||||
2006-10-26 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* emacs-lisp/cl-indent.el (lisp-indent-259): Indent nil's in the
|
||||
|
|
|
@ -113,6 +113,9 @@ the regular expression `comint-prompt-regexp', a buffer local variable."
|
|||
(defvar inferior-octave-complete-impossible nil
|
||||
"Non-nil means that `inferior-octave-complete' is impossible.")
|
||||
|
||||
(defvar inferior-octave-has-built-in-variables nil
|
||||
"Non-nil means that Octave has built-in variables.")
|
||||
|
||||
(defvar inferior-octave-dynamic-complete-functions
|
||||
'(inferior-octave-complete comint-dynamic-complete-filename)
|
||||
"List of functions called to perform completion for inferior Octave.
|
||||
|
@ -218,11 +221,20 @@ startup file, `~/.emacs-octave'."
|
|||
'identity inferior-octave-output-list "\n")
|
||||
"\n"))))
|
||||
|
||||
;; Find out whether Octave has built-in variables.
|
||||
(inferior-octave-send-list-and-digest
|
||||
(list "exist \"LOADPATH\"\n"))
|
||||
(setq inferior-octave-has-built-in-variables
|
||||
(string-match "101$" (car inferior-octave-output-list)))
|
||||
|
||||
;; An empty secondary prompt, as e.g. obtained by '--braindead',
|
||||
;; means trouble.
|
||||
(inferior-octave-send-list-and-digest (list "PS2\n"))
|
||||
(if (string-match "^PS2 = *$" (car inferior-octave-output-list))
|
||||
(inferior-octave-send-list-and-digest (list "PS2 = \"> \"\n")))
|
||||
(if (string-match "\\(PS2\\|ans\\) = *$" (car inferior-octave-output-list))
|
||||
(inferior-octave-send-list-and-digest
|
||||
(list (if inferior-octave-has-built-in-variables
|
||||
"PS2 = \"> \"\n"
|
||||
"PS2 (\"> \");\n"))))
|
||||
|
||||
;; O.k., now we are ready for the Inferior Octave startup commands.
|
||||
(let* (commands
|
||||
|
@ -230,10 +242,12 @@ startup file, `~/.emacs-octave'."
|
|||
(file (or inferior-octave-startup-file
|
||||
(concat "~/.emacs-" program))))
|
||||
(setq commands
|
||||
(list "page_screen_output = 0;\n"
|
||||
(list "more off;\n"
|
||||
(if (not (string-equal
|
||||
inferior-octave-output-string ">> "))
|
||||
"PS1=\"\\\\s> \";\n")
|
||||
(if inferior-octave-has-built-in-variables
|
||||
"PS1=\"\\\\s> \";\n"
|
||||
"PS1 (\"\\\\s> \");\n"))
|
||||
(if (file-exists-p file)
|
||||
(format "source (\"%s\");\n" file))))
|
||||
(inferior-octave-send-list-and-digest commands))
|
||||
|
@ -383,7 +397,7 @@ Use \\[inferior-octave-resync-dirs] to resync if Emacs gets confused."
|
|||
This command queries the inferior Octave process about its current
|
||||
directory and makes this the current buffer's default directory."
|
||||
(interactive)
|
||||
(inferior-octave-send-list-and-digest '("pwd\n"))
|
||||
(inferior-octave-send-list-and-digest '("disp (pwd ())\n"))
|
||||
(cd (car inferior-octave-output-list)))
|
||||
|
||||
;;; provide ourself
|
||||
|
|
Loading…
Add table
Reference in a new issue