From: Nicholas Clark Date: Fri, 31 Mar 2006 19:30:09 +0000 (+0000) Subject: Need to dup any hints HV stored on the save stack. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a8f8b6a7ca709d640a0de17910dcda7bb53b8cf5;p=p5sagit%2Fp5-mst-13.2.git Need to dup any hints HV stored on the save stack. p4raw-id: //depot/perl@27650 --- diff --git a/sv.c b/sv.c index d5cc44d..7348876 100644 --- a/sv.c +++ b/sv.c @@ -10580,8 +10580,10 @@ Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, CLONE_PARAMS* param) TOPINT(nss,ix) = i; ptr = POPPTR(ss,ix); TOPPTR(nss,ix) = Perl_refcounted_he_dup(aTHX_ ptr, param); - /* FIXME - either dup the conditionally saved HV, or eliminate - it by recreating eval's %^H from the cop */ + if (i & HINT_LOCALIZE_HH) { + hv = (HV*)POPPTR(ss,ix); + TOPPTR(nss,ix) = hv_dup_inc(hv, param); + } break; case SAVEt_COMPPAD: av = (AV*)POPPTR(ss,ix);