From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "John W. Eaton" Newsgroups: gmane.emacs.devel Subject: Re: Bug#443439: emacs: run-octave captures the shell directory tracker Date: Fri, 05 Oct 2007 13:56:14 -0400 Message-ID: <18182.31422.390914.540644@segfault.lan> References: <18163.59086.203111.308676@segfault.lan> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_pUVVJ2NZxf1p7x/e069axA)" X-Trace: sea.gmane.org 1191607024 21711 80.91.229.12 (5 Oct 2007 17:57:04 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 5 Oct 2007 17:57:04 +0000 (UTC) Cc: schwab@suse.de, pot@gnu.org, emacs-devel@gnu.org, "John W. Eaton" To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 05 19:56:59 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IdrPv-0000W3-1u for ged-emacs-devel@m.gmane.org; Fri, 05 Oct 2007 19:56:51 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IdrPq-0001Mn-FH for ged-emacs-devel@m.gmane.org; Fri, 05 Oct 2007 13:56:46 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IdrPm-0001Ly-7j for emacs-devel@gnu.org; Fri, 05 Oct 2007 13:56:42 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IdrPl-0001LK-AA for emacs-devel@gnu.org; Fri, 05 Oct 2007 13:56:41 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IdrPl-0001LF-2F for emacs-devel@gnu.org; Fri, 05 Oct 2007 13:56:41 -0400 Original-Received: from adsum.doit.wisc.edu ([144.92.197.210]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_ARCFOUR_MD5:16) (Exim 4.60) (envelope-from ) id 1IdrPY-0006m4-SQ; Fri, 05 Oct 2007 13:56:29 -0400 Original-Received: from avs-daemon.smtpauth1.wiscmail.wisc.edu by smtpauth1.wiscmail.wisc.edu (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) id <0JPG00D059TU0700@smtpauth1.wiscmail.wisc.edu>; Fri, 05 Oct 2007 12:56:18 -0500 (CDT) Original-Received: from segfault.lan (cpe-75-187-161-108.neo.res.rr.com [75.187.161.108]) by smtpauth1.wiscmail.wisc.edu (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) with ESMTPSA id <0JPG0098U9TQ7I30@smtpauth1.wiscmail.wisc.edu>; Fri, 05 Oct 2007 12:56:15 -0500 (CDT) In-reply-to: X-Mailer: VM 7.19 under Emacs 22.1.1 X-Spam-PmxInfo: Server=avs-8, Version=5.3.3.310218, Antispam-Engine: 2.5.2.313940, Antispam-Data: 2007.10.5.103450, SenderIP=75.187.161.108 X-Detected-Kernel: Solaris 10 (beta) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:80303 Archived-At: --Boundary_(ID_pUVVJ2NZxf1p7x/e069axA) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-description: message body text 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 --Boundary_(ID_pUVVJ2NZxf1p7x/e069axA) Content-type: text/plain; NAME=diffs Content-transfer-encoding: 7BIT Content-disposition: inline; filename=diffs 2007-10-05 John W. Eaton * 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 --Boundary_(ID_pUVVJ2NZxf1p7x/e069axA) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel --Boundary_(ID_pUVVJ2NZxf1p7x/e069axA)--