# HG changeset patch # User Jaroslav Hajek # Date 1245485610 -7200 # Node ID ff612fdaee956d05a5bae9c34dfdcc3f3a6b5a32 # Parent 59559e71000e2251d977780cab202e2816d2297a properly unshare variable in subsasgn diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2009-06-20 Jaroslav Hajek + + * ov.cc (Fsubsasgn): Uniquify shared value before assigning to it. + 2009-06-19 Jaroslav Hajek * DLD-FUNCTIONS/lookup.cc: Update docs. diff --git a/src/ov.cc b/src/ov.cc --- a/src/ov.cc +++ b/src/ov.cc @@ -2704,8 +2704,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 ();