From: Gurusamy Sarathy Date: Sun, 14 Nov 1999 03:37:37 +0000 (+0000) Subject: fix bug in change#4515 (STOP blocks now see @ARGV like the rest) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ff689196a75c2757dfba08a8f95f0eb42fb81136;p=p5sagit%2Fp5-mst-13.2.git 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 --- diff --git a/perly.c b/perly.c index f9734b3..2e47b11 100644 --- a/perly.c +++ b/perly.c @@ -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; diff --git a/perly.y b/perly.y index c8163e1..b238276 100644 --- a/perly.y +++ b/perly.y @@ -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 adfcd17..ab84977 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 +argv begin -init -end -argv <> +stop +init +end +argv ######## -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 4787247..ebc7d57 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;