Skip to content

Commit 1461eec

Browse files
committed
allow older Matlab and GNU Octave to work
1 parent b7c7364 commit 1461eec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+414
-333
lines changed

+stdlib/absolute.m

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,23 @@
1717
% non-existant path is made absolute relative to pwd
1818

1919
function c = absolute(p, base, expand_tilde, use_java)
20-
arguments
21-
p (1,1) string
22-
base (1,1) string = ""
23-
expand_tilde (1,1) logical = true
24-
use_java (1,1) logical = false
20+
% arguments
21+
% p (1,1) string
22+
% base (1,1) string = ""
23+
% expand_tilde (1,1) logical = true
24+
% use_java (1,1) logical = false
25+
% end
26+
if nargin < 2, base = ""; end
27+
if nargin < 3, expand_tilde = true; end
28+
if nargin < 4, use_java = false; end
29+
30+
cwd = pwd();
31+
32+
try %#ok<TRYNC>
33+
cwd = string(cwd);
2534
end
2635

27-
cwd = stdlib.posix(pwd());
36+
cwd = stdlib.posix(cwd);
2837

2938
Lb = stdlib.len(base);
3039

@@ -70,5 +79,5 @@
7079
end
7180

7281

73-
%!assert(absolute('', '', 0,0), posix(pwd))
74-
%!assert(absolute('a/b', '', 0,0), posix(fullfile(pwd, 'a/b')))
82+
%!assert(absolute('', ''), posix(pwd))
83+
%!assert(absolute('a/b', ''), posix(fullfile(pwd, 'a/b')))

+stdlib/canonical.m

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@
1414
% https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/File.html#getCanonicalPath()
1515

1616
function c = canonical(p, expand_tilde, use_java)
17-
arguments
18-
p (1,1) string
19-
expand_tilde (1,1) logical = true
20-
use_java (1,1) logical = false
21-
end
17+
% arguments
18+
% p (1,1) string
19+
% expand_tilde (1,1) logical = true
20+
% use_java (1,1) logical = false
21+
% end
22+
if nargin < 2, expand_tilde = true; end
23+
if nargin < 3, use_java = false; end
2224

2325
if expand_tilde
2426
c = stdlib.expanduser(p, use_java);
@@ -59,6 +61,6 @@
5961

6062
end
6163

62-
%!assert(canonical("", 0,0), "")
63-
%!assert(canonical("~",1,0), homedir())
64-
%!assert(canonical("a/b/..",0,0), "a")
64+
%!assert(canonical(""), "")
65+
%!assert(canonical("~"), homedir())
66+
%!assert(canonical("a/b/.."), "a")

+stdlib/create_symlink.m

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,17 @@
99
% Ref: https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/file/Files.html#createSymbolicLink(java.nio.file.Path,java.nio.file.Path,java.nio.file.attribute.FileAttribute...)
1010

1111
function ok = create_symlink(target, link)
12-
13-
arguments
14-
target (1,1) string
15-
link (1,1) string
16-
end
12+
% arguments
13+
% target (1,1) string
14+
% link (1,1) string
15+
% end
1716

1817
if stdlib.isoctave()
1918

2019
[err, msg] = symlink(target, link);
2120
ok = err == 0;
2221
if ~ok
23-
warning("symlink: %s", msg)
22+
warning("create_symlink: %s", msg)
2423
end
2524

2625
elseif ispc || isMATLABReleaseOlderThan("R2024b")
@@ -61,5 +60,5 @@
6160

6261
%!test
6362
%! if !ispc
64-
%! create_symlink(tempname, tempname)
63+
%! assert(create_symlink(tempname, tempname))
6564
%! endif

+stdlib/diskfree.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
% Ref: https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/File.html#getUsableSpace()
77

88
function f = diskfree(d)
9-
arguments
10-
d (1,1) string {mustBeFolder}
11-
end
9+
% arguments
10+
% d (1,1) string
11+
% end
1212

1313
if stdlib.isoctave()
1414
o = javaObject("java.io.File", d);

+stdlib/drop_slash.m

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
%% DROP_SLASH drop repeated and trailing slash
22

33
function d = drop_slash(p)
4-
arguments
5-
p (1,1) string
6-
end
4+
% arguments
5+
% p (1,1) string
6+
% end
77

88
s = stdlib.posix(p);
99

@@ -12,7 +12,7 @@
1212

1313
L = stdlib.len(d);
1414

15-
if d == '/' || ~L
15+
if strcmp(d, '/') || ~L
1616
return;
1717
end
1818

+stdlib/exists.m

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
%
88

99
function ok = exists(p, use_java)
10-
arguments
11-
p (1,1) string
12-
use_java (1,1) logical = false
13-
end
14-
10+
% arguments
11+
% p (1,1) string
12+
% use_java (1,1) logical = false
13+
% end
14+
if nargin < 2, use_java = false; end
1515

1616
if stdlib.isoctave()
1717
ok = javaObject("java.io.File", p).exists();

+stdlib/expanduser.m

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88
% * e: expanded path
99

1010
function e = expanduser(p, use_java)
11-
arguments
12-
p (1,1) string
13-
use_java (1,1) logical = false
14-
end
11+
% arguments
12+
% p (1,1) string
13+
% use_java (1,1) logical = false
14+
% end
15+
if nargin < 2, use_java = false; end
1516

1617
e = stdlib.drop_slash(p);
1718

@@ -49,9 +50,9 @@
4950
end
5051

5152

52-
%!assert(expanduser('',0), '')
53-
%!assert(expanduser("~",0), homedir())
54-
%!assert(expanduser("~/",0), homedir())
55-
%!assert(expanduser("~user",0), "~user")
56-
%!assert(expanduser("~user/",0), "~user")
57-
%!assert(expanduser("~///c",0), strcat(homedir(), "/c"))
53+
%!assert(expanduser(''), '')
54+
%!assert(expanduser("~"), homedir())
55+
%!assert(expanduser("~/"), homedir())
56+
%!assert(expanduser("~user"), "~user")
57+
%!assert(expanduser("~user/"), "~user")
58+
%!assert(expanduser("~///c"), strcat(homedir(), "/c"))

+stdlib/file_size.m

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
% FILE_SIZE size in bytes of file
22

33
function s = file_size(p, use_java)
4-
arguments
5-
p (1,1) string {mustBeFile}
6-
use_java (1,1) logical = false
7-
end
4+
% arguments
5+
% p (1,1) string {mustBeFile}
6+
% use_java (1,1) logical = false
7+
% end
8+
if nargin < 2, use_java = false; end
89

910
if stdlib.isoctave()
1011
s = javaObject("java.io.File", p).length();

+stdlib/filename.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
% filename (including suffix) without directory
33

44
function f = filename(p)
5-
arguments
6-
p (1,1) string
7-
end
5+
% arguments
6+
% p (1,1) string
7+
% end
88

99
% NOT https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/File.html#getName()
1010
% because by our definition, a trailing directory component is not part of the filename

+stdlib/get_pid.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
function pid = get_pid()
44

5-
if stdlib.isoctave
5+
if stdlib.isoctave()
66
pid = getpid();
77
else
88
pid = feature("getpid");

0 commit comments

Comments
 (0)