Re: [ID 20010423.006] Test failed in perl@9794
[p5sagit/p5-mst-13.2.git] / ext / B / B / Deparse.pm
index 7791dd7..8a3ae78 100644 (file)
@@ -244,7 +244,10 @@ sub next_todo {
        $self->{'subs_declared'}{$name} = 1;
        if ($name eq "BEGIN") {
            my $use_dec = $self->begin_is_use($cv);
-           return $use_dec if defined ($use_dec);
+           if (defined ($use_dec)) {
+               return () if 0 == length($use_dec);
+               return $use_dec;
+           }
        }
         return "sub $name " . $self->deparse_sub($cv);
     }
@@ -323,7 +326,7 @@ sub begin_is_use {
     # Certain pragmas are dealt with using hint bits,
     # so we ignore them here
     if ($module eq 'strict' || $module eq 'integer'
-       || $module eq 'bytes') {
+       || $module eq 'bytes' || $module eq 'warnings') {
        return "";
     }
 
@@ -1094,6 +1097,10 @@ sub populate_curcvlex {
 
        for (my $i=0; $i<@ns; ++$i) {
            next if class($ns[$i]) eq "SPECIAL";
+           if (class($ns[$i]) eq "PV") {
+               # Probably that pesky lexical @_
+               next;
+           }
             my $name = $ns[$i]->PVX;
            my $seq_st = $ns[$i]->NVX;
            my $seq_en = int($ns[$i]->IVX);