Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:26091 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98927 invoked by uid 1010); 19 Oct 2006 04:05:31 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 98912 invoked from network); 19 Oct 2006 04:05:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Oct 2006 04:05:31 -0000 Authentication-Results: pb1.pair.com header.from=php_lists@realplain.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=php_lists@realplain.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain realplain.com from 69.179.208.43 cause and error) X-PHP-List-Original-Sender: php_lists@realplain.com X-Host-Fingerprint: 69.179.208.43 msa3-mx.centurytel.net Linux 2.4/2.6 Received: from [69.179.208.43] ([69.179.208.43:39142] helo=msa3-mx.centurytel.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D9/44-57502-989F6354 for ; Thu, 19 Oct 2006 00:05:30 -0400 Received: from pc1 (d18-246.rt-bras.wnvl.centurytel.net [69.179.145.246]) by msa3-mx.centurytel.net (8.13.6/8.13.6) with SMTP id k9J45NOk004391 for ; Wed, 18 Oct 2006 23:05:25 -0500 Message-ID: <006b01c6f333$cf264030$0201a8c0@pc1> To: Date: Wed, 18 Oct 2006 23:05:24 -0500 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0068_01C6F309.E4D2BFF0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1807 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807 Subject: [PATCH] Possible parse error... From: php_lists@realplain.com ("Matt W") ------=_NextPart_000_0068_01C6F309.E4D2BFF0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, Probably not much chance of this happening, but while looking through HEAD's lexer/parser code (which word is correct? :-)), I noticed that there's no rule to match a backslash followed by a \n newline inside single quotes, resulting in "Unexpected character in input ..." The ST_SINGLE_QUOTE state used to match this (as in 5.2), but was removed in version 1.132 of zend_language_scanner.l. Untested, but I think the attached patch should take care of it. Matt ------=_NextPart_000_0068_01C6F309.E4D2BFF0 Content-Type: text/plain; name="parse_error.diff.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="parse_error.diff.txt" Index: zend_language_scanner.l=0A= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A= RCS file: /repository/ZendEngine2/zend_language_scanner.l,v=0A= retrieving revision 1.158=0A= diff -u -r1.158 zend_language_scanner.l=0A= --- zend_language_scanner.l 18 Sep 2006 17:59:10 -0000 1.158=0A= +++ zend_language_scanner.l 19 Oct 2006 03:38:34 -0000=0A= @@ -2223,7 +2223,7 @@=0A= }=0A= =0A= =0A= -([']([^'\\]|("\\".))*[']) {=0A= +([']([^'\\]|("\\"{ANY_CHAR}))*[']) {=0A= if (UG(unicode)) {=0A= return zend_scan_unicode_single_string(zendlval TSRMLS_CC);=0A= } else {=0A= @@ -2232,7 +2232,7 @@=0A= }=0A= =0A= =0A= -("b'"([^'\\]|("\\".))*[']) {=0A= +("b'"([^'\\]|("\\"{ANY_CHAR}))*[']) {=0A= yytext++; /* adjust for 'b' */=0A= yyleng--;=0A= return zend_scan_binary_single_string(zendlval TSRMLS_CC);=0A= ------=_NextPart_000_0068_01C6F309.E4D2BFF0--