Mercurial > hg > octave-nkf
annotate scripts/miscellaneous/edit.m @ 19658:17e6c770e6ac gui-release
check existence of uncompressed or compressed info files for doc viewer
* parser.cc (set_info_path): return type changed to bool, checking existence
of info file uncompressed and with all known compressed file extensions,
returns false if no file was found and true after parsing the found file;
* parser.h: return type of set_info_path changed to bool
* webinfo.cc (ctor): do not check existence of info file since this is done
via set_info_path;
(set_info_path): return type changed to bool, load Top-node if
parser::set_info_path returns true and return the related return value
* webinfo.h: return type of set_info_path changed to bool
author | Torsten <ttl@justmail.de> |
---|---|
date | Fri, 02 Jan 2015 18:47:29 +0100 |
parents | 832ecfda1d3c |
children | 95a1ee1cbdf1 fe689210525c |
rev | line source |
---|---|
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17738
diff
changeset
|
1 ## Copyright (C) 2001-2013 Paul Kienzle |
7325 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, see | |
17 ## <http://www.gnu.org/licenses/>. | |
18 | |
19 ## -*- texinfo -*- | |
9724
f22bbc5d56e9
Fix various incorrect usages of TeXinfo deffn and deftypefn macros
Rik <rdrider0-list@yahoo.com>
parents:
9153
diff
changeset
|
20 ## @deftypefn {Command} {} edit @var{name} |
f22bbc5d56e9
Fix various incorrect usages of TeXinfo deffn and deftypefn macros
Rik <rdrider0-list@yahoo.com>
parents:
9153
diff
changeset
|
21 ## @deftypefnx {Command} {} edit @var{field} @var{value} |
7650 | 22 ## @deftypefnx {Command} {@var{value} =} edit get @var{field} |
7325 | 23 ## Edit the named function, or change editor settings. |
24 ## | |
25 ## If @code{edit} is called with the name of a file or function as | |
17991
22187db555cf
Remove editor option from edit() and use only EDITOR() (bug #40600)
Carnë Draug <carandraug@octave.org>
parents:
17884
diff
changeset
|
26 ## its argument it will be opened in the text editor defined by @code{EDITOR}. |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
27 ## |
7325 | 28 ## @itemize @bullet |
29 ## @item | |
30 ## If the function @var{name} is available in a file on your path and | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
31 ## that file is modifiable, then it will be edited in place. If it |
7325 | 32 ## is a system function, then it will first be copied to the directory |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
33 ## @env{HOME} (see below) and then edited. |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
34 ## If no file is found, then the m-file |
9038
fca0dc2fb042
Cleanup documentation files stmt.texi and func.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
35 ## variant, ending with ".m", will be considered. If still no file |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
36 ## is found, then variants with a leading "@@" and then with both a |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
37 ## leading "@@" and trailing ".m" will be considered. |
7325 | 38 ## |
39 ## @item | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
40 ## If @var{name} is the name of a function defined in the interpreter but |
10793
be55736a0783
Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents:
10635
diff
changeset
|
41 ## not in an m-file, then an m-file will be created in @env{HOME} |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
42 ## to contain that function along with its current definition. |
7325 | 43 ## |
44 ## @item | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
45 ## If @code{@var{name}.cc} is specified, then it will search for |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
46 ## @code{@var{name}.cc} in the path and try to modify it, otherwise it will |
17753
887df64e54e4
doc: Final grammarcheck of docstrings for 3.8 release.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
47 ## create a new @file{.cc} file in the current directory. If @var{name} happens |
17738
0cfdb818ccb8
* edit.m: update documentation, new files are created in current directory
Torsten <ttl@justmail.de>
parents:
17593
diff
changeset
|
48 ## to be an m-file or interpreter defined function, then the text of that |
7325 | 49 ## function will be inserted into the .cc file as a comment. |
50 ## | |
51 ## @item | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
52 ## If @file{@var{name}.ext} is on your path then it will be edited, otherwise |
17738
0cfdb818ccb8
* edit.m: update documentation, new files are created in current directory
Torsten <ttl@justmail.de>
parents:
17593
diff
changeset
|
53 ## the editor will be started with @file{@var{name}.ext} in the current |
17753
887df64e54e4
doc: Final grammarcheck of docstrings for 3.8 release.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
54 ## directory as the filename. If @file{@var{name}.ext} is not modifiable, |
17738
0cfdb818ccb8
* edit.m: update documentation, new files are created in current directory
Torsten <ttl@justmail.de>
parents:
17593
diff
changeset
|
55 ## it will be copied to @env{HOME} before editing. |
7325 | 56 ## |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
57 ## @strong{Warning:} You may need to clear @var{name} before the new definition |
7325 | 58 ## is available. If you are editing a .cc file, you will need |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
59 ## to execute @code{mkoctfile @file{@var{name}.cc}} before the definition |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
60 ## will be available. |
7325 | 61 ## @end itemize |
62 ## | |
63 ## If @code{edit} is called with @var{field} and @var{value} variables, | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
64 ## the value of the control field @var{field} will be set to @var{value}. |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
65 ## If an output argument is requested and the first input argument is @code{get} |
7325 | 66 ## then @code{edit} will return the value of the control field @var{field}. |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
67 ## If the control field does not exist, edit will return a structure |
9038
fca0dc2fb042
Cleanup documentation files stmt.texi and func.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
68 ## containing all fields and values. Thus, @code{edit get all} returns |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
69 ## a complete control structure. |
7325 | 70 ## The following control fields are used: |
71 ## | |
72 ## @table @samp | |
73 ## @item home | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
74 ## This is the location of user local m-files. Be sure it is in your |
9038
fca0dc2fb042
Cleanup documentation files stmt.texi and func.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
75 ## path. The default is @file{~/octave}. |
7325 | 76 ## |
77 ## @item author | |
78 ## This is the name to put after the "## Author:" field of new functions. | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
79 ## By default it guesses from the @code{gecos} field of the password database. |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
80 ## |
7325 | 81 ## @item email |
82 ## This is the e-mail address to list after the name in the author field. | |
83 ## By default it guesses @code{<$LOGNAME@@$HOSTNAME>}, and if @code{$HOSTNAME} | |
84 ## is not defined it uses @code{uname -n}. You probably want to override this. | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
85 ## Be sure to use the format @code{<user@@host>}. |
7325 | 86 ## |
87 ## @item license | |
14366
b76f0740940e
doc: Periodic grammar check of documentation.
Rik <octave@nomad.inbox5.com>
parents:
14363
diff
changeset
|
88 ## |
7325 | 89 ## @table @samp |
90 ## @item gpl | |
91 ## GNU General Public License (default). | |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
92 ## |
7325 | 93 ## @item bsd |
94 ## BSD-style license without advertising clause. | |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
95 ## |
7325 | 96 ## @item pd |
97 ## Public domain. | |
10821
693e22af08ae
Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents:
10793
diff
changeset
|
98 ## |
7325 | 99 ## @item "text" |
100 ## Your own default copyright and license. | |
101 ## @end table | |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
102 ## |
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
103 ## Unless you specify @samp{pd}, edit will prepend the copyright statement |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
104 ## with "Copyright (C) yyyy Function Author". |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
105 ## |
7325 | 106 ## @item mode |
107 ## This value determines whether the editor should be started in async mode | |
8795
bb38a86efa1b
improve documentation for edit.m
Ivan Sutoris <ivan.sutoris@gmail.com>
parents:
8746
diff
changeset
|
108 ## (editor is started in the background and Octave continues) or sync mode |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17245
diff
changeset
|
109 ## (Octave waits until the editor exits). Set it to @qcode{"sync"} to start |
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17245
diff
changeset
|
110 ## the editor in sync mode. The default is @qcode{"async"} |
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17245
diff
changeset
|
111 ## (@pxref{XREFsystem,,system}). |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
112 ## |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
113 ## @item editinplace |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
114 ## Determines whether files should be edited in place, without regard to |
9038
fca0dc2fb042
Cleanup documentation files stmt.texi and func.texi
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
115 ## whether they are modifiable or not. The default is @code{false}. |
7325 | 116 ## @end table |
117 ## @end deftypefn | |
118 | |
119 ## Author: Paul Kienzle <pkienzle@users.sf.net> | |
120 | |
121 ## Original version by Paul Kienzle distributed as free software in the | |
122 ## public domain. | |
123 | |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
124 function ret = edit (varargin) |
7325 | 125 |
126 ## Pick up globals or default them. | |
127 | |
17991
22187db555cf
Remove editor option from edit() and use only EDITOR() (bug #40600)
Carnë Draug <carandraug@octave.org>
parents:
17884
diff
changeset
|
128 persistent FUNCTION = struct ("HOME", fullfile (default_home, "octave"), |
10549 | 129 "AUTHOR", default_user(1), |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
130 "EMAIL", [], |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
131 "LICENSE", "GPL", |
12207
c37f167a816a
edit.m: As most editors open their own window, change mode to "async".
Ben Abbott <bpabbott@mac.com>
parents:
11587
diff
changeset
|
132 "MODE", "async", |
10549 | 133 "EDITINPLACE", false); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
134 ## Make sure the stateval variables survive "clear functions". |
17336
b81b9d079515
Use '##' for comments which stand alone on a line.
Rik <rik@octave.org>
parents:
17312
diff
changeset
|
135 mlock; |
7325 | 136 |
17991
22187db555cf
Remove editor option from edit() and use only EDITOR() (bug #40600)
Carnë Draug <carandraug@octave.org>
parents:
17884
diff
changeset
|
137 ## Get default editor every time in case the user has changed it |
22187db555cf
Remove editor option from edit() and use only EDITOR() (bug #40600)
Carnë Draug <carandraug@octave.org>
parents:
17884
diff
changeset
|
138 FUNCTION.EDITOR = [EDITOR() " %s"]; |
22187db555cf
Remove editor option from edit() and use only EDITOR() (bug #40600)
Carnë Draug <carandraug@octave.org>
parents:
17884
diff
changeset
|
139 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
140 if (nargin == 1) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
141 ## User has supplied one arg, this can be a single file name |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
142 ## or a cell array of strings containing multiple files to be opened |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
143 if (iscellstr (varargin{1})) |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
144 ## If first arg is a cell array of strings, |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
145 ## it becomes the list of files to be edited |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
146 editfilelist = varargin{1}; |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
147 elseif (ischar (varargin{1})) |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
148 ## If first arg is a string, create a cell array of strings |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
149 ## of length 1 (by copying the input cell array) |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
150 editfilelist = varargin(1); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
151 else |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
152 error ("edit: expected file to be a string or cell array of strings"); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
153 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
154 elseif (nargin == 2) |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
155 ## User has supplied two arguments, these could be two file names, |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
156 ## or a combination of editor state name and new value for that state, |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
157 ## so first check for the various states |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
158 statevar = varargin{1}; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
159 stateval = varargin{2}; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
160 switch (toupper (statevar)) |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
161 case "EDITOR" |
17991
22187db555cf
Remove editor option from edit() and use only EDITOR() (bug #40600)
Carnë Draug <carandraug@octave.org>
parents:
17884
diff
changeset
|
162 error ("Octave:deprecated-function", |
18011
0d6d0a7c0793
edit.m: Use two spaces to mark sentence break in error() message.
Rik <rik@octave.org>
parents:
17991
diff
changeset
|
163 "The EDITOR option of edit has been removed. Use EDITOR() directly.") |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
164 return; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
165 case "HOME" |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
166 if (! isempty (stateval) && stateval(1) == "~") |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
167 stateval = [ default_home, stateval(2:end) ]; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
168 endif |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
169 FUNCTION.HOME = stateval; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
170 return; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
171 case "AUTHOR" |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
172 FUNCTION.AUTHOR = stateval; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
173 return; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
174 case "EMAIL" |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
175 FUNCTION.EMAIL = stateval; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
176 return; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
177 case "LICENSE" |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
178 FUNCTION.LICENSE = stateval; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
179 return; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
180 case "MODE" |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
181 if (strcmp (stateval, "sync") || strcmp (stateval, "async")) |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
182 FUNCTION.MODE = stateval; |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
183 else |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
184 error ('edit: expected "edit MODE sync|async"'); |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
185 endif |
17312
088d014a7fe2
Use semicolon after "return" statement in core m-files.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
186 return; |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
187 case "EDITINPLACE" |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
188 if (ischar (stateval)) |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
189 if (strcmpi (stateval, "true")) |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
190 stateval = true; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
191 elseif (strcmpi (stateval, "false")) |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
192 stateval = false; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
193 else |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
194 stateval = eval (stateval); |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
195 endif |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
196 endif |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
197 FUNCTION.EDITINPLACE = stateval; |
17312
088d014a7fe2
Use semicolon after "return" statement in core m-files.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
198 return; |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
199 case "GET" |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
200 if (isfield (FUNCTION, toupper (stateval))) |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
201 ret = FUNCTION.(toupper (stateval)); |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
202 else |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
203 ret = FUNCTION; |
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
204 endif |
17312
088d014a7fe2
Use semicolon after "return" statement in core m-files.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
205 return; |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
206 otherwise |
17592
28eb00d3edf4
edit.m: Work correctly for file names with '~'.
Rik <rik@octave.org>
parents:
17393
diff
changeset
|
207 ## If none of the states match, assume both inputs are actually |
28eb00d3edf4
edit.m: Work correctly for file names with '~'.
Rik <rik@octave.org>
parents:
17393
diff
changeset
|
208 ## file names to be opened. |
17174
c3c1ebfaa7dc
maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents:
17171
diff
changeset
|
209 editfilelist = varargin; |
7325 | 210 endswitch |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
211 elseif (nargin > 2) |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
212 if (iscellstr (varargin)) |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
213 editfilelist = varargin; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
214 else |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
215 error ("edit: if supplying more than one input all inputs must be strings containing field names to open."); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
216 endif |
7325 | 217 endif |
218 | |
219 ## Start the editor without a file if no file is given. | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
220 if (nargin == 0) |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
221 if (exist (FUNCTION.HOME, "dir") == 7) |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
222 curr_dir = pwd (); |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
223 unwind_protect |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
224 chdir (FUNCTION.HOME); |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
225 do_edit (FUNCTION.EDITOR, "", FUNCTION.MODE); |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
226 unwind_protect_cleanup |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
227 chdir (curr_dir); |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
228 end_unwind_protect |
7325 | 229 else |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
230 do_edit (FUNCTION.EDITOR, "", FUNCTION.MODE); |
7325 | 231 endif |
232 return; | |
233 endif | |
234 | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
235 if (numel (editfilelist) > 1) |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
236 |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
237 ## Call edit on each of the files in the list if there are more than 1 |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
238 for i = 1:numel (editfilelist) |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
239 edit (editfilelist{i}); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
240 endfor |
7325 | 241 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
242 else |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
243 |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
244 ## Only one file name was supplied, get it from the cell array |
17592
28eb00d3edf4
edit.m: Work correctly for file names with '~'.
Rik <rik@octave.org>
parents:
17393
diff
changeset
|
245 file = tilde_expand (editfilelist{1}); |
11587
c792872f8942
all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
246 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
247 ## Check whether the user is trying to edit a builtin or compiled function. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
248 switch (exist (file)) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
249 case {3, 5} |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
250 error ("edit: unable to edit a built-in or compiled function"); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
251 endswitch |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
252 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
253 ## Checks for whether the file is |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
254 ## absolute or relative should be handled inside file_in_loadpath. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
255 ## That way, it will be possible to look up files correctly given |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
256 ## partial path information. For example, you should be able to |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
257 ## edit a particular overloaded function by doing any one of |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
258 ## |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
259 ## edit classname/foo |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
260 ## edit classname/foo.m |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
261 ## edit @classname/foo |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
262 ## edit @classname/foo.m |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
263 ## |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
264 ## This functionality is needed for other functions as well (at least |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
265 ## help and type; there may be more). So the place to fix that is in |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
266 ## file_in_loadpath, possibly with some help from the load_path class. |
7325 | 267 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
268 ## The code below includes a portion that serves as a place-holder for |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
269 ## the changes suggested above. |
7325 | 270 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
271 ## Create list of explicit and implicit file names. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
272 filelist = {file}; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
273 ## If file has no extension, add file.m and file.cc to the list. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
274 idx = rindex (file, "."); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
275 if (idx == 0) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
276 if (isempty (regexp (file, '\.m$'))) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
277 ## No ".m" at the end of the file, add to the list. |
17592
28eb00d3edf4
edit.m: Work correctly for file names with '~'.
Rik <rik@octave.org>
parents:
17393
diff
changeset
|
278 filelist(end+1) = [file ".m"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
279 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
280 if (isempty (regexp (file, '\.cc$'))) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
281 ## No ".cc" at the end of the file, add to the list. |
17592
28eb00d3edf4
edit.m: Work correctly for file names with '~'.
Rik <rik@octave.org>
parents:
17393
diff
changeset
|
282 filelist(end+1) = [file ".cc"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
283 endif |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
284 endif |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
285 |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
286 ## If the file includes a path, it may be an overloaded function. |
18061
832ecfda1d3c
edit.m: Respond correctly to either file separator (bug #40726).
Rik <rik@octave.org>
parents:
18011
diff
changeset
|
287 if (! index (file, "@") && strchr (file, '/\')) |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
288 ## No "@" at the beginning of the file, add to the list. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
289 numfiles = numel (filelist); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
290 for n = 1:numfiles |
17592
28eb00d3edf4
edit.m: Work correctly for file names with '~'.
Rik <rik@octave.org>
parents:
17393
diff
changeset
|
291 filelist(n+numfiles) = ["@" filelist{n}]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
292 endfor |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
293 endif |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
294 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
295 ## Search the entire path for the 1st instance of a file in the list. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
296 fileandpath = ""; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
297 for n = 1:numel (filelist) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
298 filetoedit = file_in_path (path, filelist{n}); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
299 if (! isempty (filetoedit)) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
300 ## The path is explicitly included. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
301 fileandpath = filetoedit; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
302 break; |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
303 endif |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
304 endfor |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
305 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
306 if (! isempty (fileandpath)) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
307 ## If the file exists, then edit it. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
308 if (FUNCTION.EDITINPLACE) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
309 ## Edit in place even if it is protected. |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
310 do_edit (FUNCTION.EDITOR, fileandpath, FUNCTION.MODE); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
311 return; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
312 else |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
313 ## If the file is modifiable in place then edit it, |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
314 ## otherwise make a copy in HOME and then edit it. |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
315 fid = fopen (fileandpath, "r+t"); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
316 if (fid < 0) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
317 from = fileandpath; |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
318 fileandpath = [FUNCTION.HOME, from(rindex(from, filesep):end)]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
319 [status, msg] = copyfile (from, fileandpath, 1); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
320 if (status == 0) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
321 error (msg); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
322 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
323 else |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
324 fclose (fid); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
325 endif |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
326 do_edit (FUNCTION.EDITOR, fileandpath, FUNCTION.MODE); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
327 return; |
7325 | 328 endif |
329 endif | |
330 | |
17884
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
331 ## If editing a new file, prompt for creation if gui is running |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
332 if (isguirunning ()) |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
333 if (! __octave_link_edit_file__ (file,"prompt")); |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
334 return; |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
335 endif |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
336 endif |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
337 |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
338 ## If editing a new file that is neither an m-file nor an oct-file, |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
339 ## just edit it. |
17884
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
340 ## If in gui-mode, create it before or editor would prompt again. |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
341 fileandpath = file; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
342 idx = rindex (file, "."); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
343 name = file(1:idx-1); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
344 ext = file(idx+1:end); |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
345 if (! any (strcmp (ext, {"cc", "m"}))) |
17884
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
346 ## Some unknown file. Create and open it or just open it. |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
347 if (isguirunning ()) |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
348 ## Write the initial file (if there is anything to write) |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
349 fid = fopen (fileandpath, "wt"); |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
350 if (fid < 0) |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
351 error ("edit: could not create %s", fileandpath); |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
352 endif |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
353 fclose (fid); |
766ad9be2966
Prompt for non-existent new file when using edit.m from GUI (bug #40450)
Torsten <ttl@justmail.de>
parents:
17864
diff
changeset
|
354 endif |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
355 do_edit (FUNCTION.EDITOR, fileandpath, FUNCTION.MODE); |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
356 return; |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
357 endif |
7325 | 358 |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
359 ## The file doesn't exist in path so |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
360 ## create it, put in the function template, and edit it. |
7325 | 361 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
362 ## Guess the email name if it was not given. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
363 if (isempty (FUNCTION.EMAIL)) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
364 host = getenv ("HOSTNAME"); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
365 if (isempty (host) && ispc ()) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
366 host = getenv ("COMPUTERNAME"); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
367 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
368 if (isempty (host)) |
17393
6437a6815bc6
edit.m: Use '~' to discard unused return value from system().
Rik <rik@octave.org>
parents:
17336
diff
changeset
|
369 [~, host] = system ("uname -n"); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
370 ## trim newline from end of hostname |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
371 if (! isempty (host)) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
372 host = host(1:end-1); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
373 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
374 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
375 if (isempty (host)) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
376 FUNCTION.EMAIL = " "; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
377 else |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
378 FUNCTION.EMAIL = ["<" default_user(0) "@" host ">"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
379 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
380 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
381 |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
382 ## Fill in the revision string. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
383 now = localtime (time); |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
384 revs = ["Created: " strftime("%Y-%m-%d",now)]; |
7325 | 385 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
386 ## Fill in the copyright string. |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
387 copyright = [strftime("Copyright (C) %Y ",now) FUNCTION.AUTHOR]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
388 |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
389 ## Fill in the author tag field. |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
390 author = ["Author: " FUNCTION.AUTHOR " " FUNCTION.EMAIL]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
391 |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
392 ## Fill in the header. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
393 uclicense = toupper (FUNCTION.LICENSE); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
394 switch (uclicense) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
395 case "GPL" |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
396 head = cstrcat (copyright, "\n\n", "\ |
17863
0676fae19b8b
edit.m: Change default GPL license to refer to "this program" rather than "Octave".
Rik <rik@octave.org>
parents:
17753
diff
changeset
|
397 This program is free software; you can redistribute it and/or modify it\n\ |
0676fae19b8b
edit.m: Change default GPL license to refer to "this program" rather than "Octave".
Rik <rik@octave.org>
parents:
17753
diff
changeset
|
398 under the terms of the GNU General Public License as published by\n\ |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
399 the Free Software Foundation; either version 3 of the License, or\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
400 (at your option) any later version.\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
401 \n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
402 This program is distributed in the hope that it will be useful,\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
403 but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
404 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
405 GNU General Public License for more details.\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
406 \n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
407 You should have received a copy of the GNU General Public License\n\ |
17864
674e5eb2c709
edit.m: Use more meaningful variable names in default function body.
Rik <rik@octave.org>
parents:
17863
diff
changeset
|
408 along with this program. If not, see <http://www.gnu.org/licenses/>.\ |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
409 "); |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
410 tail = [author, "\n", revs]; |
7325 | 411 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
412 case "BSD" |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
413 head = cstrcat (copyright, "\n\n", "\ |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
414 This program is free software; redistribution and use in source and\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
415 binary forms, with or without modification, are permitted provided that\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
416 the following conditions are met:\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
417 \n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
418 1.Redistributions of source code must retain the above copyright\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
419 notice, this list of conditions and the following disclaimer.\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
420 2.Redistributions in binary form must reproduce the above copyright\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
421 notice, this list of conditions and the following disclaimer in the\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
422 documentation and/or other materials provided with the distribution.\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
423 \n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
424 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
425 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
426 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
427 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
428 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
429 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
430 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
431 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
432 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
433 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
434 SUCH DAMAGE.\ |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
435 "); |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
436 tail = [author, "\n", revs]; |
7325 | 437 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
438 case "PD" |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
439 head = ""; |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
440 tail = [author, "\n", revs, "\n\n", ... |
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
441 "This program is granted to the public domain."]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
442 |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
443 otherwise |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
444 head = ""; |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
445 tail = [copyright, "\n\n", FUNCTION.LICENSE, "\n", author, "\n", revs]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
446 endswitch |
7325 | 447 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
448 ## Generate the function template. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
449 exists = exist (name); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
450 switch (ext) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
451 case {"cc", "C", "cpp"} |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
452 if (isempty (head)) |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
453 comment = ["/*\n\n", tail, "\n\n*/\n\n"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
454 else |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
455 comment = ["/*\n\n", head, "\n\n", tail, "\n\n*/\n\n"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
456 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
457 ## If we are shadowing an m-file, paste the code for the m-file. |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
458 if (any (exists == [2, 103])) |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
459 code = ['\ ', strrep(type(name){1}, "\n", "\n// ")]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
460 else |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
461 code = " "; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
462 endif |
17245
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
463 body = ["#include <octave/oct.h>\n\n", ... |
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
464 "DEFUN_DLD(" name ", args, nargout, \"\\\n", ... |
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
465 name, "\\n\\\n\")\n{\n", ... |
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
466 " octave_value_list retval;\n", ... |
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
467 " int nargin = args.length ();\n\n", ... |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
468 code, "\n return retval;\n}\n"]; |
7325 | 469 |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
470 text = [comment, body]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
471 case "m" |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
472 ## If we are editing a function defined on the fly, paste the code. |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
473 if (any (exists == [2, 103])) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
474 body = type (name){1}; |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
475 else |
17864
674e5eb2c709
edit.m: Use more meaningful variable names in default function body.
Rik <rik@octave.org>
parents:
17863
diff
changeset
|
476 body = ["function [retval] = " name " (input1, input2)\n\n" ... |
674e5eb2c709
edit.m: Use more meaningful variable names in default function body.
Rik <rik@octave.org>
parents:
17863
diff
changeset
|
477 "endfunction\n"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
478 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
479 if (isempty (head)) |
17245
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
480 comment = ["## -*- texinfo -*- \n## @deftypefn {Function File} " ... |
17864
674e5eb2c709
edit.m: Use more meaningful variable names in default function body.
Rik <rik@octave.org>
parents:
17863
diff
changeset
|
481 "{@var{retval} =} " name ... |
674e5eb2c709
edit.m: Use more meaningful variable names in default function body.
Rik <rik@octave.org>
parents:
17863
diff
changeset
|
482 " (@var{input1}, @var{input2})\n##\n" ... |
17245
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
483 "## @seealso{}\n## @end deftypefn\n\n" ... |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
484 "## " strrep(tail, "\n", "\n## ") "\n\n"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
485 else |
17245
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
486 comment = ["## " strrep(head,"\n","\n## ") "\n\n" ... |
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
487 "## -*- texinfo -*- \n## @deftypefn {Function File} " ... |
17864
674e5eb2c709
edit.m: Use more meaningful variable names in default function body.
Rik <rik@octave.org>
parents:
17863
diff
changeset
|
488 "{@var{retval} =} " name ... |
674e5eb2c709
edit.m: Use more meaningful variable names in default function body.
Rik <rik@octave.org>
parents:
17863
diff
changeset
|
489 " (@var{input1}, @var{input2})\n##\n" ... |
17245
7babcdb9bc13
Use ... instead of \ for line continuation marker.
Stefan Mahr <dac922@gmx.de>
parents:
17174
diff
changeset
|
490 "## @seealso{}\n## @end deftypefn\n\n" ... |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
491 "## " strrep(tail, "\n", "\n## ") "\n\n"]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
492 endif |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
493 text = [comment, body]; |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
494 endswitch |
7325 | 495 |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
496 ## Write the initial file (if there is anything to write) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
497 fid = fopen (fileandpath, "wt"); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
498 if (fid < 0) |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
499 error ("edit: could not create %s", fileandpath); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
500 endif |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
501 fputs (fid, text); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
502 fclose (fid); |
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
503 |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
504 do_edit (FUNCTION.EDITOR, fileandpath, FUNCTION.MODE); |
15526
1353ca03266f
add ability to edit multiple files (bug #37573)
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
14868
diff
changeset
|
505 |
7325 | 506 endif |
507 | |
508 endfunction | |
509 | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
510 function retval = default_home () |
7325 | 511 |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
512 retval = getenv ("HOME"); |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
513 if (isempty (retval)) |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
514 retval = glob ("~"); |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
515 if (! isempty (retval)) |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
516 retval = retval{1}; |
7325 | 517 else |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
518 retval = ""; |
7325 | 519 endif |
520 endif | |
521 | |
522 endfunction | |
523 | |
7434 | 524 ## Return the name associated with the current user ID. |
7325 | 525 ## |
7434 | 526 ## If LONG_FORM is 1, return the full name. This will be the |
527 ## default author. Otherwise return the login name. | |
7325 | 528 ## login@host will be the default email address. |
529 | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
530 function retval = default_user (long_form) |
7325 | 531 |
532 ent = getpwuid (getuid); | |
533 if (! isstruct (ent)) | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
534 retval = getenv ("USER"); |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
535 if (isempty (retval)) |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
536 retval = getenv ("USERNAME"); |
7325 | 537 endif |
538 elseif (long_form) | |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
539 retval = ent.gecos; |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
540 pos = strfind (retval, ","); |
7434 | 541 if (! isempty (pos)) |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
542 retval = retval(1:pos-1); |
7434 | 543 endif |
7325 | 544 else |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
545 retval = ent.name; |
7325 | 546 endif |
547 | |
548 endfunction | |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
549 |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
550 function do_edit (editor, file, mode) |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
551 |
16998
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
552 ## Give the hook function a chance. |
5069b6c6c062
edit.m: Redo default templates. Improve docstring. Use Octave coding conventions.
Rik <rik@octave.org>
parents:
16994
diff
changeset
|
553 ## If that fails, fall back on running an editor with the system function. |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
554 |
16420
81ec95768520
use octave-link instead of hook for edit function
John W. Eaton <jwe@octave.org>
parents:
16399
diff
changeset
|
555 status = __octave_link_edit_file__ (file); |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
556 |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
557 if (! status) |
16994
333243133364
Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents:
16420
diff
changeset
|
558 system (sprintf (undo_string_escapes (editor), ['"' file '"']), [], mode); |
16399
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
559 endif |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
560 |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
561 endfunction |
f9a737fd8829
allow command-line edit function to use GUI editor
John W. Eaton <jwe@octave.org>
parents:
16045
diff
changeset
|
562 |
14363
f3d52523cde1
Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents:
14138
diff
changeset
|
563 |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
564 %!test |
8746
5dd06f19e9be
handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents:
8506
diff
changeset
|
565 %! s.home = edit ("get", "home"); |
5dd06f19e9be
handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents:
8506
diff
changeset
|
566 %! s.author = edit ("get", "author"); |
5dd06f19e9be
handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents:
8506
diff
changeset
|
567 %! s.email = edit ("get", "email"); |
5dd06f19e9be
handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents:
8506
diff
changeset
|
568 %! s.license = edit ("get", "license"); |
5dd06f19e9be
handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents:
8506
diff
changeset
|
569 %! s.editinplace = edit ("get", "editinplace"); |
5dd06f19e9be
handle commands in the lexer
John W. Eaton <jwe@octave.org>
parents:
8506
diff
changeset
|
570 %! s.mode = edit ("get", "mode"); |
7502
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
571 %! edit home none |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
572 %! edit author none |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
573 %! edit email none |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
574 %! edit license none |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
575 %! edit ("editinplace", !s.editinplace) |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
576 %! if (s.mode(1) == "a") |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
577 %! edit mode sync |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
578 %! else |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
579 %! edit mode async |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
580 %! endif |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
581 %! edit ("home", s.home); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
582 %! edit ("author", s.author); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
583 %! edit ("email", s.email); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
584 %! edit ("license", s.license); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
585 %! edit ("editinplace", s.editinplace); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
586 %! edit ("mode", s.mode); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
587 %! assert (edit ("get", "home"), s.home); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
588 %! assert (edit ("get", "author"), s.author); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
589 %! assert (edit ("get", "email"), s.email); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
590 %! assert (edit ("get", "license"), s.license); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
591 %! assert (edit ("get", "editinplace"), s.editinplace); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
592 %! assert (edit ("get", "mode"), s.mode); |
2ce6b4258e96
Modified for consistency with Matlab. Modified to respect partial paths needed for overloaded functions.
Ben Abbott <bpabbott@mac.com>
parents:
7444
diff
changeset
|
593 |