summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorRick Delaney <rick@consumercontact.com>2006-08-03 13:30:06 -0400
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-08-04 09:20:31 +0000
commit31c6271a6b2e9136294467d8fc9fb37b41f7ab87 (patch)
treedcd420ad46b27896d010bbaaf7049a4f8946e832 /ext
parentfdd78bafb83473399368c22ad797c178b3913c97 (diff)
downloadperl-31c6271a6b2e9136294467d8fc9fb37b41f7ab87.tar.gz
Re: [perl #40055] B::Deparse double do
Message-ID: <20060803213006.GU21381@localhost.localdomain> p4raw-id: //depot/perl@28656
Diffstat (limited to 'ext')
-rw-r--r--ext/B/B/Deparse.pm4
-rw-r--r--ext/B/t/deparse.t19
2 files changed, 16 insertions, 7 deletions
diff --git a/ext/B/B/Deparse.pm b/ext/B/B/Deparse.pm
index 6bb2f683f2..8764113518 100644
--- a/ext/B/B/Deparse.pm
+++ b/ext/B/B/Deparse.pm
@@ -2674,6 +2674,10 @@ sub pp_null {
return $self->pp_list($op, $cx);
} elsif ($op->first->name eq "enter") {
return $self->pp_leave($op, $cx);
+ } elsif ($op->first->name eq "leave") {
+ return $self->pp_leave($op->first, $cx);
+ } elsif ($op->first->name eq "scope") {
+ return $self->pp_scope($op->first, $cx);
} elsif ($op->targ == OP_STRINGIFY) {
return $self->dquote($op, $cx);
} elsif (!null($op->first->sibling) and
diff --git a/ext/B/t/deparse.t b/ext/B/t/deparse.t
index c1fa6c2ace..02ea83c9ff 100644
--- a/ext/B/t/deparse.t
+++ b/ext/B/t/deparse.t
@@ -24,7 +24,7 @@ use warnings;
use strict;
use Config;
-print "1..40\n";
+print "1..42\n";
use B::Deparse;
my $deparse = B::Deparse->new() or print "not ";
@@ -63,13 +63,12 @@ while (<DATA>) {
}
else {
my $deparsed = $deparse->coderef2text( $coderef );
- my $regex = quotemeta($expected);
- do {
- no warnings 'misc';
- $regex =~ s/\s+/\s+/g;
- };
+ my $regex = $expected;
+ $regex =~ s/(\S+)/\Q$1/g;
+ $regex =~ s/\s+/\\s+/g;
+ $regex = '^\{\s*' . $regex . '\s*\}$';
- my $ok = ($deparsed =~ /^\{\s*$regex\s*\}$/);
+ my $ok = ($deparsed =~ /$regex/);
print (($ok ? "ok " : "not ok ") . $i++ . "\n");
if (!$ok) {
print "# EXPECTED:\n";
@@ -324,3 +323,9 @@ print $_ foreach (reverse 1, 2..5);
# 34 (bug #38684)
our @ary;
@ary = split(' ', 'foo', 0);
+####
+# 35 (bug #40055)
+do { () };
+####
+# 36 (ibid.)
+do { my $x = 1; $x };