summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-04-07 14:48:14 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-04-07 14:48:14 +0000
commit800b4dc45ee0b7a1fe78774d426afa0152fd5178 (patch)
tree17b2c31b70c28a6a03b69eafb7e6cae588e5e22e
parent9f1b100c7cce69ed98a684964aaf7c67cd5360d0 (diff)
downloadperl-800b4dc45ee0b7a1fe78774d426afa0152fd5178.tar.gz
Integrate change #9605 from maintperl into mainline.
can't optimize away scope entry if tr/// is present p4raw-link: @9605 on //depot/maint-5.6/perl: c26ea50d9fd947ede98c9a5c8c05ff72fc15deaa p4raw-id: //depot/perl@9607 p4raw-integrated: from //depot/maint-5.6/perl@9606 'merge in' t/op/tr.t (@9551..) op.c (@9597..)
-rw-r--r--op.c1
-rwxr-xr-xt/op/tr.t11
2 files changed, 11 insertions, 1 deletions
diff --git a/op.c b/op.c
index 59cbfa39fc..11cd640947 100644
--- a/op.c
+++ b/op.c
@@ -2654,6 +2654,7 @@ Perl_pmtrans(pTHX_ OP *o, OP *expr, OP *repl)
I32 grows = 0;
register short *tbl;
+ PL_hints |= HINT_BLOCK_SCOPE;
complement = o->op_private & OPpTRANS_COMPLEMENT;
del = o->op_private & OPpTRANS_DELETE;
squash = o->op_private & OPpTRANS_SQUASH;
diff --git a/t/op/tr.t b/t/op/tr.t
index 90b03706e2..7c73430687 100755
--- a/t/op/tr.t
+++ b/t/op/tr.t
@@ -5,7 +5,7 @@ BEGIN {
@INC = '../lib';
}
-print "1..67\n";
+print "1..69\n";
$_ = "abcdefghijklmnopqrstuvwxyz";
@@ -376,3 +376,12 @@ print "ok 66\n";
print "not " if hex($a) != 1;
print "ok 67\n";
+# From Inaba Hiroto
+@a = (1,2); map { y/1/./ for $_ } @a;
+print "not " if "@a" ne ". 2";
+print "ok 68\n";
+
+@a = (1,2); map { y/1/./ for $_.'' } @a;
+print "not " if "@a" ne "1 2";
+print "ok 69\n";
+