From: "John W. Eaton" <jwe@bevo.che.wisc.edu>
To: rms@gnu.org
Cc: schwab@suse.de, pot@gnu.org, emacs-devel@gnu.org,
"John W. Eaton" <jwe@bevo.che.wisc.edu>
Subject: Re: Bug#443439: emacs: run-octave captures the shell directory tracker
Date: Fri, 05 Oct 2007 13:56:14 -0400 [thread overview]
Message-ID: <18182.31422.390914.540644@segfault.lan> (raw)
In-Reply-To: <E1IZ3bY-0007hj-FI@fencepost.gnu.org>
[-- 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
next prev parent reply other threads:[~2007-10-05 17:56 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2007-10-06 1:52 ` Glenn Morris
2007-09-22 18:41 ` Glenn Morris
2007-09-22 20:13 ` Francesco Potorti`
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18182.31422.390914.540644@segfault.lan \
--to=jwe@bevo.che.wisc.edu \
--cc=emacs-devel@gnu.org \
--cc=pot@gnu.org \
--cc=rms@gnu.org \
--cc=schwab@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.