# HG changeset patch # User Jaroslav Hajek # Date 1245650184 -7200 # Node ID 10fb62b821088454869314b4b5a60a906807a054 # Parent 59fb9a2d9aca6400c46af4f1ebddd3167116eb05 properly unshare variable in subsasgn diff -r 59fb9a2d9aca -r 10fb62b82108 src/ChangeLog --- a/src/ChangeLog Mon Jun 22 07:56:24 2009 +0200 +++ b/src/ChangeLog Mon Jun 22 07:56:24 2009 +0200 @@ -1,3 +1,7 @@ +2009-06-20 Jaroslav Hajek + + * ov.cc (Fsubsasgn): Uniquify shared value before assigning to it. + 2009-06-17 John W. Eaton * mex.cc (mxArray_octave_value::get_data): diff -r 59fb9a2d9aca -r 10fb62b82108 src/ov.cc --- a/src/ov.cc Mon Jun 22 07:56:24 2009 +0200 +++ b/src/ov.cc Mon Jun 22 07:56:24 2009 +0200 @@ -2712,8 +2712,12 @@ decode_subscripts ("subsasgn", args(1), type, idx); + octave_value arg0 = args(0); + + arg0.make_unique (); + if (! error_state) - retval = args(0).subsasgn (type, idx, args(2)); + retval = arg0.subsasgn (type, idx, args(2)); } else print_usage ();