From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9850 invoked by alias); 5 Jul 2018 08:44:58 -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: 43141 Received: (qmail 28400 invoked by uid 1010); 5 Jul 2018 08:44:58 -0000 X-Qmail-Scanner-Diagnostics: from mailout1.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.11):SA:0(-6.9/5.0):. Processed in 2.023235 secs); 05 Jul 2018 08:44:58 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_PASS,SPF_PASS,T_DKIMWL_WL_HIGH,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20180705084449euoutp01ca685b322cf224003f12873d9e7443ba~_bJAkCdpX1775117751euoutp01a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1530780289; bh=YK982rL31etfxGwSVIdMae+WvYZgaZfn/kJ6ddwXoLE=; h=Date:From:To:Subject:In-Reply-To:References:From; b=vFepnHokmJgezVPLA2EtMJv8AGPatYSuo/iKwxupStq2Y81bQKcTfm88fsbUlxEqr WZm84liBjvknXo2LeofYLzsivSeFvR3CU89DD16Z+wJyoEvgE0GDADZnUdQrGfN+2w lXA2BD95+Hj9O039gHDPPrshlr2NQ7P0BaBWJKKU= X-AuditID: cbfec7f2-1dbff70000011644-80-5b3dda80e9c8 Date: Thu, 5 Jul 2018 09:44:46 +0100 From: Peter Stephenson To: Zsh hackers list Subject: Re: [BUG] Ctrl-C stops working after process substitution In-Reply-To: Organization: SCSC X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWy7djP87oNt2yjDbbONbI42PyQyYHRY9XB D0wBjFFcNimpOZllqUX6dglcGXsOfGAqOMJV8aHdsIFxAUcXIyeHhICJxK3GZexdjFwcQgIr GCX+fW1lhXD6mCRe3W+HcnqZJDZffMcI0zL5yhIWiMRyRome539Y4KomvW5jgnBOM0qs3/kE qv88o8SMM59ZQPpZBFQkZvfsZwKx2QQMJaZumg02V0RAS2LHyZNgcWEBJ4kTO3pZQWxOgUCJ NS9XAMU5OPgFhCQuNNtCnGEvcXQPRDmvgKDEyZlPwMYzC8hLbH87hxlkr4TAezaJ/l//2CGK yiTe7elngmh2kWi+NYUdwhaWeHV8C5QtI3F6cg8LRHM7o8SaSa/ZIZweRolNR+9AQ8Baou/2 RUaQi5gFNCXW79KHCDtKfNxynRkkLCHAJ3HjrSDEQXwSk7ZNhwrzSnS0CUFUq0nsaNrKOIFR eRaSF2YheWEWwvwFjMyrGMVTS4tz01OLDfNSy/WKE3OLS/PS9ZLzczcxApPB6X/HP+1g/Hop 6RCjAAejEg/vjdM20UKsiWXFlbmHGCU4mJVEeI2u2UYL8aYkVlalFuXHF5XmpBYfYpTmYFES 543TqIsSEkhPLEnNTk0tSC2CyTJxcEo1MOo45H1h2pTMtel7UEiHwF4Gc25NNyuTfUc0i4wZ tnWmuLh5iNv6LLlx3f64ysMpHtP1rs/g0TvaOHnzhAsmnHo9cVsSVByjiute/OfPi3omd2lX /NZHdnEnTtlwPsrPmWA3I1c192ZA0eSXex7G3s7YvXU6TxX3841Z2s31VSUHBPR6s68tV2Ip zkg01GIuKk4EAFE4xT8CAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplkeLIzCtJLcpLzFFi42I5/e/4Pd2GW7bRBrOusVgcbH7I5MDoserg B6YAxig9m6L80pJUhYz84hJbpWhDCyM9Q0sLPSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9 jD0HPjAVHOGq+NBu2MC4gKOLkZNDQsBEYvKVJSxdjFwcQgJLGSXe73zEApGQkfh05SM7hC0s 8edaFxtEUTeTxL7PR1ghnNOMEsd+ToZqP88o8X3nMbAWFgEVidk9+5lAbDYBQ4mpm2Yzgtgi AloSO06eBIsLCzhJnNjRywpi8wo4S8w+BlHDKRAoseblCiaIoRuZJJZ9/Aw0lIODX0BI4kKz LcRJ9hJH90DM4RUQlDg58wnY2cwCOhInVh1jhrDlJba/ncM8gVF4FpKyWUjKZiEpW8DIvIpR JLW0ODc9t9hQrzgxt7g0L10vOT93EyMwKrYd+7l5B+OljcGHGAU4GJV4eG+ctokWYk0sK67M PcQowcGsJMJrdM02Wog3JbGyKrUoP76oNCe1+BCjKTAwJjJLiSbnAyM2ryTe0NTQ3MLS0NzY 3NjMQkmc97xBZZSQQHpiSWp2ampBahFMHxMHp1QDI88hazvO9GOel9t+vNULmXZq351aXuPr J8VzoxwXux4QivfsPLKde9PsuqfnQ+unSh5aoOeyUPiss5ysxf7zKZddbbJMG1wVRd0zg0zO ci3UMLrv53q6uoqj+2wY+65Jjque8e6aGV3efDnp9vrW9n9zm5LVstx3Myea3b0zLVRl6poz guxblViKMxINtZiLihMBEKYPVaACAAA= Message-Id: <20180705084448eucas1p244dbcec9f6d915655cd8bb035fb72f6e~_bI-T7ynp0198101981eucas1p2S@eucas1p2.samsung.com> X-CMS-MailID: 20180705084448eucas1p244dbcec9f6d915655cd8bb035fb72f6e X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20180704170810epcas5p29840028fd34c40ae2a91008f8c25eb79 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180704170810epcas5p29840028fd34c40ae2a91008f8c25eb79 References: <1530706152.948208.1429754600.66E3F94F@webmail.messagingengine.com> On Wed, 4 Jul 2018 19:07:17 +0200 Sebastian Gniazdowski wrote: > On 4 July 2018 at 14:09, Daniel Shahaf wrote: > > Works for me in master. > > True, here is code that yields Ctrl-C problem even in zsh -f: > > For zsh -f: > > noop() { IFS='' read line; MYFD="$1"; zle -F "$1"; exec {MYFD}<&-; }; > exec {MYFD}< <( echo a test ); zle -F -w $MYFD noop > > After executing, try Up cursor to obtain some command at prompt (or > just enter "abcd") and press Ctrl-C. First will be ignored, second one > will work. This differs from non-zsh-f behavior where any Ctrl-C will > be ignored. However in zsh -f situation, what's very interesting is > that the second-Ctrl-C behavior occurs for any number of following > commands. My first guess about this is that it's to do with propagation of errors and interrupts back from the widget. The -F handling is in the loops beginning for (i = 0; i < lnwatch; i++) { in zle_main.c. At the end there's a check for errflag and if it's set the error bit ERRFLAG_ERROR is removed and we ignore that FD until the read function returns. There could be something unhelpful in this area. In particular we don't do anything with the interrupt bit ERRFLAG_INT or a hard error ERRFLAG_HARD. But that's just a guess. pws