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=-1.1 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 018bae2c for ; Sun, 21 Jul 2019 15:23:08 +0000 (UTC) Received: (qmail 23860 invoked by alias); 21 Jul 2019 15:23:03 -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: 44565 Received: (qmail 27811 invoked by uid 1010); 21 Jul 2019 15:23:03 -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.101.2/25510. spamassassin: 3.4.2. Clear:RC:0(210.118.77.11):SA:0(-7.0/5.0):. Processed in 3.176436 secs); 21 Jul 2019 15:23:03 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.samsung.com designates 210.118.77.11 as permitted sender) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20190721152223euoutp0113c1126ace7efeff39e9601c4f828139~zdV5bijbc0365503655euoutp01N DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1563722543; bh=RDI0qMq1wY6t5xF9Rn2u5ZvJDaIrfRpwTNmaKOaW1u4=; h=Subject:From:To:Date:In-Reply-To:References:From; b=uJ7bR5vad8VTLHKHS6FwrzVQ9pun+2rmpc0eNQt3oHiKXt8+1DocK0dppyto2ipav s5z2J+TzuJZ3K7unjMbSrbI4kh+MmHTA0L91r9ipEpFdHeQqU4JnZvxnRnRlgaioFA xgLyGm8u/dakMThAUEBJDCX2bSjIlEugeltq3IdY= X-AuditID: cbfec7f4-113ff70000001119-c1-5d34832e42ae Message-ID: <1563722540.4311.24.camel@samsung.com> Subject: Re: Feature request: ZSH_XTRACEFD variable From: Peter Stephenson To: Date: Sun, 21 Jul 2019 16:22:20 +0100 In-Reply-To: X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWy7djPc7p6zSaxBg87lC0ONj9kcmD0WHXw A1MAYxSXTUpqTmZZapG+XQJXRvfteawFkzgreiZ/Z2xg3MjexcjJISFgIvGh5ymQzcUhJLCC UWL5tY3MIAkhgT4miSlrrSESvUwSd8+uY4bp2NL/ixUisZxR4siNz0xwVbvPTYeadYZRYu7+ RYwQzgVGiZV/doD18woYSWxb+wXMFhYwlth9czkbiM0mYCgxddNsRhBbREBS4lrzaTCbRUBV YtHzvWA2p0CgROfOk4wQd2hIbLh5jAlipqDEyZlPWEBsZgF5ieats5lBFksI3GeTWLjzCBtE g4tE+72fLBC2sMSr41ugQSAjcXpyDwtEQzujxJpJr9khnB5GiU1H70Cts5bou30RyOYAWqEp sX6XPkTYUWLPk1NgYQkBPokbbwUhjuCTmLRtOjNEmFeio00IolpNYkfTVqhqGYmnaxQmMCrN QvLBLCQfzEJYtYCReRWjeGppcW56arFRXmq5XnFibnFpXrpecn7uJkZgMjj97/iXHYy7/iQd YhTgYFTi4W1oNY4VYk0sK67MPcQowcGsJMJ78j5QiDclsbIqtSg/vqg0J7X4EKM0B4uSOG81 w4NoIYH0xJLU7NTUgtQimCwTB6dUA+O0rIaTGT/W/ikrYmN+5at5ccOvA8K5qa61R/ndjfVl H/56+5i/euOmuqVfmU48FxBPWThjLZ/Dfxdf4W2PHhs+eZcqyGjqc6ei/s5n3mxdxoKTEn7u 9l4aFTdiH5xwu9Kxd9r9PRadeb3Ga3pmm3nuPdKT2r+9KfSGjFngUzUWzi7jTymRNkosxRmJ hlrMRcWJAHbqohICAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpmkeLIzCtJLcpLzFFi42I5/e/4XV3dZpNYg/9npSwONj9kcmD0WHXw A1MAY5SeTVF+aUmqQkZ+cYmtUrShhZGeoaWFnpGJpZ6hsXmslZGpkr6dTUpqTmZZapG+XYJe RvfteawFkzgreiZ/Z2xg3MjexcjJISFgIrGl/xdrFyMXh5DAUkaJtS9eQyVkJD5d+QhlC0v8 udbFBlHUzSRx8PR1ZgjnDKPExiMTGCGcC4wSJ67OYwRp4RUwkti29gsziC0sYCyx++ZyNhCb TcBQYuqm2WA1IgKSEteaT4PZLAKqEoue7wWzOQUCJTp3noQa2scs8ev1DLA7mAU0JVq3/4a6 SUNiw81jTBDLBCVOznzCAlEjL9G8dTbzBEahWUhaZiEpm4WkbAEj8ypGkdTS4tz03GIjveLE 3OLSvHS95PzcTYzACNh27OeWHYxd74IPMQpwMCrx8N5oN44VYk0sK67MPcQowcGsJMJ78j5Q iDclsbIqtSg/vqg0J7X4EKMp0EcTmaVEk/OB0ZlXEm9oamhuYWlobmxubGahJM7bIXAwRkgg PbEkNTs1tSC1CKaPiYNTqoFR4uzSqGj3WwVv0mW+fP/4LO3o56334iYktjtHy1a1qz16vcHw c021wfc8Y23/lxNe6zodvjjtvXftLrH+b5UcuQ0xAYacmydcmB16+mYf18yH6x8d7Iy7Nm3f AvG85yL9x+PkAvWmPrpe7DRtE5eGX2G4ecHkKdFme20uG3VO3b7w8r0Hzte/KrEUZyQaajEX FScCAMR9tYOWAgAA X-CMS-MailID: 20190721152221eucas1p25177fd37f815e3b380fee5c4371e3853 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20190721150914epcas1p18b5b4b9ccc4e593e854b076a835257c7 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190721150914epcas1p18b5b4b9ccc4e593e854b076a835257c7 References: <20190518075514.hbygmb5dl5wz23h5@chaz.gmail.com> <20190520103444.qyih7lvoigvf3rfx@chaz.gmail.com> On Sun, 2019-07-21 at 17:08 +0200, Timothée Mazzucotelli wrote: > I'm willing to help implementing this feature (equivalent of Bash's > BASH_XTRACEFD). Any advice where I should start? Who I should get in touch > with? This is the right place.  Certainly feel free to investigate. Have a look at the way the FILE *xtrerr is handed in the source code.  This is going to need some more careful management.  Doing this without creating leaks or crashes on bad file descriptors could be interesting. In most places, once it is reopened to a different file the redirection should "just work", but there maybe some interesting special cases as we do do slightly funny things with xtrerr at some points. I think you're going to need a special integer variable that manages this file based on someone setting the FD.  params.c has this sort of handling --- see various special integer variables with their own get / set functions, e.g. intsecondssetfn shows you what happens when someone sets SECONDS. You're going to have a function of that sort that instead closes and reopens xtrerr. I guess ZSH_XTRACEFD is the obvious name. Cheers pws