This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Gisle's av_unshift tweak, two small patches from chip
[perl5.git] / scope.c
diff --git a/scope.c b/scope.c
index bca1c2b..61bc731 100644 (file)
--- a/scope.c
+++ b/scope.c
@@ -205,11 +205,14 @@ AV *
 save_ary(GV *gv)
 {
     dTHR;
-    AV *oav, *av;
+    AV *oav = GvAVn(gv);
+    AV *av;
 
+    if (!AvREAL(oav) && AvREIFY(oav))
+       av_reify(oav);
     SSCHECK(3);
     SSPUSHPTR(gv);
-    SSPUSHPTR(oav = GvAVn(gv));
+    SSPUSHPTR(oav);
     SSPUSHINT(SAVEt_AV);
 
     GvAV(gv) = Null(AV*);