annotate scripts/path/matlabroot.m @ 19335:bb8d3f17248d

Overhaul savepath.m, pathdef.m, matlabroot.m. Fix pathdef which has been broken since at least 3.2.4 (nobody noticed). Use project specific .octaverc for savepath, pathdef before other choices. * matlabroot.m: Remove stray extra newline before start of BIST tests. * scripts/path/module.mk: Add getsavepath.m to build system * scripts/path/private/getsavepath.m: New function abstracts common code used by both pathdef and savepath to read an rc file. * pathdef.m: Redo docstring. Validate number of input arguments. Look for project-specific .octaverc file ahead of other rc files. Use private function getsavepath to read in rc file. Return pathsep() separated list of directories (this was broken). Add one lame BIST test. * savepath.m: Redo docstring. Use project-specific .octaverc if it exists. Use private function getsavepath to read in rc file. Replace for loops around fprintf with single calls to fprintf and a comma-separated-list of arguments. Use Octave syntax, rather than for loops, to convert cell array of structs to cellstr of a single struct field value. Turn off backtrace warning temporarily when alerting the user about where the savepath information has been saved. Use ostrsplit and strcat rather than regexpi for performance. Add BIST test.
author Rik <rik@octave.org>
date Thu, 20 Nov 2014 08:08:35 -0800
parents d63878346099
children 4197fc428c7d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17744
d63878346099 maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents: 14363
diff changeset
1 ## Copyright (C) 2008-2013 Ben Abbott
7388
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
2 ##
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
4 ##
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
8 ## your option) any later version.
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
9 ##
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
14 ##
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
18
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
19 ## -*- texinfo -*-
12208
9611014e7cf1 Add function compare_versions to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
20 ## @deftypefn {Function File} {} matlabroot ()
9611014e7cf1 Add function compare_versions to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
21 ## Return the name of the top-level Octave installation directory.
9611014e7cf1 Add function compare_versions to documentation.
Rik <octave@nomad.inbox5.com>
parents: 11523
diff changeset
22 ##
13929
9cae456085c2 Grammarcheck of documentation before 3.6.0 release.
Rik <octave@nomad.inbox5.com>
parents: 12811
diff changeset
23 ## This is an alias for the function @w{@code{OCTAVE_HOME}} provided
12345
8c0bf79b5c6a Periodic spellcheck of documentation.
Rik <octave@nomad.inbox5.com>
parents: 12208
diff changeset
24 ## for compatibility.
7388
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
25 ## @seealso{OCTAVE_HOME}
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
26 ## @end deftypefn
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
27
14216
b3730ed107a6 Clean up scripts in path/ directory
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
28 function retval = matlabroot ()
7388
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
29
14216
b3730ed107a6 Clean up scripts in path/ directory
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
30 retval = OCTAVE_HOME;
7388
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
31
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
32 endfunction
0e1ccfe1bf91 [project @ 2008-01-16 06:31:23 by jwe]
jwe
parents:
diff changeset
33
14216
b3730ed107a6 Clean up scripts in path/ directory
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
34
14363
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14216
diff changeset
35 %!assert (matlabroot (), OCTAVE_HOME ())
f3d52523cde1 Use Octave coding conventions in all m-file %!test blocks
Rik <octave@nomad.inbox5.com>
parents: 14216
diff changeset
36