Mercurial > jwe > octave
changeset 29322:d680d5ebafaa
maint: merge stable to default.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 23 Jan 2021 15:38:33 +0100 |
parents | 960ea0ccff98 (current diff) 09f99fe5190c (diff) |
children | 7bb6a7cbb65e |
files | libinterp/parse-tree/pt-assign.cc test/bug-59704/bug-59704.tst test/bug-59704/bug59704_1.m test/bug-59704/module.mk |
diffstat | 5 files changed, 44 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-assign.cc Sat Jan 23 14:30:55 2021 +0100 +++ b/libinterp/parse-tree/pt-assign.cc Sat Jan 23 15:38:33 2021 +0100 @@ -204,6 +204,8 @@ ? rhs_val1(0).list_value () : rhs_val1); + tw.set_lvalue_list (nullptr); + octave_idx_type k = 0; octave_idx_type n = rhs_val.length ();
--- a/test/bug-59704/bug-59704.tst Sat Jan 23 14:30:55 2021 +0100 +++ b/test/bug-59704/bug-59704.tst Sat Jan 23 15:38:33 2021 +0100 @@ -2,3 +2,8 @@ %! o = bug59704_1 (); %! o.test (); %! assert (o.p, []) + +%!test +%! o = bug59704_2 (); +%! [~, o(1)] = size (rand (2, 5)); +%! assert (o(1), 5)
--- a/test/bug-59704/bug59704_1.m Sat Jan 23 14:30:55 2021 +0100 +++ b/test/bug-59704/bug59704_1.m Sat Jan 23 15:38:33 2021 +0100 @@ -6,12 +6,12 @@ methods - function n = numel(this, varargin) + function n = numel (this, varargin) n = 1; endfunction - function test(this) - [~, this.p] = bug59704_1_test(this.p); + function test (this) + [~, this.p] = bug59704_1_test (this.p); endfunction endmethods
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/bug-59704/bug59704_2.m Sat Jan 23 15:38:33 2021 +0100 @@ -0,0 +1,33 @@ +classdef bug59704_2 < handle + + properties + data_ + endproperties + + methods + + function obj = bug59704_2 () + obj.data_ = 1001:1005; + endfunction + + function r = subsref (obj, S) + ## Transform: obj(index) --> obj.data_(index) + if strcmp (S(1).type, '()') + r = subsref (obj.data_, S); + else + r = builtin('subsref', obj, S); + endif + endfunction + + function obj = subsasgn (obj, S, B) + ## Transform: obj(index) --> obj.data_(index) + if strcmp (S(1).type, '()') + obj.data_ = subsasgn (obj.data_, S, B); + else + obj = builtin ('subsasgn', obj, S, B); + endif + endfunction + + endmethods + +endclassdef
--- a/test/bug-59704/module.mk Sat Jan 23 14:30:55 2021 +0100 +++ b/test/bug-59704/module.mk Sat Jan 23 15:38:33 2021 +0100 @@ -1,6 +1,7 @@ bug_59704_TEST_FILES = \ %reldir%/bug59704_1.m \ %reldir%/bug59704_1_test.m \ + %reldir%/bug59704_2.m \ %reldir%/bug-59661.tst TEST_FILES += $(bug_59704_TEST_FILES)