From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2732 invoked from network); 21 Apr 2022 18:43:18 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 21 Apr 2022 18:43:18 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1650566598; b=flJpfjgxTETTxffw5ebXRQeMJ1zXGffSMVByZYGZsvMNx1yCA4bq8xD8+cwu44q1AVF+t3eQxi aJJ/sWx7TfovP6A0yKgvdqQWZ7eJfdc3GVIguFx2+UpvN/lZbpP6rf0TCOAHIQQlve0X1ENITt Kc82YGEakSWqMcEoWIBqav6AVaLWFjyjdqjvAc2RsK8hHk6NaB7Y4ADYc4Uq34reXJZK4nWHLV eZ85ohQEy2miLUm9gxYbg5NX2wO9uSxtrcfz+4RVa9EX+qndZbllLlK6C/L5FIJchmMXcwHvMi Ltp9TckroyctiaMNAm2PO8b9QOnHKAutlfIqt1NPwilyxw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f49.google.com) smtp.remote-ip=209.85.218.49; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1650566598; bh=lFNjH3PCSHGsysmpXQCKRJS2mtRJL2Hu+TyWrD3IMnM=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=KJ/R3CjkCl2LBn2DbqxSNq9WxC22qvawtOZ3GOyF3/TmXXRkskwYE6Ha5oqUTIhubsEMV9/o8o qzB9wmJcfspOREztD9urre8KKi1qAztnuZ+yH8VLUjqMe6s9KD7v/tENNyhlZyOwTI07NeLXnL bBUFV5hxYuAWFCbzGti+2HuzU9w1j/FP2nFmBCLHweKQueInO5zTT2o/w7SWEDC3BfItuZWODZ wUYd3vj9Ro+i5wRDetvcyfVq+85e+pfBp+fsyyLhrRw4jx7H0zTQ2/6B78plKQmWDrVRTQRDxk QOgytx1QSmRWZhueFevgLlhbLG4gIbwtwMNOALB/ixqn4w==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=klMAQt6TnmoWGVLhK2Bcnf43YnFpuVj+f0Y7/eURS7Y=; b=iRgwvpJdbBYOYLGhnABG5CW+tp CwlbTijZ/XrSGYqPTEb24nngr0S+nyQqhsvaZ/KkCahO8fGV26vhmQ67ArMYQGYxmeBODZuvx//mW HwilDvJ+lc53UWj/FVIb3xgmnqVILLn6Nk7+LmkLUETpSZfdYlc1nXSCBmc0rhWKHBrzalrgdQE+K +xXSBSPMnn9mng4GTDKTMAM7ioAcoKyqQRY8KMSesuJt8aiQDKg0SxgWL4E3zhrvNidLdGg1N6cEb qUIbGJYUTztRWmpyQ3lAJf4c2uJOLWCh+ASCm8jkB4BGa3/4rGB/kiwEvBBomty3sLWfRssbIIUIO Fxnv0mAA==; Received: from authenticated user by zero.zsh.org with local id 1nhblt-0004u8-3P; Thu, 21 Apr 2022 18:43:17 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f49.google.com) smtp.remote-ip=209.85.218.49; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ej1-f49.google.com ([209.85.218.49]:34323) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1nhbkw-0004B2-E5; Thu, 21 Apr 2022 18:42:19 +0000 Received: by mail-ej1-f49.google.com with SMTP id ks6so11866512ejb.1 for ; Thu, 21 Apr 2022 11:42:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=klMAQt6TnmoWGVLhK2Bcnf43YnFpuVj+f0Y7/eURS7Y=; b=ZUFgJIag+O1xLDiJmP3NC9jv6RyONfRHbc9wsn2NHXeZsVjf2yGd5xQFL+0EVInDA1 aJVNo+V2GBXoNYB34JRiOWWNvcBnRBo8eaYyR5Y8iJXwMpqCqK1uuWCkcU2zx3a9b1ew z5HO2wb5iZdnQsCPAngq8YcaQrvGWXsM8Zw7Zt13xGomuJEocVs1yf57KeQvXVtKrV8s 4pB87sSxff9iImc5QVaIJhM6vQjdBwwR2fRyao5+kBrK0IxTJ8Oov1KM9qB6RXEJh8AV muqkrwk6KnYZaIPKSC61AaZnBb5SpRfTHdRBZhalKA6w8jU9DTAhsmc4ym01aBtYMMoJ tX4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=klMAQt6TnmoWGVLhK2Bcnf43YnFpuVj+f0Y7/eURS7Y=; b=vFaKlSLj5G5PsyODGAnDModsr77BGyfkbLmAEkPkc/TOizsHNfSKe3YbrNuICyfh+E MUCNxX6SIQGYLf3hikQ7clxtjdGA0TaFak7VG0gQTto9tjccrCe7tJiX3rbBMwhnPRA3 0buqTQWiQ7eiSMkzQFFR/gOj+2WibdcVFNjdI1tIHBWDV0pLOPIW0Sa/4V6Q21zMpgPs thyJXunJGLHiGC5+1jgxWfnUtZ9Hdf8nyzGEOPf4DOmQWLJBrkEvozmCvElL0Z6JUITu zLTkY6VNbrvF+zlH225UO4xs8TT/308v34h8jPo+FXVFKUNzvt7/6O4TbLJzhZH7JQ9M gNBQ== X-Gm-Message-State: AOAM5336L8uG6ECo2tlGTqfMOB6ILpptgDZ1UJMC2YCBO3ZcVmaiOtZr 7UPw1tpVU2TPSsFsdMRy6H5jWMzLXF7EaplBD0lqXUyPwT0yDg== X-Google-Smtp-Source: ABdhPJwFwRpzzTpFrfEE4bmF9yp4SdVLanxCf7ZMJGr1qX/N2SQMcJO7tVPpByiU0nsMaFX+sJvXUXIXJYVLUQ1zihY= X-Received: by 2002:a17:907:62a1:b0:6da:7952:d4d2 with SMTP id nd33-20020a17090762a100b006da7952d4d2mr794190ejc.260.1650566537779; Thu, 21 Apr 2022 11:42:17 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Bart Schaefer Date: Thu, 21 Apr 2022 11:42:05 -0700 Message-ID: Subject: Re: TRAPDEBUG vs zsh -x To: Zach Riggle Cc: Zsh Users Content-Type: multipart/mixed; boundary="00000000000029c85a05dd2e7897" X-Seq: 27684 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: --00000000000029c85a05dd2e7897 Content-Type: text/plain; charset="UTF-8" On Wed, Apr 20, 2022 at 4:55 PM Bart Schaefer wrote: > > You could play around with variations on this hack: This was actually kind of fun, except for the part where I was baffled for an hour by sysread apparently being buggy. I installed https://gitlab.com/saalen/highlight Aside: Anyone want to supply a zsh language file and completion script for that? The "sh" language file is OK but not perfect for zsh. The attached file creates a function "hlxt" plus a precmd helper which arrange to write xtrace output through "highlight" and play it back just before printing the next prompt. It uses a coproc for this. That means it won't work in a shell script, which is why I've named the file "v1" while I play with it some more. To use it, source the file and type "hlxt on". To stop, "hlxt off". Important caveats: Capturing the trace output has to redirect stderr, which means error output from the commands you run is also passed through it. To avoid that, add 2>&$stderr to the command line. This can only handle as much trace output as will fit in the OS pipe buffers on the input and output of the coprocess. More than that will cause it to hang because the output buffer is not consumed until precmd runs. Solving for the script problem might solve this too. --00000000000029c85a05dd2e7897 Content-Type: text/plain; charset="US-ASCII"; name="hlxt_v1.txt" Content-Disposition: attachment; filename="hlxt_v1.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l2998exa0 I2F1dG9sb2FkCgphdXRvbG9hZCBhZGQtenNoLWhvb2sKem1vZGxvYWQgenNoL3N5c3RlbSB8fCBl eGl0IDEKCnR5cGVzZXQgLWcgaGx4dG91dCBobHh0aW4gc3RkZXJyIG9QUzQ9IiRQUzQiCmNvcHJv YyBoaWdobGlnaHQgLVMgc2ggLU8geHRlcm0yNTYKZXhlYyB7aGx4dG91dH08JnAKZXhlYyB7aGx4 dGlufT4mcApleGVjIHtzdGRlcnJ9PiYyCgojIFdlIGRvbid0IHdhbnQgdGhlIGNvbW1hbmRzIHRo YXQgYXJlIG1hbmFnaW5nIGhpZ2hsaWdodGluZyB0byBhcHBlYXIKIyBpbiB0aGUgdHJhY2Ugb3V0 cHV0LCBzbyBjcmVhdGUgdGhlbSAic3RpY2t5IiB3aXRoIHh0cmFjZSBkaXNhYmxlZAplbXVsYXRl IHpzaCAreCAtYyAnCiAgaGx4dF9wcmVjbWQoKSB7CiAgICBsb2NhbCB4dHJhY2UgeHQgeGM9MAog ICAgIyBVbmZvcnR1bmF0ZWx5IHRoaXMgaGFzIHRvIHVzZSBhIG9uZS1zZWNvbmQgdGltZW91dCBi ZWNhdXNlCiAgICAjICJoaWdobGlnaHQiIGRvZXMgbm90IGFsd2F5cyB3cml0ZSBxdWlja2x5IGVu b3VnaC4KICAgICMKICAgICMgTWFudWFsIHNheXMgY29tYmluaW5nIHN5c3JlYWQgLW8gd2l0aCBh IHBhcmFtIGlzIHZhbGlkLCBidXQKICAgICMgdGhhdCBkb2VzIG5vdCB3b3JrOyBuZWl0aGVyIG91 dHB1dCBub3IgcGFyYW1ldGVyIGlzIHdyaXR0ZW4uCiAgICAjIHdoaWxlIHN5c3JlYWQgLXQgMSAt aSAkaGx4dG91dCAtYyB4YyAtbyAkc3RkZXJyIHh0cmFjZQogICAgd2hpbGUgc3lzcmVhZCAtdCAx IC1pICRobHh0b3V0IC1jIHhjIHh0cmFjZQogICAgZG8KICAgICAgW1sgLW4gJHh0cmFjZSBdXSAm JiBwcmludCAtbiAtdSAkc3RkZXJyIC1yIC0tICIke3h0Ojo9JHh0cmFjZX0iCiAgICBkb25lCiAg ICAjIE5lZWQgdG8gaGFuZGxlIGVycm9yPyAgKCggJD8gPCA0ICYmIHhjICkpICYmIFtbIC1uICR4 dHJhY2UgXV0KICAgIFtbIC16ICR4dCB8fCAkeHQgPT0gKiQnIidcXG4nIicgXV0gfHwgZWNobwog IH0KICBobHh0KCkgewogICAgc2V0b3B0IGxvY2Fsb3B0aW9ucyBsb2NhbHRyYXBzCiAgICBjYXNl ICQxIGluCiAgICAob258KQogICAgICBhZGQtenNoLWhvb2sgcHJlY21kIGhseHRfcHJlY21kIHx8 IGV4aXQgMQogICAgICBQUzQ9CiAgICAgIGV4ZWMgMj4mJGhseHRpbgogICAgICAjIEJ5cGFzcyBs b2NhbCBzY29wZSByZXN0b3JlIG9mIHh0cmFjZQogICAgICB0cmFwICJzZXRvcHQgeHRyYWNlIiBF WElUCiAgICA7OwogICAgKG9mZikKICAgICAgZXhlYyAyPiYkc3RkZXJyCiAgICAgIFBTND0iJG9Q UzQiCiAgICAgIGFkZC16c2gtaG9vayAtZCBwcmVjbWQgaGx4dF9wcmVjbWQKICAgICAgdHJhcCAi dW5zZXRvcHQgeHRyYWNlIiBFWElUCiAgICAgICMgRmx1c2ggbGVmdG92ZXJzCiAgICAgIGxvY2Fs IHN0ZGVycgogICAgICBobHh0X3ByZWNtZCB7c3RkZXJyfT4mL2Rldi9udWxsCiAgICA7OwogICAg KCopIGFkZC16c2gtaG9vayAtTAogIGVzYWMKICB9CicK --00000000000029c85a05dd2e7897--