summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doop.c1
-rwxr-xr-xt/op/tie.t12
2 files changed, 13 insertions, 0 deletions
diff --git a/doop.c b/doop.c
index e31af50064..ad626ca6d3 100644
--- a/doop.c
+++ b/doop.c
@@ -746,6 +746,7 @@ Perl_do_vecset(pTHX_ SV *sv)
s[offset+3] = lval & 255;
}
}
+ SvSETMAGIC(targ);
}
void
diff --git a/t/op/tie.t b/t/op/tie.t
index daec685d8d..49f07d4d2d 100755
--- a/t/op/tie.t
+++ b/t/op/tie.t
@@ -166,3 +166,15 @@ sub Self::DESTROY { $b = $_[0] + 0; }
}
die unless $a == $b;
EXPECT
+########
+# Interaction of tie and vec
+
+my ($a, $b);
+use Tie::Scalar;
+tie $a,Tie::StdScalar or die;
+vec($b,1,1)=1;
+$a = $b;
+vec($a,1,1)=0;
+vec($b,1,1)=0;
+die unless $a eq $b;
+EXPECT