annotate scripts/+matlab/+lang/makeValidName.m @ 27923:bd51beb6205e

update formatting of copyright notices * Use <https://octave.org/copyright/> instead of <https://octave.org/COPYRIGHT.html/>. * For consistency with other comments in the Octave sources, use C++-style comments for copyright blocks in C and C++ files. * Use delimiters above and below copyright blocks that are appropriate for the language used in the file. * Eliminate extra spacing inside copyright blocks. * lex.ll (looks_like_copyright): Also allow newlines and carriage returns before the word "Copyright". * scripts/mk-doc.pl (gethelp): Also skip empty comment lines. * bp-table.cc, type.m: Adjust tests.
author John W. Eaton <jwe@octave.org>
date Wed, 08 Jan 2020 11:59:41 -0500
parents 1891570abac8
children d8318c12d903 0a5b15007766
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ########################################################################
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 ##
27919
1891570abac8 update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 27918
diff changeset
3 ## Copyright (C) 2017-2020 The Octave Project Developers
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 26376
diff changeset
4 ##
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 ## See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 ## distribution or <https://octave.org/copyright/>.
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
7 ##
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
8 ## This file is part of Octave.
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
9 ##
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
10 ## Octave is free software: you can redistribute it and/or modify it
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
11 ## under the terms of the GNU General Public License as published by
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
12 ## the Free Software Foundation, either version 3 of the License, or
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
13 ## (at your option) any later version.
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
14 ##
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
18 ## GNU General Public License for more details.
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
19 ##
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
22 ## <https://www.gnu.org/licenses/>.
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 ##
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ########################################################################
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
25
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
26 ## -*- texinfo -*-
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
27 ## @deftypefn {} {@var{varname} =} matlab.lang.makeValidName (@var{str})
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
28 ## @deftypefnx {} {@var{varname} =} matlab.lang.makeValidName (@dots{}, @qcode{"ReplacementStyle"}, @var{rs})
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
29 ## @deftypefnx {} {@var{varname} =} matlab.lang.makeValidName (@dots{}, @qcode{"Prefix"}, @var{pfx})
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
30 ## @deftypefnx {} {[@var{varname}, @var{ismodified}] =} matlab.lang.makeValidName (@dots{})
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
31 ##
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
32 ## Create valid variable name @var{varname} from @var{str}.
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
33 ##
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
34 ## The input @var{str} must be a string or a cell array of strings.
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
35 ## The output @var{varname} will be of the same type.
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
36 ##
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
37 ## A valid variable name is a sequence of letters, digits, and underscores that
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
38 ## does not begin with a digit.
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
39 ##
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
40 ## The @qcode{"ReplacementStyle"} option specifies how invalid characters
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
41 ## are handled. Acceptable values are
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
42 ##
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
43 ## @table @asis
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
44 ## @item @qcode{"underscore"} (default)
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
45 ## Replace all invalid characters with an underscore (@qcode{"_"}).
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
46 ##
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
47 ## @item @qcode{"delete"}
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
48 ## Remove any invalid character.
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
49 ##
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
50 ## @item @qcode{"hex"}
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
51 ## Replace all invalid characters with their hexadecimal representation.
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
52 ## @end table
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
53 ##
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
54 ## Whitespace characters are always removed @strong{prior} to the application
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
55 ## of the @qcode{"ReplacementStyle"}. Lowercase letters following a whitespace
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
56 ## will be changed to uppercase.
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
57 ##
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
58 ## The @qcode{"Prefix"} option specifies the string @var{pfx} to add as a
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
59 ## prefix to the input if it begins with a digit. @var{pfx} must be a valid
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
60 ## variable name itself. The default prefix is @qcode{"x"}.
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
61 ##
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
62 ## The optional output @var{ismodified} is a logical array indicating whether
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
63 ## the respective element in @var{str} was a valid name or not.
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
64 ##
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
65 ## @seealso{iskeyword, isvarname, matlab.lang.makeUniqueStrings}
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
66 ## @end deftypefn
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
67
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
68 function [varname, ismodified] = makeValidName (str, varargin)
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
69
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
70 if (nargin == 0 || nargout > 2)
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
71 print_usage ();
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
72 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
73
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
74 if (! ischar (str) && ! iscellstr (str))
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
75 error ("makeValidName: STR must be a string or cellstr");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
76 endif
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
77
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
78 if (mod (nargin - 1, 2) != 0)
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
79 error ("makeValidName: property/value options must occur in pairs");
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
80 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
81
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
82 varname = cellstr (str);
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
83 ismodified = false (size (varname));
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
84 convert2char = ischar (str);
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
85 opts = struct ("replacementstyle", "underscore", "prefix", "x");
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
86
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
87 for i = 1:2:numel (varargin)
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
88 if (! ischar (varargin{i}))
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
89 error ("makeValidName: option argument must be a string");
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
90 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
91 parameter = tolower (varargin{i});
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
92 value = varargin{i+1};
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
93 switch (parameter)
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
94 case "replacementstyle"
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
95 if (! ischar (value))
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
96 error ('makeValidName: "ReplacementStyle" value must be a string');
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
97 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
98 value = tolower (value);
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
99 if (! any (strcmp (value, {"underscore", "delete", "hex"})))
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
100 error ('makeValidName: invalid "ReplacementStyle" value "%s"', value);
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
101 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
102 opts.replacementstyle = value;
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
103
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
104 case "prefix"
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
105 if (! isvarname (value))
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
106 error ('makeValidName: invalid "Prefix" value "%s"', value);
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
107 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
108 opts.prefix = value;
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
109
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
110 otherwise
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
111 error ('makeValidName: unknown property "%s"', parameter);
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
112 endswitch
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
113 endfor
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
114
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
115 for i = 1:numel (varname)
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
116 if (! isvarname (varname{i}))
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
117 ismodified(i) = true;
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
118
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
119 ## Remove leading and trailing whitespace
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
120 varname{i} = strtrim (varname{i});
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
121 if (isempty (varname{i}))
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
122 varname{i} = opts.prefix;
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
123 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
124
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
125 ## Add prefix if input is a reserved keyword
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
126 if (iskeyword (varname{i}))
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
127 varname{i} = [opts.prefix, toupper(varname{i}(1)), varname{i}(2:end)];
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
128 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
129
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
130 ## Change whitespace followed by lowercase letter to uppercase
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
131 idx = regexp (varname{i}, '\s[a-z]');
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
132 varname{i}(idx+1) = toupper (varname{i}(idx+1));
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
133
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
134 ## Remove any whitespace character
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
135 varname{i}(isspace (varname{i})) = "";
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
136
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
137 ## Add prefix if first character is not a letter or underscore
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
138 char1 = varname{i}(1);
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
139 if (! isalpha (char1) && char1 != "_")
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
140 varname{i} = [opts.prefix varname{i}];
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
141 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
142
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
143 ## Replace non alphanumerics or underscores
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
144 idx = regexp (varname{i}, '[^0-9a-zA-Z_]');
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
145 switch (opts.replacementstyle)
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
146 case "underscore"
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
147 varname{i}(idx) = "_";
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
148
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
149 case "delete"
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
150 varname{i}(idx) = "";
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
151
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
152 case "hex"
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
153 for j = numel (idx):-1:1
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
154 varname{i} = strrep (varname{i}, varname{i}(idx(j)),
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
155 sprintf ("0x%02X",varname{i}(idx(j))));
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
156 endfor
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
157 endswitch
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
158 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
159 endfor
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
160
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
161 if (convert2char)
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
162 varname = char (varname);
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
163 endif
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
164
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
165 endfunction
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
166
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
167
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
168 ## Test char vector input
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
169 %!test
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
170 %! varname = matlab.lang.makeValidName ("octave");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
171 %! assert (varname, "octave");
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
172
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
173 ## Test cellstr input
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
174 %!test
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
175 %! varname = matlab.lang.makeValidName ({"gnu", "octave"});
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
176 %! assert (varname, {"gnu", "octave"});
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
177
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
178 ## Test default flags
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
179 %!test
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
180 %! str = {"Octave", "3d plot", "GNU/Octave", "laplace_*"};
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
181 %! varname = matlab.lang.makeValidName (str);
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
182 %! assert (varname, {"Octave", "x3dPlot", "GNU_Octave", "laplace__"});
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
183
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
184 ## Test ReplacementStyle flag
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
185 %!test
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
186 %! str = {"Octave", "3d plot", "GNU/Octave", "laplace_*"};
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
187 %! varname = matlab.lang.makeValidName (str, "ReplacementStyle", "underscore");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
188 %! assert (varname, {"Octave", "x3dPlot", "GNU_Octave", "laplace__"});
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
189 %! varname = matlab.lang.makeValidName (str, "ReplacementStyle", "hex");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
190 %! assert (varname, {"Octave", "x3dPlot", "GNU0x2FOctave", "laplace_0x2A"});
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
191 %! varname = matlab.lang.makeValidName (str, "ReplacementStyle", "delete");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
192 %! assert (varname, {"Octave", "x3dPlot", "GNUOctave", "laplace_"});
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
193
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
194 ## Test Prefix flag
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
195 %!test
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
196 %! assert (matlab.lang.makeValidName ({"", " "}), {"x", "x"});
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
197 %! str = {"Octave", "3d plot", "GNU/Octave", "laplace_*"};
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
198 %! varname = matlab.lang.makeValidName (str, "prefix", "oct_");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
199 %! assert (varname, {"Octave", "oct_3dPlot", "GNU_Octave", "laplace__"});
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
200
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
201 ## Test second output
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
202 %!test
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
203 %! str = {"Octave", "3d plot", "GNU/Octave", "laplace_*"};
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
204 %! [varname, modified] = matlab.lang.makeValidName (str);
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
205 %! assert (modified, [false, true, true, true]);
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
206
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
207 ## Test whitespace followed by a lowercase letter
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
208 %!test
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
209 %! varname = matlab.lang.makeValidName ("gnu octave");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
210 %! assert (varname, "gnuOctave");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
211 %! varname = matlab.lang.makeValidName (" octave ");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
212 %! assert (varname, "octave");
26201
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
213
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
214 ## Check for keywords
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
215 %!test
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
216 %! assert (matlab.lang.makeValidName ("for"), "xFor")
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
217 %! assert (matlab.lang.makeValidName ("For"), "For")
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
218 %!error matlab.lang.makeValidName ("for", "Prefix", "for")
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
219
750a6f9957ea New functions makeUniqueStrings and makeValidName (bug #52596).
Guillaume Flandin <guillaume.offline@gmail.com>
parents:
diff changeset
220 ## Test input validation
26202
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
221 %!error matlab.lang.makeValidName ()
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
222 %!error <STR must be a string or cellstr> matlab.lang.makeValidName (42)
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
223 %!error <options must occur in pairs> matlab.lang.makeValidName ("a", "opt1")
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
224 %!error <option argument must be a string>
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
225 %! matlab.lang.makeValidName ("a", 1, 2)
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
226 %!error <"ReplacementStyle" value must be a string>
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
227 %! matlab.lang.makeValidName ("a", "ReplacementStyle", 1);
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
228 %!error <invalid "ReplacementStyle" value "foobar">
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
229 %! matlab.lang.makeValidName ("a", "ReplacementStyle", "foobar");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
230 %!error <invalid "Prefix" value "1_">
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
231 %! matlab.lang.makeValidName ("a", "Prefix", "1_");
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
232 %!error <unknown property "foobar">
368dc1142072 makeValidName.m, makeUniqueStrings.m: Clean up functions to use Octave conventions.
Rik <rik@octave.org>
parents: 26201
diff changeset
233 %! matlab.lang.makeValidName ("a", "foobar", 1);