X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perly.c;h=36b51c02e7584003a6f9e50204de7857e413ece8;hb=be341bcebb03d2f97192fb78a6a1bc33c7bca5ce;hp=e1458d8ed335c10f1549022ee446d6f5036872d1;hpb=09bef84370e90d727656ea11ba5ee8be80e361d3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perly.c b/perly.c index e1458d8..36b51c0 100644 --- a/perly.c +++ b/perly.c @@ -1387,7 +1387,7 @@ yyparse() struct ysv *ysave; New(73, ysave, 1, struct ysv); - SAVEDESTRUCTOR(yydestruct, ysave); + SAVEDESTRUCTOR_X(yydestruct, ysave); ysave->oldyydebug = yydebug; ysave->oldyynerrs = yynerrs; ysave->oldyyerrflag = yyerrflag; @@ -1662,7 +1662,7 @@ case 21: break; case 22: #line 203 "perly.y" -{ yyval.opval = scope(yyvsp[0].opval); } +{ (yyvsp[0].opval)->op_flags |= OPf_PARENS; yyval.opval = scope(yyvsp[0].opval); } break; case 23: #line 205 "perly.y" @@ -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, "INIT") || strEQ(name, "CHECK")) CvSPECIAL_on(PL_compcv); yyval.opval = yyvsp[0].opval; } break; @@ -2481,7 +2481,6 @@ yyaccept: } #ifdef PERL_OBJECT -#define NO_XSLOCKS #include "XSUB.h" #endif