all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* emacs: run-octave captures the shell directory tracker
@ 2007-09-21  9:44 Francesco Potorti`
  2007-09-21 10:29 ` Bug#443439: " Francesco Potorti`
  0 siblings, 1 reply; 12+ messages in thread
From: Francesco Potorti` @ 2007-09-21  9:44 UTC (permalink / raw)
  To: Debian Bug Tracking System, bug-gnu-emacs
  Cc: Francesco Potorti`, Gabriele Oligeri

Package: emacs
Version: 22.1+1-2
Severity: minor

I will try to work on this, but due to lack of time I am not sure I will
be able to.  Workaround is:

M-x shell RET
octave RET
M-x rename-buffer RET octave RET
M-x load-library RET octave-inf RET
M-x inferior-octave-mode RET

In GNU Emacs 22.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.10.13)

emacs -nw -Q
M-x run-octave RET (you need to have octave installed)
C-x o
M-x cd RET /var RET
M-x shell RET
M-x set-variable RET debug-on-error RET t RET
cd log RET	   (this is done inside the shell buffer)

Debugger entered--Lisp error: (error "No such directory found via CDPATH environment variable")
  signal(error ("No such directory found via CDPATH environment variable"))
  error("No such directory found via CDPATH environment variable")
  cd(#("log" 0 3 (fontified t)))
  inferior-octave-directory-tracker(#("cd log\n" 0 6 (fontified t) 6 7 nil))
  run-hook-with-args(inferior-octave-directory-tracker #("cd log\n" 0 6 (fontified t) 6 7 nil))
  comint-send-input()
  call-interactively(comint-send-input)

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'testing-proposed-updates')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.18-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=it_IT@euro (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/bash

Versions of packages emacs depends on:
ii  emacs22-gtk [emacs22]         22.1+1-2   The GNU Emacs editor (with GTK use

emacs recommends no packages.

-- no debconf information




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-21  9:44 emacs: run-octave captures the shell directory tracker Francesco Potorti`
@ 2007-09-21 10:29 ` Francesco Potorti`
  2007-09-21 11:32   ` Andreas Schwab
  0 siblings, 1 reply; 12+ messages in thread
From: Francesco Potorti` @ 2007-09-21 10:29 UTC (permalink / raw)
  To: bug-gnu-emacs, 443439-maintonly, Octave bugs list
  Cc: Francesco Potorti`, Gabriele Oligeri

Shell mode is unusable together with octave inferior mode, because it
often loses the notion of current directory.  Appended is a patch.

Apparently there are two problems.

The facts: shell mode adds a directory tracker to comint input filters,
but only locally:

|  comint-input-filter-functions is a variable defined in `comint.el'.
|  Its value is
|  (shell-directory-tracker t)
|
|  Permanently local in buffer *shell*; global value is nil

However, octave-inf mode changes it also globally, and in fact, after
running M-x run-octave RET, one gets this in the shell buffer:

|  comint-input-filter-functions is a variable defined in `comint.el'.
|  Its value is
|  (shell-directory-tracker t)
|
|  Permanently local in buffer *shell*; global value is
|  (inferior-octave-directory-tracker)

My interpretation:

The first problem is that inferior-octave-mode sets
comint-input-filter-functions globally rather than locally only.

The second problem is that shell-mode uses the global value of
comint-input-filter-functions rather than the local one.

This patch solves (or hides?) the first problem and removes the
symptoms.  The second problem, if I diagnosed it correctly, is more
serious and I will not touch upon it.

2007-09-21  Francesco Potortì  <pot@gnu.org>

	* progmodes/octave-inf.el (inferior-octave-mode): make local the
	comint-input-filter-functions variable before setting it.


--- /usr/share/emacs/22.1/lisp/progmodes/octave-inf.el~	2007-01-21 04:20:44.000000000 +0100
+++ /usr/share/emacs/22.1/lisp/progmodes/octave-inf.el	2007-09-21 12:11:09.000000000 +0200
@@ -153,8 +153,9 @@ Entry to this mode successively runs the
 
   (setq comint-input-ring-file-name
 	(or (getenv "OCTAVE_HISTFILE") "~/.octave_hist")
-	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024)
-	comint-input-filter-functions '(inferior-octave-directory-tracker))
+	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024))
+  (set (make-local-variable 'comint-input-filter-functions)
+       '(inferior-octave-directory-tracker))
   (set (make-local-variable 'comint-dynamic-complete-functions)
        inferior-octave-dynamic-complete-functions)
   (comint-read-input-ring t)

If this patch is good, I can install it in the Emacs CVS.

-- 
Francesco Potortì (ricercatore)        Voice: +39 050 315 3058 (op.2111)
ISTI - Area della ricerca CNR          Fax:   +39 050 315 2040
via G. Moruzzi 1, I-56124 Pisa         Email: Potorti@isti.cnr.it
Web: http://fly.isti.cnr.it/           Key:   fly.isti.cnr.it/public.key





^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-21 10:29 ` Bug#443439: " Francesco Potorti`
@ 2007-09-21 11:32   ` Andreas Schwab
  2007-09-21 11:47     ` Francesco Potorti`
  0 siblings, 1 reply; 12+ messages in thread
From: Andreas Schwab @ 2007-09-21 11:32 UTC (permalink / raw)
  To: Francesco Potorti`
  Cc: Octave bugs list, bug-gnu-emacs, 443439-maintonly,
	Gabriele Oligeri, Francesco Potorti`

Francesco Potorti` <pot@gnu.org> writes:

> The second problem is that shell-mode uses the global value of
> comint-input-filter-functions rather than the local one.

This is a feature, not a bug.

> --- /usr/share/emacs/22.1/lisp/progmodes/octave-inf.el~	2007-01-21 04:20:44.000000000 +0100
> +++ /usr/share/emacs/22.1/lisp/progmodes/octave-inf.el	2007-09-21 12:11:09.000000000 +0200
> @@ -153,8 +153,9 @@ Entry to this mode successively runs the
>  
>    (setq comint-input-ring-file-name
>  	(or (getenv "OCTAVE_HISTFILE") "~/.octave_hist")
> -	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024)
> -	comint-input-filter-functions '(inferior-octave-directory-tracker))
> +	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024))
> +  (set (make-local-variable 'comint-input-filter-functions)
> +       '(inferior-octave-directory-tracker))

This should use add-hook with LOCAL = t.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-21 11:32   ` Andreas Schwab
@ 2007-09-21 11:47     ` Francesco Potorti`
  2007-09-21 15:44       ` John W. Eaton
  2007-09-22 18:41       ` Glenn Morris
  0 siblings, 2 replies; 12+ messages in thread
From: Francesco Potorti` @ 2007-09-21 11:47 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: bug-gnu-emacs, Octave bugs list, 443439-maintonly

>This should use add-hook with LOCAL = t.

Good, thanks.  So here is a correct patch:

2007-09-21  Francesco Potortì  <pot@gnu.org>

	* progmodes/octave-inf.el (inferior-octave-mode): Use add-hook to
	add inferior-octave-directory-tracker to the buffer-local value
	of comint-input-filter-functions.

--- octave-inf.el	21 Sep 2007 12:19:05 +0200	1.31
+++ octave-inf.el	21 Sep 2007 13:38:20 +0200	
@@ -153,10 +153,11 @@ Entry to this mode successively runs the
 
   (setq comint-input-ring-file-name
 	(or (getenv "OCTAVE_HISTFILE") "~/.octave_hist")
-	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024)
-	comint-input-filter-functions '(inferior-octave-directory-tracker))
+	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024))
   (set (make-local-variable 'comint-dynamic-complete-functions)
        inferior-octave-dynamic-complete-functions)
+  (add-hook 'comint-input-filter-functions
+	'inferior-octave-directory-tracker nil t)
   (comint-read-input-ring t)
 
   (run-mode-hooks 'inferior-octave-mode-hook))





^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-21 11:47     ` Francesco Potorti`
@ 2007-09-21 15:44       ` John W. Eaton
       [not found]         ` <E1IYl9C-00019F-27@tucano.isti.cnr.it>
  2007-09-22 11:57         ` Richard Stallman
  2007-09-22 18:41       ` Glenn Morris
  1 sibling, 2 replies; 12+ messages in thread
From: John W. Eaton @ 2007-09-21 15:44 UTC (permalink / raw)
  To: Francesco Potorti`
  Cc: Andreas Schwab, bug-gnu-emacs, Octave bugs list, 443439-maintonly

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown, Size: 1545 bytes --]

On 21-Sep-2007, Francesco Potorti` wrote:

| >This should use add-hook with LOCAL = t.
| 
| Good, thanks.  So here is a correct patch:
| 
| 2007-09-21  Francesco Potortì  <pot@gnu.org>
| 
| 	* progmodes/octave-inf.el (inferior-octave-mode): Use add-hook to
| 	add inferior-octave-directory-tracker to the buffer-local value
| 	of comint-input-filter-functions.
| 
| --- octave-inf.el	21 Sep 2007 12:19:05 +0200	1.31
| +++ octave-inf.el	21 Sep 2007 13:38:20 +0200	
| @@ -153,10 +153,11 @@ Entry to this mode successively runs the
|  
|    (setq comint-input-ring-file-name
|  	(or (getenv "OCTAVE_HISTFILE") "~/.octave_hist")
| -	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024)
| -	comint-input-filter-functions '(inferior-octave-directory-tracker))
| +	comint-input-ring-size (or (getenv "OCTAVE_HISTSIZE") 1024))
|    (set (make-local-variable 'comint-dynamic-complete-functions)
|         inferior-octave-dynamic-complete-functions)
| +  (add-hook 'comint-input-filter-functions
| +	'inferior-octave-directory-tracker nil t)
|    (comint-read-input-ring t)
|  
|    (run-mode-hooks 'inferior-octave-mode-hook))

This patch does not apply cleanly to the octave-inf.el file that is
distributed with Octave.  I think the octave-{inf,mod,hlp}.el files
that are included with Emacs have diverged from the versions that are
distributed with Octave.  It would be helpful if someone could
reconcile the differences.  Should we even continue to distribute
these files with Octave?

Thanks,

jwe




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
       [not found]           ` <je1wcs2aoy.fsf@sykes.suse.de>
@ 2007-09-21 18:10             ` Francesco Potorti`
  2007-09-21 19:29               ` Andreas Schwab
  0 siblings, 1 reply; 12+ messages in thread
From: Francesco Potorti` @ 2007-09-21 18:10 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: GNU emacs bug list, Octave bugs list, 443439-maintonly,
	John W. Eaton

>> +  (set (make-local-variable 'comint-dynamic-complete-functions)
>> +       inferior-octave-dynamic-complete-functions)
>
>That is also a hook variable, so it should be set with add-hook.

However, in shell.el:

  (set (make-local-variable 'comint-dynamic-complete-functions)
       shell-dynamic-complete-functions)




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-21 18:10             ` Francesco Potorti`
@ 2007-09-21 19:29               ` Andreas Schwab
  0 siblings, 0 replies; 12+ messages in thread
From: Andreas Schwab @ 2007-09-21 19:29 UTC (permalink / raw)
  To: Francesco Potorti`
  Cc: GNU emacs bug list, Octave bugs list, 443439-maintonly,
	John W. Eaton

Francesco Potorti` <pot@gnu.org> writes:

>>> +  (set (make-local-variable 'comint-dynamic-complete-functions)
>>> +       inferior-octave-dynamic-complete-functions)
>>
>>That is also a hook variable, so it should be set with add-hook.
>
> However, in shell.el:
>
>   (set (make-local-variable 'comint-dynamic-complete-functions)
>        shell-dynamic-complete-functions)

Sorry, I misparsed it.  Both inferior-octave-dynamic-complete-functions
and shell-dynamic-complete-functions are hooks by itself, so this is ok.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-21 15:44       ` John W. Eaton
       [not found]         ` <E1IYl9C-00019F-27@tucano.isti.cnr.it>
@ 2007-09-22 11:57         ` Richard Stallman
  2007-10-05 17:56           ` John W. Eaton
  1 sibling, 1 reply; 12+ messages in thread
From: Richard Stallman @ 2007-09-22 11:57 UTC (permalink / raw)
  To: John W. Eaton; +Cc: schwab, pot, emacs-devel

    This patch does not apply cleanly to the octave-inf.el file that is
    distributed with Octave.  I think the octave-{inf,mod,hlp}.el files
    that are included with Emacs have diverged from the versions that are
    distributed with Octave.  It would be helpful if someone could
    reconcile the differences.

Have both versions been differently maintained?  If only the versions
in Emacs have been changed, then it's simple.

      Should we even continue to distribute
    these files with Octave?

I think there is no reason to do so, now that they are in Emacs.
However, if improvements have been made in the versions distributed
with Octave, we should merge them into Emacs.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-21 11:47     ` Francesco Potorti`
  2007-09-21 15:44       ` John W. Eaton
@ 2007-09-22 18:41       ` Glenn Morris
  2007-09-22 20:13         ` Francesco Potorti`
  1 sibling, 1 reply; 12+ messages in thread
From: Glenn Morris @ 2007-09-22 18:41 UTC (permalink / raw)
  To: Francesco Potorti`; +Cc: bug-gnu-emacs

Francesco Potorti` wrote:

> 2007-09-21  Francesco Potortì  <pot@gnu.org>
>
> 	* progmodes/octave-inf.el (inferior-octave-mode): Use add-hook to
> 	add inferior-octave-directory-tracker to the buffer-local value
> 	of comint-input-filter-functions.


Don't forget to install this on the EMACS_22_BASE branch as well.
Thanks.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-22 18:41       ` Glenn Morris
@ 2007-09-22 20:13         ` Francesco Potorti`
  0 siblings, 0 replies; 12+ messages in thread
From: Francesco Potorti` @ 2007-09-22 20:13 UTC (permalink / raw)
  To: Glenn Morris; +Cc: bug-gnu-emacs

>> 2007-09-21  Francesco Potortì  <pot@gnu.org>
>>
>> 	* progmodes/octave-inf.el (inferior-octave-mode): Use add-hook to
>> 	add inferior-octave-directory-tracker to the buffer-local value
>> 	of comint-input-filter-functions.
>
>Don't forget to install this on the EMACS_22_BASE branch as well.
>Thanks.

Thank you for reminding.  It's done now.





^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-09-22 11:57         ` Richard Stallman
@ 2007-10-05 17:56           ` John W. Eaton
  2007-10-06  1:52             ` Glenn Morris
  0 siblings, 1 reply; 12+ messages in thread
From: John W. Eaton @ 2007-10-05 17:56 UTC (permalink / raw)
  To: rms; +Cc: schwab, pot, emacs-devel, John W. Eaton

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 1369 bytes --]

On 22-Sep-2007, Richard Stallman wrote:

|     This patch does not apply cleanly to the octave-inf.el file that is
|     distributed with Octave.  I think the octave-{inf,mod,hlp}.el files
|     that are included with Emacs have diverged from the versions that are
|     distributed with Octave.  It would be helpful if someone could
|     reconcile the differences.
| 
| Have both versions been differently maintained?  If only the versions
| in Emacs have been changed, then it's simple.
| 
|       Should we even continue to distribute
|     these files with Octave?
| 
| I think there is no reason to do so, now that they are in Emacs.
| However, if improvements have been made in the versions distributed
| with Octave, we should merge them into Emacs.

Sorry for the delay in responding.

The only reason I can think of is if some Octave users have lost their
way and are XEmacs users.  But then I think the fix is relatively easy
at this point as it only requires removing the last two args from the
calls to define-abbrev.

In any case, I'd rather not have duplicated versions, so I'm happy to
remove the Octave mode files from the Octave distribution and
recommend that people use GNU Emacs for editing Octave files.

I noticed the following changes that were in my copy of octave-mod.el
are not in the latest version in the Emacs CVS archive.

Thanks,

jwe



[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 8306 bytes --]

2007-10-05  John W. Eaton  <jwe@octave.org>

	* octave-mod.el: Include abbrev for "until".
	(octave-begin-keywords): Include "do" in list.
	(octave-end-keywords): Remove "end" from list.
	(octave-block-match-alist): Remove end from lists of block-end
	keywords.
	(octave-reserved-words): Include "end" in the list.  Remove
	"all_va_args", "gplot", and "gsplot".
	(octave-text-functions): Remove "gset", "gshow", "set", and "show"
	from the list.
	(octave-variables): Remove "IMAGEPATH", "INFO_FILE",
	"INFO_PROGRAM", "LOADPATH", "__error_text__", "automatic_replot",
	"default_return_value", "define_all_return_values",
	"do_fortran_indexing", "empty_list_elements_ok",
	"gnuplot_has_multiplot", "implicit_str_to_num_ok",
	"ok_to_lose_imaginary_part", "prefer_column_vectors",
	"prefer_zero_one_indexing", "propagate_empty_matrices",
	"resize_on_range_error", "treat_neg_dim_as_zero",
	"warn_assign_as_truth_value", "warn_comma_in_global_decl",
	"warn_divide_by_zero", "warn_function_name_clash",
	"warn_missing_semicolon", "whitespace_in_literal_matrix" from the
	list.  Add "DEFAULT_EXEC_PATH", "DEFAULT_LOADPATH", "IMAGE_PATH",
	"crash_dumps_octave_core", "sighup_dumps_octave_core",
	"sigterm_dumps_octave_core" to the list.
	(octave-mode): Update ftp site address.


diff -ur emacs-cvs-orig/octave-mod.el emacs-cvs/octave-mod.el
--- emacs-cvs-orig/octave-mod.el	2007-10-05 12:52:05.000000000 -0400
+++ emacs-cvs/octave-mod.el	2007-10-05 13:05:53.000000000 -0400
@@ -89,6 +89,7 @@
   (define-abbrev octave-abbrev-table "`r" "return" nil 0 t)
   (define-abbrev octave-abbrev-table "`s" "switch" nil 0 t)
   (define-abbrev octave-abbrev-table "`t" "try" nil 0 t)
+  (define-abbrev octave-abbrev-table "`u" "until ()" nil 0 t)
   (define-abbrev octave-abbrev-table "`up" "unwind_protect" nil 0 t)
   (define-abbrev octave-abbrev-table "`upc" "unwind_protect_cleanup" nil 0 t)
   (define-abbrev octave-abbrev-table "`w" "while ()" nil 0 t))
@@ -102,32 +103,34 @@
   "Regexp to match the start of an Octave comment up to its body.")
 
 (defvar octave-begin-keywords
-  '("for" "function" "if" "switch" "try" "unwind_protect" "while"))
+  '("do" "for" "function" "if" "switch" "try" "unwind_protect" "while"))
 (defvar octave-else-keywords
   '("case" "catch" "else" "elseif" "otherwise" "unwind_protect_cleanup"))
+;; FIXME: only use specific "end" tokens here to avoid confusion when "end"
+;; is used in indexing (the real fix is much more complex).
 (defvar octave-end-keywords
-  '("end" "endfor" "endfunction" "endif" "endswitch" "end_try_catch"
-    "end_unwind_protect" "endwhile"))
+  '("endfor" "endfunction" "endif" "endswitch" "end_try_catch"
+    "end_unwind_protect" "endwhile" "until"))
 
 (defvar octave-reserved-words
   (append octave-begin-keywords
 	  octave-else-keywords
 	  octave-end-keywords
-	  '("all_va_args" "break" "continue" "global" "gplot" "gsplot"
-	    "replot" "return"))
+	  '("break" "continue" "end" "global" "persistent" "return"))
   "Reserved words in Octave.")
 
 (defvar octave-text-functions
   '("casesen" "cd" "chdir" "clear" "diary" "dir" "document" "echo"
-    "edit_history" "format" "gset" "gshow" "help" "history" "hold"
-    "load" "ls" "more" "run_history" "save" "set" "show" "type"
+    "edit_history" "format" "help" "history" "hold"
+    "load" "ls" "more" "run_history" "save" "type"
     "which" "who" "whos")
-  "Text functions in Octave (these names are also reserved).")
+  "Text functions in Octave.")
 
 (defvar octave-variables
-  '("EDITOR" "EXEC_PATH" "F_DUPFD" "F_GETFD" "F_GETFL" "F_SETFD"
-    "F_SETFL" "I" "IMAGEPATH" "INFO_FILE" "INFO_PROGRAM" "Inf" "J"
-    "LOADPATH" "NaN" "OCTAVE_VERSION" "O_APPEND" "O_CREAT" "O_EXCL"
+  '("DEFAULT_EXEC_PATH" "DEFAULT_LOADPATH"
+    "EDITOR" "EXEC_PATH" "F_DUPFD" "F_GETFD" "F_GETFL" "F_SETFD"
+    "F_SETFL" "I" "IMAGE_PATH" "Inf" "J"
+    "NaN" "OCTAVE_VERSION" "O_APPEND" "O_CREAT" "O_EXCL"
     "O_NONBLOCK" "O_RDONLY" "O_RDWR" "O_TRUNC" "O_WRONLY" "PAGER" "PS1"
     "PS2" "PS4" "PWD" "SEEK_CUR" "SEEK_END" "SEEK_SET" "__F_DUPFD__"
     "__F_GETFD__" "__F_GETFL__" "__F_SETFD__" "__F_SETFL__" "__I__"
@@ -135,29 +138,23 @@
     "__O_CREAT__" "__O_EXCL__" "__O_NONBLOCK__" "__O_RDONLY__"
     "__O_RDWR__" "__O_TRUNC__" "__O_WRONLY__" "__PWD__" "__SEEK_CUR__"
     "__SEEK_END__" "__SEEK_SET__" "__argv__" "__e__" "__eps__"
-    "__error_text__" "__i__" "__inf__" "__j__" "__nan__" "__pi__"
+    "__i__" "__inf__" "__j__" "__nan__" "__pi__"
     "__program_invocation_name__" "__program_name__" "__realmax__"
     "__realmin__" "__stderr__" "__stdin__" "__stdout__" "ans" "argv"
-    "automatic_replot" "beep_on_error" "completion_append_char"
-    "default_return_value" "default_save_format"
-    "define_all_return_values" "do_fortran_indexing" "e"
-    "echo_executing_commands" "empty_list_elements_ok" "eps"
-    "error_text" "gnuplot_binary" "gnuplot_has_multiplot" "history_file"
-    "history_size" "ignore_function_time_stamp" "implicit_str_to_num_ok"
-    "inf" "nan" "nargin" "ok_to_lose_imaginary_part"
-    "output_max_field_width" "output_precision"
+    "beep_on_error" "completion_append_char"
+    "crash_dumps_octave_core" "default_save_format"
+    "e" "echo_executing_commands" "eps"
+    "error_text" "gnuplot_binary" "history_file"
+    "history_size" "ignore_function_time_stamp"
+    "inf" "nan" "nargin" "output_max_field_width" "output_precision"
     "page_output_immediately" "page_screen_output" "pi"
-    "prefer_column_vectors" "prefer_zero_one_indexing"
     "print_answer_id_name" "print_empty_dimensions"
-    "program_invocation_name" "program_name" "propagate_empty_matrices"
-    "realmax" "realmin" "resize_on_range_error"
-    "return_last_computed_value" "save_precision" "saving_history"
+    "program_invocation_name" "program_name"
+    "realmax" "realmin" "return_last_computed_value" "save_precision"
+    "saving_history" "sighup_dumps_octave_core" "sigterm_dumps_octave_core"
     "silent_functions" "split_long_rows" "stderr" "stdin" "stdout"
     "string_fill_char" "struct_levels_to_print"
-    "suppress_verbose_help_message" "treat_neg_dim_as_zero"
-    "warn_assign_as_truth_value" "warn_comma_in_global_decl"
-    "warn_divide_by_zero" "warn_function_name_clash"
-    "warn_missing_semicolon" "whitespace_in_literal_matrix")
+    "suppress_verbose_help_message")
   "Builtin variables in Octave.")
 
 (defvar octave-function-header-regexp
@@ -349,15 +346,17 @@
   (concat octave-block-begin-regexp "\\|" octave-block-end-regexp))
 (defvar octave-block-else-or-end-regexp
   (concat octave-block-else-regexp "\\|" octave-block-end-regexp))
+;; FIXME: only use specific "end" tokens here to avoid confusion when "end"
+;; is used in indexing (the real fix is much more complex).
 (defvar octave-block-match-alist
-  '(("for" . ("end" "endfor"))
-    ("function" . ("end" "endfunction"))
-    ("if" . ("else" "elseif" "end" "endif"))
-    ("switch" . ("case" "otherwise" "end" "endswitch"))
-    ("try" . ("catch" "end" "end_try_catch"))
-    ("unwind_protect" . ("unwind_protect_cleanup" "end"
-			 "end_unwind_protect"))
-    ("while" . ("end" "endwhile")))
+  '(("do" . ("until"))
+    ("for" . ("endfor"))
+    ("function" . ("endfunction"))
+    ("if" . ("else" "elseif" "endif"))
+    ("switch" . ("case" "otherwise" "endswitch"))
+    ("try" . ("catch" "end_try_catch"))
+    ("unwind_protect" . ("unwind_protect_cleanup" "end_unwind_protect"))
+    ("while" . ("endwhile")))
   "Alist with Octave's matching block keywords.
 Has Octave's begin keywords as keys and a list of the matching else or
 end keywords as associated values.")
@@ -425,7 +424,7 @@
 is why you need this mode!).
 
 The latest released version of Octave is always available via anonymous
-ftp from bevo.che.wisc.edu in the directory `/pub/octave'.  Complete
+ftp from ftp.octave.org in the directory `/pub/octave'.  Complete
 source and binaries for several popular systems are available.
 
 Type \\[list-abbrevs] to display the built-in abbrevs for Octave keywords.
@@ -480,7 +479,7 @@
 
   (add-to-list 'auto-mode-alist '(\"\\\\.m\\\\'\" . octave-mode))
 
-To automatically turn on the abbrev and auto-fill,
+To automatically turn on the abbrev and auto-fill features,
 add the following lines to your `.emacs' file as well:
 
   (add-hook 'octave-mode-hook

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Bug#443439: emacs: run-octave captures the shell directory tracker
  2007-10-05 17:56           ` John W. Eaton
@ 2007-10-06  1:52             ` Glenn Morris
  0 siblings, 0 replies; 12+ messages in thread
From: Glenn Morris @ 2007-10-06  1:52 UTC (permalink / raw)
  To: John W. Eaton; +Cc: schwab, pot, rms, emacs-devel

"John W. Eaton" wrote:

> I noticed the following changes that were in my copy of octave-mod.el
> are not in the latest version in the Emacs CVS archive.

Thanks; installed.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-10-06  1:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-21  9:44 emacs: run-octave captures the shell directory tracker Francesco Potorti`
2007-09-21 10:29 ` Bug#443439: " Francesco Potorti`
2007-09-21 11:32   ` Andreas Schwab
2007-09-21 11:47     ` Francesco Potorti`
2007-09-21 15:44       ` John W. Eaton
     [not found]         ` <E1IYl9C-00019F-27@tucano.isti.cnr.it>
     [not found]           ` <je1wcs2aoy.fsf@sykes.suse.de>
2007-09-21 18:10             ` Francesco Potorti`
2007-09-21 19:29               ` Andreas Schwab
2007-09-22 11:57         ` Richard Stallman
2007-10-05 17:56           ` John W. Eaton
2007-10-06  1:52             ` Glenn Morris
2007-09-22 18:41       ` Glenn Morris
2007-09-22 20:13         ` Francesco Potorti`

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.