From unknown Sun Jun 22 11:32:31 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#30725 <30725@debbugs.gnu.org> To: bug#30725 <30725@debbugs.gnu.org> Subject: Status: eshell: built-ins do not handle command substitution Reply-To: bug#30725 <30725@debbugs.gnu.org> Date: Sun, 22 Jun 2025 18:32:31 +0000 retitle 30725 eshell: built-ins do not handle command substitution reassign 30725 emacs submitter 30725 Yegor Timoshenko severity 30725 minor thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 05 23:56:54 2018 Received: (at submit) by debbugs.gnu.org; 6 Mar 2018 04:56:54 +0000 Received: from localhost ([127.0.0.1]:46723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1et4ek-0000wU-DZ for submit@debbugs.gnu.org; Mon, 05 Mar 2018 23:56:54 -0500 Received: from eggs.gnu.org ([208.118.235.92]:42652) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1et4JM-0000RO-Pd for submit@debbugs.gnu.org; Mon, 05 Mar 2018 23:34:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1et4JH-00011Q-3R for submit@debbugs.gnu.org; Mon, 05 Mar 2018 23:34:43 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:59391) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1et4JH-00011J-0S for submit@debbugs.gnu.org; Mon, 05 Mar 2018 23:34:43 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33621) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1et4JF-0003UO-US for bug-gnu-emacs@gnu.org; Mon, 05 Mar 2018 23:34:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1et4JC-00010U-Rx for bug-gnu-emacs@gnu.org; Mon, 05 Mar 2018 23:34:41 -0500 Received: from mx1.riseup.net ([198.252.153.129]:50005) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1et4JC-00010I-JP for bug-gnu-emacs@gnu.org; Mon, 05 Mar 2018 23:34:38 -0500 Received: from piha.riseup.net (piha-pn.riseup.net [10.0.1.163]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.riseup.net (Postfix) with ESMTPS id 396431A014B for ; Mon, 5 Mar 2018 20:34:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1520310877; bh=cjEO/glU2f2VZi2MnzixpzswTMDrF0M81W4yx2o2lvg=; h=Date:From:To:Subject:From; b=pzaKuAU0Zb3iZNH3u85WKLeRj6tUneZg+xX9sRS2bhlEtrKDOrEypp/GtAB2d/vVp ffdRzwHwSTWrVw01+zHFagaXvemn0JmvSMNkl58usFO5ks8LbR+q0eXd6si64SbC2r RKRhx5/wMV09xYIBbwe74PjYwaavyx3nnBBwe9J8= X-Riseup-User-ID: E564AA6FCE99A30095DC0EC1C71B9407E0E548E50392044C75CCCE718511BCFB Received: from [127.0.0.1] (localhost [127.0.0.1]) by piha.riseup.net with ESMTPSA id 608699DF2 for ; Mon, 5 Mar 2018 20:34:36 -0800 (PST) Date: Tue, 6 Mar 2018 04:34:33 +0000 From: Yegor Timoshenko To: bug-gnu-emacs@gnu.org Subject: eshell: built-ins do not handle command substitution Message-ID: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.1 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 05 Mar 2018 23:56:53 -0500 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: -4.1 (----) In M-x eshell: $ which echo eshell/echo is a compiled Lisp function in `em-basic.el'. $ which *echo /run/current-system/sw/bin/echo $ echo ${mktemp -d} $ *echo ${mktemp -d} /tmp/tmp.UaiWQ0YPIX GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.26) of 2018-02-25 From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 17 14:42:01 2022 Received: (at submit) by debbugs.gnu.org; 17 Jan 2022 19:42:01 +0000 Received: from localhost ([127.0.0.1]:48080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9XtA-0008MS-FS for submit@debbugs.gnu.org; Mon, 17 Jan 2022 14:42:00 -0500 Received: from lists.gnu.org ([209.51.188.17]:37538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9Xt5-0008MI-6m for submit@debbugs.gnu.org; Mon, 17 Jan 2022 14:41:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46176) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n9Xt5-0005WA-0T for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 14:41:55 -0500 Received: from [2607:f8b0:4864:20::52e] (port=45619 helo=mail-pg1-x52e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n9Xt2-00064X-1G for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 14:41:54 -0500 Received: by mail-pg1-x52e.google.com with SMTP id c5so11759787pgk.12 for ; Mon, 17 Jan 2022 11:41:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:references:from:message-id:date:mime-version:in-reply-to :content-language; bh=Qh1vGaVHFnnjq9PmVqNXshoZ/lr/DBUD/XK0LI34/XM=; b=fQljgBhtMNGjzMw3a5HQ7dZ6pTk54P7v7qh9ctXUlSWAImBvQrlPpRZrmwJdi9Soc/ +aNhDiNZoZpBFoiSU9ImuVU9dzlbaIlhAcb/mR+Inq4+SY5Y6zTRGTH6er1woyjfzZoG 7y14DgnE4B0+3necZFsM9EFNWPrap1aTVU6kM24LA3WWkW41lSyvvQ3P9E7l62pSdAXt DzXJv9oqDENpZb5cVkdi0z4633rrSDeqfJVjCel9C5WqOvl4Te4ZVUtIIVJSvmeM+dEe zHaPFdxf+z8FfSGi+uNoACfIhRNo2ONAwa6CxrOknoJhMF0Yih10qyJiICDOssv8j1gD rqMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=Qh1vGaVHFnnjq9PmVqNXshoZ/lr/DBUD/XK0LI34/XM=; b=X9gkEkHdD1nV7w1vGui8QY8Z5/X5SCkXMdwsw/5IudAnFA43p3/z07bH/0DD5LXmcJ 8rd9TxKYbTecBzhZEeaF18jQLIhSUtOqFYHYFIB30taLZXbrYZtEmH0RiDK8qNv8DSxW cqDLSN/oCJAaGF42iAOIM1qWthjM2tcoRlv7Y1Iv9rCGRiZD+zSFRvqd4EH/1pH/EpGV PX7l5G5QNbyDeWT04SR8DlA4fTgs3D3NfBOFly8f8H5ce3yLIYTOQiwq33fTHOAZLHrd YEEzJWBo1yEWpR1BS6JOf/3QFtEC7kphz48BgKAJRqReVLhG/7/HITEfOiRjmSV9EOom Oj1Q== X-Gm-Message-State: AOAM532g99sbwdq1Ov7402h84xNj/Hg2g4oykV2CmqWhVti19pHwTAQv rI47MXdKGaw2d2TDqS7oHFlmqWy+T+3fDA== X-Google-Smtp-Source: ABdhPJymXUjgit9J44Q7EuaFwGV9x/oTwZGrUvkJ1GsVmd46g81muRrn113hylcqKtyw2Zd3L3l9dQ== X-Received: by 2002:a05:6a00:124c:b0:4ba:1288:67dc with SMTP id u12-20020a056a00124c00b004ba128867dcmr10940707pfi.43.1642448509397; Mon, 17 Jan 2022 11:41:49 -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 g14sm12733156pgp.76.2022.01.17.11.41.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jan 2022 11:41:48 -0800 (PST) Subject: Re: eshell: built-ins do not handle command substitution To: Yegor Timoshenko , bug-gnu-emacs@gnu.org References: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> From: Jim Porter Message-ID: Date: Mon, 17 Jan 2022 11:41:47 -0800 MIME-Version: 1.0 In-Reply-To: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> Content-Type: multipart/mixed; boundary="------------D9B32FF233E20E7209303E28" Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::52e (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::52e; envelope-from=jporterbugs@gmail.com; helo=mail-pg1-x52e.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 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, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.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. --------------D9B32FF233E20E7209303E28 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 3/5/2018 8:34 PM, Yegor Timoshenko wrote: > In M-x eshell: > > $ which echo > eshell/echo is a compiled Lisp function in `em-basic.el'. > $ which *echo > /run/current-system/sw/bin/echo > $ echo ${mktemp -d} > $ *echo ${mktemp -d} > /tmp/tmp.UaiWQ0YPIX I can see this bug with an even simpler case too: "echo ${*echo hi}". It turns out that this is because `eshell-invoke-directly' thought that the above command was simple enough to, well, invoke directly. However, since "${mktemp -d}" or "${*echo hi}" create a subprocess, the command needs to be invoked *iteratively* by `eshell-eval-command'. The problem was that `eshell-invoke-directly' only checked the top-level command and didn't examine subcommands. Attached is a patch that fixes this, plus a unit test (I've verified that the test fails without the patch and passes with it). Note that the test *does* rely on the system having an external "echo" command, but I think some of the tests in that file already rely on the presence of an external "sleep" command, so this should be ok. However, if it causes issues on some systems (MS Windows maybe?), just let me know and I can try to put a guard around the test so it doesn't run on such systems. --------------D9B32FF233E20E7209303E28 Content-Type: text/plain; charset=UTF-8; name="0001-Consider-subcommands-when-deciding-to-invoke-Eshell-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Consider-subcommands-when-deciding-to-invoke-Eshell-.pa"; filename*1="tch" RnJvbSBkZDBiZWY2Y2Y3N2JjYzIwZjM3NGY2MzAwMzY3NTIxODI5MWE0NjM4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMTcgSmFuIDIwMjIgMTE6Mjg6MTYgLTA4MDAKU3ViamVjdDogW1BB VENIXSBDb25zaWRlciBzdWJjb21tYW5kcyB3aGVuIGRlY2lkaW5nIHRvIGludm9rZSBFc2hl bGwgY29tbWFuZAogZGlyZWN0bHkKCldoZW4gYW4gRXNoZWxsIGNvbW1hbmQgY29udGFpbnMg YW4gYXN5bmNocm9ub3VzIHN1YmNvbW1hbmQgKHN1Y2ggYXMKY2FsbGluZyBhbiBleHRlcm5h bCBwcm9jZXNzKSwgaXQgbXVzdCBiZSBldmFsdWF0ZWQgaXRlcmF0aXZlbHkuICBTZWUKYnVn IzMwNzI1LgoKKiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIChlc2hlbGwtaW52b2tlLWNvbW1h bmQpOiBNb3ZlIG1vc3Qgb2YgdGhlCmxvZ2ljIGZyb20gaGVyZS4uLgooZXNoZWxsLS1pbnZv a2UtY29tbWFuZC1kaXJlY3RseSk6IC4uLiB0byBoZXJlLiBBbHNvIGFkZCBjaGVja3MgZm9y CnN1YmNvbW1hbmRzLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbCAoZXNo ZWxsLXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUpOgpOZXcgdmFyaWFibGUuCihlc2hlbGwt d2FpdC1mb3Itc3VicHJvY2Vzcyk6IE5ldyBmdW5jdGlvbi4KKGVzaGVsbC1jb21tYW5kLXJl c3VsdC1wKTogVXNlICdlc2hlbGwtd2FpdC1mb3Itc3VicHJvY2VzcycuCihlc2hlbGwtdGVz dC9pbnRlcnAtY21kLWV4dGVybmFsKTogTmV3IHRlc3QuCi0tLQogbGlzcC9lc2hlbGwvZXNo LWNtZC5lbCAgICAgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LQogdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwgfCAyMiArKysrKysrKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCBiL2xpc3AvZXNoZWxsL2VzaC1j bWQuZWwKaW5kZXggYTJkN2Q5NDMxYS4uMjVlM2E1YTIwNSAxMDA2NDQKLS0tIGEvbGlzcC9l c2hlbGwvZXNoLWNtZC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtY21kLmVsCkBAIC05MDMs MjEgKzkwMyw1MCBAQCBwY29tcGxldGUvZXNoZWxsLW1vZGUvZXNoZWxsLWRlYnVnCiAgICJD b21wbGV0aW9uIGZvciB0aGUgYGRlYnVnJyBjb21tYW5kLiIKICAgKHdoaWxlIChwY29tcGxl dGUtaGVyZSAnKCJlcnJvcnMiICJjb21tYW5kcyIpKSkpCiAKKyhkZWZ1biBlc2hlbGwtLWlu dm9rZS1jb21tYW5kLWRpcmVjdGx5IChjb21tYW5kKQorICAiRGV0ZXJtaW5lIHdoZXRoZXIg dGhlIGdpdmVuIENPTU1BTkQgY2FuIGJlIGludm9rZWQgZGlyZWN0bHkuCitDT01NQU5EIHNo b3VsZCBiZSBhIG5vbi10b3AtbGV2ZWwgRXNoZWxsIGNvbW1hbmQgaW4gcGFyc2VkIGZvcm0u CisKK0EgY29tbWFuZCBjYW4gYmUgaW52b2tlZCBkaXJlY3RseSBpZiBhbGwgb2YgdGhlIGZv bGxvd2luZyBhcmUgdHJ1ZToKKworKiBUaGUgY29tbWFuZCBpcyBvZiB0aGUgZm9ybQorICBc Iihlc2hlbGwtdHJhcC1lcnJvcnMgKGVzaGVsbC1uYW1lZC1jb21tYW5kIE5BTUUgQVJHUykp XCIsCisgIHdoZXJlIEFSR1MgaXMgb3B0aW9uYWwuCisKKyogTkFNRSBpcyBhIHN0cmluZyBy ZWZlcnJpbmcgdG8gYW4gYWxpYXMgZnVuY3Rpb24gYW5kIGlzbid0IGEKKyAgY29tcGxleCBj b21tYW5kIChzZWUgYGVzaGVsbC1jb21wbGV4LWNvbW1hbmRzJykuCisKKyogQW55IGFyZ3Vt ZW50IGluIEFSR1MgdGhhdCBjYWxscyBhIHN1YmNvbW1hbmQgY2FuIGFsc28gYmUKKyAgaW52 b2tlZCBkaXJlY3RseS4iCisgICh3aGVuIChhbmQgKGVxIChjYXIgY29tbWFuZCkgJ2VzaGVs bC10cmFwLWVycm9ycykKKyAgICAgICAgICAgICAoZXEgKGNhciAoY2FkciBjb21tYW5kKSkg J2VzaGVsbC1uYW1lZC1jb21tYW5kKSkKKyAgICAobGV0ICgobmFtZSAoY2FkciAoY2FkciBj b21tYW5kKSkpCisgICAgICAgICAgKGFyZ3MgKGNkci1zYWZlIChudGggMiAoY2FkciBjb21t YW5kKSkpKSkKKyAgICAgIChhbmQgbmFtZSAoc3RyaW5ncCBuYW1lKQorCSAgIChub3QgKG1l bWJlciBuYW1lIGVzaGVsbC1jb21wbGV4LWNvbW1hbmRzKSkKKwkgICAoY2F0Y2ggJ3NpbXBs ZQorCSAgICAgKGRvbGlzdCAocHJlZCBlc2hlbGwtY29tcGxleC1jb21tYW5kcyB0KQorCSAg ICAgICAod2hlbiAoYW5kIChmdW5jdGlvbnAgcHJlZCkKKwkJICAgICAgICAgIChmdW5jYWxs IHByZWQgbmFtZSkpCisJICAgICAgICAgKHRocm93ICdzaW1wbGUgbmlsKSkpKQorCSAgIChl c2hlbGwtZmluZC1hbGlhcy1mdW5jdGlvbiBuYW1lKQorICAgICAgICAgICAoY2F0Y2ggJ2lu ZGlyZWN0LXN1YmNvbW1hbmQKKwkgICAgIChkb2xpc3QgKGFyZyBhcmdzIHQpCisgICAgICAg ICAgICAgICAocGNhc2UgYXJnCisgICAgICAgICAgICAgICAgIChgKGVzaGVsbC1lc2NhcGUt YXJnCisgICAgICAgICAgICAgICAgICAgIChsZXQgLF8KKyAgICAgICAgICAgICAgICAgICAg ICAoZXNoZWxsLWNvbnZlcnQKKyAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1jb21t YW5kLXRvLXZhbHVlCisgICAgICAgICAgICAgICAgICAgICAgICAoZXNoZWxsLWFzLXN1YmNv bW1hbmQgLHN1YmNvbW1hbmQpKSkpKQorICAgICAgICAgICAgICAgICAgKHVubGVzcyAoZXNo ZWxsLS1pbnZva2UtY29tbWFuZC1kaXJlY3RseSBzdWJjb21tYW5kKQorICAgICAgICAgICAg ICAgICAgICAodGhyb3cgJ2luZGlyZWN0LXN1YmNvbW1hbmQgbmlsKSkpKSkpKSkpKQorCiAo ZGVmdW4gZXNoZWxsLWludm9rZS1kaXJlY3RseSAoY29tbWFuZCkKLSAgKGxldCAoKGJhc2Ug KGNhZHIgKG50aCAyIChudGggMiAoY2FkciBjb21tYW5kKSkpKSkgbmFtZSkKLSAgICAoaWYg KGFuZCAoZXEgKGNhciBiYXNlKSAnZXNoZWxsLXRyYXAtZXJyb3JzKQotCSAgICAgKGVxIChj YXIgKGNhZHIgYmFzZSkpICdlc2hlbGwtbmFtZWQtY29tbWFuZCkpCi0JKHNldHEgbmFtZSAo Y2FkciAoY2FkciBiYXNlKSkpKQotICAgIChhbmQgbmFtZSAoc3RyaW5ncCBuYW1lKQotCSAo bm90IChtZW1iZXIgbmFtZSBlc2hlbGwtY29tcGxleC1jb21tYW5kcykpCi0JIChjYXRjaCAn c2ltcGxlCi0JICAgKHByb2duCi0JICAgIChkb2xpc3QgKHByZWQgZXNoZWxsLWNvbXBsZXgt Y29tbWFuZHMpCi0JICAgICAgKGlmIChhbmQgKGZ1bmN0aW9ucCBwcmVkKQotCQkgICAgICAg KGZ1bmNhbGwgcHJlZCBuYW1lKSkKLQkJICAodGhyb3cgJ3NpbXBsZSBuaWwpKSkKLQkgICAg dCkpCi0JIChlc2hlbGwtZmluZC1hbGlhcy1mdW5jdGlvbiBuYW1lKSkpKQorICAiRGV0ZXJt aW5lIHdoZXRoZXIgdGhlIGdpdmVuIENPTU1BTkQgY2FuIGJlIGludm9rZWQgZGlyZWN0bHku CitDT01NQU5EIHNob3VsZCBiZSBhIHRvcC1sZXZlbCBFc2hlbGwgY29tbWFuZCBpbiBwYXJz ZWQgZm9ybSwgYXMKK3Byb2R1Y2VkIGJ5IGBlc2hlbGwtcGFyc2UtY29tbWFuZCcuIgorICAo bGV0ICgoYmFzZSAoY2FkciAobnRoIDIgKG50aCAyIChjYWRyIGNvbW1hbmQpKSkpKSkKKyAg ICAoZXNoZWxsLS1pbnZva2UtY29tbWFuZC1kaXJlY3RseSBiYXNlKSkpCiAKIChkZWZ1biBl c2hlbGwtZXZhbC1jb21tYW5kIChjb21tYW5kICZvcHRpb25hbCBpbnB1dCkKICAgIkV2YWx1 YXRlIHRoZSBnaXZlbiBDT01NQU5EIGl0ZXJhdGl2ZWx5LiIKZGlmZiAtLWdpdCBhL3Rlc3Qv bGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwt dGVzdHMuZWwKaW5kZXggYWVmMTQ0NzkwNy4uOWNjOTk3YzRjZiAxMDA2NDQKLS0tIGEvdGVz dC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9l c2hlbGwtdGVzdHMuZWwKQEAgLTMwLDYgKzMwLDEwIEBACiAocmVxdWlyZSAnZXNoLW1vZGUp CiAocmVxdWlyZSAnZXNoZWxsKQogCisoZGVmdmFyIGVzaGVsbC10ZXN0LS1tYXgtc3VicHJv Y2Vzcy10aW1lIDUKKyAgIlRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgZm9y IGEgc3VicHJvY2VzcyB0byBmaW5pc2gsIGluIHNlY29uZHMuCitTZWUgYGVzaGVsbC13YWl0 LWZvci1zdWJwcm9jZXNzJy4iKQorCiAoZGVmbWFjcm8gd2l0aC10ZW1wLWVzaGVsbCAoJnJl c3QgYm9keSkKICAgIkV2YWx1YXRlIEJPRFkgaW4gYSB0ZW1wb3JhcnkgRXNoZWxsIGJ1ZmZl ci4iCiAgIGAoZXJ0LXdpdGgtdGVtcC1kaXJlY3RvcnkgZXNoZWxsLWRpcmVjdG9yeS1uYW1l CkBAIC00NCw2ICs0OCwxNyBAQCB3aXRoLXRlbXAtZXNoZWxsCiAgICAgICAgICAobGV0IChr aWxsLWJ1ZmZlci1xdWVyeS1mdW5jdGlvbnMpCiAgICAgICAgICAgIChraWxsLWJ1ZmZlciBl c2hlbGwtYnVmZmVyKSkpKSkpCiAKKyhkZWZ1biBlc2hlbGwtd2FpdC1mb3Itc3VicHJvY2Vz cyAoKQorICAiV2FpdCB1bnRpbCB0aGVyZSBpcyBubyBpbnRlcmFjdGl2ZSBzdWJwcm9jZXNz IHJ1bm5pbmcgaW4gRXNoZWxsLgorSWYgdGhpcyB0YWtlcyBsb25nZXIgdGhhbiBgZXNoZWxs LXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUnLAorcmFpc2UgYW4gZXJyb3IuIgorICAobGV0 ICgoc3RhcnQgKGN1cnJlbnQtdGltZSkpKQorICAgICh3aGlsZSAoZXNoZWxsLWludGVyYWN0 aXZlLXByb2Nlc3MpCisgICAgICAod2hlbiAoPiAoZmxvYXQtdGltZSAodGltZS1zaW5jZSBz dGFydCkpCisgICAgICAgICAgICAgICBlc2hlbGwtdGVzdC0tbWF4LXN1YnByb2Nlc3MtdGlt ZSkKKyAgICAgICAgKGVycm9yICJ0aW1lZCBvdXQgd2FpdGluZyBmb3Igc3VicHJvY2VzcyIp KQorICAgICAgKHNpdC1mb3IgMC4xKSkpKQorCiAoZGVmdW4gZXNoZWxsLWluc2VydC1jb21t YW5kICh0ZXh0ICZvcHRpb25hbCBmdW5jKQogICAiSW5zZXJ0IGEgY29tbWFuZCBhdCB0aGUg ZW5kIG9mIHRoZSBidWZmZXIuIgogICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1l bmQpCkBAIC01OSw2ICs3NCw3IEBAIGVzaGVsbC1tYXRjaC1yZXN1bHQKIChkZWZ1biBlc2hl bGwtY29tbWFuZC1yZXN1bHQtcCAodGV4dCByZWdleHAgJm9wdGlvbmFsIGZ1bmMpCiAgICJJ bnNlcnQgYSBjb21tYW5kIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4iCiAgIChlc2hlbGwt aW5zZXJ0LWNvbW1hbmQgdGV4dCBmdW5jKQorICAoZXNoZWxsLXdhaXQtZm9yLXN1YnByb2Nl c3MpCiAgIChlc2hlbGwtbWF0Y2gtcmVzdWx0IHJlZ2V4cCkpCiAKIChkZWZ2YXIgZXNoZWxs LWhpc3RvcnktZmlsZS1uYW1lKQpAQCAtMTQ0LDYgKzE2MCwxMiBAQCBlc2hlbGwtdGVzdC9p bnRlcnAtY29uY2F0LWxpc3AyCiAgICJJbnRlcnBvbGF0ZSBhbmQgY29uY2F0IHR3byBMaXNw IGZvcm1zIgogICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLXRlc3QtY29tbWFuZC1yZXN1bHQg IisgJCgrIDEgMikkKCsgMSAyKSAzIikgMzYpKSkKIAorKGVydC1kZWZ0ZXN0IGVzaGVsbC10 ZXN0L2ludGVycC1jbWQtZXh0ZXJuYWwgKCkKKyAgIkludGVycG9sYXRlIGNvbW1hbmQgcmVz dWx0IGZyb20gZXh0ZXJuYWwgY29tbWFuZCIKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChl c2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiZWNobyAkeyplY2hvIGhpfSIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiaGlcbiIpKSkKKwogKGVydC1kZWZ0ZXN0IGVzaGVsbC10ZXN0 L3dpbmRvdy1oZWlnaHQgKCkKICAgIiRMSU5FUyBzaG91bGQgZXF1YWwgKHdpbmRvdy1oZWln aHQpIgogICAoc2hvdWxkIChlc2hlbGwtdGVzdC1jb21tYW5kLXJlc3VsdCAiPSAkTElORVMg KHdpbmRvdy1oZWlnaHQpIikpKQotLSAKMi4yNS4xCgo= --------------D9B32FF233E20E7209303E28-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 18 03:34:13 2022 Received: (at 30725) by debbugs.gnu.org; 18 Jan 2022 08:34:13 +0000 Received: from localhost ([127.0.0.1]:48870 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9jwT-0005Wi-65 for submit@debbugs.gnu.org; Tue, 18 Jan 2022 03:34:13 -0500 Received: from mout.gmx.net ([212.227.17.21]:55895) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9jwN-0005WJ-Hi for 30725@debbugs.gnu.org; Tue, 18 Jan 2022 03:34:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1642494822; bh=2eKS4p8KynhwkCTAEJrD2dMutzaQ6Osn13gewcdHS2c=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=NQoN491wNwvNtjZ8VNw1sIwLarqoQZdP3/bmcCsppY0fi88/mcWtfepfHWHCnVnCT uckggzNc83aKP7JwFtMuK1QzSFWieuWKNF2lO1hepX+BP9lbPw7248BvVt9IiZfwxy JZSTTyZQCH99z02wPPtPUFDpMj72MqrNeFQQJNrA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([79.140.118.250]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MgesG-1mg9sn3IA0-00h2iz; Tue, 18 Jan 2022 09:33:41 +0100 From: Michael Albinus To: Jim Porter Subject: Re: bug#30725: eshell: built-ins do not handle command substitution References: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> Date: Tue, 18 Jan 2022 09:33:40 +0100 In-Reply-To: (Jim Porter's message of "Mon, 17 Jan 2022 11:41:47 -0800") Message-ID: <87v8yh8mu3.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:N7BHF2TkSa7CHbsM5Cop2BuNyvXd1bqug87zoubEIcDAjI5i4Q2 e3UIz/Vypja6R4eAi+jUKxttqMcSNdNHWty213wQw3ApufS3epWJSIEMkTdb1OzuOv99OIm 0Ru43pMRGBM1KvEqrdBgrt0kHn2p63uFcysOEZafSTFTljfIfa5ITGb8hEL6mykLPf2sJps Fe/K8vap4uAwU/+0ANGxw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:47e1o/Rr2f0=:YFEc6KIdIxjFde2qYsSO2n /ovqDiO9OLuzX47NK5DIwohpzSMb6yWEIyFzAHzTV0jyakVgNhcSN0pFhKFhVXPsAx+fPUZ+i j/o2aXHolOe6NzS8o2Z6lItm1k0+QoJUACxfnVqDqBaul5wkBGztu2bXf1ArhGSe/OMDnTWg5 dMG/57c5djpF0a5xnsG4GMUsVC4BOrua360Cqys8qZKDL1+RPxw3BgUqnvhxHYC1WmaNpBhlD oHHz2bd7EOEZ9UwGXwMdzeJv5XvCuTVz/EznJ4p3WK+5NqGAxG+c5qGHfTmQlx/5s7mjLdPZL a/LrVafkA3hYvHiDWCHo6b/tVypQV+YDvKiQLOSt1WIj1jGajMqMcmhIXjNxw4IvIRswxB5nh fsPFX/9vM6lt1XivwI2PwWJxSm/USrtKj6H52VyLYx3lFeHYmZJuH2uf0UJMJNib0oZynRmDI pRenaQAyqxbqAUfHKn23a+2eqAjs87SH7cfHSm2g2faNVkIhmOxJOb811hiBONTmpz5B1riSz 6feSNOICTkSvvFYkBCTC0ifGvc2uSF64/mNQ+rdaWELnwIxiz/g5tg9b5Mn3bY1PYzmrW2Uc/ sjaajhNQFYfsnmQI84nTnEGr/ijJ04YnZQ98pHtbUV5PMYo3+fTX/+q3Ph+MAsTsD9bKTZ6Ag faJNa63XffMGWcz3cwZBdIWMJbtfqRhna7NRgNqjsofbbYoNIJbBjaX1uF+B0/RY0C0e617oW V2Z3DFc9GidQQXzqFWsUuANyE0cPxdtGrqMICg2VJNEntIJFxG2JuZCEvGZIabcgb3NvSPwZg cv5lva4aFrJKNpQcE+PmqRz+TFJhdHJK1f3lhXmvflPQQXvLRNhCScmadMxD2nBq1hSVXZg9W M6RA1yK850oy1rAVnomW2/X0+gWUSVbMDtzjDhK6T64FHgpXBNEYS8jBZKu9l4pcswxqetBJV HAMoaOfYi9ndmVMSnRWi8+WX59Sh6s9K16dIpbnwUCSQFDQUhT5Hcubs+4j4mKAeAR0wkmm1d RFdA3SF+dBSG3dyOgjcwetM8un0ej5hEGpWXglAWCUtQMdCBNEg07WEC0lTEEgmc8FvOViCZ4 d/ifvbMjQnh9XU= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 30725 Cc: 30725@debbugs.gnu.org, yegortimoshenko@riseup.net 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 (-) Jim Porter writes: Hi Jim, > Attached is a patch that fixes this, plus a unit test (I've verified > that the test fails without the patch and passes with it). Note that > the test *does* rely on the system having an external "echo" command, > but I think some of the tests in that file already rely on the > presence of an external "sleep" command, so this should be > ok. However, if it causes issues on some systems (MS Windows maybe?), > just let me know and I can try to put a guard around the test so it > doesn't run on such systems. (skip-unless (executable-find "echo")) Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 18 13:06:55 2022 Received: (at 30725) by debbugs.gnu.org; 18 Jan 2022 18:06:55 +0000 Received: from localhost ([127.0.0.1]:51647 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9ssh-0000Ss-5B for submit@debbugs.gnu.org; Tue, 18 Jan 2022 13:06:55 -0500 Received: from mail-pf1-f171.google.com ([209.85.210.171]:33724) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9ssd-0000Sa-9t for 30725@debbugs.gnu.org; Tue, 18 Jan 2022 13:06:54 -0500 Received: by mail-pf1-f171.google.com with SMTP id x83so109871pfc.0 for <30725@debbugs.gnu.org>; Tue, 18 Jan 2022 10:06:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:mime-version :in-reply-to:content-language; bh=KWG7nS3oa4vHSpLSXgBBs+PcswfnFJWlTLSaC2VM4zU=; b=gFkzvT9KBaYab0UPqgKVFJ7wJC6J41sP4HxXVOz0KBDLCE8MJVyk1Ss5bEDkcJzCTL bRcD/1U2hha3vl6A4Gvhm3o9LGvzsn8uLOhny6W6zBCe4jwaBvT5smtm0BVMrZst7nb7 uZvqsHE1IdseQUlEwsYHiPiq47SM5SS2iasX4mmXobK6HU3NVJ6ZZ7+X6ZDq6ubFno4g XzRdHRUVw6rvtqKHnL57pozczrMIeFSk5MfzSOGvnWYLdi7LMAfNflMnoZ92BRXcQvqR HKkIFQd2SojGIRpzjQV+5ux+qf4Z0g9psBrnC9Dt39kOY4L9XkPni3VSiynUgkyimkSX Soqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=KWG7nS3oa4vHSpLSXgBBs+PcswfnFJWlTLSaC2VM4zU=; b=wNJisLCS5mDSzjKpZygH/LPf4wWNFo0i0PIf7dQ4w7dX2y5EckTYt4dsR2akPuYS5g w3e0J2fFS6fx/2KY+KDGsavtPYG2kvawAiLKeC8WDaNH7A6+rbr1bQSprEXOjWdmQkMu 2wUO1aXl+Xljn6ZzbhbZEcLit26Y52MZ+TnCe9/k3U8Fu6LT9IAmg/GG4WJtRGRW6Kxm ED8G09Zayr2Dh4Gpz0m2tQdgm3+iIZT6GJDe7XXnVD392acJXNFyhs6pcInvOwor6tuK 3fZ0oZx0gq1Czm+MMGdsjWKKUAMk3uu48SRaUSB9OpsirS8aJVEOWF6GGi4/1V9Jh94y c5Zw== X-Gm-Message-State: AOAM533RyBjad/lTnJ+SPys7TJaTdv9rzV1+KJamkKOuNEpAtN9hPHbN RuJ+8yRI2x94DTuqr8quSmg= X-Google-Smtp-Source: ABdhPJxEdprx1BfmQJws8/d0L1Eg9Gwc78iU++kkZL6CDli1KyfpU99KPjVhq0rrQVyLx9aVHpsLwQ== X-Received: by 2002:aa7:982d:0:b0:4c0:e0b9:4e58 with SMTP id q13-20020aa7982d000000b004c0e0b94e58mr26871645pfl.80.1642529205426; Tue, 18 Jan 2022 10:06: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 i123sm15006320pfe.13.2022.01.18.10.06.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 18 Jan 2022 10:06:44 -0800 (PST) Subject: Re: bug#30725: eshell: built-ins do not handle command substitution To: Michael Albinus References: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> <87v8yh8mu3.fsf@gmx.de> From: Jim Porter Message-ID: <9228db8b-303a-4dd1-12b1-8d6649f57a90@gmail.com> Date: Tue, 18 Jan 2022 10:06:45 -0800 MIME-Version: 1.0 In-Reply-To: <87v8yh8mu3.fsf@gmx.de> Content-Type: multipart/mixed; boundary="------------F1A8CBFCF47B7FA38D9AC23A" Content-Language: en-US X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 30725 Cc: 30725@debbugs.gnu.org, yegortimoshenko@riseup.net 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 (-) This is a multi-part message in MIME format. --------------F1A8CBFCF47B7FA38D9AC23A Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 1/18/2022 12:33 AM, Michael Albinus wrote: > (skip-unless (executable-find "echo")) Oh, right. I'd forgotten about `skip-unless'. Here's a patch with that added. Thanks. --------------F1A8CBFCF47B7FA38D9AC23A Content-Type: text/plain; charset=UTF-8; name="0001-Consider-subcommands-when-deciding-to-invoke-Eshell-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Consider-subcommands-when-deciding-to-invoke-Eshell-.pa"; filename*1="tch" RnJvbSA1ZjJlM2IxMmZkMDE4ZmY2NGU0YzgwMDBkMmU2ZmUyOTM1MzJlMTg4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgMTggSmFuIDIwMjIgMTA6MDQ6MjIgLTA4MDAKU3ViamVjdDogW1BB VENIXSBDb25zaWRlciBzdWJjb21tYW5kcyB3aGVuIGRlY2lkaW5nIHRvIGludm9rZSBFc2hl bGwgY29tbWFuZAogZGlyZWN0bHkKCldoZW4gYW4gRXNoZWxsIGNvbW1hbmQgY29udGFpbnMg YW4gYXN5bmNocm9ub3VzIHN1YmNvbW1hbmQgKHN1Y2ggYXMKY2FsbGluZyBhbiBleHRlcm5h bCBwcm9jZXNzKSwgaXQgbXVzdCBiZSBldmFsdWF0ZWQgaXRlcmF0aXZlbHkuICBTZWUKYnVn IzMwNzI1LgoKKiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIChlc2hlbGwtaW52b2tlLWNvbW1h bmQpOiBNb3ZlIG1vc3Qgb2YgdGhlCmxvZ2ljIGZyb20gaGVyZS4uLgooZXNoZWxsLS1pbnZv a2UtY29tbWFuZC1kaXJlY3RseSk6IC4uLiB0byBoZXJlLiBBbHNvIGFkZCBjaGVja3MgZm9y CnN1YmNvbW1hbmRzLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbCAoZXNo ZWxsLXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUpOgpOZXcgdmFyaWFibGUuCihlc2hlbGwt d2FpdC1mb3Itc3VicHJvY2Vzcyk6IE5ldyBmdW5jdGlvbi4KKGVzaGVsbC1jb21tYW5kLXJl c3VsdC1wKTogVXNlICdlc2hlbGwtd2FpdC1mb3Itc3VicHJvY2VzcycuCihlc2hlbGwtdGVz dC9pbnRlcnAtY21kLWV4dGVybmFsKTogTmV3IHRlc3QuCi0tLQogbGlzcC9lc2hlbGwvZXNo LWNtZC5lbCAgICAgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LQogdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwgfCAyMyArKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwgYi9saXNwL2VzaGVsbC9lc2gt Y21kLmVsCmluZGV4IGEyZDdkOTQzMWEuLjI1ZTNhNWEyMDUgMTAwNjQ0Ci0tLSBhL2xpc3Av ZXNoZWxsL2VzaC1jbWQuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbApAQCAtOTAz LDIxICs5MDMsNTAgQEAgcGNvbXBsZXRlL2VzaGVsbC1tb2RlL2VzaGVsbC1kZWJ1ZwogICAi Q29tcGxldGlvbiBmb3IgdGhlIGBkZWJ1ZycgY29tbWFuZC4iCiAgICh3aGlsZSAocGNvbXBs ZXRlLWhlcmUgJygiZXJyb3JzIiAiY29tbWFuZHMiKSkpKQogCisoZGVmdW4gZXNoZWxsLS1p bnZva2UtY29tbWFuZC1kaXJlY3RseSAoY29tbWFuZCkKKyAgIkRldGVybWluZSB3aGV0aGVy IHRoZSBnaXZlbiBDT01NQU5EIGNhbiBiZSBpbnZva2VkIGRpcmVjdGx5LgorQ09NTUFORCBz aG91bGQgYmUgYSBub24tdG9wLWxldmVsIEVzaGVsbCBjb21tYW5kIGluIHBhcnNlZCBmb3Jt LgorCitBIGNvbW1hbmQgY2FuIGJlIGludm9rZWQgZGlyZWN0bHkgaWYgYWxsIG9mIHRoZSBm b2xsb3dpbmcgYXJlIHRydWU6CisKKyogVGhlIGNvbW1hbmQgaXMgb2YgdGhlIGZvcm0KKyAg XCIoZXNoZWxsLXRyYXAtZXJyb3JzIChlc2hlbGwtbmFtZWQtY29tbWFuZCBOQU1FIEFSR1Mp KVwiLAorICB3aGVyZSBBUkdTIGlzIG9wdGlvbmFsLgorCisqIE5BTUUgaXMgYSBzdHJpbmcg cmVmZXJyaW5nIHRvIGFuIGFsaWFzIGZ1bmN0aW9uIGFuZCBpc24ndCBhCisgIGNvbXBsZXgg Y29tbWFuZCAoc2VlIGBlc2hlbGwtY29tcGxleC1jb21tYW5kcycpLgorCisqIEFueSBhcmd1 bWVudCBpbiBBUkdTIHRoYXQgY2FsbHMgYSBzdWJjb21tYW5kIGNhbiBhbHNvIGJlCisgIGlu dm9rZWQgZGlyZWN0bHkuIgorICAod2hlbiAoYW5kIChlcSAoY2FyIGNvbW1hbmQpICdlc2hl bGwtdHJhcC1lcnJvcnMpCisgICAgICAgICAgICAgKGVxIChjYXIgKGNhZHIgY29tbWFuZCkp ICdlc2hlbGwtbmFtZWQtY29tbWFuZCkpCisgICAgKGxldCAoKG5hbWUgKGNhZHIgKGNhZHIg Y29tbWFuZCkpKQorICAgICAgICAgIChhcmdzIChjZHItc2FmZSAobnRoIDIgKGNhZHIgY29t bWFuZCkpKSkpCisgICAgICAoYW5kIG5hbWUgKHN0cmluZ3AgbmFtZSkKKwkgICAobm90ICht ZW1iZXIgbmFtZSBlc2hlbGwtY29tcGxleC1jb21tYW5kcykpCisJICAgKGNhdGNoICdzaW1w bGUKKwkgICAgIChkb2xpc3QgKHByZWQgZXNoZWxsLWNvbXBsZXgtY29tbWFuZHMgdCkKKwkg ICAgICAgKHdoZW4gKGFuZCAoZnVuY3Rpb25wIHByZWQpCisJCSAgICAgICAgICAoZnVuY2Fs bCBwcmVkIG5hbWUpKQorCSAgICAgICAgICh0aHJvdyAnc2ltcGxlIG5pbCkpKSkKKwkgICAo ZXNoZWxsLWZpbmQtYWxpYXMtZnVuY3Rpb24gbmFtZSkKKyAgICAgICAgICAgKGNhdGNoICdp bmRpcmVjdC1zdWJjb21tYW5kCisJICAgICAoZG9saXN0IChhcmcgYXJncyB0KQorICAgICAg ICAgICAgICAgKHBjYXNlIGFyZworICAgICAgICAgICAgICAgICAoYChlc2hlbGwtZXNjYXBl LWFyZworICAgICAgICAgICAgICAgICAgICAobGV0ICxfCisgICAgICAgICAgICAgICAgICAg ICAgKGVzaGVsbC1jb252ZXJ0CisgICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwtY29t bWFuZC10by12YWx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1hcy1zdWJj b21tYW5kICxzdWJjb21tYW5kKSkpKSkKKyAgICAgICAgICAgICAgICAgICh1bmxlc3MgKGVz aGVsbC0taW52b2tlLWNvbW1hbmQtZGlyZWN0bHkgc3ViY29tbWFuZCkKKyAgICAgICAgICAg ICAgICAgICAgKHRocm93ICdpbmRpcmVjdC1zdWJjb21tYW5kIG5pbCkpKSkpKSkpKSkKKwog KGRlZnVuIGVzaGVsbC1pbnZva2UtZGlyZWN0bHkgKGNvbW1hbmQpCi0gIChsZXQgKChiYXNl IChjYWRyIChudGggMiAobnRoIDIgKGNhZHIgY29tbWFuZCkpKSkpIG5hbWUpCi0gICAgKGlm IChhbmQgKGVxIChjYXIgYmFzZSkgJ2VzaGVsbC10cmFwLWVycm9ycykKLQkgICAgIChlcSAo Y2FyIChjYWRyIGJhc2UpKSAnZXNoZWxsLW5hbWVkLWNvbW1hbmQpKQotCShzZXRxIG5hbWUg KGNhZHIgKGNhZHIgYmFzZSkpKSkKLSAgICAoYW5kIG5hbWUgKHN0cmluZ3AgbmFtZSkKLQkg KG5vdCAobWVtYmVyIG5hbWUgZXNoZWxsLWNvbXBsZXgtY29tbWFuZHMpKQotCSAoY2F0Y2gg J3NpbXBsZQotCSAgIChwcm9nbgotCSAgICAoZG9saXN0IChwcmVkIGVzaGVsbC1jb21wbGV4 LWNvbW1hbmRzKQotCSAgICAgIChpZiAoYW5kIChmdW5jdGlvbnAgcHJlZCkKLQkJICAgICAg IChmdW5jYWxsIHByZWQgbmFtZSkpCi0JCSAgKHRocm93ICdzaW1wbGUgbmlsKSkpCi0JICAg IHQpKQotCSAoZXNoZWxsLWZpbmQtYWxpYXMtZnVuY3Rpb24gbmFtZSkpKSkKKyAgIkRldGVy bWluZSB3aGV0aGVyIHRoZSBnaXZlbiBDT01NQU5EIGNhbiBiZSBpbnZva2VkIGRpcmVjdGx5 LgorQ09NTUFORCBzaG91bGQgYmUgYSB0b3AtbGV2ZWwgRXNoZWxsIGNvbW1hbmQgaW4gcGFy c2VkIGZvcm0sIGFzCitwcm9kdWNlZCBieSBgZXNoZWxsLXBhcnNlLWNvbW1hbmQnLiIKKyAg KGxldCAoKGJhc2UgKGNhZHIgKG50aCAyIChudGggMiAoY2FkciBjb21tYW5kKSkpKSkpCisg ICAgKGVzaGVsbC0taW52b2tlLWNvbW1hbmQtZGlyZWN0bHkgYmFzZSkpKQogCiAoZGVmdW4g ZXNoZWxsLWV2YWwtY29tbWFuZCAoY29tbWFuZCAmb3B0aW9uYWwgaW5wdXQpCiAgICJFdmFs dWF0ZSB0aGUgZ2l2ZW4gQ09NTUFORCBpdGVyYXRpdmVseS4iCmRpZmYgLS1naXQgYS90ZXN0 L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxs LXRlc3RzLmVsCmluZGV4IGFlZjE0NDc5MDcuLmM0Y2I5YmY0ODUgMTAwNjQ0Ci0tLSBhL3Rl c3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwv ZXNoZWxsLXRlc3RzLmVsCkBAIC0zMCw2ICszMCwxMCBAQAogKHJlcXVpcmUgJ2VzaC1tb2Rl KQogKHJlcXVpcmUgJ2VzaGVsbCkKIAorKGRlZnZhciBlc2hlbGwtdGVzdC0tbWF4LXN1YnBy b2Nlc3MtdGltZSA1CisgICJUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSB0byB3YWl0IGZv ciBhIHN1YnByb2Nlc3MgdG8gZmluaXNoLCBpbiBzZWNvbmRzLgorU2VlIGBlc2hlbGwtd2Fp dC1mb3Itc3VicHJvY2VzcycuIikKKwogKGRlZm1hY3JvIHdpdGgtdGVtcC1lc2hlbGwgKCZy ZXN0IGJvZHkpCiAgICJFdmFsdWF0ZSBCT0RZIGluIGEgdGVtcG9yYXJ5IEVzaGVsbCBidWZm ZXIuIgogICBgKGVydC13aXRoLXRlbXAtZGlyZWN0b3J5IGVzaGVsbC1kaXJlY3RvcnktbmFt ZQpAQCAtNDQsNiArNDgsMTcgQEAgd2l0aC10ZW1wLWVzaGVsbAogICAgICAgICAgKGxldCAo a2lsbC1idWZmZXItcXVlcnktZnVuY3Rpb25zKQogICAgICAgICAgICAoa2lsbC1idWZmZXIg ZXNoZWxsLWJ1ZmZlcikpKSkpKQogCisoZGVmdW4gZXNoZWxsLXdhaXQtZm9yLXN1YnByb2Nl c3MgKCkKKyAgIldhaXQgdW50aWwgdGhlcmUgaXMgbm8gaW50ZXJhY3RpdmUgc3VicHJvY2Vz cyBydW5uaW5nIGluIEVzaGVsbC4KK0lmIHRoaXMgdGFrZXMgbG9uZ2VyIHRoYW4gYGVzaGVs bC10ZXN0LS1tYXgtc3VicHJvY2Vzcy10aW1lJywKK3JhaXNlIGFuIGVycm9yLiIKKyAgKGxl dCAoKHN0YXJ0IChjdXJyZW50LXRpbWUpKSkKKyAgICAod2hpbGUgKGVzaGVsbC1pbnRlcmFj dGl2ZS1wcm9jZXNzKQorICAgICAgKHdoZW4gKD4gKGZsb2F0LXRpbWUgKHRpbWUtc2luY2Ug c3RhcnQpKQorICAgICAgICAgICAgICAgZXNoZWxsLXRlc3QtLW1heC1zdWJwcm9jZXNzLXRp bWUpCisgICAgICAgIChlcnJvciAidGltZWQgb3V0IHdhaXRpbmcgZm9yIHN1YnByb2Nlc3Mi KSkKKyAgICAgIChzaXQtZm9yIDAuMSkpKSkKKwogKGRlZnVuIGVzaGVsbC1pbnNlcnQtY29t bWFuZCAodGV4dCAmb3B0aW9uYWwgZnVuYykKICAgIkluc2VydCBhIGNvbW1hbmQgYXQgdGhl IGVuZCBvZiB0aGUgYnVmZmVyLiIKICAgKGdvdG8tY2hhciBlc2hlbGwtbGFzdC1vdXRwdXQt ZW5kKQpAQCAtNTksNiArNzQsNyBAQCBlc2hlbGwtbWF0Y2gtcmVzdWx0CiAoZGVmdW4gZXNo ZWxsLWNvbW1hbmQtcmVzdWx0LXAgKHRleHQgcmVnZXhwICZvcHRpb25hbCBmdW5jKQogICAi SW5zZXJ0IGEgY29tbWFuZCBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIuIgogICAoZXNoZWxs LWluc2VydC1jb21tYW5kIHRleHQgZnVuYykKKyAgKGVzaGVsbC13YWl0LWZvci1zdWJwcm9j ZXNzKQogICAoZXNoZWxsLW1hdGNoLXJlc3VsdCByZWdleHApKQogCiAoZGVmdmFyIGVzaGVs bC1oaXN0b3J5LWZpbGUtbmFtZSkKQEAgLTE0NCw2ICsxNjAsMTMgQEAgZXNoZWxsLXRlc3Qv aW50ZXJwLWNvbmNhdC1saXNwMgogICAiSW50ZXJwb2xhdGUgYW5kIGNvbmNhdCB0d28gTGlz cCBmb3JtcyIKICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC10ZXN0LWNvbW1hbmQtcmVzdWx0 ICIrICQoKyAxIDIpJCgrIDEgMikgMyIpIDM2KSkpCiAKKyhlcnQtZGVmdGVzdCBlc2hlbGwt dGVzdC9pbnRlcnAtY21kLWV4dGVybmFsICgpCisgICJJbnRlcnBvbGF0ZSBjb21tYW5kIHJl c3VsdCBmcm9tIGV4dGVybmFsIGNvbW1hbmQiCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJs ZS1maW5kICJlY2hvIikpCisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAoZXNoZWxsLWNvbW1h bmQtcmVzdWx0LXAgImVjaG8gJHsqZWNobyBoaX0iCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgImhpXG4iKSkpCisKIChlcnQtZGVmdGVzdCBlc2hlbGwtdGVzdC93aW5kb3ctaGVp Z2h0ICgpCiAgICIkTElORVMgc2hvdWxkIGVxdWFsICh3aW5kb3ctaGVpZ2h0KSIKICAgKHNo b3VsZCAoZXNoZWxsLXRlc3QtY29tbWFuZC1yZXN1bHQgIj0gJExJTkVTICh3aW5kb3ctaGVp Z2h0KSIpKSkKLS0gCjIuMjUuMQoK --------------F1A8CBFCF47B7FA38D9AC23A-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 20 08:38:24 2022 Received: (at 30725) by debbugs.gnu.org; 20 Jan 2022 13:38:24 +0000 Received: from localhost ([127.0.0.1]:56816 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAXdw-0007x5-AC for submit@debbugs.gnu.org; Thu, 20 Jan 2022 08:38:24 -0500 Received: from quimby.gnus.org ([95.216.78.240]:49564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAXdt-0007wo-Rs for 30725@debbugs.gnu.org; Thu, 20 Jan 2022 08:38:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=azMKR68Tcdzizk/eZP1goFRtCkvV822BCj6lp/MD5QU=; b=uec+6S+DRtAcuwp+xwETJXLKgy Qwb0oIgj5dxwxmosL6MfAhcFnDNwPJ6p5fPd4yehaeauRyYmoHWq1hHTEFpIlykN6kyvlyFoS7L43 Px4HNlB1VwrBNzseMFIABfws14ds+eEyzexr4qsD2xK55N7Gi3zx5Dn6/4YqadoYRLjU=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nAXdk-00068B-GS; Thu, 20 Jan 2022 14:38:14 +0100 From: Lars Ingebrigtsen To: Jim Porter Subject: Re: bug#30725: eshell: built-ins do not handle command substitution References: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> <87v8yh8mu3.fsf@gmx.de> <9228db8b-303a-4dd1-12b1-8d6649f57a90@gmail.com> X-Now-Playing: Various's _ZUSHI_: "11 (feat. Joanne Robertson)" Date: Thu, 20 Jan 2022 14:38:11 +0100 In-Reply-To: <9228db8b-303a-4dd1-12b1-8d6649f57a90@gmail.com> (Jim Porter's message of "Tue, 18 Jan 2022 10:06:45 -0800") Message-ID: <87v8yezfwc.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Jim Porter writes: > Oh, right. I'd forgotten about `skip-unless'. Here's a patch with that > added. Thanks. Looks good to me; pushed to Emacs 29. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 30725 Cc: 30725@debbugs.gnu.org, Michael Albinus , yegortimoshenko@riseup.net 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: -3.3 (---) Jim Porter writes: > Oh, right. I'd forgotten about `skip-unless'. Here's a patch with that > added. Thanks. Looks good to me; pushed to Emacs 29. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 20 08:38:29 2022 Received: (at control) by debbugs.gnu.org; 20 Jan 2022 13:38:29 +0000 Received: from localhost ([127.0.0.1]:56819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAXe1-0007xN-G7 for submit@debbugs.gnu.org; Thu, 20 Jan 2022 08:38:29 -0500 Received: from quimby.gnus.org ([95.216.78.240]:49576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAXdz-0007wx-Gi for control@debbugs.gnu.org; Thu, 20 Jan 2022 08:38:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=7sUKQhh76qM9/2egigxeuFlLhGidt6soRBqhamBC7qE=; b=mzHhCuPcrpvkRsWIw3OApTFDRJ Qzp8nQ2TqUOxTkHh5elAkkHGF2YtIcRgcu7oVIl/xi4MW5YdGj0yEVmS/7lTac7HUVFXGV80Wkjcx F5eaeFrl0dErH39CjBHaqC+qbVBFBQAs9TbyazhfqkdRMQ2LDgzZ/VbyvHazAoope05s=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nAXdr-00068K-Gq for control@debbugs.gnu.org; Thu, 20 Jan 2022 14:38:21 +0100 Date: Thu, 20 Jan 2022 14:38:18 +0100 Message-Id: <87tudyzfw5.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #30725 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 30725 29.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control 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: -3.3 (---) close 30725 29.1 quit From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 20 22:10:40 2022 Received: (at 30725) by debbugs.gnu.org; 21 Jan 2022 03:10:41 +0000 Received: from localhost ([127.0.0.1]:59805 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAkK0-0003fe-Cl for submit@debbugs.gnu.org; Thu, 20 Jan 2022 22:10:40 -0500 Received: from mail-pj1-f51.google.com ([209.85.216.51]:55856) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAkJy-0003f1-JG for 30725@debbugs.gnu.org; Thu, 20 Jan 2022 22:10:39 -0500 Received: by mail-pj1-f51.google.com with SMTP id d5so5757496pjk.5 for <30725@debbugs.gnu.org>; Thu, 20 Jan 2022 19:10:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:mime-version :in-reply-to:content-language; bh=KxOspGejfU74AQ8Zli7SC73l30FMsQDQExA6RcTC69k=; b=QShMRfWACs9xfg/Vm8Ib2I+Fv/KdDyZeWOrUfVM3bJMah71us6FyFwdm+2OUD07Dzl 1dZVxvqom4EZtCyaw460YL10417+bx9DN6BlrSwLjyZRlcEth7KdHlsexXJu6//X1eX7 APxK92Go5r2eQuUD3Sm7NejQNt2sm0JjvEHb4ZyQZyaSFiccgHfYrJY+MTvdkkt0ugD/ 2qy2rVKUddKmWJsFrytarILKZ4HhLv0RD5qr8i9UNWBJcw3VLBA3BeVwgj8fa8iKJ/6l slQF/Rn7zRWflToVU3ndZaN2+bslV3xUydOju9BCgNzK1l+JU0g/XPzUX4LymlUXO0YH uUbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=KxOspGejfU74AQ8Zli7SC73l30FMsQDQExA6RcTC69k=; b=OPdsImJ6FGph+LUWP5eGqcNz1gPx9KhjyYyRbz54QyKzRJQAuBa8+taLGyfKplY6qe STXrwkllMFfr6/AVy2oEkfhe9Qelqtn++xKfjduXOr/UoweZ7e50cgHgokd2epntdHZ/ JYW8e43i5Yl50w3RGHKaQhxWy9jcfQj/l2KUiUYoc2bVTsBjDhxyziRJmljdGDulsHXg oRqPx53z2XmdkKrkPY70rIHwTQZvk2hlz7iX4aK6L/wNPWgK3bRHmw0oTnzZ6TN2pFRX lzuQZbRogyIeceEvVd04t0tCFVKXdsnQhSqWGhc67U3iW9QN7Gj6fs+cuPh9guRRMUN3 ShmA== X-Gm-Message-State: AOAM530jhRDIXP1fHcpOr4uGYWxP3221TEGhJuA1Q7TESK4v7G1ziFw4 CGnfnO+e8xAtXilP2ri64kI= X-Google-Smtp-Source: ABdhPJyEiY2bo5JKtCDnPw4Fnid/YQKrqfwaZUeF+c3SJAdlGRBEtjZAvfag99Mydcjuo0sUh6RBkg== X-Received: by 2002:a17:90b:3143:: with SMTP id ip3mr2448313pjb.161.1642734632753; Thu, 20 Jan 2022 19:10:32 -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 p4sm4087050pfw.214.2022.01.20.19.10.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Jan 2022 19:10:31 -0800 (PST) Subject: Re: bug#30725: eshell: built-ins do not handle command substitution To: Lars Ingebrigtsen References: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> <87v8yh8mu3.fsf@gmx.de> <9228db8b-303a-4dd1-12b1-8d6649f57a90@gmail.com> <87v8yezfwc.fsf@gnus.org> From: Jim Porter Message-ID: <616b5ec8-c872-7fe8-7548-2c7bec9f8cd5@gmail.com> Date: Thu, 20 Jan 2022 19:10:31 -0800 MIME-Version: 1.0 In-Reply-To: <87v8yezfwc.fsf@gnus.org> Content-Type: multipart/mixed; boundary="------------6DDD4967FF7428A04FA15C69" Content-Language: en-US X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 30725 Cc: 30725@debbugs.gnu.org, Michael Albinus , yegortimoshenko@riseup.net 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 (-) This is a multi-part message in MIME format. --------------6DDD4967FF7428A04FA15C69 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 1/20/2022 5:38 AM, Lars Ingebrigtsen wrote: > Jim Porter writes: > >> Oh, right. I'd forgotten about `skip-unless'. Here's a patch with that >> added. Thanks. > > Looks good to me; pushed to Emacs 29. Drat. I just found bug#12689, which has a wider variety of test cases, and saw that I missed a pretty glaring case here: echo ${*echo hi}-there That is, using a subcommand that gets concatenated to a constant string to form the argument (or other variations involving concatenation). Both before and after my prior fix, that would print "nil-there". With this new patch, it prints "hi-there" as expected. This new patch should be considerably more robust, since it searches recursively for any `(eshell-as-subcommand FOO)' forms to check them. That way we don't require the command form to look *exactly* one way. I used a generator for this, since that's the clearest to my eyes, but I'm open to other implementations. For completeness, this only fixes the first of two issues in bug#12689 as described by Samer Masterson: > There are two issues contained in this bug: eshell-plain-command doesn't > wait for the process to finish before returning, and echo parses output > from subcommands as lisp objects instead of as args. The latter case is, echo ${*echo -e "foo\nbar"}-baz which used to print "nil-baz" (or '("foo" "bar")-baz' if you use *echo in both spots). With my patch here, it always prints '("foo" "bar")-baz', which is at least wrong in a consistent way now. :) --------------6DDD4967FF7428A04FA15C69 Content-Type: text/plain; charset=UTF-8; name="0001-Further-improve-determination-of-when-commands-can-b.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Further-improve-determination-of-when-commands-can-b.pa"; filename*1="tch" RnJvbSBlODVhYzE5MGU0MzJiY2RhYmNkMjQ0MzE3NThlMDdiZmJhYjM4NWFiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgMjAgSmFuIDIwMjIgMTg6NTE6MTQgLTA4MDAKU3ViamVjdDogW1BB VENIXSBGdXJ0aGVyIGltcHJvdmUgZGV0ZXJtaW5hdGlvbiBvZiB3aGVuIGNvbW1hbmRzIGNh biBiZSBpbnZva2VkCiBkaXJlY3RseQoKVGhpcyBjb3ZlcnMgdGhlIGNhc2Ugd2hlbiBhIHN1 YmNvbW1hbmQgaXMgdG8gYmUgaW52b2tlZCBpbiBtb3JlIHBsYWNlcwp0aGFuIGJlZm9yZSwg Zm9yIGV4YW1wbGUgd2hlbiBhIHN1YmNvbW1hbmQgaXMgY29uY2F0ZW5hdGVkIGluIGFuCmFy Z3VtZW50LgoKKiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIChlc2hlbGwtLWZpbmQtc3ViY29t bWFuZHMpOiBOZXcgZnVjdGlvbi4KKGVzaGVsbC0taW52b2tlLWNvbW1hbmQtZGlyZWN0bHkp OiBVc2UgJ2VzaGVsbC1maW5kLXN1YmNvbW1hbmRzJy4KCiogdGVzdC9saXNwL2VzaGVsbC9l c2hlbGwtdGVzdHMuZWwKKGVzaGVsbC10ZXN0L2ludGVycC1jbWQtZXh0ZXJuYWwtY29uY2F0 KTogTmV3IHRlc3QuCi0tLQogbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCAgICAgICAgICAgfCAy OCArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaGVs bC10ZXN0cy5lbCB8ICA3ICsrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9u cygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWNt ZC5lbCBiL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKaW5kZXggMjVlM2E1YTIwNS4uMDRkNjVk ZjRmMyAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbAorKysgYi9saXNwL2Vz aGVsbC9lc2gtY21kLmVsCkBAIC0xMDcsNiArMTA3LDcgQEAKIChyZXF1aXJlICdlc2gtbW9k dWxlKQogKHJlcXVpcmUgJ2VzaC1pbykKIChyZXF1aXJlICdlc2gtZXh0KQorKHJlcXVpcmUg J2dlbmVyYXRvcikKIAogKGV2YWwtd2hlbi1jb21waWxlCiAgIChyZXF1aXJlICdjbC1saWIp CkBAIC05MDMsNiArOTA0LDE3IEBAIHBjb21wbGV0ZS9lc2hlbGwtbW9kZS9lc2hlbGwtZGVi dWcKICAgIkNvbXBsZXRpb24gZm9yIHRoZSBgZGVidWcnIGNvbW1hbmQuIgogICAod2hpbGUg KHBjb21wbGV0ZS1oZXJlICcoImVycm9ycyIgImNvbW1hbmRzIikpKSkKIAorKGl0ZXItZGVm dW4gZXNoZWxsLS1maW5kLXN1YmNvbW1hbmRzIChoYXlzdGFjaykKKyAgIlJlY3Vyc2l2ZWx5 IHNlYXJjaCBmb3Igc3ViY29tbWFuZCBmb3JtcyBpbiBIQVlTVEFDSy4KK1RoaXMgeWllbGRz IHRoZSBTVUJDT01NQU5EcyB3aGVuIGZvdW5kIGluIGZvcm1zIGxpa2UKK1wiKGVzaGVsbC1h cy1zdWJjb21tYW5kIFNVQkNPTU1BTkQpXCIuIgorICAoZG9saXN0IChlbGVtIGhheXN0YWNr KQorICAgIChjb25kCisgICAgICgoZXEgKGNhci1zYWZlIGVsZW0pICdlc2hlbGwtYXMtc3Vi Y29tbWFuZCkKKyAgICAgIChpdGVyLXlpZWxkIChjZHIgZWxlbSkpKQorICAgICAoKGxpc3Rw IGVsZW0pCisgICAgICAoaXRlci15aWVsZC1mcm9tIChlc2hlbGwtLWZpbmQtc3ViY29tbWFu ZHMgZWxlbSkpKSkpKQorCiAoZGVmdW4gZXNoZWxsLS1pbnZva2UtY29tbWFuZC1kaXJlY3Rs eSAoY29tbWFuZCkKICAgIkRldGVybWluZSB3aGV0aGVyIHRoZSBnaXZlbiBDT01NQU5EIGNh biBiZSBpbnZva2VkIGRpcmVjdGx5LgogQ09NTUFORCBzaG91bGQgYmUgYSBub24tdG9wLWxl dmVsIEVzaGVsbCBjb21tYW5kIGluIHBhcnNlZCBmb3JtLgpAQCAtOTE2LDggKzkyOCw3IEBA IGVzaGVsbC0taW52b2tlLWNvbW1hbmQtZGlyZWN0bHkKICogTkFNRSBpcyBhIHN0cmluZyBy ZWZlcnJpbmcgdG8gYW4gYWxpYXMgZnVuY3Rpb24gYW5kIGlzbid0IGEKICAgY29tcGxleCBj b21tYW5kIChzZWUgYGVzaGVsbC1jb21wbGV4LWNvbW1hbmRzJykuCiAKLSogQW55IGFyZ3Vt ZW50IGluIEFSR1MgdGhhdCBjYWxscyBhIHN1YmNvbW1hbmQgY2FuIGFsc28gYmUKLSAgaW52 b2tlZCBkaXJlY3RseS4iCisqIEFueSBzdWJjb21tYW5kcyBpbiBBUkdTIGNhbiBhbHNvIGJl IGludm9rZWQgZGlyZWN0bHkuIgogICAod2hlbiAoYW5kIChlcSAoY2FyIGNvbW1hbmQpICdl c2hlbGwtdHJhcC1lcnJvcnMpCiAgICAgICAgICAgICAgKGVxIChjYXIgKGNhZHIgY29tbWFu ZCkpICdlc2hlbGwtbmFtZWQtY29tbWFuZCkpCiAgICAgKGxldCAoKG5hbWUgKGNhZHIgKGNh ZHIgY29tbWFuZCkpKQpAQCAtOTMxLDE1ICs5NDIsMTAgQEAgZXNoZWxsLS1pbnZva2UtY29t bWFuZC1kaXJlY3RseQogCSAgICAgICAgICh0aHJvdyAnc2ltcGxlIG5pbCkpKSkKIAkgICAo ZXNoZWxsLWZpbmQtYWxpYXMtZnVuY3Rpb24gbmFtZSkKICAgICAgICAgICAgKGNhdGNoICdp bmRpcmVjdC1zdWJjb21tYW5kCi0JICAgICAoZG9saXN0IChhcmcgYXJncyB0KQotICAgICAg ICAgICAgICAgKHBjYXNlIGFyZwotICAgICAgICAgICAgICAgICAoYChlc2hlbGwtZXNjYXBl LWFyZwotICAgICAgICAgICAgICAgICAgICAobGV0ICxfCi0gICAgICAgICAgICAgICAgICAg ICAgKGVzaGVsbC1jb252ZXJ0Ci0gICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwtY29t bWFuZC10by12YWx1ZQotICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1hcy1zdWJj b21tYW5kICxzdWJjb21tYW5kKSkpKSkKLSAgICAgICAgICAgICAgICAgICh1bmxlc3MgKGVz aGVsbC0taW52b2tlLWNvbW1hbmQtZGlyZWN0bHkgc3ViY29tbWFuZCkKLSAgICAgICAgICAg ICAgICAgICAgKHRocm93ICdpbmRpcmVjdC1zdWJjb21tYW5kIG5pbCkpKSkpKSkpKSkKKyAg ICAgICAgICAgICAoaXRlci1kbyAoc3ViY29tbWFuZCAoZXNoZWxsLS1maW5kLXN1YmNvbW1h bmRzIGFyZ3MpKQorICAgICAgICAgICAgICAgKHVubGVzcyAoZXNoZWxsLS1pbnZva2UtY29t bWFuZC1kaXJlY3RseSBzdWJjb21tYW5kKQorICAgICAgICAgICAgICAgICAodGhyb3cgJ2lu ZGlyZWN0LXN1YmNvbW1hbmQgbmlsKSkpCisgICAgICAgICAgICAgdCkpKSkpCiAKIChkZWZ1 biBlc2hlbGwtaW52b2tlLWRpcmVjdGx5IChjb21tYW5kKQogICAiRGV0ZXJtaW5lIHdoZXRo ZXIgdGhlIGdpdmVuIENPTU1BTkQgY2FuIGJlIGludm9rZWQgZGlyZWN0bHkuCmRpZmYgLS1n aXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hl bGwvZXNoZWxsLXRlc3RzLmVsCmluZGV4IGM0Y2I5YmY0ODUuLjFhN2FiMGFiMDYgMTAwNjQ0 Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlz cC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsCkBAIC0xNjcsNiArMTY3LDEzIEBAIGVzaGVsbC10 ZXN0L2ludGVycC1jbWQtZXh0ZXJuYWwKICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcCAi ZWNobyAkeyplY2hvIGhpfSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGlcbiIp KSkKIAorKGVydC1kZWZ0ZXN0IGVzaGVsbC10ZXN0L2ludGVycC1jbWQtZXh0ZXJuYWwtY29u Y2F0ICgpCisgICJJbnRlcnBvbGF0ZSBjb21tYW5kIHJlc3VsdCBmcm9tIGV4dGVybmFsIGNv bW1hbmQgd2l0aCBjb25jYXRlbmF0aW9uIgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUt ZmluZCAiZWNobyIpKQorICAod2l0aC10ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1jb21tYW5k LXJlc3VsdC1wICJlY2hvICR7ZWNobyBoaX0tJHsqZWNobyB0aGVyZX0iCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImhpLXRoZXJlXG4iKSkpCisKIChlcnQtZGVmdGVzdCBlc2hl bGwtdGVzdC93aW5kb3ctaGVpZ2h0ICgpCiAgICIkTElORVMgc2hvdWxkIGVxdWFsICh3aW5k b3ctaGVpZ2h0KSIKICAgKHNob3VsZCAoZXNoZWxsLXRlc3QtY29tbWFuZC1yZXN1bHQgIj0g JExJTkVTICh3aW5kb3ctaGVpZ2h0KSIpKSkKLS0gCjIuMjUuMQoK --------------6DDD4967FF7428A04FA15C69-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 21 04:32:40 2022 Received: (at 30725) by debbugs.gnu.org; 21 Jan 2022 09:32:40 +0000 Received: from localhost ([127.0.0.1]:60195 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAqHf-0001fh-TV for submit@debbugs.gnu.org; Fri, 21 Jan 2022 04:32:40 -0500 Received: from quimby.gnus.org ([95.216.78.240]:60320) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nAqHe-0001fT-4O for 30725@debbugs.gnu.org; Fri, 21 Jan 2022 04:32:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=iE0qmJ4Cp9sa94UD7SHa1tcy+/CH2rXy84b/1vRZuJ8=; b=cAKVYoMYRXL5kwJerEQFoQiCxN us+xN8Wn2U5kJm1lRHzYtUlr8v+SMCtqvxxXx7xONsOCsJmlznYgYRl0zoXzXxDxJomYOE+mLNgAQ fCUxSb6f/v4cLaKIPhrOuvFv/a9kxEA0U8HYaEMqcvQLaqwhWjs1OjLAOgNuPqNukxOc=; Received: from [84.212.220.105] (helo=giant) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nAqHU-0008Je-Cl; Fri, 21 Jan 2022 10:32:30 +0100 From: Lars Ingebrigtsen To: Jim Porter Subject: Re: bug#30725: eshell: built-ins do not handle command substitution References: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> <87v8yh8mu3.fsf@gmx.de> <9228db8b-303a-4dd1-12b1-8d6649f57a90@gmail.com> <87v8yezfwc.fsf@gnus.org> <616b5ec8-c872-7fe8-7548-2c7bec9f8cd5@gmail.com> X-Now-Playing: Brian Auger & Julie Driscoll's _Open_: "Goodbye Jungle Telegraph" Date: Fri, 21 Jan 2022 10:32:27 +0100 In-Reply-To: <616b5ec8-c872-7fe8-7548-2c7bec9f8cd5@gmail.com> (Jim Porter's message of "Thu, 20 Jan 2022 19:10:31 -0800") Message-ID: <87v8ydv3h0.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Jim Porter writes: > This new patch should be considerably more robust, since it searches > recursively for any `(eshell-as-subcommand FOO)' forms to check > them. That way we don't require the command form to look *exa [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 30725 Cc: 30725@debbugs.gnu.org, Michael Albinus , yegortimoshenko@riseup.net 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: -3.3 (---) Jim Porter writes: > This new patch should be considerably more robust, since it searches > recursively for any `(eshell-as-subcommand FOO)' forms to check > them. That way we don't require the command form to look *exactly* one > way. I used a generator for this, since that's the clearest to my > eyes, but I'm open to other implementations. Looks fine to me. Pushed to Emacs 29. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sun Jun 22 11:32:31 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, 18 Feb 2022 12: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