[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CDPATH problem reappears when using octave-2.9.9 from Emacs 23
From: |
John W. Eaton |
Subject: |
Re: CDPATH problem reappears when using octave-2.9.9 from Emacs 23 |
Date: |
Thu, 26 Oct 2006 09:54:54 -0400 |
On 26-Oct-2006, Michel Salim wrote:
| On 10/26/06, Richard Stallman <rms@gnu.org> wrote:
| > 2. adding that directory to CDPATH does not change the result
| >
| > What _precisely_ did you do to add that directory to CDPATH? Perhaps
| > you did not alter the path in a way that affects this command.
| >
| export CDPATH=".:~:~/Documents"
| emacs
|
| This is using the Bash shell.
I think the bug is actually in octave-inf.el, and is happening because
of some recent changes in Octave. Please try the following patch.
This is relative to the version of octave-inf.el that is currently in
the Emacs CVS archive.
Thanks,
jwe
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".
*** octave-inf.el.orig Thu Oct 26 09:48:26 2006
--- octave-inf.el Thu Oct 26 09:50:06 2006
***************
*** 113,118 ****
--- 113,121 ----
(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,228 ****
'identity inferior-octave-output-list "\n")
"\n"))))
;; 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")))
;; O.k., now we are ready for the Inferior Octave startup commands.
(let* (commands
--- 221,240 ----
'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\\|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,239 ****
(file (or inferior-octave-startup-file
(concat "~/.emacs-" program))))
(setq commands
! (list "page_screen_output = 0;\n"
(if (not (string-equal
inferior-octave-output-string ">> "))
! "PS1=\"\\\\s> \";\n")
(if (file-exists-p file)
(format "source (\"%s\");\n" file))))
(inferior-octave-send-list-and-digest commands))
--- 242,253 ----
(file (or inferior-octave-startup-file
(concat "~/.emacs-" program))))
(setq commands
! (list "more off;\n"
(if (not (string-equal
inferior-octave-output-string ">> "))
! (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,389 ****
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"))
(cd (car inferior-octave-output-list)))
;;; provide ourself
--- 397,403 ----
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 '("disp (pwd ())\n"))
(cd (car inferior-octave-output-list)))
;;; provide ourself