Handle SAVEt_ADELETE in ss_dup
authorFather Chrysostomos <sprout@cpan.org>
Mon, 5 Aug 2013 08:10:21 +0000 (01:10 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Mon, 5 Aug 2013 09:23:35 +0000 (02:23 -0700)
c68ec7a9f95 added SAVEt_ADELETE without adding it to ss_dup.

sv.c
t/porting/ss_dup.t

diff --git a/sv.c b/sv.c
index e3a98cc..b44d7a1 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -12944,6 +12944,12 @@ Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, CLONE_PARAMS* param)
            ptr = POPPTR(ss,ix);
            TOPPTR(nss,ix) = cophh_copy((COPHH *)ptr);
            break;
+       case SAVEt_ADELETE:
+           av = (const AV *)POPPTR(ss,ix);
+           TOPPTR(nss,ix) = av_dup_inc(av, param);
+           i = POPINT(ss,ix);
+           TOPINT(nss,ix) = i;
+           break;
        case SAVEt_DELETE:
            hv = (const HV *)POPPTR(ss,ix);
            TOPPTR(nss,ix) = hv_dup_inc(hv, param);
index 1604b0b..2cb74c9 100644 (file)
@@ -1,6 +1,6 @@
 #!perl
 
-@TODO = qw [ SAVEt_ADELETE SAVEt_READONLY_OFF SAVEt_SAVESWITCHSTACK
+@TODO = qw [ SAVEt_READONLY_OFF SAVEt_SAVESWITCHSTACK
              SAVEt_STACK_CXPOS ];
 @TODO{@TODO} = ();