diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-11-14 03:37:37 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-11-14 03:37:37 +0000 |
commit | ff689196a75c2757dfba08a8f95f0eb42fb81136 (patch) | |
tree | 527db5af6a2f2653b182be7de8bfdeb3e1633faf | |
parent | 81be85b825fc39c8f8e4c3fb4748df6a7fa34de4 (diff) | |
download | perl-ff689196a75c2757dfba08a8f95f0eb42fb81136.tar.gz |
fix bug in change#4515 (STOP blocks now see @ARGV like the rest)
p4raw-link: @4515 on //depot/perl: 4f25aa189c4a92535547c706ad37c13b7caee387
p4raw-id: //depot/perl@4578
-rw-r--r-- | perly.c | 2 | ||||
-rw-r--r-- | perly.y | 2 | ||||
-rwxr-xr-x | t/op/misc.t | 12 | ||||
-rw-r--r-- | vms/perly_c.vms | 2 |
4 files changed, 10 insertions, 8 deletions
@@ -1826,7 +1826,7 @@ case 59: #line 338 "perly.y" { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a); if (strEQ(name, "BEGIN") || strEQ(name, "END") - || strEQ(name, "INIT")) + || strEQ(name, "STOP") || strEQ(name, "INIT")) CvSPECIAL_on(PL_compcv); yyval.opval = yyvsp[0].opval; } break; @@ -337,7 +337,7 @@ startformsub: /* NULL */ /* start a format subroutine scope */ subname : WORD { STRLEN n_a; char *name = SvPV(((SVOP*)$1)->op_sv,n_a); if (strEQ(name, "BEGIN") || strEQ(name, "END") - || strEQ(name, "INIT")) + || strEQ(name, "STOP") || strEQ(name, "INIT")) CvSPECIAL_on(PL_compcv); $$ = $1; } ; diff --git a/t/op/misc.t b/t/op/misc.t index adfcd174fc..ab849777da 100755 --- a/t/op/misc.t +++ b/t/op/misc.t @@ -353,16 +353,18 @@ Unmatched right curly bracket at (re_eval 1) line 1, at end of line syntax error at (re_eval 1) line 1, near ""{"}" Compilation failed in regexp at - line 1. ######## -BEGIN { @ARGV = qw(a b c) } +BEGIN { @ARGV = qw(a b c d e) } BEGIN { print "argv <@ARGV>\nbegin <",shift,">\n" } END { print "end <",shift,">\nargv <@ARGV>\n" } INIT { print "init <",shift,">\n" } +STOP { print "stop <",shift,">\n" } EXPECT -argv <a b c> +argv <a b c d e> begin <a> -init <b> -end <c> -argv <> +stop <b> +init <c> +end <d> +argv <e> ######## -l # fdopen from a system descriptor to a system descriptor used to close diff --git a/vms/perly_c.vms b/vms/perly_c.vms index 4787247429..ebc7d57cc3 100644 --- a/vms/perly_c.vms +++ b/vms/perly_c.vms @@ -1828,7 +1828,7 @@ case 59: #line 338 "perly.y" { STRLEN n_a; char *name = SvPV(((SVOP*)yyvsp[0].opval)->op_sv,n_a); if (strEQ(name, "BEGIN") || strEQ(name, "END") - || strEQ(name, "INIT")) + || strEQ(name, "STOP") || strEQ(name, "INIT")) CvSPECIAL_on(PL_compcv); yyval.opval = yyvsp[0].opval; } break; |