From unknown Sun Jun 22 11:32:57 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#61954 <61954@debbugs.gnu.org> To: bug#61954 <61954@debbugs.gnu.org> Subject: Status: 30.0.50; [PATCH] Simplify structured commands in Eshell Reply-To: bug#61954 <61954@debbugs.gnu.org> Date: Sun, 22 Jun 2025 18:32:57 +0000 retitle 61954 30.0.50; [PATCH] Simplify structured commands in Eshell reassign 61954 emacs submitter 61954 Jim Porter severity 61954 normal tag 61954 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 04 02:28:54 2023 Received: (at submit) by debbugs.gnu.org; 4 Mar 2023 07:28:54 +0000 Received: from localhost ([127.0.0.1]:35161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pYMK6-0000CS-2d for submit@debbugs.gnu.org; Sat, 04 Mar 2023 02:28:54 -0500 Received: from lists.gnu.org ([209.51.188.17]:42976) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pYMK3-0000CJ-Mh for submit@debbugs.gnu.org; Sat, 04 Mar 2023 02:28:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pYMK3-0000FY-EQ for bug-gnu-emacs@gnu.org; Sat, 04 Mar 2023 02:28:51 -0500 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pYMK1-00070W-1S for bug-gnu-emacs@gnu.org; Sat, 04 Mar 2023 02:28:51 -0500 Received: by mail-pl1-x630.google.com with SMTP id n6so5058901plf.5 for ; Fri, 03 Mar 2023 23:28:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677914927; h=to:subject:from:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=oBJJyxgSPmBqd2LJg3Ad6JDLRBsWQGAFOi3j+yes1BY=; b=mP1M6IP0swVdBFog0E+KQc2PNEkQrfZR3201aPAHXN0OVW0fzxEiR5uebCLj56TL6c jmFy8bpF2gCfbc+7YvGL2Wu+WTAzjTC/i3OGze15RmGrdzgHRNSdSGP5yapLb5VSEz1R OC2GRH9HQNIj6qhITuDIQSt84kaZa5fMB6szq6J/iEeEVQcy8iOdioMRZNrmBvpvgon0 JmQVKDYtM6qGIgo0ofCh3RMa4mBGDZ65ri8MLj/maymd2+Nxzjsqmdjka+mgo3+Kyg2v XC8pJBzGEA2Ofgp9PnWSOopAI9LzfgZetEp2he9jJ/wVl7WLe950fxEqV1fV4/HRhAoQ L0Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677914927; h=to:subject:from:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=oBJJyxgSPmBqd2LJg3Ad6JDLRBsWQGAFOi3j+yes1BY=; b=PL3ivBnpH2qGVeSc6P7CoPNZMeLvRnLlDv+wt1cwDbs6zDifaHdTVVb/YrpX1tcAie DBxjkFhdVCM6l6e2DyV8rh/G6o2EDvRpbQnLbGuIcC6YeNWvwH85kpnhg6e7koRklchY oC75bM4WmccY7DpuVLs8ZIeRQslgtb1vsk1E7YIjKoemzuN62gkxnKP1ExiRezP/kawd HoCxDNeCZVhMe3fYHsW0L5wyVRDQHYefvkQ51yWYC0o4zKZjCkCde3ndzJ6m6jMwBxVE T/YoDaJV7nPcJX62nVn5cO0sZGjI9SC1BmcfJqcKujL+VIDBVY/RZ/0m5KnVs/BiypU1 WbTg== X-Gm-Message-State: AO0yUKVyDJuZ9+hB3qW/QlEojChkD/FmBJWVemdTX9xI6rpmEHohSbun XWIDBNM9FBq0TK8I5vkkeVsYcEct65U= X-Google-Smtp-Source: AK7set+rGe+jp5VxpYMqkoF97I2FJ5Ln8t1s30zTnZShCgEAzhD7UEN1o1AJiwHlVQwfeVeUtvnBqg== X-Received: by 2002:a17:90a:7:b0:23a:6be8:9446 with SMTP id 7-20020a17090a000700b0023a6be89446mr4491196pja.48.1677914927040; Fri, 03 Mar 2023 23:28:47 -0800 (PST) Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id s21-20020a17090a5d1500b002341ae23ad7sm9040388pji.1.2023.03.03.23.28.46 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 03 Mar 2023 23:28:46 -0800 (PST) Content-Type: multipart/mixed; boundary="------------OGDtxR37XY4gIW5KgoOD8BAs" Message-ID: <0a0527e8-b005-6f1a-016a-1cb0694ce639@gmail.com> Date: Fri, 3 Mar 2023 23:28:46 -0800 MIME-Version: 1.0 X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US From: Jim Porter Subject: 30.0.50; [PATCH] Simplify structured commands in Eshell To: bug-gnu-emacs@gnu.org Received-SPF: pass client-ip=2607:f8b0:4864:20::630; envelope-from=jporterbugs@gmail.com; helo=mail-pl1-x630.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------OGDtxR37XY4gIW5KgoOD8BAs Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Structured commands are just Eshell flow control commands, like 'if' and 'while'. These expected you to set 'eshell-test-body' and 'eshell-command-body' when implementing them, and were very hard to get right (see bug#12571 for example). Instead, let's improve Eshell's iterative command evaluation some more so that you can write the implementations for these commands like normal. I think this is beneficial for two main reasons: a) it should get us closer to replacing Eshell's iterative evaluation with the CPS machinery in generator.el (bug#37635)[1], and b) third-parties should have an easier time writing their own fancy Eshell commands using the command-rewriting hooks. Given that we have fairly thorough regression tests in Eshell now, I'm pretty confident that these patches don't break anything. [1] I think I mentioned it elsewhere, but I'm hoping to make sure that when we do switch to the CPS machinery (or maybe to threads), it's just a drop-in replacement. That way, if there are problems, it should be easy to revert to the classic iterative evaluation code. Maybe we could even provide a defcustom for it just in case. --------------OGDtxR37XY4gIW5KgoOD8BAs Content-Type: text/plain; charset=UTF-8; name="0001-Simplify-iteration-in-Eshell-for-loops.patch" Content-Disposition: attachment; filename="0001-Simplify-iteration-in-Eshell-for-loops.patch" Content-Transfer-Encoding: base64 RnJvbSA3Njc4MzlhMGIzYzAzZjkxMDM4N2M4MzRmMTMyMGQ0ZjlkNDY1MjAxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgMjYgSmFuIDIwMjMgMjM6MTg6NDIgLTA4MDAKU3ViamVjdDogW1BB VENIIDEvM10gU2ltcGxpZnkgaXRlcmF0aW9uIGluIEVzaGVsbCBmb3IgbG9vcHMKClRoZSBw cmV2aW91cyBjb2RlIGZpeGVkIGFuIGlzc3VlIGluIEVzaGVsbCdzIGl0ZXJhdGl2ZSBldmFs dWF0aW9uCndoZXJlIGRlZmVycmVkIGNvbW1hbmRzIGNhdXNlZCBhbiBpbmZpbml0ZSBsb29w IChzZWUgYnVnIzEyNTcxKS4KSG93ZXZlciwgd2l0aCB0aGUgZml4IHRvIHVud2luZGluZyBs ZXQgZm9ybXMgaW4gJ2VzaGVsbC1kby1ldmFsJyAoc2VlCmJ1ZyM1OTQ2OSksIHdlIGNhbiBq dXN0IHdyaXRlIHRoaXMgY29kZSBhcyB3ZSBub3JtYWxseSB3b3VsZC4KCiogbGlzcC9lc2hl bGwvZXNoLWNtZC5lbCAoZXNoZWxsLXJld3JpdGUtZm9yLWNvbW1hbmQpOiBTaW1wbGlmeS4K LS0tCiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIHwgMjggKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwgYi9saXNwL2VzaGVs bC9lc2gtY21kLmVsCmluZGV4IGQ2MDk3MTE0MDJhLi4yZGQ4ZjVkNjA0MiAxMDA2NDQKLS0t IGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtY21kLmVs CkBAIC01MzMsMjUgKzUzMywyMyBAQCBlc2hlbGwtcmV3cml0ZS1mb3ItY29tbWFuZAogCSAg IChlcXVhbCAobnRoIDIgdGVybXMpICJpbiIpKQogICAgICAgKGxldCAoKGJvZHkgKGNhciAo bGFzdCB0ZXJtcykpKSkKIAkoc2V0Y2RyIChsYXN0IHRlcm1zIDIpIG5pbCkKLQlgKGxldCAo KGZvci1pdGVtcwotCQkoY29weS10cmVlCi0JCSAoYXBwZW5kCi0JCSAgLEAobWFwY2FyCi0J CSAgICAgKGxhbWJkYSAoZWxlbSkKLQkJICAgICAgIChpZiAobGlzdHAgZWxlbSkKLQkJCSAg IGVsZW0KLQkJCSBgKGxpc3QgLGVsZW0pKSkKLQkJICAgICAoY2RyIChjZGRyIHRlcm1zKSkp KSkpCi0JICAgICAgIChlc2hlbGwtY29tbWFuZC1ib2R5ICcobmlsKSkKKyAgICAgICAgYChs ZXQgKChmb3ItaXRlbXMKKyAgICAgICAgICAgICAgICAoYXBwZW5kCisgICAgICAgICAgICAg ICAgICxAKG1hcGNhcgorICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChlbGVtKQorICAg ICAgICAgICAgICAgICAgICAgIChpZiAobGlzdHAgZWxlbSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgZWxlbQorICAgICAgICAgICAgICAgICAgICAgICAgYChsaXN0ICxlbGVtKSkp CisgICAgICAgICAgICAgICAgICAgIChudGhjZHIgMyB0ZXJtcykpKSkKKyAgICAgICAgICAg ICAgIChlc2hlbGwtY29tbWFuZC1ib2R5ICcobmlsKSkKICAgICAgICAgICAgICAgIChlc2hl bGwtdGVzdC1ib2R5ICcobmlsKSkpCi0JICAgKHdoaWxlIChjYXIgZm9yLWl0ZW1zKQotCSAg ICAgKGxldCAoKCwoaW50ZXJuIChjYWRyIHRlcm1zKSkgKGNhciBmb3ItaXRlbXMpKQorICAg ICAgICAgICAod2hpbGUgZm9yLWl0ZW1zCisgICAgICAgICAgICAgKGxldCAoKCwoaW50ZXJu IChjYWRyIHRlcm1zKSkgKGNhciBmb3ItaXRlbXMpKQogCQkgICAoZXNoZWxsLS1sb2NhbC12 YXJzIChjb25zICcsKGludGVybiAoY2FkciB0ZXJtcykpCi0JCQkJCSAgICBlc2hlbGwtLWxv Y2FsLXZhcnMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVzaGVsbC0tbG9jYWwtdmFycykpKQogCSAgICAgICAoZXNoZWxsLXByb3RlY3QKIAkg ICAJLChlc2hlbGwtaW52b2tpZnktYXJnIGJvZHkgdCkpKQotCSAgICAgKHNldGNhciBmb3It aXRlbXMgKGNhZHIgZm9yLWl0ZW1zKSkKLQkgICAgIChzZXRjZHIgZm9yLWl0ZW1zIChjZGRy IGZvci1pdGVtcykpKQorICAgICAgICAgICAgIChzZXRxIGZvci1pdGVtcyAoY2RyIGZvci1p dGVtcykpKQogICAgICAgICAgICAoZXNoZWxsLWNsb3NlLWhhbmRsZXMpKSkpKQogCiAoZGVm dW4gZXNoZWxsLXN0cnVjdHVyZS1iYXNpYy1jb21tYW5kIChmdW5jIG5hbWVzIGtleXdvcmQg dGVzdCBib2R5Ci0tIAoyLjI1LjEKCg== --------------OGDtxR37XY4gIW5KgoOD8BAs Content-Type: text/plain; charset=UTF-8; name="0002-Simplify-how-Eshell-s-iterative-evaluation-handles-i.patch" Content-Disposition: attachment; filename*0="0002-Simplify-how-Eshell-s-iterative-evaluation-handles-i.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwZTlkODljMjM3M2EzZjgyMzg1ZTYxMzMwMjMzZTg4Njk4ZGYwZDFhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjggSmFuIDIwMjMgMTU6MDY6MzEgLTA4MDAKU3ViamVjdDogW1BB VENIIDIvM10gU2ltcGxpZnkgaG93IEVzaGVsbCdzIGl0ZXJhdGl2ZSBldmFsdWF0aW9uIGhh bmRsZXMgJ2lmJwogZm9ybXMKClRoZSBwcmV2aW91cyBpbXBsZW1lbnRhdGlvbiB1c2VkICdl c2hlbGwtdGVzdC1ib2R5JyBhbmQKJ2VzaGVsbC1jb21tYW5kLWJvZHknIHRvIHRyYWNrIHRo ZSBjb25kaXRpb24gYW5kIHRoZSB0aGVuL2Vsc2UgZm9ybXMsCmJ1dCB0aG9zZSBzcGVjaWFs IHZhcmlhYmxlcyBhcmUgb25seSBuZWVkZWQgZm9yIGxvb3BpbmcuICAnaWYnIG9ubHkKZXZh bHVhdGVzIGVhY2ggZm9ybSBvbmNlIChhdCBtb3N0KS4KCiogbGlzcC9lc2hlbGwvZXNoLWNt ZC5lbCAoQ29tbWFuZCBldmFsdWF0aW9uIG1hY3Jvcyk6IFJlbW92ZSAnaWYnIGZyb20KdGhl IG5vdGVzIGFib3V0ICdlc2hlbGwtdGVzdC1ib2R5JyBhbmQgJ2VzaGVsbC1jb21tYW5kLWJv ZHknLgooZXNoZWxsLWRvLWV2YWwpOiBSZWltcGxlbWVudCBldmFsdWF0aW9uIG9mICdpZicg Zm9ybXMuCihlc2hlbGwtZXZhbC1jb21tYW5kKTogRG9uJ3QgbGV0LWJpbmQgJ2VzaGVsbC1j b21tYW5kLWJvZHknIGFuZAonZXNoZWxsLXRlc3QtYm9keSc7IHRoZXkncmUgbm8gbG9uZ2Vy IG5lZWRlZCBoZXJlLgotLS0KIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgfCAzNiArKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNl cnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9l c2gtY21kLmVsIGIvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbAppbmRleCAyZGQ4ZjVkNjA0Mi4u NWRiYmQ3NzA1ODIgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKKysrIGIv bGlzcC9lc2hlbGwvZXNoLWNtZC5lbApAQCAtNzQ1LDkgKzc0NSw5IEBAIGVzaGVsbC1zZXBh cmF0ZS1jb21tYW5kcwogOzsgICBgY29uZGl0aW9uLWNhc2UnLCBgaWYnLCBgbGV0JywgYHBy b2cxJywgYHByb2duJywgYHF1b3RlJywgYHNldHEnLAogOzsgICBgdW53aW5kLXByb3RlY3Qn LCBhbmQgYHdoaWxlJy4KIDs7Ci07OyBAIFdoZW4gdXNpbmcgYGlmJyBvciBgd2hpbGUnLCBm aXJzdCBsZXQtYmluZCBgZXNoZWxsLXRlc3QtYm9keScgYW5kCis7OyBAIFdoZW4gdXNpbmcg YHdoaWxlJywgZmlyc3QgbGV0LWJpbmQgYGVzaGVsbC10ZXN0LWJvZHknIGFuZAogOzsgICBg ZXNoZWxsLWNvbW1hbmQtYm9keScgdG8gJyhuaWwpLiAgRXNoZWxsIHVzZXMgdGhlc2UgdmFy aWFibGVzIHRvCi07OyAgIGhhbmRsZSBjb25kaXRpb25hbCBldmFsdWF0aW9uLgorOzsgICBo YW5kbGUgZXZhbHVhdGluZyBpdHMgc3ViZm9ybXMgbXVsdGlwbGUgdGltZXMuCiA7OwogOzsg QCBUaGUgdHdvIGBzcGVjaWFsJyB2YXJpYWJsZXMgYXJlIGBlc2hlbGwtY3VycmVudC1oYW5k bGVzJyBhbmQKIDs7ICAgYGVzaGVsbC1jdXJyZW50LXN1YmpvYi1wJy4gIEJpbmQgdGhlbSBs b2NhbGx5IHdpdGggYSBgbGV0JyBpZiB5b3UKQEAgLTEwMzEsOSArMTAzMSw3IEBAIGVzaGVs bC1ldmFsLWNvbW1hbmQKICAgICAgIDs7IFdlIGNhbiBqdXN0IHN0aWNrIHRoZSBuZXcgY29t bWFuZCBhdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50CiAgICAgICA7OyBvbmUsIGFuZCBldmVy eXRoaW5nIHdpbGwgaGFwcGVuIGFzIGl0IHNob3VsZC4KICAgICAgIChzZXRjZHIgKGxhc3Qg KGNkciBlc2hlbGwtY3VycmVudC1jb21tYW5kKSkKLSAgICAgICAgICAgICAgKGxpc3QgYChs ZXQgKChoZXJlIChhbmQgKGVvYnApIChwb2ludCkpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGVzaGVsbC1jb21tYW5kLWJvZHkgJyhuaWwpKQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGVzaGVsbC10ZXN0LWJvZHkgJyhuaWwpKSkKKyAgICAgICAgICAgICAgKGxp c3QgYChsZXQgKChoZXJlIChhbmQgKGVvYnApIChwb2ludCkpKSkKICAgICAgICAgICAgICAg ICAgICAgICAgLChhbmQgaW5wdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYChp bnNlcnQtYW5kLWluaGVyaXQgLChjb25jYXQgaW5wdXQgIlxuIikpKQogICAgICAgICAgICAg ICAgICAgICAgICAoaWYgaGVyZQpAQCAtMTE0OSwyMyArMTE0NywxNyBAQCBlc2hlbGwtZG8t ZXZhbAogICAgICAgICAgIChzZXRjYXIgZXNoZWxsLXRlc3QtYm9keSAoY29weS10cmVlIChj YXIgYXJncykpKSkKIAkoc2V0Y2FyIGVzaGVsbC1jb21tYW5kLWJvZHkgbmlsKSkKICAgICAg ICAoKGVxIChjYXIgZm9ybSkgJ2lmKQotICAgICAgICA7OyBgY29weS10cmVlJyBpcyBuZWVk ZWQgaGVyZSBzbyB0aGF0IHRoZSB0ZXN0IGFyZ3VtZW50Ci0JOzsgZG9lc24ndCBnZXQgbW9k aWZpZWQgYW5kIHRodXMgYWx3YXlzIHlpZWxkIHRoZSBzYW1lIHJlc3VsdC4KLQkoaWYgKGNh ciBlc2hlbGwtY29tbWFuZC1ib2R5KQotCSAgICAocHJvZ24KLQkgICAgICAoY2wtYXNzZXJ0 IChub3Qgc3luY2hyb25vdXMtcCkpCi0JICAgICAgKGVzaGVsbC1kby1ldmFsIChjYXIgZXNo ZWxsLWNvbW1hbmQtYm9keSkpKQotCSAgKHVubGVzcyAoY2FyIGVzaGVsbC10ZXN0LWJvZHkp Ci0gICAgICAgICAgICAoc2V0Y2FyIGVzaGVsbC10ZXN0LWJvZHkgKGNvcHktdHJlZSAoY2Fy IGFyZ3MpKSkpCi0JICAoc2V0Y2FyIGVzaGVsbC1jb21tYW5kLWJvZHkKLSAgICAgICAgICAg ICAgICAgIChjb3B5LXRyZWUKLSAgICAgICAgICAgICAgICAgICAoaWYgKGNhZHIgKGVzaGVs bC1kby1ldmFsIChjYXIgZXNoZWxsLXRlc3QtYm9keSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN5bmNocm9ub3VzLXApKQotICAgICAgICAgICAg ICAgICAgICAgICAoY2FkciBhcmdzKQotICAgICAgICAgICAgICAgICAgICAgKGNhciAoY2Rk ciBhcmdzKSkpKSkKLQkgIChlc2hlbGwtZG8tZXZhbCAoY2FyIGVzaGVsbC1jb21tYW5kLWJv ZHkpIHN5bmNocm9ub3VzLXApKQotCShzZXRjYXIgZXNoZWxsLWNvbW1hbmQtYm9keSBuaWwp Ci0JKHNldGNhciBlc2hlbGwtdGVzdC1ib2R5IG5pbCkpCisgICAgICAgIChlc2hlbGwtbWFu aXB1bGF0ZSAiZXZhbHVhdGluZyBpZiBjb25kaXRpb24iCisgICAgICAgICAgKHNldGNhciBh cmdzIChlc2hlbGwtZG8tZXZhbCAoY2FyIGFyZ3MpIHN5bmNocm9ub3VzLXApKSkKKyAgICAg ICAgKGVzaGVsbC1kby1ldmFsCisgICAgICAgICAoY29uZAorICAgICAgICAgICgoZXZhbCAo Y2FyIGFyZ3MpKSAgICAgICAgICAgIDsgQ09ORCBpcyBub24tbmlsCisgICAgICAgICAgIChj YWRyIGFyZ3MpKQorICAgICAgICAgICgoY2RkZHIgYXJncykgICAgICAgICAgICAgICAgIDsg TXVsdGlwbGUgRUxTRSBmb3JtcworICAgICAgICAgICBgKHByb2duICxAKGNkZHIgYXJncykp KQorICAgICAgICAgICh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgWmVybyBvciBv bmUgRUxTRSBmb3JtcworICAgICAgICAgICAoY2FkZHIgYXJncykpKQorICAgICAgICAgc3lu Y2hyb25vdXMtcCkpCiAgICAgICAgKChlcSAoY2FyIGZvcm0pICdzZXRjYXIpCiAJKHNldGNh ciAoY2RyIGFyZ3MpIChlc2hlbGwtZG8tZXZhbCAoY2FkciBhcmdzKSBzeW5jaHJvbm91cy1w KSkKIAkoZXZhbCBmb3JtKSkKLS0gCjIuMjUuMQoK --------------OGDtxR37XY4gIW5KgoOD8BAs Content-Type: text/plain; charset=UTF-8; name="0003-Simplify-usage-of-while-forms-in-Eshell-s-iterative-.patch" Content-Disposition: attachment; filename*0="0003-Simplify-usage-of-while-forms-in-Eshell-s-iterative-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBmZDRlOWE1MWFjMTM4MTZmYzdlMGEwY2Q4ZTJlNGY0N2E3YjAyMjZhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjggSmFuIDIwMjMgMTc6MDQ6MTEgLTA4MDAKU3ViamVjdDogW1BB VENIIDMvM10gU2ltcGxpZnkgdXNhZ2Ugb2YgJ3doaWxlJyBmb3JtcyBpbiBFc2hlbGwncyBp dGVyYXRpdmUKIGV2YWx1YXRpb24KCk5vdywgJ2VzaGVsbC1kby1ldmFsJyByZXdyaXRlcyAn d2hpbGUnIGZvcm1zIHRvIGxldC1iaW5kIHZhcmlhYmxlcyBmb3IKdGhlIGNvbW1hbmQgYW5k IHRlc3QgYm9kaWVzLiAgVGhpcyBtZWFucyB0aGF0IGV4dGVybmFsIGNvZGUsIHN1Y2ggYXMK Y29tbWFuZCByZXdyaXRpbmcgaG9va3MsIG5vIGxvbmdlciBoYXMgdG8gd29ycnkgYWJvdXQg dGhpcywgbWFraW5nIGl0CmVhc2llciB0byBwYXNzICJub3JtYWwiIExpc3AgZm9ybXMgdG8g J2VzaGVsbC1kby1ldmFsJy4KCiogbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCAoZXNoZWxsLWNv bW1hbmQtYm9keSwgZXNoZWxsLXRlc3QtYm9keSk6IE5vCmxvbmdlciB1c2VkIG91dHNpZGUg b2YgJ2VzaGVsbC1kby1ldmFsJywgc28gcmVuYW1lIHRvLi4uCihlc2hlbGwtLWNvbW1hbmQt Ym9keSwgZXNoZWxsLS10ZXN0LWJvZHkpOiAuLi4gdGhlc2UuCihDb21tYW5kIGV2YWx1YXRp b24gbWFjcm9zKTogUmVtb3ZlIG9ic29sZXRlIGRlc2NyaXB0aW9uIGFib3V0ICdpZicKYW5k ICd3aGlsZScgZm9ybXMuCihlc2hlbGwtcmV3cml0ZS1mb3ItY29tbWFuZCwgZXNoZWxsLXN0 cnVjdHVyZS1iYXNpYy1jb21tYW5kKTogUmVtb3ZlCidlc2hlbGwtY29tbWFuZC1ib2R5JyBh bmQgJ2VzaGVsbC10ZXN0LWJvZHknLgooZXNoZWxsLWRvLWV2YWwpOiBSZWltcGxlbWVudCBo YW5kbGluZyBvZiAnd2hpbGUnIGZvcm1zLgotLS0KIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwg fCA1OSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saXNwL2VzaGVsbC9lc2gtY21kLmVsIGIvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbApp bmRleCA1ZGJiZDc3MDU4Mi4uOTNmMjYxNjAyMGMgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxs L2VzaC1jbWQuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbApAQCAtNDk0LDggKzQ5 NCw4IEBAIGVzaGVsbC1yZXdyaXRlLW5hbWVkLWNvbW1hbmQKICAgICAgKHQKICAgICAgIChs aXN0IHN5bSAoY2FyIHRlcm1zKSkpKSkpCiAKLShkZWZ2YXIgZXNoZWxsLWNvbW1hbmQtYm9k eSkKLShkZWZ2YXIgZXNoZWxsLXRlc3QtYm9keSkKKyhkZWZ2YXIgZXNoZWxsLS1jb21tYW5k LWJvZHkpCisoZGVmdmFyIGVzaGVsbC0tdGVzdC1ib2R5KQogCiAoZGVmc3Vic3QgZXNoZWxs LWludm9raWZ5LWFyZyAoYXJnICZvcHRpb25hbCBzaGFyZS1vdXRwdXQgc2lsZW50KQogICAi Q2hhbmdlIEFSRyBzbyBpdCBjYW4gYmUgaW52b2tlZCBmcm9tIGEgc3RydWN0dXJlZCBjb21t YW5kLgpAQCAtNTQwLDkgKzU0MCw3IEBAIGVzaGVsbC1yZXdyaXRlLWZvci1jb21tYW5kCiAg ICAgICAgICAgICAgICAgICAgICAgKGlmIChsaXN0cCBlbGVtKQogICAgICAgICAgICAgICAg ICAgICAgICAgICBlbGVtCiAgICAgICAgICAgICAgICAgICAgICAgICBgKGxpc3QgLGVsZW0p KSkKLSAgICAgICAgICAgICAgICAgICAgKG50aGNkciAzIHRlcm1zKSkpKQotICAgICAgICAg ICAgICAgKGVzaGVsbC1jb21tYW5kLWJvZHkgJyhuaWwpKQotICAgICAgICAgICAgICAgKGVz aGVsbC10ZXN0LWJvZHkgJyhuaWwpKSkKKyAgICAgICAgICAgICAgICAgICAgKG50aGNkciAz IHRlcm1zKSkpKSkKICAgICAgICAgICAgKHdoaWxlIGZvci1pdGVtcwogICAgICAgICAgICAg IChsZXQgKCgsKGludGVybiAoY2FkciB0ZXJtcykpIChjYXIgZm9yLWl0ZW1zKSkKIAkJICAg KGVzaGVsbC0tbG9jYWwtdmFycyAoY29ucyAnLChpbnRlcm4gKGNhZHIgdGVybXMpKQpAQCAt NTc5LDggKzU3Nyw3IEBAIGVzaGVsbC1zdHJ1Y3R1cmUtYmFzaWMtY29tbWFuZAogCiAgIDs7 IGZpbmFsbHksIGNyZWF0ZSB0aGUgZm9ybSB0aGF0IHJlcHJlc2VudHMgdGhpcyBzdHJ1Y3R1 cmVkCiAgIDs7IGNvbW1hbmQKLSAgYChsZXQgKChlc2hlbGwtY29tbWFuZC1ib2R5ICcobmls KSkKLSAgICAgICAgIChlc2hlbGwtdGVzdC1ib2R5ICcobmlsKSkpCisgIGAocHJvZ24KICAg ICAgKCxmdW5jICx0ZXN0ICxib2R5ICxlbHNlKQogICAgICAoZXNoZWxsLWNsb3NlLWhhbmRs ZXMpKSkKIApAQCAtNzQ1LDEwICs3NDIsNiBAQCBlc2hlbGwtc2VwYXJhdGUtY29tbWFuZHMK IDs7ICAgYGNvbmRpdGlvbi1jYXNlJywgYGlmJywgYGxldCcsIGBwcm9nMScsIGBwcm9nbics IGBxdW90ZScsIGBzZXRxJywKIDs7ICAgYHVud2luZC1wcm90ZWN0JywgYW5kIGB3aGlsZScu CiA7OwotOzsgQCBXaGVuIHVzaW5nIGB3aGlsZScsIGZpcnN0IGxldC1iaW5kIGBlc2hlbGwt dGVzdC1ib2R5JyBhbmQKLTs7ICAgYGVzaGVsbC1jb21tYW5kLWJvZHknIHRvICcobmlsKS4g IEVzaGVsbCB1c2VzIHRoZXNlIHZhcmlhYmxlcyB0bwotOzsgICBoYW5kbGUgZXZhbHVhdGlu ZyBpdHMgc3ViZm9ybXMgbXVsdGlwbGUgdGltZXMuCi07OwogOzsgQCBUaGUgdHdvIGBzcGVj aWFsJyB2YXJpYWJsZXMgYXJlIGBlc2hlbGwtY3VycmVudC1oYW5kbGVzJyBhbmQKIDs7ICAg YGVzaGVsbC1jdXJyZW50LXN1YmpvYi1wJy4gIEJpbmQgdGhlbSBsb2NhbGx5IHdpdGggYSBg bGV0JyBpZiB5b3UKIDs7ICAgbmVlZCB0byBjaGFuZ2UgdGhlbS4gIENoYW5nZSB0aGVtIGRp cmVjdGx5IG9ubHkgaWYgeW91ciBpbnRlbnRpb24KQEAgLTExMjgsMjQgKzExMjEsMzQgQEAg ZXNoZWxsLWRvLWV2YWwKICAgICAobGV0ICgoYXJncyAoY2RyIGZvcm0pKSkKICAgICAgIChj b25kCiAgICAgICAgKChlcSAoY2FyIGZvcm0pICd3aGlsZSkKKyAgICAgICAgOzsgV3JhcCB0 aGUgYHdoaWxlJyBmb3JtIHdpdGggbGV0LWJpbmRpbmdzIGZvciB0aGUgY29tbWFuZCBhbmQK KyAgICAgICAgOzsgdGVzdCBib2RpZXMuICBUaGlzIGhlbHBzIHVzIHJlc3VtZSBldmFsdWF0 aW9uIG1pZHdheQorICAgICAgICA7OyB0aHJvdWdoIHRoZSBsb29wLgorICAgICAgICAobGV0 ICgobmV3LWZvcm0gKGNvcHktdHJlZSBgKGxldCAoKGVzaGVsbC0tY29tbWFuZC1ib2R5IG5p bCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwt LXRlc3QtYm9keSBuaWwpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoZXNoZWxsLS13cmFwcGVkLXdoaWxlICxAYXJncykpKSkpCisgICAgICAgICAgKGVzaGVs bC1tYW5pcHVsYXRlICJtb2RpZnlpbmcgd2hpbGUgZm9ybSIKKyAgICAgICAgICAgIChzZXRj YXIgZm9ybSAoY2FyIG5ldy1mb3JtKSkKKyAgICAgICAgICAgIChzZXRjZHIgZm9ybSAoY2Ry IG5ldy1mb3JtKSkpCisgICAgICAgICAgKGVzaGVsbC1kby1ldmFsIGZvcm0gc3luY2hyb25v dXMtcCkpKQorICAgICAgICgoZXEgKGNhciBmb3JtKSAnZXNoZWxsLS13cmFwcGVkLXdoaWxl KQorICAgICAgICAod2hlbiBlc2hlbGwtLWNvbW1hbmQtYm9keQorICAgICAgICAgIChjbC1h c3NlcnQgKG5vdCBzeW5jaHJvbm91cy1wKSkKKyAgICAgICAgICAoZXNoZWxsLWRvLWV2YWwg ZXNoZWxsLS1jb21tYW5kLWJvZHkpCisgICAgICAgICAgKHNldHEgZXNoZWxsLS1jb21tYW5k LWJvZHkgbmlsCisgICAgICAgICAgICAgICAgZXNoZWxsLS10ZXN0LWJvZHkgbmlsKSkKICAg ICAgICAgOzsgYGNvcHktdHJlZScgaXMgbmVlZGVkIGhlcmUgc28gdGhhdCB0aGUgdGVzdCBh cmd1bWVudAotCTs7IGRvZXNuJ3QgZ2V0IG1vZGlmaWVkIGFuZCB0aHVzIGFsd2F5cyB5aWVs ZCB0aGUgc2FtZSByZXN1bHQuCi0JKHdoZW4gKGNhciBlc2hlbGwtY29tbWFuZC1ib2R5KQot CSAgKGNsLWFzc2VydCAobm90IHN5bmNocm9ub3VzLXApKQotCSAgKGVzaGVsbC1kby1ldmFs IChjYXIgZXNoZWxsLWNvbW1hbmQtYm9keSkpCi0JICAoc2V0Y2FyIGVzaGVsbC1jb21tYW5k LWJvZHkgbmlsKQotCSAgKHNldGNhciBlc2hlbGwtdGVzdC1ib2R5IG5pbCkpCi0JKHVubGVz cyAoY2FyIGVzaGVsbC10ZXN0LWJvZHkpCi0gICAgICAgICAgKHNldGNhciBlc2hlbGwtdGVz dC1ib2R5IChjb3B5LXRyZWUgKGNhciBhcmdzKSkpKQotCSh3aGlsZSAoY2FkciAoZXNoZWxs LWRvLWV2YWwgKGNhciBlc2hlbGwtdGVzdC1ib2R5KSBzeW5jaHJvbm91cy1wKSkKLQkgIChz ZXRjYXIgZXNoZWxsLWNvbW1hbmQtYm9keQotICAgICAgICAgICAgICAgICAgKGlmIChjZGRy IGFyZ3MpCi0gICAgICAgICAgICAgICAgICAgICAgYChwcm9nbiAsQChjb3B5LXRyZWUgKGNk ciBhcmdzKSkpCi0gICAgICAgICAgICAgICAgICAgIChjb3B5LXRyZWUgKGNhZHIgYXJncykp KSkKLQkgIChlc2hlbGwtZG8tZXZhbCAoY2FyIGVzaGVsbC1jb21tYW5kLWJvZHkpIHN5bmNo cm9ub3VzLXApCi0JICAoc2V0Y2FyIGVzaGVsbC1jb21tYW5kLWJvZHkgbmlsKQotICAgICAg ICAgIChzZXRjYXIgZXNoZWxsLXRlc3QtYm9keSAoY29weS10cmVlIChjYXIgYXJncykpKSkK LQkoc2V0Y2FyIGVzaGVsbC1jb21tYW5kLWJvZHkgbmlsKSkKKyAgICAgICAgOzsgZG9lc24n dCBnZXQgbW9kaWZpZWQgYW5kIHRodXMgYWx3YXlzIHlpZWxkIHRoZSBzYW1lIHJlc3VsdC4K KyAgICAgICAgKHVubGVzcyBlc2hlbGwtLXRlc3QtYm9keQorICAgICAgICAgIChzZXRxIGVz aGVsbC0tdGVzdC1ib2R5IChjb3B5LXRyZWUgKGNhciBhcmdzKSkpKQorICAgICAgICAod2hp bGUgKGNhZHIgKGVzaGVsbC1kby1ldmFsIGVzaGVsbC0tdGVzdC1ib2R5IHN5bmNocm9ub3Vz LXApKQorICAgICAgICAgIChzZXRxIGVzaGVsbC0tY29tbWFuZC1ib2R5CisgICAgICAgICAg ICAgICAgKGlmIChjZGRyIGFyZ3MpCisgICAgICAgICAgICAgICAgICAgIGAocHJvZ24gLEAo Y29weS10cmVlIChjZHIgYXJncykpKQorICAgICAgICAgICAgICAgICAgKGNvcHktdHJlZSAo Y2FkciBhcmdzKSkpKQorICAgICAgICAgIChlc2hlbGwtZG8tZXZhbCBlc2hlbGwtLWNvbW1h bmQtYm9keSBzeW5jaHJvbm91cy1wKQorICAgICAgICAgIChzZXRxIGVzaGVsbC0tY29tbWFu ZC1ib2R5IG5pbAorICAgICAgICAgICAgICAgIGVzaGVsbC0tdGVzdC1ib2R5IChjb3B5LXRy ZWUgKGNhciBhcmdzKSkpKSkKICAgICAgICAoKGVxIChjYXIgZm9ybSkgJ2lmKQogICAgICAg ICAoZXNoZWxsLW1hbmlwdWxhdGUgImV2YWx1YXRpbmcgaWYgY29uZGl0aW9uIgogICAgICAg ICAgIChzZXRjYXIgYXJncyAoZXNoZWxsLWRvLWV2YWwgKGNhciBhcmdzKSBzeW5jaHJvbm91 cy1wKSkpCi0tIAoyLjI1LjEKCg== --------------OGDtxR37XY4gIW5KgoOD8BAs-- From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 05 20:16:11 2023 Received: (at 61954) by debbugs.gnu.org; 6 Mar 2023 01:16:11 +0000 Received: from localhost ([127.0.0.1]:40979 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pYzSS-000118-18 for submit@debbugs.gnu.org; Sun, 05 Mar 2023 20:16:11 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:50665) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pYzSM-00010E-8Q for 61954@debbugs.gnu.org; Sun, 05 Mar 2023 20:16:06 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 422255C009F; Sun, 5 Mar 2023 20:15:56 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Sun, 05 Mar 2023 20:15:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=spwhitton.name; h=cc:cc:content-type:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1678065356; x= 1678151756; bh=j8m0bQzwMyVd8AAIW/zZoc/gPNrNxArAv3VZDNT4ZwU=; b=I eMnuHe2dfFUG7SK6re7K3lbqB5spAoTCn6322CFz5gwk+R4An7V1Vzx2VWxIY9/A qgKIIncSezV0bEHD2fpfLps31mtUzAdjMnOTQeRfXswZ8SigYJSKVYumX/XQZOnT 2fK4BjBoEBu0ku2vl9Rnwybk5S/ecP2QcDygZ1cYSqn12eYYddEQpqQqVXgxfrCs TpWOrOJz9HR7SiQ1YmjBVMKhax8958Y918k3AdqWyfqDQHXjpaDbrj+eUFa7UHw4 SFpdtttCeklbxg4sHypSaA4cQEEeHSYAGW7drNkdzcm23Hnw1Yz4Hr+OfIMfD0kN Y03d7czmeC+UaZp6bqmFw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1678065356; x=1678151756; bh=j8m0bQzwMyVd8 AAIW/zZoc/gPNrNxArAv3VZDNT4ZwU=; b=bGpLjXJPMYT6dd7jC0UJYNVCmwqzP rf/kw81sfILxAHsqc5lFn+AJ/siPSOEJZkUddfp+2DMSmEy4iHdocC2nzV23C+Rl oFMkJmupcFEW+WLOGthamth3cMkCJ+JVwnV7sI/d/I1UZd2l8ZAvRffUtPcqp2Zu 4YLe2SewHCgjRLLXgvd/FnaaKHzVOWEkYwYmBkCGGNZlpnxPFdnPARe5fDE/bsjN mlmkqfSawq0dEX6GxuuDM2EkygRExT3f34Z4baYKxbQkvgEkQoBM8wNyzrokgK9X av1EpP842iXc15gg9dtOuaVbioD3N1vjuYmeroZeNEXqRQjzrvBbK6Ypw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddthedgfeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufgjfhffkfgfgggtsehttd dttddtredtnecuhfhrohhmpefuvggrnhcuhghhihhtthhonhcuoehsphifhhhithhtohhn sehsphifhhhithhtohhnrdhnrghmvgeqnecuggftrfgrthhtvghrnheptdffvdffueelue dvteekvdevhefghedvgeevgffhvedukeeggeelveegjeekteeknecuvehluhhsthgvrhfu ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhpfihhihhtthhonhesshhpfi hhihhtthhonhdrnhgrmhgv X-ME-Proxy: Feedback-ID: i23c04076:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 5 Mar 2023 20:15:55 -0500 (EST) Received: by melete.silentflame.com (Postfix, from userid 1000) id 797CF7E7D3B; Sun, 5 Mar 2023 18:15:54 -0700 (MST) From: Sean Whitton To: Jim Porter Subject: Re: bug#61954: 30.0.50; [PATCH] Simplify structured commands in Eshell In-Reply-To: <0a0527e8-b005-6f1a-016a-1cb0694ce639@gmail.com> (Jim Porter's message of "Fri, 3 Mar 2023 23:28:46 -0800") References: <0a0527e8-b005-6f1a-016a-1cb0694ce639@gmail.com> Date: Sun, 05 Mar 2023 18:15:54 -0700 Message-ID: <87y1oar86t.fsf@melete.silentflame.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 61954 Cc: 61954@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hello, On Fri 03 Mar 2023 at 11:28PM -08, Jim Porter wrote: > Structured commands are just Eshell flow control commands, like 'if' and > 'while'. These expected you to set 'eshell-test-body' and > 'eshell-command-body' when implementing them, and were very hard to get right > (see bug#12571 for example). > > Instead, let's improve Eshell's iterative command evaluation some more so that > you can write the implementations for these commands like normal. I think this > is beneficial for two main reasons: a) it should get us closer to replacing > Eshell's iterative evaluation with the CPS machinery in generator.el > (bug#37635)[1], and b) third-parties should have an easier time writing their > own fancy Eshell commands using the command-rewriting hooks. I think you have typo'd the bug number? I would like to read about what the advantages of moving to CPS in particular will be. My understanding was that CPS is only rarely a good idea. -- Sean Whitton From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 05 21:11:53 2023 Received: (at 61954) by debbugs.gnu.org; 6 Mar 2023 02:11:53 +0000 Received: from localhost ([127.0.0.1]:41021 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pZ0KP-0002Xc-09 for submit@debbugs.gnu.org; Sun, 05 Mar 2023 21:11:53 -0500 Received: from mail-pg1-f179.google.com ([209.85.215.179]:38484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pZ0KN-0002XQ-7I for 61954@debbugs.gnu.org; Sun, 05 Mar 2023 21:11:51 -0500 Received: by mail-pg1-f179.google.com with SMTP id y19so4633180pgk.5 for <61954@debbugs.gnu.org>; Sun, 05 Mar 2023 18:11:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678068705; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=JhCScOWswXyMiFnAEo9XVxq0lfXCH2C7vZ2D2sSqoHo=; b=jhB+LXL+5YY3vz/OCx+FvMHh6a2JJgrLNdQoFoNK4mwH4vqobahB0w4Ywlvnj7SsGl bf3fQc+YrWW5sO+I37CPysCiFz9lunlS5rcyBQlWIFTnE/4ynmg8lJSxQGl8gJ1C+Yhl ZAUMHyh4guPCp3M93pvRuQznuHg6Azk8sy867RKFPkD5RwGAziVrf5CgSNfgWQT2qQ3d Ru8Y+gqKO6hz+PL+pNpmvGhW6qC1IrnUudIyTrVO2Vf1vApL0vJJhXlWSXswl1ImV02u cKbYuFMO9Ohe1GJdOoEeNSoDSDwL7Iqy0c1GEm4tIy/SIIptIKrT+oAVLTLOUQXzPWjl gqsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678068705; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JhCScOWswXyMiFnAEo9XVxq0lfXCH2C7vZ2D2sSqoHo=; b=TBfm5r9uI1H+xxBxa6jIhXW+vV2/2KYWRGF/jaxmence3eBPIF4HWwW8JzSACcxpsw ABr/RSYkmgGoAunhoI1yDX7LNV3xEQ/zV8BTLWaFd1mPPNXXkzQF33Tr3ymw/IKpDYf0 mcQ11rlNn4GIkrf2WNkTbY+MkRe9sUfwOwnqOK4Jtopbt95CmxpJFwil6GB9H+7Vk+P8 NnTBqsRHNoMZP4TbH00ksx/6oTsUbqpPVWojwDmwZyq9GCeBimQ20w6XtAbnBq24rb0x HiVNs3RVUy4QYKk99pOATmZHZX1l5+f3oW+8FMw824UOloaRamnAbK7jThJwp9BgdFpp oziA== X-Gm-Message-State: AO0yUKWM3x0sfe3Qn13bdQwHFdpWliz2sWGwuKnIKmGDd8AO0jdl6nrg xN5ABkTcgO5sn7VBvG5/3sc= X-Google-Smtp-Source: AK7set+sJrlftgHUL+gOeVM5+5R7HhKBPI7PMV0xzZT2GmW7yoab8V+fTy0mqmLwL8U0ZvxJeXFjdA== X-Received: by 2002:aa7:8704:0:b0:594:1f1c:3d3a with SMTP id b4-20020aa78704000000b005941f1c3d3amr12454534pfo.15.1678068705036; Sun, 05 Mar 2023 18:11:45 -0800 (PST) Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id n4-20020a62e504000000b005a79596c795sm5098387pff.29.2023.03.05.18.11.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 05 Mar 2023 18:11:44 -0800 (PST) Message-ID: <4b2704ab-d615-f6aa-90df-990444849ef0@gmail.com> Date: Sun, 5 Mar 2023 18:11:44 -0800 MIME-Version: 1.0 Subject: Re: bug#61954: 30.0.50; [PATCH] Simplify structured commands in Eshell Content-Language: en-US To: Sean Whitton References: <0a0527e8-b005-6f1a-016a-1cb0694ce639@gmail.com> <87y1oar86t.fsf@melete.silentflame.com> From: Jim Porter In-Reply-To: <87y1oar86t.fsf@melete.silentflame.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 61954 Cc: 61954@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 3/5/2023 5:15 PM, Sean Whitton wrote: > I think you have typo'd the bug number? Sorry, bug#57635. > I would like to read about what the advantages of moving to CPS in > particular will be. My understanding was that CPS is only rarely a good > idea. Well, that's what 'eshell-do-eval' is already; it's just incomplete (doesn't understand all of Elisp) and has a number of bugs. Migrating to generator.el's CPS machinery would mean we get the benefits of a more-complete implementation, with (hopefully) fewer bugs. Whether CPS is a good idea in general is above my pay grade, but short of some major improvements to threads in Emacs, I don't see an alternative. Eshell needs *some* mechanism for deferring execution of its command forms. (As I recall, threads have issues around prompting the user, which is why Tramp doesn't yet use threads, and Eshell would have the same issues. Not only that, but if Eshell used threads, it would cause problems when Eshell code calls Tramp code.) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 17 01:33:18 2023 Received: (at 61954-done) by debbugs.gnu.org; 17 Mar 2023 05:33:18 +0000 Received: from localhost ([127.0.0.1]:43462 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pd2iM-00033h-76 for submit@debbugs.gnu.org; Fri, 17 Mar 2023 01:33:18 -0400 Received: from mail-pj1-f47.google.com ([209.85.216.47]:54244) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pd2iK-00033P-MU for 61954-done@debbugs.gnu.org; Fri, 17 Mar 2023 01:33:17 -0400 Received: by mail-pj1-f47.google.com with SMTP id y2so3971291pjg.3 for <61954-done@debbugs.gnu.org>; Thu, 16 Mar 2023 22:33:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679031191; h=content-transfer-encoding:in-reply-to:references:newsgroups:to:from :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=PLlpC3LboYgTXPhEhtV2Td3KZn3fFvL06GoibgWoCR4=; b=p/az8IO26tkJFOV8HGTLzsuO/H+kNQkUT+fPhiE4X5msdTSjI1B7sGDlNCqKv+T0mv nqXf59mo88rDz7ogg80k11clVtt6f8R/5NmT9WxsqUe2fi0JvgG7jMMXhg4xr4HB0LAF FIYrYGu7btw+5oj2i1LDGJjpBZSYwZ0VIfOhIACADQ2FO6IID7+cBWoWqtSTCP0st4iS 2NwH2sG+WekPN5GnCq2KtcsCTX/aAqisa+ZRCvQyNK2WL5qcxeKe/gO3Qm8Ku27YbAsH AJRlV5r3gizYZ0L819jNmsUejqgC18pQ8o6atuippn8xuSEVuXBika97qq0Rwz4R8Bh9 2enw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679031191; h=content-transfer-encoding:in-reply-to:references:newsgroups:to:from :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PLlpC3LboYgTXPhEhtV2Td3KZn3fFvL06GoibgWoCR4=; b=aCjwV/VpBfZcEb5JIFGmn/xbRQ8Q+txzujch6pa72j/q4LoAaZFeyKK7jV8WnOzXNC 2EpEDCm4o57/jgv6f1K/9pHPmpweI7JCpf4KSN5OysBkRKZcZawSQcO6uiwqWMTvDSvJ 91X4sFn7KSAcg/PPFHjGTH4+YeIwMMeWo12hCuzHdGfgVO5rjdu0kMwP4/6gJi6XH84w 10BgkEwMnUoICSAy3b+/XTr3HmcYDWdJO08W4QW3emm5/cHoKWtH1vDEcRdaHYou2RFU uGwAjTkpdinXDECNMbBeAGb+rp+sURDz/tv+LPBA9I294HHHB4eDcatThi1EHqb4DRIJ 1UXg== X-Gm-Message-State: AO0yUKWerUo4oyg2X8NmvWa4qTwbOSh0KR8mA2ExLMayjeaDGGYmnrPR PZzEGfrwmjNH78cDmtxB8dXon8flb2M= X-Google-Smtp-Source: AK7set8Nbspfw+22Idp3Eg6UIkcdl7lwGJnvff3qlcnLIVmZUii9mjTxJFy+P43TSe/kl+TX7crBJQ== X-Received: by 2002:a17:90b:4f4b:b0:238:e9:8994 with SMTP id pj11-20020a17090b4f4b00b0023800e98994mr7098761pjb.0.1679031190752; Thu, 16 Mar 2023 22:33:10 -0700 (PDT) Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id g2-20020a17090adac200b00233cde36909sm4089667pjx.21.2023.03.16.22.33.10 for <61954-done@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Mar 2023 22:33:10 -0700 (PDT) Message-ID: Date: Thu, 16 Mar 2023 22:33:09 -0700 MIME-Version: 1.0 Subject: Re: bug#61954: 30.0.50; [PATCH] Simplify structured commands in Eshell Content-Language: en-US From: Jim Porter To: 61954-done@debbugs.gnu.org Newsgroups: gmane.emacs.bugs References: <0a0527e8-b005-6f1a-016a-1cb0694ce639@gmail.com> In-Reply-To: <0a0527e8-b005-6f1a-016a-1cb0694ce639@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 61954-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 3/3/2023 11:28 PM, Jim Porter wrote: > Structured commands are just Eshell flow control commands, like 'if' and > 'while'. These expected you to set 'eshell-test-body' and > 'eshell-command-body' when implementing them, and were very hard to get > right (see bug#12571 for example). > > Instead, let's improve Eshell's iterative command evaluation some more > so that you can write the implementations for these commands like > normal. Since there haven't been any concerns about the patches themselves in the last two weeks-ish, merging this now as 1565dbcae3 and closing the bug. From unknown Sun Jun 22 11:32:57 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 14 Apr 2023 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator