X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pad.c;h=44fafb67eadd30e23263967ce556fdc53c95f89a;hb=67a86ef3f5ab1f509f5775da82cbf43e437569ac;hp=51592d09379708024df72058e881f3fb033a7c7d;hpb=12bd6ede29d13c215438daf78d15695e487886b0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pad.c b/pad.c index 51592d0..44fafb6 100644 --- a/pad.c +++ b/pad.c @@ -255,8 +255,8 @@ Perl_pad_undef(pTHX_ CV* cv) return; DEBUG_X(PerlIO_printf(Perl_debug_log, - "Pad undef: cv=0x%"UVxf" padlist=0x%"UVxf"\n", - PTR2UV(cv), PTR2UV(padlist)) + "Pad undef: cv=0x%"UVxf" padlist=0x%"UVxf" comppad=0x%"UVxf"\n", + PTR2UV(cv), PTR2UV(padlist), PTR2UV(PL_comppad)) ); /* detach any '&' anon children in the pad; if afterwards they @@ -1501,8 +1501,8 @@ Perl_cv_clone(pTHX_ CV *proto) "Variable \"%s\" is not available", SvPVX_const(namesv)); sv = NULL; } - else { - assert(!SvPADSTALE(sv)); + /* 'my $x if $y' can leave $x stale even in an active sub */ + else if (!SvPADSTALE(sv)) { SvREFCNT_inc_simple_void_NN(sv); } }