From: H.Merijn Brand Date: Wed, 5 Jul 2000 13:12:52 +0000 (+0200) Subject: Re: format bug report [Patch] X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c197d1a90896f280084d6105c9e4f7747100a888;p=p5sagit%2Fp5-mst-13.2.git Re: format bug report [Patch] Date: Wed, 05 Jul 2000 13:12:52 +0200 Message-Id: <20000705130745.67BF.H.M.BRAND@hccnet.nl> Subject: Re: format bug report [Patch] From: "H.Merijn Brand" Date: Wed, 05 Jul 2000 14:10:01 +0200 Message-Id: <20000705140837.73C2.H.M.BRAND@hccnet.nl> p4raw-id: //depot/cfgperl@6340 --- diff --git a/t/op/write.t b/t/op/write.t index 87d5042..593c69a 100755 --- a/t/op/write.t +++ b/t/op/write.t @@ -1,6 +1,6 @@ #!./perl -print "1..8\n"; +print "1..9\n"; my $CAT = ($^O eq 'MSWin32') ? 'type' : 'cat'; @@ -201,3 +201,19 @@ $this,$that $that = 8; write LEX; } +# LEX_INTERPNORMAL test +my %e = ( a => 1 ); +format OUT4 = +@<<<<<< +"$e{a}" +. +open OUT4, ">Op_write.tmp" or die "Can't create Op_write.tmp"; +write (OUT4); +close OUT4; +if (`$CAT Op_write.tmp` eq "1\n") { + print "ok 9\n"; + unlink "Op_write.tmp"; + } +else { + print "not ok 9\n"; + } diff --git a/toke.c b/toke.c index 8be8476..c31893e 100644 --- a/toke.c +++ b/toke.c @@ -3172,7 +3172,7 @@ Perl_yylex(pTHX) yyerror("Unmatched right curly bracket"); else PL_expect = (expectation)PL_lex_brackstack[--PL_lex_brackets]; - if (PL_lex_brackets < PL_lex_formbrack) + if (PL_lex_brackets < PL_lex_formbrack && PL_lex_state != LEX_INTERPNORMAL) PL_lex_formbrack = 0; if (PL_lex_state == LEX_INTERPNORMAL) { if (PL_lex_brackets == 0) { @@ -7176,7 +7176,7 @@ S_scan_formline(pTHX_ register char *s) bool needargs = FALSE; while (!needargs) { - if (*s == '.' || *s == '}') { + if (*s == '.' || *s == /*{*/'}') { /*SUPPRESS 530*/ #ifdef PERL_STRICT_CR for (t = s+1;SPACE_OR_TAB(*t); t++) ;