bug-gnu-emacs
[Top][All Lists]
Advanced

[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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]