summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Houston <robin@cpan.org>2001-04-06 19:10:14 +0100
committerJarkko Hietaniemi <jhi@iki.fi>2001-04-07 17:29:47 +0000
commitb0840a2a4e2429536ffb069928546c0cd4916ac8 (patch)
tree067a493616b7c4f305697652a77c35578aa784b6
parent59bb58455c306b86a68fba97f3fcce0a1f372a01 (diff)
downloadperl-b0840a2a4e2429536ffb069928546c0cd4916ac8.tar.gz
PATCH: $[
Message-ID: <20010406181014.A18803@puffinry.freeserve.co.uk> p4raw-id: //depot/perl@9614
-rw-r--r--op.c2
-rwxr-xr-xt/op/array.t13
2 files changed, 14 insertions, 1 deletions
diff --git a/op.c b/op.c
index 11cd640947..aa0b1e78ea 100644
--- a/op.c
+++ b/op.c
@@ -6818,7 +6818,7 @@ Perl_peep(pTHX_ register OP *o)
pop->op_next->op_type == OP_AELEM &&
!(pop->op_next->op_private &
(OPpLVAL_INTRO|OPpLVAL_DEFER|OPpDEREF|OPpMAYBE_LVSUB)) &&
- (i = SvIV(((SVOP*)pop)->op_sv) - PL_compiling.cop_arybase)
+ (i = SvIV(((SVOP*)pop)->op_sv) - PL_curcop->cop_arybase)
<= 255 &&
i >= 0)
{
diff --git a/t/op/array.t b/t/op/array.t
index d48b5fbfa0..122a49ec3c 100755
--- a/t/op/array.t
+++ b/t/op/array.t
@@ -234,3 +234,16 @@ sub foo { "a" }
@foo=(foo())[0,0];
$foo[1] eq "a" or print "not ";
print "ok 71\n";
+
+# $[ should have the same effect regardless of whether the aelem
+# op is optimized to aelemfast.
+
+sub tary {
+ local $[ = 10;
+ my $five = 5;
+ print "not " unless $tary[5] == $tary[$five];
+ print "ok 72\n";
+}
+
+@tary = (0..50);
+tary();