From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 08ef80db for ; Thu, 29 Nov 2018 17:42:37 +0000 (UTC) Received: (qmail 22450 invoked by alias); 29 Nov 2018 17:42:23 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 43853 Received: (qmail 28385 invoked by uid 1010); 29 Nov 2018 17:42:23 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.100.2/25112. spamassassin: 3.4.2. Clear:RC:0(210.118.77.12):SA:0(-8.5/5.0):. Processed in 3.416613 secs); 29 Nov 2018 17:42:23 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20181129173407euoutp02fe488cc3f47db288a36ad73dbbe0a211~rqMG4hOWo2580225802euoutp02X DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1543512847; bh=zIa8quden3Fq++zXzTuq96BIFwpEd/ya4AMUWcl+aN0=; h=Subject:From:To:Date:In-Reply-To:References:From; b=bvGVwUZdlu6+uYMEseTOJMwaNaykUmvVQO55gj+OMJZ95dWUmk54tuiiwA2Uvn9Ly QorumD7J83+O+hvHuJjSwhDUEag5WJd4MwWcUQ78lTIfT0WD5qmFIUh8/3+WUmyZAr hv0mN5oi777j2IlZJdPzMn64LyJFd8xUGhWcUeEg= X-AuditID: cbfec7f4-835ff700000010c6-3b-5c00230e7c56 Message-ID: <1543512844.6025.28.camel@samsung.com> Subject: Re: [PATCH 2/2] clear the heredoc list in case par_event() fails From: Peter Stephenson To: Date: Thu, 29 Nov 2018 17:34:04 +0000 In-Reply-To: <2172016.U8TV6t29ou@kdudka-nb> X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWy7djP87p8ygwxBl3zlS0ONj9kcmD0WHXw A1MAYxSXTUpqTmZZapG+XQJXxotNr9gKLnJWTGm+xtLAeJu9i5GTQ0LAROLglgWsXYxcHEIC Kxgl3v09zgjh9DFJvF/ynw3C6WWS2NW9lAWmZf+UE8wQieWMEnP2P0OoWrfzLxOEc4ZRYunX XVCZC4wS07dPYwTp5xUwktj39jjYemEBT4mLb66xgthsAoYSUzfNBqsREZCUuNZ8GsxmEVCV +LXxFNAgDg5OAW2JzR/8IM7QkNhw8xgTxEhBiZMzn4CdxywgL9G8dTbYeRICj9kkOg93s0E0 uEicWDqPCcIWlnh1fAs0CGQkTk/uYYFoaGeUWDPpNTuE08MosenoHUaIKmuJvtsXGUGuYBbQ lFi/Sx8i7ChxZOJ3sOMkBPgkbrwVhDiCT2LStunMEGFeiY42IYhqNYkdTVsZIcIyEk/XKExg VJqF5INZSD6YhbBqASPzKkbx1NLi3PTUYqO81HK94sTc4tK8dL3k/NxNjMBkcPrf8S87GHf9 STrEKMDBqMTD++L7/2gh1sSy4srcQ4wSHMxKIrz2CgwxQrwpiZVVqUX58UWlOanFhxilOViU xHmrGR5ECwmkJ5akZqemFqQWwWSZODilGhgXTBG/0rfUY8HVSW8Fn16bzTbHZuYLjmt/uLad EvPvmNBW3yz3zUhJ3/548dMDU1TnTM7cvfxRr2dRw3b9tX8jNi/YJN1w56hKSrTG+4xjc72n iron7ZXlTFryqvDotrn/Jq76/kvu+TtB/0vzFocUpU02ENLf+fEX8xTFP/max1aHLXz37UxF pRJLcUaioRZzUXEiACshsCQCAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpkkeLIzCtJLcpLzFFi42I5/e/4XV1eZYYYg/v9ahYHmx8yOTB6rDr4 gSmAMUrPpii/tCRVISO/uMRWKdrQwkjP0NJCz8jEUs/Q2DzWyshUSd/OJiU1J7MstUjfLkEv 48WmV2wFFzkrpjRfY2lgvM3excjJISFgIrF/ygnmLkYuDiGBpYwS2w6fZoVIyEh8uvIRqkhY 4s+1LjaIom4miX8f5kB1nGGU2Dj3MSuEc4FR4um268wgLbwCRhL73h4HaxcW8JS4+OYa2Fg2 AUOJqZtmM4LYIgKSEteaT4PZLAKqEr82ngJawcHBKaAtsfmDH0hYSGA2k8TceYIgNrOApkTr 9t9QF2lIbLh5jAlilaDEyZlPWCBq5CWat85mnsAoNAtJyywkZbOQlC1gZF7FKJJaWpybnlts qFecmFtcmpeul5yfu4kRGPzbjv3cvIPx0sbgQ4wCHIxKPLwOv/5HC7EmlhVX5h5ilOBgVhLh tVdgiBHiTUmsrEotyo8vKs1JLT7EaAr0z0RmKdHkfGBk5pXEG5oamltYGpobmxubWSiJ8543 qIwSEkhPLEnNTk0tSC2C6WPi4JRqYDR7kbRAzXVKp9c1dn3H75Ye0nPLLs5pUlWd3/cyzy24 zkxO5/adWIXTG7dvVJWV/Xy+Vp7j9MSTDQ436166fPJf/MXzFt/rlZdPyztHSfjKBYXkfJky Xb1Ltu1T0vWZiewJzCEKbo6lWes4DDwzWlYwm09ZlyRj/UrjQ2PdlOqXepe6/2SsV2Ipzkg0 1GIuKk4EAJC5bB6UAgAA X-CMS-MailID: 20181129173406eucas1p28ee6cf71d2bcab933a1767fcc6952eda X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20181129163223epcas2p409f7d3c4b9417e2a3a9956abfd64ea3b X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181129163223epcas2p409f7d3c4b9417e2a3a9956abfd64ea3b References: <1429277155-24607-1-git-send-email-kdudka@redhat.com> <1429277155-24607-2-git-send-email-kdudka@redhat.com> <20150417201753.41812294@ntlworld.com> <2172016.U8TV6t29ou@kdudka-nb> On Thu, 2018-11-29 at 17:24 +0100, Kamil Dudka wrote: > Since the above patch was applied, zsh exits successfully (despite it reports  > parse error) on the attached example: >  > % zsh parse-error.sh; echo $? > parse-error.sh:4: parse error > 0 > >... > > cat < $(print < EOF I don't think the problem is with the changed code, which is signalling the error as it should.  I think it's up above. There's some slightly icky linkage between lex errors and the top level requiring tok to be LEXERR.  The simple fix using the existing signalling looks like the following.  I definitely don't think the tok = LEXERR has a moral right to percolate through in the way it must previously have been doing to avoid this, and the lexer does certainly have the right to update the token when signalling a parse error, so (famous last words) it's hard to see what could be wrong with this... pws diff --git a/Src/lex.c b/Src/lex.c index fa29da3..f43bcc7 100644 --- a/Src/lex.c +++ b/Src/lex.c @@ -1613,6 +1613,7 @@ parsestr(char **s)   zerr("parse error near `%c'", err);       else   zerr("parse error"); +     tok = LEXERR;   }      }      return err;