From: Nicholas Clark Date: Tue, 2 Jan 2007 20:47:31 +0000 (+0000) Subject: PVMG can be isUV too. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2e94196c9b65166bc30c1956b01df877a36f8934;p=p5sagit%2Fp5-mst-13.2.git PVMG can be isUV too. p4raw-id: //depot/perl@29668 --- diff --git a/dump.c b/dump.c index 7f22181..2a78e78 100644 --- a/dump.c +++ b/dump.c @@ -1450,8 +1450,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo case SVt_PVMG: if (SvPAD_TYPED(sv)) sv_catpv(d, "TYPED,"); if (SvPAD_OUR(sv)) sv_catpv(d, "OUR,"); - if (SvPAD_STATE(sv)) sv_catpv(d, "STATE,"); - break; + /* FALL THROUGH */ case SVt_PVNV: if (SvPAD_STATE(sv)) sv_catpv(d, "STATE,"); goto evaled_or_uv; diff --git a/ext/Devel/Peek/t/Peek.t b/ext/Devel/Peek/t/Peek.t index ed622fd..04546be 100644 --- a/ext/Devel/Peek/t/Peek.t +++ b/ext/Devel/Peek/t/Peek.t @@ -14,7 +14,7 @@ BEGIN { require "./test.pl"; } use Devel::Peek; -plan(23); +plan(24); our $DEBUG = 0; open(SAVERR, ">&STDERR") or die "Can't dup STDERR: $!"; @@ -503,3 +503,13 @@ do_test(23, OUTSIDE_SEQ = 0 PADLIST = 0x0 OUTSIDE = 0x0 \\(null\\)'); + +# isUV should show on PVMG +do_test(24, + do { my $v = $1; $v = ~0; $v }, +'SV = PVMG\\($ADDR\\) at $ADDR + REFCNT = 1 + FLAGS = \\(IOK,pIOK,IsUV\\) + UV = \d+ + NV = 0 + PV = 0');