From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 18 23:20:50 2022 Received: (at submit) by debbugs.gnu.org; 19 Feb 2022 04:20:51 +0000 Received: from localhost ([127.0.0.1]:56661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLHEn-0000Pi-Mh for submit@debbugs.gnu.org; Fri, 18 Feb 2022 23:20:50 -0500 Received: from lists.gnu.org ([209.51.188.17]:47124) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLHEk-0000PZ-W4 for submit@debbugs.gnu.org; Fri, 18 Feb 2022 23:20:47 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38008) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLHEk-0007Mf-Qg for bug-gnu-emacs@gnu.org; Fri, 18 Feb 2022 23:20:46 -0500 Received: from [2607:f8b0:4864:20::102e] (port=33297 helo=mail-pj1-x102e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nLHED-0004TH-Ka for bug-gnu-emacs@gnu.org; Fri, 18 Feb 2022 23:20:46 -0500 Received: by mail-pj1-x102e.google.com with SMTP id m13-20020a17090aab0d00b001bbe267d4d1so1628290pjq.0 for ; Fri, 18 Feb 2022 20:20:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:subject:to:message-id:date:mime-version:content-language; bh=Ck8gBEvFD3IMCkNggrPp1MLn6qsPXBnfq40Hz8bakvk=; b=RJ7T13VMqRyZMbIYvxMrtCgZcWJfQnho0DwwCIecoV4w6/leE3jKSRRqJwR1KXwHiQ AR3uU1sdzJZsSf3HEdoXqKK4aWnsUk+aPw2dDsUwCfthPjyP9vGrtTCUopOyV0O7XGIP ynWguOe3q/9nQMiV3GlM98UkgC0tvDnLkpMIEpvavo4DvmwpmW8MNvr6n4Vqd3AWysPc ObtkzS6ia+UzhquCJEh+05GmGLqi8aII+pDKN98Kbxv9z5uxaf6ZVTNRDqcdUIelAfDj kGQGPKpxgtasibpepsYrba+JHosEoLnOZ+ibQR2zwE5qUp2+kmnFQNN2W1G36Mhv2oTA GgqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:subject:to:message-id:date:mime-version :content-language; bh=Ck8gBEvFD3IMCkNggrPp1MLn6qsPXBnfq40Hz8bakvk=; b=7SY0VB7zCxh1mHUtUbnBUCtUbe2msAtAIxHbrYXPJsxVqxazZ/E/Xpljzz50bo8Uq2 /JRDCn4Iicxz1g/ewMSCuriVd8uvA+TE8bAd07218C+MEEdJDFL1+efrDslTiyThGoJG zUl6bYXBHYuJNIDSVNNBTcnp0kJwdZL44tGTMvqwtenzvHMsqw9RZUcHmcparki00M7I NCemQkis2duP5GcEy2iof4KbYHTXgbYnHN0Z62NXav3s/6vSMs+d5zLPLW/0eSNpuf2e ElBB6qSKJsW0P5J2b6OqzPj2Ds1yDF+MsJvxVF5Il+FhnZUEFJC8VH1/Otrm71JsZKGe DoIg== X-Gm-Message-State: AOAM531j5vI85Pkw/YLFu/N3dFcIAiVOAiRbAOUHTocf8C7DsjgguOUj JlU+82wNsoNuNPBmnXReA1gQ0rVsb2s= X-Google-Smtp-Source: ABdhPJxkBnGP6/GkpjG9vgGmeuOMKyhDKKVUCSbGvyD6uQDRWJ8hU6RELuBNUTE8iYlNFu5vjhM6Pw== X-Received: by 2002:a17:90a:d243:b0:1b9:cbac:a775 with SMTP id o3-20020a17090ad24300b001b9cbaca775mr11565836pjw.196.1645244411020; Fri, 18 Feb 2022 20:20:11 -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 b4sm4458276pfl.106.2022.02.18.20.20.09 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 18 Feb 2022 20:20:10 -0800 (PST) X-Mozilla-News-Host: news://news.gmane.org:119 From: Jim Porter Subject: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken To: bug-gnu-emacs@gnu.org Message-ID: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> Date: Fri, 18 Feb 2022 20:20:10 -0800 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------B285E3C11C890219AF4F502F" Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::102e (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::102e; envelope-from=jporterbugs@gmail.com; helo=mail-pj1-x102e.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 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.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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. --------------B285E3C11C890219AF4F502F Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Consider the following shell command: yes | sh -c 'read NAME' Ordinarily, you'd expect that `sh' reads a single "y", exits, and then the next time `yes' tries to write, it finds that the pipe was broken. However, that's not what happens in Eshell. Running the above and then calling `M-x list-processes' will show that `yes' is still running. Attached is a patch (with a test) to fix this by telling Eshell to signal SIGPIPE at the appropriate time. I've also attached a couple small patches to clean up a few tiny issues in Eshell; if it would be better to split those out into a different bug, just let me know. I thought it might be simpler to attach them here rather than one bug for each. (Note: for the test to pass, you might need to remove the .elc files before running the tests. Since the patch updates test/lisp/eshell/eshell-tests-helpers.el and there's not an easy way to force that to recompile before running the actual tests, it can fail in some cases.) As an aside: of course, this is a somewhat contrived example. The real reason I care about this is to support Lisp functions in Eshell pipelines, so that you can run something like `git log | less', where `less' is a Lisp function that opens a View mode buffer. When closing that buffer, it would be nice to kill the `git log' process, since it can go on for quite a while in a big repository. My patch series for that feature is getting pretty unwieldy though (14 patches and counting), so I peeled this off to merge separately. --------------B285E3C11C890219AF4F502F Content-Type: text/plain; charset=UTF-8; name="0001-lisp-eshell-esh-io.el-grep-null-device-Remove-unused.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-lisp-eshell-esh-io.el-grep-null-device-Remove-unused.pa"; filename*1="tch" RnJvbSBkNTZmODE2NWFjODkzZTY5OTI1MjRjOGJlMDcyZmZhYmE4NTBhMDE5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjkgSmFuIDIwMjIgMTc6Mjg6MjMgLTA4MDAKU3ViamVjdDogW1BB VENIIDEvNF0gOyAqIGxpc3AvZXNoZWxsL2VzaC1pby5lbCAoZ3JlcC1udWxsLWRldmljZSk6 IFJlbW92ZQogdW51c2VkIGRlZnZhci4KCi0tLQogbGlzcC9lc2hlbGwvZXNoLWlvLmVsIHwg MiAtLQogMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlz cC9lc2hlbGwvZXNoLWlvLmVsIGIvbGlzcC9lc2hlbGwvZXNoLWlvLmVsCmluZGV4IDhlNjQ2 M2VhYzIuLmU0NTdmNjVjMTggMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1pby5lbAor KysgYi9saXNwL2VzaGVsbC9lc2gtaW8uZWwKQEAgLTM3NSw4ICszNzUsNiBAQCBlc2hlbGwt Z2V0LXRhcmdldAogICAgIChlcnJvciAiSW52YWxpZCByZWRpcmVjdGlvbiB0YXJnZXQ6ICVz IgogCSAgIChlc2hlbGwtc3RyaW5naWZ5IHRhcmdldCkpKSkpCiAKLShkZWZ2YXIgZ3JlcC1u dWxsLWRldmljZSkKLQogKGRlZnVuIGVzaGVsbC1zZXQtb3V0cHV0LWhhbmRsZSAoaW5kZXgg bW9kZSAmb3B0aW9uYWwgdGFyZ2V0KQogICAiU2V0IGhhbmRsZSBJTkRFWCwgdXNpbmcgTU9E RSwgdG8gcG9pbnQgdG8gVEFSR0VULiIKICAgKHdoZW4gdGFyZ2V0Ci0tIAoyLjI1LjEKCg== --------------B285E3C11C890219AF4F502F Content-Type: text/plain; charset=UTF-8; name="0002-Improve-docstrings-for-eshell-exec-lisp-and-function.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-Improve-docstrings-for-eshell-exec-lisp-and-function.pa"; filename*1="tch" RnJvbSBhMmJkNGQ3NDBjMDk5YTU2NDk0YjBmM2UwYTAyZjAzNTYzZGRkMjEwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgMTMgSmFuIDIwMjIgMTg6NTg6NTAgLTA4MDAKU3ViamVjdDogW1BB VENIIDIvNF0gSW1wcm92ZSBkb2NzdHJpbmdzIGZvciAnZXNoZWxsLWV4ZWMtbGlzcCcgYW5k IGZ1bmN0aW9ucwogdGhhdCBjYWxsIGl0CgoqIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgKGVz aGVsbC1leGVjLWxpc3AsIGVzaGVsbC1hcHBseSopCihlc2hlbGwtZnVuY2FsbCosIGVzaGVs bC1ldmFsKiwgZXNoZWxsLWFwcGx5LCBlc2hlbGwtZXZhbCkKKGVzaGVsbC1mdW5jYWxsLCBl c2hlbGwtYXBwbHluLCBlc2hlbGwtZnVuY2FsbG4sIGVzaGVsbC1ldmFsbik6CkltcHJvdmUg ZG9jc3RyaW5ncy4KLS0tCiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIHwgNDcgKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzAg aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hl bGwvZXNoLWNtZC5lbCBiL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKaW5kZXggNTgxOTUwNmNj MC4uZGNlYjA2MWM4ZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbAorKysg Yi9saXNwL2VzaGVsbC9lc2gtY21kLmVsCkBAIC0xMjkyLDggKzEyOTIsOSBAQCBlc2hlbGwt cGxhaW4tY29tbWFuZAogKGRlZnVuIGVzaGVsbC1leGVjLWxpc3AgKHByaW50ZXIgZXJycHJp bnQgZnVuYy1vci1mb3JtIGFyZ3MgZm9ybS1wKQogICAiRXhlY3V0ZSBhIExpc3AgRlVOQy1P Ui1GT1JNLCBtYXliZSBwYXNzaW5nIEFSR1MuCiBQUklOVEVSIGFuZCBFUlJQUklOVCBhcmUg ZnVuY3Rpb25zIHRvIHVzZSBmb3IgcHJpbnRpbmcgcmVndWxhcgotbWVzc2FnZXMsIGFuZCBl cnJvcnMuICBGT1JNLVAgc2hvdWxkIGJlIG5vbi1uaWwgaWYgRlVOQy1PUi1GT1JNCi1yZXBy ZXNlbnQgYSBMaXNwIGZvcm07IEFSR1Mgd2lsbCBiZSBpZ25vcmVkIGluIHRoYXQgY2FzZS4i CittZXNzYWdlcyBhbmQgZXJyb3JzLCByZXNwZWN0aXZlbHkuICBGT1JNLVAgc2hvdWxkIGJl IG5vbi1uaWwgaWYKK0ZVTkMtT1ItRk9STSByZXByZXNlbnQgYSBMaXNwIGZvcm07IEFSR1Mg d2lsbCBiZSBpZ25vcmVkIGluIHRoYXQKK2Nhc2UuIgogICAoZXNoZWxsLWNvbmRpdGlvbi1j YXNlIGVycgogICAgICAgKGxldCAoKHJlc3VsdAogICAgICAgICAgICAgIChzYXZlLWN1cnJl bnQtYnVmZmVyCkBAIC0xMzE2LDQ0ICsxMzE3LDU2IEBAIGVzaGVsbC1leGVjLWxpc3AKIChk ZWZzdWJzdCBlc2hlbGwtYXBwbHkqIChwcmludGVyIGVycnByaW50IGZ1bmMgYXJncykKICAg IkNhbGwgRlVOQywgd2l0aCBBUkdTLCB0cmFwcGluZyBlcnJvcnMgYW5kIHJldHVybiB0aGVt IGFzIG91dHB1dC4KIFBSSU5URVIgYW5kIEVSUlBSSU5UIGFyZSBmdW5jdGlvbnMgdG8gdXNl IGZvciBwcmludGluZyByZWd1bGFyCi1tZXNzYWdlcywgYW5kIGVycm9ycy4iCittZXNzYWdl cyBhbmQgZXJyb3JzLCByZXNwZWN0aXZlbHkuIgogICAoZXNoZWxsLWV4ZWMtbGlzcCBwcmlu dGVyIGVycnByaW50IGZ1bmMgYXJncyBuaWwpKQogCiAoZGVmc3Vic3QgZXNoZWxsLWZ1bmNh bGwqIChwcmludGVyIGVycnByaW50IGZ1bmMgJnJlc3QgYXJncykKLSAgIkNhbGwgRlVOQywg d2l0aCBBUkdTLCB0cmFwcGluZyBlcnJvcnMgYW5kIHJldHVybiB0aGVtIGFzIG91dHB1dC4i CisgICJDYWxsIEZVTkMsIHdpdGggQVJHUywgdHJhcHBpbmcgZXJyb3JzIGFuZCByZXR1cm4g dGhlbSBhcyBvdXRwdXQuCitQUklOVEVSIGFuZCBFUlJQUklOVCBhcmUgZnVuY3Rpb25zIHRv IHVzZSBmb3IgcHJpbnRpbmcgcmVndWxhcgorbWVzc2FnZXMgYW5kIGVycm9ycywgcmVzcGVj dGl2ZWx5LiIKICAgKGVzaGVsbC1hcHBseSogcHJpbnRlciBlcnJwcmludCBmdW5jIGFyZ3Mp KQogCiAoZGVmc3Vic3QgZXNoZWxsLWV2YWwqIChwcmludGVyIGVycnByaW50IGZvcm0pCi0g ICJFdmFsdWF0ZSBGT1JNLCB0cmFwcGluZyBlcnJvcnMgYW5kIHJldHVybmluZyB0aGVtLiIK KyAgIkV2YWx1YXRlIEZPUk0sIHRyYXBwaW5nIGVycm9ycyBhbmQgcmV0dXJuaW5nIHRoZW0u CitQUklOVEVSIGFuZCBFUlJQUklOVCBhcmUgZnVuY3Rpb25zIHRvIHVzZSBmb3IgcHJpbnRp bmcgcmVndWxhcgorbWVzc2FnZXMgYW5kIGVycm9ycywgcmVzcGVjdGl2ZWx5LiIKICAgKGVz aGVsbC1leGVjLWxpc3AgcHJpbnRlciBlcnJwcmludCBmb3JtIG5pbCB0KSkKIAogKGRlZnN1 YnN0IGVzaGVsbC1hcHBseSAoZnVuYyBhcmdzKQogICAiQ2FsbCBGVU5DLCB3aXRoIEFSR1Ms IHRyYXBwaW5nIGVycm9ycyBhbmQgcmV0dXJuIHRoZW0gYXMgb3V0cHV0LgotUFJJTlRFUiBh bmQgRVJSUFJJTlQgYXJlIGZ1bmN0aW9ucyB0byB1c2UgZm9yIHByaW50aW5nIHJlZ3VsYXIK LW1lc3NhZ2VzLCBhbmQgZXJyb3JzLiIKLSAgKGVzaGVsbC1hcHBseSogJ2VzaGVsbC1wcmlu dCAnZXNoZWxsLWVycm9yIGZ1bmMgYXJncykpCitQcmludCB0aGUgcmVzdWx0IHVzaW5nIGBl c2hlbGwtcHJpbnQnOyBpZiBhbiBlcnJvciBvY2N1cnMsIHByaW50CitpdCB2aWEgYGVzaGVs bC1lcnJvcicuIgorICAoZXNoZWxsLWFwcGx5KiAjJ2VzaGVsbC1wcmludCAjJ2VzaGVsbC1l cnJvciBmdW5jIGFyZ3MpKQogCiAoZGVmc3Vic3QgZXNoZWxsLWZ1bmNhbGwgKGZ1bmMgJnJl c3QgYXJncykKLSAgIkNhbGwgRlVOQywgd2l0aCBBUkdTLCB0cmFwcGluZyBlcnJvcnMgYW5k IHJldHVybiB0aGVtIGFzIG91dHB1dC4iCisgICJDYWxsIEZVTkMsIHdpdGggQVJHUywgdHJh cHBpbmcgZXJyb3JzIGFuZCByZXR1cm4gdGhlbSBhcyBvdXRwdXQuCitQcmludCB0aGUgcmVz dWx0IHVzaW5nIGBlc2hlbGwtcHJpbnQnOyBpZiBhbiBlcnJvciBvY2N1cnMsIHByaW50Citp dCB2aWEgYGVzaGVsbC1lcnJvcicuIgogICAoZXNoZWxsLWFwcGx5IGZ1bmMgYXJncykpCiAK IChkZWZzdWJzdCBlc2hlbGwtZXZhbCAoZm9ybSkKLSAgIkV2YWx1YXRlIEZPUk0sIHRyYXBw aW5nIGVycm9ycyBhbmQgcmV0dXJuaW5nIHRoZW0uIgotICAoZXNoZWxsLWV2YWwqICdlc2hl bGwtcHJpbnQgJ2VzaGVsbC1lcnJvciBmb3JtKSkKKyAgIkV2YWx1YXRlIEZPUk0sIHRyYXBw aW5nIGVycm9ycyBhbmQgcmV0dXJuaW5nIHRoZW0uCitQcmludCB0aGUgcmVzdWx0IHVzaW5n IGBlc2hlbGwtcHJpbnQnOyBpZiBhbiBlcnJvciBvY2N1cnMsIHByaW50CitpdCB2aWEgYGVz aGVsbC1lcnJvcicuIgorICAoZXNoZWxsLWV2YWwqICMnZXNoZWxsLXByaW50ICMnZXNoZWxs LWVycm9yIGZvcm0pKQogCiAoZGVmc3Vic3QgZXNoZWxsLWFwcGx5biAoZnVuYyBhcmdzKQog ICAiQ2FsbCBGVU5DLCB3aXRoIEFSR1MsIHRyYXBwaW5nIGVycm9ycyBhbmQgcmV0dXJuIHRo ZW0gYXMgb3V0cHV0LgotUFJJTlRFUiBhbmQgRVJSUFJJTlQgYXJlIGZ1bmN0aW9ucyB0byB1 c2UgZm9yIHByaW50aW5nIHJlZ3VsYXIKLW1lc3NhZ2VzLCBhbmQgZXJyb3JzLiIKLSAgKGVz aGVsbC1hcHBseSogJ2VzaGVsbC1wcmludG4gJ2VzaGVsbC1lcnJvcm4gZnVuYyBhcmdzKSkK K1ByaW50IHRoZSByZXN1bHQgdXNpbmcgYGVzaGVsbC1wcmludG4nOyBpZiBhbiBlcnJvciBv Y2N1cnMsIHByaW50IGl0Cit2aWEgYGVzaGVsbC1lcnJvcm4nLiIKKyAgKGVzaGVsbC1hcHBs eSogIydlc2hlbGwtcHJpbnRuICMnZXNoZWxsLWVycm9ybiBmdW5jIGFyZ3MpKQogCiAoZGVm c3Vic3QgZXNoZWxsLWZ1bmNhbGxuIChmdW5jICZyZXN0IGFyZ3MpCi0gICJDYWxsIEZVTkMs IHdpdGggQVJHUywgdHJhcHBpbmcgZXJyb3JzIGFuZCByZXR1cm4gdGhlbSBhcyBvdXRwdXQu IgorICAiQ2FsbCBGVU5DLCB3aXRoIEFSR1MsIHRyYXBwaW5nIGVycm9ycyBhbmQgcmV0dXJu IHRoZW0gYXMgb3V0cHV0LgorUHJpbnQgdGhlIHJlc3VsdCB1c2luZyBgZXNoZWxsLXByaW50 bic7IGlmIGFuIGVycm9yIG9jY3VycywgcHJpbnQgaXQKK3ZpYSBgZXNoZWxsLWVycm9ybicu IgogICAoZXNoZWxsLWFwcGx5biBmdW5jIGFyZ3MpKQogCiAoZGVmc3Vic3QgZXNoZWxsLWV2 YWxuIChmb3JtKQotICAiRXZhbHVhdGUgRk9STSwgdHJhcHBpbmcgZXJyb3JzIGFuZCByZXR1 cm5pbmcgdGhlbS4iCi0gIChlc2hlbGwtZXZhbCogJ2VzaGVsbC1wcmludG4gJ2VzaGVsbC1l cnJvcm4gZm9ybSkpCisgICJFdmFsdWF0ZSBGT1JNLCB0cmFwcGluZyBlcnJvcnMgYW5kIHJl dHVybmluZyB0aGVtLgorUHJpbnQgdGhlIHJlc3VsdCB1c2luZyBgZXNoZWxsLXByaW50bic7 IGlmIGFuIGVycm9yIG9jY3VycywgcHJpbnQgaXQKK3ZpYSBgZXNoZWxsLWVycm9ybicuIgor ICAoZXNoZWxsLWV2YWwqICMnZXNoZWxsLXByaW50biAjJ2VzaGVsbC1lcnJvcm4gZm9ybSkp CiAKIChkZWZ2YXIgZXNoZWxsLWxhc3Qtb3V0cHV0LWVuZCkgICAgICAgICA7RGVmaW5lZCBp biBlc2gtbW9kZS5lbC4KIAotLSAKMi4yNS4xCgo= --------------B285E3C11C890219AF4F502F Content-Type: text/plain; charset=UTF-8; name="0003-Ensure-eshell-output-object-always-returns-nil-for-c.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0003-Ensure-eshell-output-object-always-returns-nil-for-c.pa"; filename*1="tch" RnJvbSA4OGZkZWFiMTE0YzllNzQ2YTY2NzU4YTE2YjJmZTUwYWFhYjQ1NjI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMTkgSmFuIDIwMjIgMjE6NTc6MzggLTA4MDAKU3ViamVjdDogW1BB VENIIDMvNF0gRW5zdXJlICdlc2hlbGwtb3V0cHV0LW9iamVjdCcgYWx3YXlzIHJldHVybnMg bmlsIGZvcgogY29uc2lzdGVuY3kKClRoaXMgcHJldmVudHMgZnVuY3Rpb25zIGxpa2UgJ2Vz aGVsbC1wcmludCcgZnJvbSB3cml0aW5nIGRvdWJsZWQKb3V0cHV0IHdoZW4gcnVuIGluIEVz aGVsbC4gIFByZXZpb3VzbHksIHRoZSByZXN1bHQgd291bGQgYmU6CgogIH4gJCBlc2hlbGwt cHJpbnQgaGkKICBoaWhpCgoqIGxpc3AvZXNoZWxsL2VzaC1pby5lbCAoZXNoZWxsLW91dHB1 dC1vYmplY3QpOiBBbHdheXMgcmV0dXJuIG5pbC4KLS0tCiBsaXNwL2VzaGVsbC9lc2gtaW8u ZWwgfCAxNyArKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWlv LmVsIGIvbGlzcC9lc2hlbGwvZXNoLWlvLmVsCmluZGV4IGU0NTdmNjVjMTguLmZjMTEyNDU2 MWEgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1pby5lbAorKysgYi9saXNwL2VzaGVs bC9lc2gtaW8uZWwKQEAgLTQ5MSwxNCArNDkxLDE5IEBAIGVzaGVsbC1vdXRwdXQtb2JqZWN0 LXRvLXRhcmdldAogICBvYmplY3QpCiAKIChkZWZ1biBlc2hlbGwtb3V0cHV0LW9iamVjdCAo b2JqZWN0ICZvcHRpb25hbCBoYW5kbGUtaW5kZXggaGFuZGxlcykKLSAgIkluc2VydCBPQkpF Q1QsIHVzaW5nIEhBTkRMRS1JTkRFWCBzcGVjaWZpY2FsbHkpLiIKKyAgIkluc2VydCBPQkpF Q1QsIHVzaW5nIEhBTkRMRS1JTkRFWCBzcGVjaWZpY2FsbHkuCitJZiBIQU5ETEUtSU5ERVgg aXMgbmlsLCBvdXRwdXQgdG8gYGVzaGVsbC1vdXRwdXQtaGFuZGxlJy4KK0hBTkRMRVMgaXMg dGhlIHNldCBvZiBmaWxlIGhhbmRsZXMgdG8gdXNlOyBpZiBuaWwsIHVzZQorYGVzaGVsbC1j dXJyZW50LWhhbmRsZXMnLiIKICAgKGxldCAoKHRhcmdldCAoY2FyIChhcmVmIChvciBoYW5k bGVzIGVzaGVsbC1jdXJyZW50LWhhbmRsZXMpCiAJCQkgICAob3IgaGFuZGxlLWluZGV4IGVz aGVsbC1vdXRwdXQtaGFuZGxlKSkpKSkKLSAgICAoaWYgKGFuZCB0YXJnZXQgKG5vdCAobGlz dHAgdGFyZ2V0KSkpCi0JKGVzaGVsbC1vdXRwdXQtb2JqZWN0LXRvLXRhcmdldCBvYmplY3Qg dGFyZ2V0KQotICAgICAgKHdoaWxlIHRhcmdldAotCShlc2hlbGwtb3V0cHV0LW9iamVjdC10 by10YXJnZXQgb2JqZWN0IChjYXIgdGFyZ2V0KSkKLQkoc2V0cSB0YXJnZXQgKGNkciB0YXJn ZXQpKSkpKSkKKyAgICAoaWYgKGxpc3RwIHRhcmdldCkKKyAgICAgICAgKHdoaWxlIHRhcmdl dAorCSAgKGVzaGVsbC1vdXRwdXQtb2JqZWN0LXRvLXRhcmdldCBvYmplY3QgKGNhciB0YXJn ZXQpKQorCSAgKHNldHEgdGFyZ2V0IChjZHIgdGFyZ2V0KSkpCisgICAgICAoZXNoZWxsLW91 dHB1dC1vYmplY3QtdG8tdGFyZ2V0IG9iamVjdCB0YXJnZXQpCisgICAgICA7OyBFeHBsaWNp dGx5IHJldHVybiBuaWwgdG8gbWF0Y2ggdGhlIGxpc3QgY2FzZSBhYm92ZS4KKyAgICAgIG5p bCkpKQogCiAocHJvdmlkZSAnZXNoLWlvKQogOzs7IGVzaC1pby5lbCBlbmRzIGhlcmUKLS0g CjIuMjUuMQoK --------------B285E3C11C890219AF4F502F Content-Type: text/plain; charset=UTF-8; name="0004-Send-SIGPIPE-to-external-Eshell-processes-if-their-o.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0004-Send-SIGPIPE-to-external-Eshell-processes-if-their-o.pa"; filename*1="tch" RnJvbSA2ZWQ2MDZlZDJhMGZhMjcwNzhiYzE2MDAxZTBhOTE4Y2IzMDViOTZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgMSBGZWIgMjAyMiAxOToxNjowMCAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggNC80XSBTZW5kIFNJR1BJUEUgdG8gZXh0ZXJuYWwgRXNoZWxsIHByb2Nlc3NlcyBpZiB0 aGVpciBvdXRwdXQKIHRhcmdldCBjbG9zZXMKCiogbGlzcC9lc2hlbGwvZXNoLWlvLmVsIChl c2hlbGwtcGlwZS1icm9rZW4pOiBOZXcgZXJyb3IuCihlc2hlbGwtb3V0cHV0LW9iamVjdC10 by10YXJnZXQpOiBTaWduYWwgJ2VzaGVsbC1waXBlLWJyb2tlbicgaWYgdGhlCnRhcmdldCBp cyBhbiBleGl0ZWQvc2lnbmFsZWQgcHJvY2Vzcy4KCiogbGlzcC9lc2hlbGwvZXNoLXByb2Mu ZWwgKGVzaGVsbC1pbnNlcnRpb24tZmlsdGVyKTogSGFuZGxlCidlc2hlbGwtcGlwZS1icm9r ZW4nLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1wcm9jLXRlc3RzLmVsOiBOZXcgdGVzdC4K LS0tCiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgICAgICAgICAgICAgICAgICAgIHwgMTIgKysr Ky0tLQogbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwgICAgICAgICAgICAgICAgICB8IDE1ICsr KysrLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1wcm9jLXRlc3RzLmVsICAgICAgIHwgNDUg KysrKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0 cy1oZWxwZXJzLmVsIHwgIDkgKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9u cygrKSwgMTEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9saXNwL2Vz aGVsbC9lc2gtcHJvYy10ZXN0cy5lbAoKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1p by5lbCBiL2xpc3AvZXNoZWxsL2VzaC1pby5lbAppbmRleCBmYzExMjQ1NjFhLi4zNjQ0YzFh MThiIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtaW8uZWwKKysrIGIvbGlzcC9lc2hl bGwvZXNoLWlvLmVsCkBAIC0xNTAsNiArMTUwLDggQEAgZXNoZWxsLXZpcnR1YWwtdGFyZ2V0 cwogICA6cmlza3kgdAogICA6Z3JvdXAgJ2VzaGVsbC1pbykKIAorKGRlZmluZS1lcnJvciAn ZXNoZWxsLXBpcGUtYnJva2VuICJQaXBlIGJyb2tlbiIpCisKIDs7OyBJbnRlcm5hbCBWYXJp YWJsZXM6CiAKIChkZWZ2YXIgZXNoZWxsLWN1cnJlbnQtaGFuZGxlcyBuaWwpCkBAIC00ODEs MTAgKzQ4MywxMiBAQCBlc2hlbGwtb3V0cHV0LW9iamVjdC10by10YXJnZXQKIAkJKGdvdG8t Y2hhciB0YXJnZXQpKSkpKSkKIAogICAgKChlc2hlbGwtcHJvY2Vzc3AgdGFyZ2V0KQotICAg ICh3aGVuIChlcSAocHJvY2Vzcy1zdGF0dXMgdGFyZ2V0KSAncnVuKQotICAgICAgKHVubGVz cyAoc3RyaW5ncCBvYmplY3QpCi0gICAgICAgKHNldHEgb2JqZWN0IChlc2hlbGwtc3RyaW5n aWZ5IG9iamVjdCkpKQotICAgICAgKHByb2Nlc3Mtc2VuZC1zdHJpbmcgdGFyZ2V0IG9iamVj dCkpKQorICAgICh1bmxlc3MgKHN0cmluZ3Agb2JqZWN0KQorICAgICAgKHNldHEgb2JqZWN0 IChlc2hlbGwtc3RyaW5naWZ5IG9iamVjdCkpKQorICAgIChjb25kaXRpb24tY2FzZSBuaWwK KyAgICAgICAgKHByb2Nlc3Mtc2VuZC1zdHJpbmcgdGFyZ2V0IG9iamVjdCkKKyAgICAgIDs7 IElmIGBwcm9jZXNzLXNlbmQtc3RyaW5nJyByYWlzZXMgYW4gZXJyb3IsIHRyZWF0IGl0IGFz IGEgYnJva2VuIHBpcGUuCisgICAgICAoZXJyb3IgKHNpZ25hbCAnZXNoZWxsLXBpcGUtYnJv a2VuIHRhcmdldCkpKSkKIAogICAgKChjb25zcCB0YXJnZXQpCiAgICAgKGFwcGx5IChjYXIg dGFyZ2V0KSBvYmplY3QgKGNkciB0YXJnZXQpKSkpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVs bC9lc2gtcHJvYy5lbCBiL2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsCmluZGV4IGJiMjEzNmMw NmMuLjg2YWU2OTk3OGYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsCisr KyBiL2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsCkBAIC0zODYsOCArMzg2LDExIEBAIGVzaGVs bC1pbnNlcnRpb24tZmlsdGVyCiAJICAgICAgKGxldCAoKGRhdGEgKG50aCAzIGVudHJ5KSkp CiAJCShzZXRjYXIgKG50aGNkciAzIGVudHJ5KSBuaWwpCiAJCShzZXRjYXIgKG50aGNkciA0 IGVudHJ5KSB0KQotCQkoZXNoZWxsLW91dHB1dC1vYmplY3QgZGF0YSBuaWwgKGNhZHIgZW50 cnkpKQotCQkoc2V0Y2FyIChudGhjZHIgNCBlbnRyeSkgbmlsKSkpKSkpKSkpCisgICAgICAg ICAgICAgICAgKHVud2luZC1wcm90ZWN0CisgICAgICAgICAgICAgICAgICAgIChjb25kaXRp b24tY2FzZSBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwtb3V0cHV0LW9i amVjdCBkYXRhIG5pbCAoY2FkciBlbnRyeSkpCisgICAgICAgICAgICAgICAgICAgICAgKGVz aGVsbC1waXBlLWJyb2tlbiAoc2lnbmFsLXByb2Nlc3MgcHJvYyAnU0lHUElQRSkpKQorICAg ICAgICAgICAgICAgICAgKHNldGNhciAobnRoY2RyIDQgZW50cnkpIG5pbCkpKSkpKSkpKSkK IAogKGRlZnVuIGVzaGVsbC1zZW50aW5lbCAocHJvYyBzdHJpbmcpCiAgICJHZW5lcmljIHNl bnRpbmVsIGZvciBjb21tYW5kIHByb2Nlc3Nlcy4gIFJlcG9ydHMgb25seSBzaWduYWxzLgpA QCAtNDE2LDggKzQxOSwxMiBAQCBlc2hlbGwtc2VudGluZWwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAobGFtYmRhICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoaWYgKG50aCA0IGVudHJ5KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChydW4tYXQtdGltZSAwIG5pbCBmaW5pc2gtaW8pCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuIHN0ciAoZXNoZWxsLW91dHB1 dC1vYmplY3Qgc3RyIG5pbCBoYW5kbGVzKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGVzaGVsbC1jbG9zZS1oYW5kbGVzIHN0YXR1cyAnbmlsIGhhbmRsZXMp KSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW53aW5kLXBy b3RlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVu IHN0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXNo ZWxsLW91dHB1dC1vYmplY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0ciBuaWwgaGFuZGxlcykpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGVzaGVsbC1jbG9zZS1oYW5kbGVzCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyAnbmlsIGhhbmRsZXMpKSkpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgZmluaXNoLWlvKSkpKSkKIAkJKGVz aGVsbC1yZW1vdmUtcHJvY2Vzcy1lbnRyeSBlbnRyeSkpKSkKIAkoZXNoZWxsLWtpbGwtcHJv Y2Vzcy1mdW5jdGlvbiBwcm9jIHN0cmluZykpKSkpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3Av ZXNoZWxsL2VzaC1wcm9jLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtcHJvYy10 ZXN0cy5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5lN2VhNmMw MGQ2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtcHJvYy10ZXN0 cy5lbApAQCAtMCwwICsxLDQ1IEBACis7OzsgZXNoLXByb2MtdGVzdHMuZWwgLS0tIGVzaC1w cm9jIHRlc3Qgc3VpdGUgIC0qLSBsZXhpY2FsLWJpbmRpbmc6dCAtKi0KKworOzsgQ29weXJp Z2h0IChDKSAyMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlz IGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNv ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7 IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCis7OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRw czovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAn ZXJ0KQorKHJlcXVpcmUgJ2VzaC1tb2RlKQorKHJlcXVpcmUgJ2VzaGVsbCkKKworKHJlcXVp cmUgJ2VzaGVsbC10ZXN0cy1oZWxwZXJzCisgICAgICAgICAoZXhwYW5kLWZpbGUtbmFtZSAi ZXNoZWxsLXRlc3RzLWhlbHBlcnMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmls ZS1uYW1lLWRpcmVjdG9yeSAob3IgbG9hZC1maWxlLW5hbWUKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0LWRpcmVjdG9yeSkp KSkKKworKGVydC1kZWZ0ZXN0IGVzaC1wcm9jLXRlc3Qvc2lncGlwZS1leGl0cy1wcm9jZXNz ICgpCisgICJUZXN0IHRoYXQgYSBTSUdQSVBFIGlzIHByb3Blcmx5IHNlbnQgdG8gYSBwcm9j ZXNzIGlmIGEgcGlwZSBjbG9zZXMiCisgIChza2lwLXVubGVzcyAoYW5kIChleGVjdXRhYmxl LWZpbmQgInNoIikKKyAgICAgICAgICAgICAgICAgICAgKGV4ZWN1dGFibGUtZmluZCAiZWNo byIpCisgICAgICAgICAgICAgICAgICAgIChleGVjdXRhYmxlLWZpbmQgInNsZWVwIikpKQor ICAod2l0aC10ZW1wLWVzaGVsbAorICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1wCisgICAg OzsgVGhlIGZpcnN0IGNvbW1hbmQgaXMgbGlrZSBgeWVzJyBidXQgc2xvd2VyLiAgVGhpcyBp cyB0byBwcmV2ZW50CisgICAgOzsgaXQgZnJvbSB0YXhpbmcgRW1hY3MncyBwcm9jZXNzIGZp bHRlciB0b28gbXVjaCBhbmQgY2F1c2luZyBhCisgICAgOzsgaGFuZy4KKyAgICAoY29uY2F0 ICJzaCAtYyAnd2hpbGUgdHJ1ZTsgZG8gZWNobyB5OyBzbGVlcCAxOyBkb25lJyB8ICIKKyAg ICAgICAgICAgICJzaCAtYyAncmVhZCBOQU1FOyBlY2hvICR7TkFNRX0nIikKKyAgICAieVxu IikKKyAgIChlc2hlbGwtd2FpdC1mb3Itc3VicHJvY2VzcyB0KQorICAgKHNob3VsZCAoZXEg KHByb2Nlc3MtbGlzdCkgbmlsKSkpKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9l c2hlbGwtdGVzdHMtaGVscGVycy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3Rz LWhlbHBlcnMuZWwKaW5kZXggMzNjZGQ2MDExMy4uZjk0NDE5NGEyYiAxMDA2NDQKLS0tIGEv dGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMtaGVscGVycy5lbAorKysgYi90ZXN0L2xp c3AvZXNoZWxsL2VzaGVsbC10ZXN0cy1oZWxwZXJzLmVsCkBAIC01MCwxNSArNTAsMTggQEAg d2l0aC10ZW1wLWVzaGVsbAogICAgICAgICAgKGxldCAoa2lsbC1idWZmZXItcXVlcnktZnVu Y3Rpb25zKQogICAgICAgICAgICAoa2lsbC1idWZmZXIgZXNoZWxsLWJ1ZmZlcikpKSkpKQog Ci0oZGVmdW4gZXNoZWxsLXdhaXQtZm9yLXN1YnByb2Nlc3MgKCkKKyhkZWZ1biBlc2hlbGwt d2FpdC1mb3Itc3VicHJvY2VzcyAoJm9wdGlvbmFsIGFsbCkKICAgIldhaXQgdW50aWwgdGhl cmUgaXMgbm8gaW50ZXJhY3RpdmUgc3VicHJvY2VzcyBydW5uaW5nIGluIEVzaGVsbC4KK0lm IEFMTCBpcyBub24tbmlsLCB3YWl0IHVudGlsIHRoZXJlIGFyZSBubyBFc2hlbGwgc3VicHJv Y2Vzc2VzIGF0CithbGwgcnVubmluZy4KKwogSWYgdGhpcyB0YWtlcyBsb25nZXIgdGhhbiBg ZXNoZWxsLXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUnLAogcmFpc2UgYW4gZXJyb3IuIgog ICAobGV0ICgoc3RhcnQgKGN1cnJlbnQtdGltZSkpKQotICAgICh3aGlsZSAoZXNoZWxsLWlu dGVyYWN0aXZlLXByb2Nlc3MtcCkKKyAgICAod2hpbGUgKGlmIGFsbCBlc2hlbGwtcHJvY2Vz cy1saXN0IChlc2hlbGwtaW50ZXJhY3RpdmUtcHJvY2Vzcy1wKSkKICAgICAgICh3aGVuICg+ IChmbG9hdC10aW1lICh0aW1lLXNpbmNlIHN0YXJ0KSkKICAgICAgICAgICAgICAgIGVzaGVs bC10ZXN0LS1tYXgtc3VicHJvY2Vzcy10aW1lKQotICAgICAgICAoZXJyb3IgInRpbWVkIG91 dCB3YWl0aW5nIGZvciBzdWJwcm9jZXNzIikpCisgICAgICAgIChlcnJvciAidGltZWQgb3V0 IHdhaXRpbmcgZm9yIHN1YnByb2Nlc3MoZXMpIikpCiAgICAgICAoc2l0LWZvciAwLjEpKSkp CiAKIChkZWZ1biBlc2hlbGwtaW5zZXJ0LWNvbW1hbmQgKHRleHQgJm9wdGlvbmFsIGZ1bmMp Ci0tIAoyLjI1LjEKCg== --------------B285E3C11C890219AF4F502F-- From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 19 03:35:43 2022 Received: (at 54062) by debbugs.gnu.org; 19 Feb 2022 08:35:43 +0000 Received: from localhost ([127.0.0.1]:56826 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLLDT-0007lY-07 for submit@debbugs.gnu.org; Sat, 19 Feb 2022 03:35:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38532) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLLDQ-0007lL-Hh for 54062@debbugs.gnu.org; Sat, 19 Feb 2022 03:35:41 -0500 Received: from [2001:470:142:3::e] (port=50264 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLLDL-0005Ia-7I; Sat, 19 Feb 2022 03:35:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=TpEiQpWmIZZi11GfoA0kkGa5XJlUAigQVq9UQHIPuI8=; b=SnpQ0x3CSj8l 7kDAzyd0lsPkjJnxcCT7vtH173ErEhIhgg/SIopdY+RuXGHAmY4Rhqq/i2ndzNGddKF0lVC2O6Pm1 /Ic4yhKSKTwhr5L3vh9+nowUYbPyRKgJwJ8UnL8/hquEVWMOMf3oJVoZ5oHKF/ovSZ08B+tcJfudN U1vgwbvOArMEari4CXeXo3sxsP1SFlKqKdFShtzXRQXLD/axkKj6OnS4ubdkFok6j/v9EYSDcutwO ArHuO0/vXf+UHKz6CYVHmwSTyZOjBqXqtx60QXFT7ewiJMSgUE/V4nUfbWJh/g1QebL2+XP8Si1YB 0CfhTI8fxg/DPrjNwE7tJg==; Received: from [87.69.77.57] (port=2571 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLLDK-0003r4-M8; Sat, 19 Feb 2022 03:35:35 -0500 Date: Sat, 19 Feb 2022 10:35:33 +0200 Message-Id: <83mtinz222.fsf@gnu.org> From: Eli Zaretskii To: Jim Porter In-Reply-To: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> (message from Jim Porter on Fri, 18 Feb 2022 20:20:10 -0800) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54062 Cc: 54062@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: -3.3 (---) > From: Jim Porter > Date: Fri, 18 Feb 2022 20:20:10 -0800 > > Consider the following shell command: > > yes | sh -c 'read NAME' > > Ordinarily, you'd expect that `sh' reads a single "y", exits, and then > the next time `yes' tries to write, it finds that the pipe was broken. > However, that's not what happens in Eshell. Running the above and then > calling `M-x list-processes' will show that `yes' is still running. > > Attached is a patch (with a test) to fix this by telling Eshell to > signal SIGPIPE at the appropriate time. SIGPIPE isn't supported on MS-Windows, so I think we should have a fallback there for platforms that don't support SIGPIPE. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 19 15:02:55 2022 Received: (at 54062) by debbugs.gnu.org; 19 Feb 2022 20:02:55 +0000 Received: from localhost ([127.0.0.1]:58775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLVwU-0007EK-W9 for submit@debbugs.gnu.org; Sat, 19 Feb 2022 15:02:55 -0500 Received: from mail-pj1-f53.google.com ([209.85.216.53]:35422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLVwT-0007E4-2u for 54062@debbugs.gnu.org; Sat, 19 Feb 2022 15:02:53 -0500 Received: by mail-pj1-f53.google.com with SMTP id a11-20020a17090a740b00b001b8b506c42fso15329748pjg.0 for <54062@debbugs.gnu.org>; Sat, 19 Feb 2022 12:02:53 -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=wwcehHi7Q+lr+auYIlghnEQbKKaZUSise4yJoyu+gcg=; b=OyDszSUN9ZumvAZ0et4CWlcQoAX8po26WC1NxcB44rcpkE1xnggnZ2HiMtiYTck/u6 3tgN20kSSk9hNhetiWllkLSydoHALRqu+pt4n7uJheHFurOTOf6YyuwtTTdUtPVqSAWs A+Al4BsihI9emBSyter4M/d+GQjTqZpPP8EL+gmLzDftiVTg/SDgmnMndp+6TmMOvNVB oX7epamEpYHxSu4/8+uYhpELSBMGhHAY/j+raPOO3sikxH3L51ED0nHY2d+1tXdnanoG fZdSs5OHi/1hdvuJmlQ6Xmkqc5HSw2NRg8POQ+Y6wewWqLsdQUEcsXO0oqPLRmATLbLf nDZg== 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=wwcehHi7Q+lr+auYIlghnEQbKKaZUSise4yJoyu+gcg=; b=JhXSOXf7ln9ala+6DoWOA9pA1+VzCnLWR00cJPyz/+WeUYBrsBVMD2O+7vUvZl0+WR 9X9CgeeHvli8CRtkfxPQ8/Y5iop2xNudUzCLd2degFdWf2/dstTB2xy7K7o0GGT9ETkx Jx0Ctji69k1OdyfteaBt6DvFrHDwrWN0UQrCHfRm6l/J93+EtxOsJNFcwVKqbF5zrEeC uWsw/tZgXesrNnEU49aV+/IJmhxx4BHap6AFzhd5OffTbTPvO/mUPQEcM//vtOqdv2Jl FeHjdSW5nUYK0JtAkQqpoFZWJRvwa/t1j5j1edK1MubQL0tGtW6hlieimN6jSqnGr+YF 0w1g== X-Gm-Message-State: AOAM530th4tTmGLh1OE6+KNYzGK80/ATPilgVpnydAi1Kpgeex07UaGi mFL97gyoK1gf93wZXSo8lig5xN6l8uM= X-Google-Smtp-Source: ABdhPJwkoOHtixiUDPE7ddD7C3JJsrupu1IrTVa83ftS+jBuSilusNRhUWV46vyZPDKm3ZaPXV6pGA== X-Received: by 2002:a17:903:283:b0:14d:6e68:27cb with SMTP id j3-20020a170903028300b0014d6e6827cbmr12704009plr.80.1645300967039; Sat, 19 Feb 2022 12:02: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 m14sm7476953pfc.170.2022.02.19.12.02.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 19 Feb 2022 12:02:46 -0800 (PST) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken To: Eli Zaretskii References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> From: Jim Porter Message-ID: Date: Sat, 19 Feb 2022 12:02:45 -0800 MIME-Version: 1.0 In-Reply-To: <83mtinz222.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------AE4EE568D2E254636385C365" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54062 Cc: 54062@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 (-) This is a multi-part message in MIME format. --------------AE4EE568D2E254636385C365 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2/19/2022 12:35 AM, Eli Zaretskii wrote: >> From: Jim Porter >> Date: Fri, 18 Feb 2022 20:20:10 -0800 >> >> Consider the following shell command: >> >> yes | sh -c 'read NAME' >> >> Ordinarily, you'd expect that `sh' reads a single "y", exits, and then >> the next time `yes' tries to write, it finds that the pipe was broken. >> However, that's not what happens in Eshell. Running the above and then >> calling `M-x list-processes' will show that `yes' is still running. >> >> Attached is a patch (with a test) to fix this by telling Eshell to >> signal SIGPIPE at the appropriate time. > > SIGPIPE isn't supported on MS-Windows, so I think we should have a > fallback there for platforms that don't support SIGPIPE. Hmm, good point. Thinking about this some more, this also won't work for Tramp (which only supports `interrupt-process' as far as I can tell). I can think of a couple possible solutions. One option would be to call `interrupt-process' instead, since that works in all cases I'm aware of. This isn't quite as nice as sending SIGPIPE (or equivalent) to let the process handle it how it wants, but at least `interrupt-process' has the same default behavior as SIGPIPE (i.e. terminate the process). Another way would be to add a function like `process-break-pipe' (it could probably use a better name) that would close the read end of the process's output pipe, which - if I understand the Win32 API here - should trigger the right behavior on MS Windows too. It should work for Tramp too, although Tramp might need a bit of tweaking to handle this case. I've attached an outline of what this could look like; it applies on top of my previous patches. One caveat is that the head process (`yes' in the example), would only see the "broken pipe" error on the *next* write after the one where Eshell detected the broken pipe. That's easy enough to fix for cases where we can signal SIGPIPE directly, but it's probably ok in general too: after all, processes don't generally know exactly when a SIGPIPE might occur, so it occurring slightly later shouldn't cause problems. (In theory, the tail process should call `process-break-pipe' as soon as it closes, but in Eshell, the tail process doesn't know what's feeding it input, so it can't easily do this.) What do you think? Is this a sensible avenue to go down? There's probably room to discuss what the API should look like, but I wanted to be sure I was on the right track before I went too far. --------------AE4EE568D2E254636385C365 Content-Type: text/plain; charset=UTF-8; name="process-break-pipe.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="process-break-pipe.patch" ZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsIGIvbGlzcC9lc2hlbGwvZXNo LXByb2MuZWwKaW5kZXggODZhZTY5OTc4Zi4uYjgzMzY1N2M0NiAxMDA2NDQKLS0tIGEvbGlz cC9lc2hlbGwvZXNoLXByb2MuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwKQEAg LTM4OSw3ICszODksMTIgQEAgZXNoZWxsLWluc2VydGlvbi1maWx0ZXIKICAgICAgICAgICAg ICAgICAodW53aW5kLXByb3RlY3QKICAgICAgICAgICAgICAgICAgICAgKGNvbmRpdGlvbi1j YXNlIG5pbAogICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1vdXRwdXQtb2JqZWN0 IGRhdGEgbmlsIChjYWRyIGVudHJ5KSkKLSAgICAgICAgICAgICAgICAgICAgICAoZXNoZWxs LXBpcGUtYnJva2VuIChzaWduYWwtcHJvY2VzcyBwcm9jICdTSUdQSVBFKSkpCisgICAgICAg ICAgICAgICAgICAgICAgKGVzaGVsbC1waXBlLWJyb2tlbgorICAgICAgICAgICAgICAgICAg ICAgICA7OyBOb3RlOiB0aGlzIHdpbGwgdHJpZ2dlciBhIGJyb2tlbiBwaXBlIGVycm9yCisg ICAgICAgICAgICAgICAgICAgICAgIDs7IGZvciB0aGUgcHJvY2VzcyB0aGUgKm5leHQqIHRp bWUgaXQgdHJpZXMgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgOzsgd3JpdGUuICBXZSBj b3VsZCBhbHNvIG9wcG9ydHVuaXN0aWNhbGx5IHNlbmQKKyAgICAgICAgICAgICAgICAgICAg ICAgOzsgU0lHUElQRSBoZXJlIHRvIG5vdGlmeSB0aGUgcHJvY2VzcyBzb29uZXIuCisgICAg ICAgICAgICAgICAgICAgICAgIChwcm9jZXNzLWJyZWFrLXBpcGUgcHJvYykpKQogICAgICAg ICAgICAgICAgICAgKHNldGNhciAobnRoY2RyIDQgZW50cnkpIG5pbCkpKSkpKSkpKSkKIAog KGRlZnVuIGVzaGVsbC1zZW50aW5lbCAocHJvYyBzdHJpbmcpCmRpZmYgLS1naXQgYS9zcmMv cHJvY2Vzcy5jIGIvc3JjL3Byb2Nlc3MuYwppbmRleCA5NGNjODgwMDk3Li4xMmNkMzk1Y2Yz IDEwMDY0NAotLS0gYS9zcmMvcHJvY2Vzcy5jCisrKyBiL3NyYy9wcm9jZXNzLmMKQEAgLTIy OTcsNiArMjI5NywxNiBAQCBjcmVhdGVfcHR5IChMaXNwX09iamVjdCBwcm9jZXNzKQogICBw LT5waWQgPSAtMjsKIH0KIAorREVGVU4gKCJwcm9jZXNzLWJyZWFrLXBpcGUiLCBGcHJvY2Vz c19icmVha191cCwgU3Byb2Nlc3NfYnJlYWtfcGlwZSwKKyAgICAgICAxLCAxLCAwLAorICAg ICAgIGRvYzogLyogQ2xvc2UgdGhlIHJlYWQgZW5kIG9mIHRoZSBwcm9jZXNzJ3Mgb3V0cHV0 IHBpcGUuICovKQorICAocmVnaXN0ZXIgTGlzcF9PYmplY3QgcHJvY2VzcykKK3sKKyAgQ0hF Q0tfUFJPQ0VTUyAocHJvY2Vzcyk7CisgIGNsb3NlX3Byb2Nlc3NfZmQgKCZYUFJPQ0VTUyAo cHJvY2VzcyktPm9wZW5fZmRbUkVBRF9GUk9NX1NVQlBST0NFU1NdKTsKKyAgcmV0dXJuIFFu aWw7Cit9CisKIERFRlVOICgibWFrZS1waXBlLXByb2Nlc3MiLCBGbWFrZV9waXBlX3Byb2Nl c3MsIFNtYWtlX3BpcGVfcHJvY2VzcywKICAgICAgICAwLCBNQU5ZLCAwLAogICAgICAgIGRv YzogLyogQ3JlYXRlIGFuZCByZXR1cm4gYSBiaWRpcmVjdGlvbmFsIHBpcGUgcHJvY2Vzcy4K QEAgLTg2MTUsNiArODYyNSw3IEBAIHN5bXNfb2ZfcHJvY2VzcyAodm9pZCkKICAgZGVmc3Vi ciAoJlNzZXRfcHJvY2Vzc19idWZmZXIpOwogICBkZWZzdWJyICgmU3Byb2Nlc3NfYnVmZmVy KTsKICAgZGVmc3ViciAoJlNwcm9jZXNzX21hcmspOworICBkZWZzdWJyICgmU3Byb2Nlc3Nf YnJlYWtfcGlwZSk7CiAgIGRlZnN1YnIgKCZTc2V0X3Byb2Nlc3NfZmlsdGVyKTsKICAgZGVm c3ViciAoJlNwcm9jZXNzX2ZpbHRlcik7CiAgIGRlZnN1YnIgKCZTc2V0X3Byb2Nlc3Nfc2Vu dGluZWwpOwo= --------------AE4EE568D2E254636385C365-- From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 19 15:19:35 2022 Received: (at 54062) by debbugs.gnu.org; 19 Feb 2022 20:19:35 +0000 Received: from localhost ([127.0.0.1]:58784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLWCc-0007cF-RE for submit@debbugs.gnu.org; Sat, 19 Feb 2022 15:19:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40994) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLWCb-0007c3-7J for 54062@debbugs.gnu.org; Sat, 19 Feb 2022 15:19:33 -0500 Received: from [2001:470:142:3::e] (port=40932 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLWCV-00032R-Vh; Sat, 19 Feb 2022 15:19:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=ukiEW5to9ZLQK2LAuBw4NaB5WwfHwPXScckEmxw2ZDw=; b=MVCD+6QabB22 CuMZHzczOtVMgy+m3cpv6Dn6gem6GIA1fFnR+peDhuD59U7dve9UisAMkTKckJFDyuBeFaSFEiBxG M3uqXawSpd+BIxLlyEG3vQHctSjNVkxMyQGFCUPqdFcq0ZDeliu6LgyUyt3S7E+d7vtiWLHbMhdmu TvQMkNFu/Uut1kXIyrg11utuQM7FmKXg7azsTbVW7/T2lHnr7IYpHsNxvaurEzyh1yCmYIwG2AhOX YAgJfItG1sYRQu2Ukcib4SnwcGBBUnLZs19D4bkJjT9+aTsb8DI2ZPsMHJbLDooV4+HRBt4nTYogr N/8WWArTLaPRt97a3H3GDQ==; Received: from [87.69.77.57] (port=2588 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLWCV-00011z-K7; Sat, 19 Feb 2022 15:19:27 -0500 Date: Sat, 19 Feb 2022 22:19:26 +0200 Message-Id: <83ley6y5gx.fsf@gnu.org> From: Eli Zaretskii To: Jim Porter In-Reply-To: (message from Jim Porter on Sat, 19 Feb 2022 12:02:45 -0800) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54062 Cc: 54062@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: -3.3 (---) > Cc: 54062@debbugs.gnu.org > From: Jim Porter > Date: Sat, 19 Feb 2022 12:02:45 -0800 > > > SIGPIPE isn't supported on MS-Windows, so I think we should have a > > fallback there for platforms that don't support SIGPIPE. > > Hmm, good point. Thinking about this some more, this also won't work for > Tramp (which only supports `interrupt-process' as far as I can tell). I > can think of a couple possible solutions. > > One option would be to call `interrupt-process' instead, since that > works in all cases I'm aware of. This isn't quite as nice as sending > SIGPIPE (or equivalent) to let the process handle it how it wants, but > at least `interrupt-process' has the same default behavior as SIGPIPE > (i.e. terminate the process). Many console programs catch SIGINT, though. Can't we terminate ("kill") the process instead? Or maybe deleting the process object is enough? > Another way would be to add a function like `process-break-pipe' (it > could probably use a better name) that would close the read end of the > process's output pipe, which - if I understand the Win32 API here - > should trigger the right behavior on MS Windows too. You mean, delete the process object? That's how we close our end of the pipe, no? > One caveat is that the head process (`yes' in the example), would only > see the "broken pipe" error on the *next* write after the one where > Eshell detected the broken pipe. That's easy enough to fix for cases > where we can signal SIGPIPE directly, but it's probably ok in general > too: after all, processes don't generally know exactly when a SIGPIPE > might occur, so it occurring slightly later shouldn't cause problems. I don't see a problem here. AFAIU, closing a pipe doesn't always deliver SIGPIPE, it can instead fail the write with EPIPE. So SIGPIPE is not guaranteed anyway. > (In theory, the tail process should call `process-break-pipe' as soon as > it closes, but in Eshell, the tail process doesn't know what's feeding > it input, so it can't easily do this.) Not sure I understand: an Emacs process object always knows what's feeding it. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 19 16:18:25 2022 Received: (at 54062) by debbugs.gnu.org; 19 Feb 2022 21:18:25 +0000 Received: from localhost ([127.0.0.1]:58829 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLX7Z-0000fR-3R for submit@debbugs.gnu.org; Sat, 19 Feb 2022 16:18:25 -0500 Received: from mail-pg1-f172.google.com ([209.85.215.172]:36649) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLX7X-0000fE-7z for 54062@debbugs.gnu.org; Sat, 19 Feb 2022 16:18:23 -0500 Received: by mail-pg1-f172.google.com with SMTP id h125so10866263pgc.3 for <54062@debbugs.gnu.org>; Sat, 19 Feb 2022 13:18:23 -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:content-transfer-encoding; bh=TFJQ3jQaKnQaosNHg9zdyH3eGlBOxNUhAiZik4TdUeQ=; b=lCWXhJBUwKuqvygw9Ytr2x8Y69+6WAdNppzDSxIVzxXcRxhvZnWzY1J48g/ZcCLBdP rFxiwwKFvRtTLHtOK7iSyQSegL9VoTTuF7gkYDXkoMp+ishd9+H07l5QYXhULCjlZBpj gxlfDsJlgQdx8tJe8XzxSsIHHGqb4LnUFk2Pt8bqPG41wv2pu4yjqwK2tf8Wc16hhz7+ aLwlNZQn7ePeVztjjRQXutcJBb7GxioGDtpEu0Y0IFgQuyO9XvOpC2h+HtcxVYfN1VUZ McuHJhC9yyAK7AP6Np9apX/LDbQXAQeofLOGm9TqZomFx6UVLmQrYlOXVHMNOEDtK1hT 0p/A== 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:content-transfer-encoding; bh=TFJQ3jQaKnQaosNHg9zdyH3eGlBOxNUhAiZik4TdUeQ=; b=KXwdEjLZQvRo5N7q6IZZrqg26NVj9678VMjJ+E34LLXykSeIE9SlCJhdWI/6T6+9zQ cRW/uvqZdxbSp6Hfk+S1WYC6oG7P2qW1S8FkhvJWIJ5JwkrabAE24JYnHMgRvD9PoeTN ZRS0pntYX2Rh3/ZjDRn2uV2QeGjb73eFcmE1BRkeWUYZ2gOnI5rJJ9RzH2rmYDo+tIPB HE6Gx+XVhQe/GA1+LxLYSb2gMpKTO+VrtHOkQDgHapkyhiszwz+h9N2XHM7OHEE1RozQ d3t/FkBum/jy9kDYhAL5tYB2+VDbBK8ILW8bFJxd2CcXGJQ7i0h3SydrzP9aAD0aMjjO qifg== X-Gm-Message-State: AOAM530S71YPP41Qhc6hXsA9iIZ+8wv9VK1sJjS8KefGOA4Hs0Ii1j86 5fKdV+rPHUP6vHxuvf02R2STfaxPQkQ= X-Google-Smtp-Source: ABdhPJyjrUCgEI7weKEJvEF12Zcnrxx4nZud0kkayLlDFIH81LhxGhv+vJVWp+BiQPNIzKxyumAZvg== X-Received: by 2002:a05:6a00:1995:b0:4e1:a7dd:96d6 with SMTP id d21-20020a056a00199500b004e1a7dd96d6mr13400126pfl.16.1645305497232; Sat, 19 Feb 2022 13:18:17 -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 y191sm7831564pfb.78.2022.02.19.13.18.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 19 Feb 2022 13:18:16 -0800 (PST) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken To: Eli Zaretskii References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> From: Jim Porter Message-ID: Date: Sat, 19 Feb 2022 13:18:16 -0800 MIME-Version: 1.0 In-Reply-To: <83ley6y5gx.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54062 Cc: 54062@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 2/19/2022 12:19 PM, Eli Zaretskii wrote: >> Cc: 54062@debbugs.gnu.org >> From: Jim Porter >> Date: Sat, 19 Feb 2022 12:02:45 -0800 >> >> One option would be to call `interrupt-process' instead, since that >> works in all cases I'm aware of. This isn't quite as nice as sending >> SIGPIPE (or equivalent) to let the process handle it how it wants, but >> at least `interrupt-process' has the same default behavior as SIGPIPE >> (i.e. terminate the process). > > Many console programs catch SIGINT, though. > > Can't we terminate ("kill") the process instead? Or maybe deleting > the process object is enough? That might work; it would definitely be better than `interrupt-process'. On the other hand, I think it would be nice to handle this case by breaking the pipe if possible, since that would be closer to how it works in regular shells, as I understand it. >> Another way would be to add a function like `process-break-pipe' (it >> could probably use a better name) that would close the read end of the >> process's output pipe, which - if I understand the Win32 API here - >> should trigger the right behavior on MS Windows too. > > You mean, delete the process object? That's how we close our end of > the pipe, no? Do you mean using `delete-process'? That works differently from how I'm imagining things. From reading the code, `delete-process' sends SIGKILL to the process group, but that means that a process that wants to do something special in response to SIGPIPE (or EPIPE, or ERROR_BROKEN_PIPE on Win32) wouldn't be able to, since that's not the signal/error it receives. In my patch, `process-break-pipe' just closes the file descriptor for the read end of the process's stdout pipe, but otherwise doesn't do anything to the process. Then, when the process tries to write to stdout again, the OS will report (via a signal and/or an error code) that the pipe is broken. Since Win32's WriteFile[1] API returns ERROR_BROKEN_PIPE in this case, that would let MS Windows programs detect and respond to broken pipes in the usual way for that platform. >> One caveat is that the head process (`yes' in the example), would only >> see the "broken pipe" error on the *next* write after the one where >> Eshell detected the broken pipe. That's easy enough to fix for cases >> where we can signal SIGPIPE directly, but it's probably ok in general >> too: after all, processes don't generally know exactly when a SIGPIPE >> might occur, so it occurring slightly later shouldn't cause problems. > > I don't see a problem here. AFAIU, closing a pipe doesn't always > deliver SIGPIPE, it can instead fail the write with EPIPE. So SIGPIPE > is not guaranteed anyway. Agreed, I don't think this is really a problem. I just wanted to note that the behavior is slightly different from how someone might expect it to work in a regular shell. (In any case, I think SIGPIPE and EPIPE occur at effectively the same time, and you would check for the latter if you ignored SIGPIPE, for example.[2] Maybe this comes with some caveats or is specific to glibc though.) >> (In theory, the tail process should call `process-break-pipe' as soon as >> it closes, but in Eshell, the tail process doesn't know what's feeding >> it input, so it can't easily do this.) > > Not sure I understand: an Emacs process object always knows what's > feeding it. Emacs process objects could probably do it, but I'm not sure if Eshell's pipelines are able to without being reworked. Eshell pipelines are assembled pretty indirectly; the output of one process goes through a process-filter and into `eshell-output-object', which looks up where to send the data in `eshell-current-handles' (which in turn is let-bound so each process has its own copy). It would probably take quite a bit of work for a process to figure out what's feeding it from its process-sentinel, since that happens in a different context than where the pipeline is constructed. Maybe it's feasible, but if we agree that my caveat in the section above isn't a problem, it would probably be simpler to avoid the extra effort. [1] https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-writefile [2] https://www.gnu.org/software/libc/manual/html_node/Operation-Error-Signals.html From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 20 02:27:18 2022 Received: (at 54062) by debbugs.gnu.org; 20 Feb 2022 07:27:18 +0000 Received: from localhost ([127.0.0.1]:59265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLgcn-0003nR-NP for submit@debbugs.gnu.org; Sun, 20 Feb 2022 02:27:18 -0500 Received: from eggs.gnu.org ([209.51.188.92]:53292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLgcl-0003nC-7U for 54062@debbugs.gnu.org; Sun, 20 Feb 2022 02:27:15 -0500 Received: from [2001:470:142:3::e] (port=51736 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLgcf-0006UR-Uv; Sun, 20 Feb 2022 02:27:09 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Y7nBsFUHd6thGk+I0R5ZJ4xbTDkWVdyd920Mac0BH1E=; b=E+aLTgLHwemz dMbGunegYkeBJKCxVSCYvzvWnHxKuWLEoeacTBl1kWDtVOUjbObhbws2M8FmoWlB/qNklzuwgeqef GsJmSswocHIGlKcxoLR8gTuOJaahm7OBr5UIT3drg/qejry+mqunleLTSF9NY+PKmtlxULjImsy6M QgBwF1dWyNjEcuwZTrV8mIscWUeUonG9tt3vX+RiFT7EBsxKokpNEURwsjrZUWRIXRVorBX+28tDH sZSCx9xwpvRF+22YsH3BDrTR390am7boPGMY5pl5d6Z536SujiSvsM95ccdK3stYidfcORXUCyKG1 AnjmJYKFy7VU7xn/7iU+8A==; Received: from [87.69.77.57] (port=3862 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLgcc-0005S4-Fn; Sun, 20 Feb 2022 02:27:09 -0500 Date: Sun, 20 Feb 2022 09:27:08 +0200 Message-Id: <83a6emxak3.fsf@gnu.org> From: Eli Zaretskii To: Jim Porter In-Reply-To: (message from Jim Porter on Sat, 19 Feb 2022 13:18:16 -0800) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54062 Cc: 54062@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: -3.3 (---) > Cc: 54062@debbugs.gnu.org > From: Jim Porter > Date: Sat, 19 Feb 2022 13:18:16 -0800 > > > Many console programs catch SIGINT, though. > > > > Can't we terminate ("kill") the process instead? Or maybe deleting > > the process object is enough? > > That might work; it would definitely be better than `interrupt-process'. > On the other hand, I think it would be nice to handle this case by > breaking the pipe if possible, since that would be closer to how it > works in regular shells, as I understand it. I meant killing the process as fallback for when SIGPIPE is not supported. > >> Another way would be to add a function like `process-break-pipe' (it > >> could probably use a better name) that would close the read end of the > >> process's output pipe, which - if I understand the Win32 API here - > >> should trigger the right behavior on MS Windows too. > > > > You mean, delete the process object? That's how we close our end of > > the pipe, no? > > Do you mean using `delete-process'? That works differently from how I'm > imagining things. From reading the code, `delete-process' sends SIGKILL > to the process group, but that means that a process that wants to do > something special in response to SIGPIPE (or EPIPE, or ERROR_BROKEN_PIPE > on Win32) wouldn't be able to, since that's not the signal/error it > receives. How else can you close the pipe without deleting the process? How can Emacs have a process whose I/O channels aren't ready to be used? I thought you were talking about a pipe process (make-pipe-process), in which case deleting it closes the pipe. But you seem to mean something else, so now I'm not sure I understand. > In my patch, `process-break-pipe' just closes the file descriptor for > the read end of the process's stdout pipe, but otherwise doesn't do > anything to the process. I don't think this is a good idea. A process isn't supposed to be in this state. > Then, when the process tries to write to stdout > again, the OS will report (via a signal and/or an error code) that the > pipe is broken. Since Win32's WriteFile[1] API returns ERROR_BROKEN_PIPE > in this case, that would let MS Windows programs detect and respond to > broken pipes in the usual way for that platform. We don't use WriteFile directly, and I wouldn't rely on EPIPE being in errno in this case without extensive testing. Anyway, the proposal to close the pipe of a live process object is problematic, see above. I hope we can come up with something simpler. We are talking about a niche feature here, so it is IMO better to find a simple solution for that. From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 20 15:17:18 2022 Received: (at 54062) by debbugs.gnu.org; 20 Feb 2022 20:17:19 +0000 Received: from localhost ([127.0.0.1]:33951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLsdy-0006sF-8U for submit@debbugs.gnu.org; Sun, 20 Feb 2022 15:17:18 -0500 Received: from mail-pl1-f173.google.com ([209.85.214.173]:42606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nLsdw-0006nj-3e for 54062@debbugs.gnu.org; Sun, 20 Feb 2022 15:17:16 -0500 Received: by mail-pl1-f173.google.com with SMTP id c3so1630311plh.9 for <54062@debbugs.gnu.org>; Sun, 20 Feb 2022 12:17:16 -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=TxytXu5hDJi/2crwqEL2HkXnft7bPmfYFDmlgBIkNcQ=; b=Iju284BCpbC8vox/AmO7irJA/bc9tFVxj/hdlML1IzKX0wx2C7cQA1IfirgrVqv6cc awVeVmfJVwrzRG9XAXC4czIfG4ZuFiYpxYlo0VKvcrJNxItdlNBjqJP3ZkJz93Tllqrh 3Z9U1ev+z953idnj8YGiDGC3CeR57/u9EQDAD83gDybZJ7/faQwEJWr4FhOmBFkTV+wV VqZlPmraHiXf1gmQiIuemCQNrluqfHsZ33mv+8VBlviToy4VIJThwYUKiuUOXtnP/orz PUh0WNfJGeKMpyYXLeMxM5X93JZqm9G2j85b0PpwgV1Xp2Zsa1mjJYERVKtUiOpA4unM 5JrA== 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=TxytXu5hDJi/2crwqEL2HkXnft7bPmfYFDmlgBIkNcQ=; b=wN7UtT5KxFnP3ZHQLOe5O7mOUXfV2rhHzh/Ttsk8aeAkQwJJWRa7ze0p40allghFuB XACbusil4y4TXwwO1mQ0QS3aMdibHcPMiiMcttEMJwtl05hA6M4DIYFlruUdGxrthb2u OHBqr9kLhYhEC3GNCOWhLCm7ucI9L+jEKuVzqowGmXbz014KJkUVj3C3LJ+q0inwDhj9 Ki+VnbFDVcHWQmSnaQRrkPvjJoziuXHhSf0dnQqgc2zozI26VhlbAvlyxkHHGvi9LI0b +V3fbkRlShIiAk2+/yNL+FCi6mU6MEPE6qRDUvkRqc/4XZ2wAMT2OabzRcAEMo0Rf+ZB DAdw== X-Gm-Message-State: AOAM532PiEdTKFcX64ug1HIFm536Q3ndCU1hPjO97q9MoUIPl8apEb+Y j6XmHB3G9LaxirKCdK3KP2R7ZBIDIdw= X-Google-Smtp-Source: ABdhPJyp/F1PCjArxYIRg0F5M/x00nb/WJ8PlTNdzrSk79SUvbIGA64f+Js8Xjh+VmKpCqcCIArLVA== X-Received: by 2002:a17:902:f20c:b0:14f:b0a4:726a with SMTP id m12-20020a170902f20c00b0014fb0a4726amr3171309plc.47.1645388230120; Sun, 20 Feb 2022 12:17:10 -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 a15sm15785508pgd.11.2022.02.20.12.17.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 20 Feb 2022 12:17:09 -0800 (PST) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken To: Eli Zaretskii References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> From: Jim Porter Message-ID: <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> Date: Sun, 20 Feb 2022 12:17:08 -0800 MIME-Version: 1.0 In-Reply-To: <83a6emxak3.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------649AAEDE1541CE14DAD2A0A3" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54062 Cc: 54062@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 (-) This is a multi-part message in MIME format. --------------649AAEDE1541CE14DAD2A0A3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2/19/2022 11:27 PM, Eli Zaretskii wrote: >> Cc: 54062@debbugs.gnu.org >> From: Jim Porter >> Date: Sat, 19 Feb 2022 13:18:16 -0800 >> >>> Many console programs catch SIGINT, though. >>> >>> Can't we terminate ("kill") the process instead? Or maybe deleting >>> the process object is enough? >> >> That might work; it would definitely be better than `interrupt-process'. >> On the other hand, I think it would be nice to handle this case by >> breaking the pipe if possible, since that would be closer to how it >> works in regular shells, as I understand it. > > I meant killing the process as fallback for when SIGPIPE is not > supported. Ok, I've updated the patch to do this, with a note about how the behavior isn't quite correct. The current patch should work in most real-world cases, but if someone runs into a bug with this, hopefully the comment will point them in the right direction. Note: I've only attached the updated patch here; parts 1-3 didn't change, so they're the same as in my original message[1]. >> Do you mean using `delete-process'? That works differently from how I'm >> imagining things. From reading the code, `delete-process' sends SIGKILL >> to the process group, but that means that a process that wants to do >> something special in response to SIGPIPE (or EPIPE, or ERROR_BROKEN_PIPE >> on Win32) wouldn't be able to, since that's not the signal/error it >> receives. > > How else can you close the pipe without deleting the process? How can > Emacs have a process whose I/O channels aren't ready to be used? > > I thought you were talking about a pipe process (make-pipe-process), > in which case deleting it closes the pipe. But you seem to mean > something else, so now I'm not sure I understand. By "pipe", I meant the pair of file descriptors created by the pipe function (technically, `emacs_pipe') inside `create_process'. In this case, the subprocess being created will get the write end of that pipe, while Emacs gets the read end. If Emacs closes the read end of the pipe, then the next time the subprocess tries to write to its end of the pipe, it will get an error (SIGPIPE, EPIPE, or ERROR_BROKEN_PIPE, depending on the situation). That's the behavior that the subprocess would expect: if the pipe for its stdout fd is broken, the error should refer to that problem (e.g. via signalling SIGPIPE). Raising the error in a different way (e.g. via SIGKILL) isn't quite correct. However, as you correctly state, this is a niche feature, and messing around with Emacs's process management shouldn't be done lightly. It would take a lot of testing to be sure my previous patch is right, especially since my understanding of Emacs's process.c is pretty rudimentary. As you suggested, I think this new implementation should be a reasonable fallback. [1] https://lists.gnu.org/archive/html/bug-gnu-emacs/2022-02/msg01431.html --------------649AAEDE1541CE14DAD2A0A3 Content-Type: text/plain; charset=UTF-8; name="0004-Send-SIGPIPE-to-external-Eshell-processes-if-their-o.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0004-Send-SIGPIPE-to-external-Eshell-processes-if-their-o.pa"; filename*1="tch" RnJvbSA5OWU3MzczM2QxN2YxMDNiYWYwMzljZmFmMDU5ZmMwYzU0MDY0MTkxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgMSBGZWIgMjAyMiAxOToxNjowMCAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggNC80XSBTZW5kIFNJR1BJUEUgdG8gZXh0ZXJuYWwgRXNoZWxsIHByb2Nlc3NlcyBpZiB0 aGVpciBvdXRwdXQKIHRhcmdldCBjbG9zZXMKCiogbGlzcC9lc2hlbGwvZXNoLWlvLmVsIChl c2hlbGwtcGlwZS1icm9rZW4pOiBOZXcgZXJyb3IuCihlc2hlbGwtb3V0cHV0LW9iamVjdC10 by10YXJnZXQpOiBTaWduYWwgJ2VzaGVsbC1waXBlLWJyb2tlbicgaWYgdGhlCnRhcmdldCBp cyBhbiBleGl0ZWQvc2lnbmFsZWQgcHJvY2Vzcy4KCiogbGlzcC9lc2hlbGwvZXNoLXByb2Mu ZWwgKGVzaGVsbC1pbnNlcnRpb24tZmlsdGVyKTogSGFuZGxlCidlc2hlbGwtcGlwZS1icm9r ZW4nLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1wcm9jLXRlc3RzLmVsOiBOZXcgdGVzdC4K LS0tCiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgICAgICAgICAgICAgICAgICAgIHwgMTIgKysr Ky0tLQogbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwgICAgICAgICAgICAgICAgICB8IDMxICsr KysrKysrKysrKystLS0KIHRlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVzdHMuZWwgICAg ICAgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysKIHRlc3QvbGlzcC9lc2hlbGwvZXNo ZWxsLXRlc3RzLWhlbHBlcnMuZWwgfCAgOSArKystLQogNCBmaWxlcyBjaGFuZ2VkLCA4NiBp bnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0 L2xpc3AvZXNoZWxsL2VzaC1wcm9jLXRlc3RzLmVsCgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hl bGwvZXNoLWlvLmVsIGIvbGlzcC9lc2hlbGwvZXNoLWlvLmVsCmluZGV4IGZjMTEyNDU2MWEu LjM2NDRjMWExOGIgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1pby5lbAorKysgYi9s aXNwL2VzaGVsbC9lc2gtaW8uZWwKQEAgLTE1MCw2ICsxNTAsOCBAQCBlc2hlbGwtdmlydHVh bC10YXJnZXRzCiAgIDpyaXNreSB0CiAgIDpncm91cCAnZXNoZWxsLWlvKQogCisoZGVmaW5l LWVycm9yICdlc2hlbGwtcGlwZS1icm9rZW4gIlBpcGUgYnJva2VuIikKKwogOzs7IEludGVy bmFsIFZhcmlhYmxlczoKIAogKGRlZnZhciBlc2hlbGwtY3VycmVudC1oYW5kbGVzIG5pbCkK QEAgLTQ4MSwxMCArNDgzLDEyIEBAIGVzaGVsbC1vdXRwdXQtb2JqZWN0LXRvLXRhcmdldAog CQkoZ290by1jaGFyIHRhcmdldCkpKSkpKQogCiAgICAoKGVzaGVsbC1wcm9jZXNzcCB0YXJn ZXQpCi0gICAgKHdoZW4gKGVxIChwcm9jZXNzLXN0YXR1cyB0YXJnZXQpICdydW4pCi0gICAg ICAodW5sZXNzIChzdHJpbmdwIG9iamVjdCkKLSAgICAgICAoc2V0cSBvYmplY3QgKGVzaGVs bC1zdHJpbmdpZnkgb2JqZWN0KSkpCi0gICAgICAocHJvY2Vzcy1zZW5kLXN0cmluZyB0YXJn ZXQgb2JqZWN0KSkpCisgICAgKHVubGVzcyAoc3RyaW5ncCBvYmplY3QpCisgICAgICAoc2V0 cSBvYmplY3QgKGVzaGVsbC1zdHJpbmdpZnkgb2JqZWN0KSkpCisgICAgKGNvbmRpdGlvbi1j YXNlIG5pbAorICAgICAgICAocHJvY2Vzcy1zZW5kLXN0cmluZyB0YXJnZXQgb2JqZWN0KQor ICAgICAgOzsgSWYgYHByb2Nlc3Mtc2VuZC1zdHJpbmcnIHJhaXNlcyBhbiBlcnJvciwgdHJl YXQgaXQgYXMgYSBicm9rZW4gcGlwZS4KKyAgICAgIChlcnJvciAoc2lnbmFsICdlc2hlbGwt cGlwZS1icm9rZW4gdGFyZ2V0KSkpKQogCiAgICAoKGNvbnNwIHRhcmdldCkKICAgICAoYXBw bHkgKGNhciB0YXJnZXQpIG9iamVjdCAoY2RyIHRhcmdldCkpKSkKZGlmZiAtLWdpdCBhL2xp c3AvZXNoZWxsL2VzaC1wcm9jLmVsIGIvbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwKaW5kZXgg YmIyMTM2YzA2Yy4uZWQzN2RlODVmNyAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLXBy b2MuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwKQEAgLTM4Niw4ICszODYsMjcg QEAgZXNoZWxsLWluc2VydGlvbi1maWx0ZXIKIAkgICAgICAobGV0ICgoZGF0YSAobnRoIDMg ZW50cnkpKSkKIAkJKHNldGNhciAobnRoY2RyIDMgZW50cnkpIG5pbCkKIAkJKHNldGNhciAo bnRoY2RyIDQgZW50cnkpIHQpCi0JCShlc2hlbGwtb3V0cHV0LW9iamVjdCBkYXRhIG5pbCAo Y2FkciBlbnRyeSkpCi0JCShzZXRjYXIgKG50aGNkciA0IGVudHJ5KSBuaWwpKSkpKSkpKSkK KyAgICAgICAgICAgICAgICAodW53aW5kLXByb3RlY3QKKyAgICAgICAgICAgICAgICAgICAg KGNvbmRpdGlvbi1jYXNlIG5pbAorICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1v dXRwdXQtb2JqZWN0IGRhdGEgbmlsIChjYWRyIGVudHJ5KSkKKyAgICAgICAgICAgICAgICAg ICAgICA7OyBGSVhNRTogV2Ugd2FudCB0byBzZW5kIFNJR1BJUEUgdG8gdGhlIHByb2Nlc3MK KyAgICAgICAgICAgICAgICAgICAgICA7OyBoZXJlLiAgSG93ZXZlciwgcmVtb3RlIHByb2Nl c3NlcyBkb24ndAorICAgICAgICAgICAgICAgICAgICAgIDs7IGN1cnJlbnRseSBzdXBwb3J0 IHRoYXQsIGFuZCBub3QgYWxsIHN5c3RlbXMKKyAgICAgICAgICAgICAgICAgICAgICA7OyBo YXZlIFNJR1BJUEUgaW4gdGhlIGZpcnN0IHBsYWNlIChlLmcuIE1TCisgICAgICAgICAgICAg ICAgICAgICAgOzsgV2luZG93cykuICBJbiB0aGVzZSBjYXNlcywganVzdCBkZWxldGUgdGhl CisgICAgICAgICAgICAgICAgICAgICAgOzsgcHJvY2VzczsgdGhpcyBpcyByZWFzb25hYmx5 IGNsb3NlIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAgIDs7IHJpZ2h0IGJlaGF2aW9y LCBzaW5jZSB0aGUgZGVmYXVsdCBhY3Rpb24gZm9yCisgICAgICAgICAgICAgICAgICAgICAg OzsgU0lHUElQRSBpcyB0byB0ZXJtaW5hdGUgdGhlIHByb2Nlc3MuICBGb3IgdXNlCisgICAg ICAgICAgICAgICAgICAgICAgOzsgY2FzZXMgd2hlcmUgU0lHUElQRSBpcyB0cnVseSBuZWVk ZWQsIHVzaW5nIGFuCisgICAgICAgICAgICAgICAgICAgICAgOzsgZXh0ZXJuYWwgcGlwZSBv cGVyYXRvciAoYCp8JykgbWF5IHdvcmsKKyAgICAgICAgICAgICAgICAgICAgICA7OyBpbnN0 ZWFkIChlLmcuIHdoZW4gd29ya2luZyB3aXRoIHJlbW90ZQorICAgICAgICAgICAgICAgICAg ICAgIDs7IHByb2Nlc3NlcykuCisgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1waXBl LWJyb2tlbgorICAgICAgICAgICAgICAgICAgICAgICAoaWYgKG9yIChwcm9jZXNzLWdldCBw cm9jICdyZW1vdGUtcGlkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBz eXN0ZW0tdHlwZSAnd2luZG93cy1udCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAo ZGVsZXRlLXByb2Nlc3MgcHJvYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFs LXByb2Nlc3MgcHJvYyAnU0lHUElQRSkpKSkKKyAgICAgICAgICAgICAgICAgIChzZXRjYXIg KG50aGNkciA0IGVudHJ5KSBuaWwpKSkpKSkpKSkpCiAKIChkZWZ1biBlc2hlbGwtc2VudGlu ZWwgKHByb2Mgc3RyaW5nKQogICAiR2VuZXJpYyBzZW50aW5lbCBmb3IgY29tbWFuZCBwcm9j ZXNzZXMuICBSZXBvcnRzIG9ubHkgc2lnbmFscy4KQEAgLTQxNiw4ICs0MzUsMTIgQEAgZXNo ZWxsLXNlbnRpbmVsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJk YSAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChudGggNCBl bnRyeSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocnVuLWF0 LXRpbWUgMCBuaWwgZmluaXNoLWlvKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAod2hlbiBzdHIgKGVzaGVsbC1vdXRwdXQtb2JqZWN0IHN0ciBuaWwgaGFuZGxl cykpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwtY2xv c2UtaGFuZGxlcyBzdGF0dXMgJ25pbCBoYW5kbGVzKSkpKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHVud2luZC1wcm90ZWN0CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiBzdHIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1vdXRwdXQtb2JqZWN0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgbmlsIGhhbmRs ZXMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlc2hlbGwt Y2xvc2UtaGFuZGxlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdGF0dXMgJ25pbCBoYW5kbGVzKSkpKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg IChmdW5jYWxsIGZpbmlzaC1pbykpKSkpCiAJCShlc2hlbGwtcmVtb3ZlLXByb2Nlc3MtZW50 cnkgZW50cnkpKSkpCiAJKGVzaGVsbC1raWxsLXByb2Nlc3MtZnVuY3Rpb24gcHJvYyBzdHJp bmcpKSkpKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9lc2gtcHJvYy10ZXN0cy5l bCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVzdHMuZWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZTdlYTZjMDBkNgotLS0gL2Rldi9udWxsCisrKyBi L3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVzdHMuZWwKQEAgLTAsMCArMSw0NSBAQAor Ozs7IGVzaC1wcm9jLXRlc3RzLmVsIC0tLSBlc2gtcHJvYyB0ZXN0IHN1aXRlICAtKi0gbGV4 aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVt YWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCis7OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUg RW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKzs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0 aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2VydCkKKyhyZXF1aXJlICdlc2gtbW9k ZSkKKyhyZXF1aXJlICdlc2hlbGwpCisKKyhyZXF1aXJlICdlc2hlbGwtdGVzdHMtaGVscGVy cworICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVzaGVsbC10ZXN0cy1oZWxwZXJzIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkgKG9yIGxv YWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gt cHJvYy10ZXN0L3NpZ3BpcGUtZXhpdHMtcHJvY2VzcyAoKQorICAiVGVzdCB0aGF0IGEgU0lH UElQRSBpcyBwcm9wZXJseSBzZW50IHRvIGEgcHJvY2VzcyBpZiBhIHBpcGUgY2xvc2VzIgor ICAoc2tpcC11bmxlc3MgKGFuZCAoZXhlY3V0YWJsZS1maW5kICJzaCIpCisgICAgICAgICAg ICAgICAgICAgIChleGVjdXRhYmxlLWZpbmQgImVjaG8iKQorICAgICAgICAgICAgICAgICAg ICAoZXhlY3V0YWJsZS1maW5kICJzbGVlcCIpKSkKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAg IChlc2hlbGwtY29tbWFuZC1yZXN1bHQtcAorICAgIDs7IFRoZSBmaXJzdCBjb21tYW5kIGlz IGxpa2UgYHllcycgYnV0IHNsb3dlci4gIFRoaXMgaXMgdG8gcHJldmVudAorICAgIDs7IGl0 IGZyb20gdGF4aW5nIEVtYWNzJ3MgcHJvY2VzcyBmaWx0ZXIgdG9vIG11Y2ggYW5kIGNhdXNp bmcgYQorICAgIDs7IGhhbmcuCisgICAgKGNvbmNhdCAic2ggLWMgJ3doaWxlIHRydWU7IGRv IGVjaG8geTsgc2xlZXAgMTsgZG9uZScgfCAiCisgICAgICAgICAgICAic2ggLWMgJ3JlYWQg TkFNRTsgZWNobyAke05BTUV9JyIpCisgICAgInlcbiIpCisgICAoZXNoZWxsLXdhaXQtZm9y LXN1YnByb2Nlc3MgdCkKKyAgIChzaG91bGQgKGVxIChwcm9jZXNzLWxpc3QpIG5pbCkpKSkK ZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLWhlbHBlcnMuZWwg Yi90ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy1oZWxwZXJzLmVsCmluZGV4IDMzY2Rk NjAxMTMuLmY5NDQxOTRhMmIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoZWxs LXRlc3RzLWhlbHBlcnMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMt aGVscGVycy5lbApAQCAtNTAsMTUgKzUwLDE4IEBAIHdpdGgtdGVtcC1lc2hlbGwKICAgICAg ICAgIChsZXQgKGtpbGwtYnVmZmVyLXF1ZXJ5LWZ1bmN0aW9ucykKICAgICAgICAgICAgKGtp bGwtYnVmZmVyIGVzaGVsbC1idWZmZXIpKSkpKSkKIAotKGRlZnVuIGVzaGVsbC13YWl0LWZv ci1zdWJwcm9jZXNzICgpCisoZGVmdW4gZXNoZWxsLXdhaXQtZm9yLXN1YnByb2Nlc3MgKCZv cHRpb25hbCBhbGwpCiAgICJXYWl0IHVudGlsIHRoZXJlIGlzIG5vIGludGVyYWN0aXZlIHN1 YnByb2Nlc3MgcnVubmluZyBpbiBFc2hlbGwuCitJZiBBTEwgaXMgbm9uLW5pbCwgd2FpdCB1 bnRpbCB0aGVyZSBhcmUgbm8gRXNoZWxsIHN1YnByb2Nlc3NlcyBhdAorYWxsIHJ1bm5pbmcu CisKIElmIHRoaXMgdGFrZXMgbG9uZ2VyIHRoYW4gYGVzaGVsbC10ZXN0LS1tYXgtc3VicHJv Y2Vzcy10aW1lJywKIHJhaXNlIGFuIGVycm9yLiIKICAgKGxldCAoKHN0YXJ0IChjdXJyZW50 LXRpbWUpKSkKLSAgICAod2hpbGUgKGVzaGVsbC1pbnRlcmFjdGl2ZS1wcm9jZXNzLXApCisg ICAgKHdoaWxlIChpZiBhbGwgZXNoZWxsLXByb2Nlc3MtbGlzdCAoZXNoZWxsLWludGVyYWN0 aXZlLXByb2Nlc3MtcCkpCiAgICAgICAod2hlbiAoPiAoZmxvYXQtdGltZSAodGltZS1zaW5j ZSBzdGFydCkpCiAgICAgICAgICAgICAgICBlc2hlbGwtdGVzdC0tbWF4LXN1YnByb2Nlc3Mt dGltZSkKLSAgICAgICAgKGVycm9yICJ0aW1lZCBvdXQgd2FpdGluZyBmb3Igc3VicHJvY2Vz cyIpKQorICAgICAgICAoZXJyb3IgInRpbWVkIG91dCB3YWl0aW5nIGZvciBzdWJwcm9jZXNz KGVzKSIpKQogICAgICAgKHNpdC1mb3IgMC4xKSkpKQogCiAoZGVmdW4gZXNoZWxsLWluc2Vy dC1jb21tYW5kICh0ZXh0ICZvcHRpb25hbCBmdW5jKQotLSAKMi4yNS4xCgo= --------------649AAEDE1541CE14DAD2A0A3-- From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 21 12:15:55 2022 Received: (at 54062) by debbugs.gnu.org; 21 Feb 2022 17:15:55 +0000 Received: from localhost ([127.0.0.1]:38884 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMCHz-0003mL-HN for submit@debbugs.gnu.org; Mon, 21 Feb 2022 12:15:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMCHy-0003m4-5C for 54062@debbugs.gnu.org; Mon, 21 Feb 2022 12:15:54 -0500 Received: from [2001:470:142:3::e] (port=57152 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMCHs-0006WU-PU; Mon, 21 Feb 2022 12:15:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=nYSpiwzjpIklACL3Zf+pv40B5RwsqajMnnCgb8ZFLvc=; b=BH3KWLOd6MQe GG+lih1QRJ0Rn6rBNgFuh4q4NYhCjO0tRHPZtiIiXq7E8kuXGZv6nopyvuf3Ji4pYne3gIFYFxtPh 5YL0tEe5VGyQTD+UOinPYRcySGnHPMurFZkV2+TNM5AcTwkVdJ8YaYX7ZhUQ4JKNxtLeCVGgAb89y 1mO7I9PCnp5pplFrC+d+Na0AhpYLFZ0NzEvEVyzMT/K9RpI45F86A2TDc6neYKCRACMvs1a9LhuFV FDJwINMn8Z7WAVMhOoevcFhQv+5UoAx3Z/gWLz1ShImHFevlkBPKmSUGmPc+ZNcODWFgoL6YOCvyd 7hLp6qj6wRY/RDGjfQ3nyw==; Received: from [87.69.77.57] (port=1916 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMCHs-0006tK-AG; Mon, 21 Feb 2022 12:15:48 -0500 Date: Mon, 21 Feb 2022 19:15:54 +0200 Message-Id: <83a6ekuomt.fsf@gnu.org> From: Eli Zaretskii To: Jim Porter In-Reply-To: <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> (message from Jim Porter on Sun, 20 Feb 2022 12:17:08 -0800) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54062 Cc: 54062@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: -3.3 (---) > Cc: 54062@debbugs.gnu.org > From: Jim Porter > Date: Sun, 20 Feb 2022 12:17:08 -0800 > > Ok, I've updated the patch to do this, with a note about how the > behavior isn't quite correct. The current patch should work in most > real-world cases, but if someone runs into a bug with this, hopefully > the comment will point them in the right direction. Thanks; I have no further comments. From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 21 12:39:28 2022 Received: (at 54062) by debbugs.gnu.org; 21 Feb 2022 17:39:29 +0000 Received: from localhost ([127.0.0.1]:38917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMCem-0004Ma-P7 for submit@debbugs.gnu.org; Mon, 21 Feb 2022 12:39:28 -0500 Received: from quimby.gnus.org ([95.216.78.240]:41552) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMCel-0004MH-9T for 54062@debbugs.gnu.org; Mon, 21 Feb 2022 12:39:27 -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=WnoVcBlntkrnhJBaZlrLVewXFnrWAI3SJNc19HmIrqo=; b=H+KQhRsAJSeIY4VbFVEphf6Aps rhzajaCU8qZXXeqnMRWewrmaAhiZpveUbZy6tFn+TQRxHnGj2HciJOyQSPtcZ6AVVnTR6LGiL67QS 6OE58xIEYGPvk+5WqgeFHBpeNgDde92c0pPWffX1QAKhA46AMU+HLjQv6djaQpLmo54o=; 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 1nMCec-0001oi-6E; Mon, 21 Feb 2022 18:39:21 +0100 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> <83a6ekuomt.fsf@gnu.org> X-Now-Playing: Mice Parade's _Nights Wave EP_: "Milton Road" Date: Mon, 21 Feb 2022 18:39:16 +0100 In-Reply-To: <83a6ekuomt.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 21 Feb 2022 19:15:54 +0200") Message-ID: <87k0dof7az.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: Eli Zaretskii writes: > Thanks; I have no further comments. So I've pushed the patch series 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: 54062 Cc: Jim Porter , 54062@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: -3.3 (---) Eli Zaretskii writes: > Thanks; I have no further comments. So I've pushed the patch series to Emacs 29. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 21 12:39:38 2022 Received: (at control) by debbugs.gnu.org; 21 Feb 2022 17:39:38 +0000 Received: from localhost ([127.0.0.1]:38920 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMCev-0004Mx-Vv for submit@debbugs.gnu.org; Mon, 21 Feb 2022 12:39:38 -0500 Received: from quimby.gnus.org ([95.216.78.240]:41568) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMCet-0004Ml-S8 for control@debbugs.gnu.org; Mon, 21 Feb 2022 12:39:36 -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=mF4U5C64/COVCjaS88J+q21cN8e1Y4SwlmU/5vwJj88=; b=o++tEkbsnwgigbphoPnDIt9j7O i5nfBjJk61k3/opPXu2TtC8rPCPyAbPRyMn10fdQgtWz5qyVS6vt4tq1wHL7N4wyPHx9MLVQxq1WF b9N70ynztAAAJKgKfqO5J/DuqD8UOcYiMWO8mXG9ld/TQSULz3qSPwsZ2e9QBPuPM4VU=; 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 1nMCel-0001ov-VC for control@debbugs.gnu.org; Mon, 21 Feb 2022 18:39:30 +0100 Date: Mon, 21 Feb 2022 18:39:26 +0100 Message-Id: <87ilt8f7ap.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #54062 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 54062 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 54062 29.1 quit From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 21 13:31:39 2022 Received: (at 54062) by debbugs.gnu.org; 21 Feb 2022 18:31:39 +0000 Received: from localhost ([127.0.0.1]:38998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMDT2-0002B9-I1 for submit@debbugs.gnu.org; Mon, 21 Feb 2022 13:31:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33616) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMDSv-0002Ar-6h for 54062@debbugs.gnu.org; Mon, 21 Feb 2022 13:31:23 -0500 Received: from [2001:470:142:3::e] (port=58602 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMDSp-0002Cd-Px; Mon, 21 Feb 2022 13:31:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=2Ty3xdpPVOSHlWiXS34o+KGu2OdBOgNjoMqltgyW7Ho=; b=gshhEoFVY3HQ qu6A2FS9ZyEQC9lLRPkuWqnK7oNs5D2jxDTy8lyv1ulC6Gqf5Nu7SuLes/7UquKEprun4pEcd9e3j 68NbtocE7wkm3u8/ce0ZqlCxBPLX4se8TX82Cd3BduOTP3ZyiQLezGTDn5W1lU5YZKnFz4/TNIzv3 9jkNF/Z5i4UGnvXRG7nVtQYS+si7sVQ7+j6uoVvZUz0AnCe5V9NujXy2OhaRTF4vckSSz3qBtAXw2 OP3wFxvQ+Gu8UxHmGFmGyONs4yGKB3Gi1eq0YG8XT8u6rpyooSgO4vVOBxDpf6zdqVDVrZXBxoXLN hGvUb+WxBQl3gHVFsq2yQQ==; Received: from [87.69.77.57] (port=2566 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMDSp-0001DX-2t; Mon, 21 Feb 2022 13:31:11 -0500 Date: Mon, 21 Feb 2022 20:31:15 +0200 Message-Id: <835yp8ul58.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-Reply-To: <87k0dof7az.fsf@gnus.org> (message from Lars Ingebrigtsen on Mon, 21 Feb 2022 18:39:16 +0100) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> <83a6ekuomt.fsf@gnu.org> <87k0dof7az.fsf@gnus.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54062 Cc: jporterbugs@gmail.com, 54062@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 (-) > From: Lars Ingebrigtsen > Cc: Jim Porter , 54062@debbugs.gnu.org > Date: Mon, 21 Feb 2022 18:39:16 +0100 > > Eli Zaretskii writes: > > > Thanks; I have no further comments. > > So I've pushed the patch series to Emacs 29. Something's amiss here: the new test fails on MS-Windows because it signals an error inside eshell-wait-for-subprocess: Test esh-proc-test/sigpipe-exits-process backtrace: signal(eshell-pipe-broken #) eshell-output-object-to-target("killed\n" #) eshell-output-object("killed\n" nil [nil (nil . 0) (nil . 0)]) #f(compiled-function () #)() apply(#f(compiled-function () #) nil) timer-event-handler([t 25107 54636 874750 nil #f(compiled-function ( sleep-for(0.1) sit-for(0.1) (while (if all eshell-process-list (eshell-interactive-process-p)) ( (let ((start (current-time))) (while (if all eshell-process-list (es eshell-wait-for-subprocess(t) Sounds like the shell is already dead/killed when eshell-wait-for-subprocess tries to send it a string? From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 21 15:38:15 2022 Received: (at 54062) by debbugs.gnu.org; 21 Feb 2022 20:38:15 +0000 Received: from localhost ([127.0.0.1]:39265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMFRg-0007dO-Jq for submit@debbugs.gnu.org; Mon, 21 Feb 2022 15:38:15 -0500 Received: from mail-pg1-f169.google.com ([209.85.215.169]:42765) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMFRf-0007dB-Js for 54062@debbugs.gnu.org; Mon, 21 Feb 2022 15:38:08 -0500 Received: by mail-pg1-f169.google.com with SMTP id d16so15223332pgd.9 for <54062@debbugs.gnu.org>; Mon, 21 Feb 2022 12:38:07 -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=EVa1/6KZLwYFSXb6erM5Nc5PSQXgG0+LNUky711DIyQ=; b=b3J3yEdAI0/FuFG8x0NGpn7ltkQ1cY3RQEbUEljXmzE55GgmoFfFjNx5HxpSW+YuRQ kxMnaD2AL5oKgwyFZ3Pei58/h6fJlkx4GlbvrBlNm9Q5tD7iTHtT2+BL7p5aXjPVxF+x GrpsEKugmw2w2QXPhKx5Y+X5JSZ3MRdInyfsn3yOqZidH7YCHd8KG1p+vGONQDVeBK3v tMmg8vMLAVALdUKvRd7sUxsx9GyonDXvQ1+0F7y/2C7uT+e4P+fsSAVTXu4CZ7f5gBSo RozA6/8N+8k4C9ThfLhNEn2o0ivvSM21iVpk8DA+UbxIR1rRUJWds1rP+EcCFRsGfSxI mDVA== 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=EVa1/6KZLwYFSXb6erM5Nc5PSQXgG0+LNUky711DIyQ=; b=idUXk780HbsC6pakwr/6cBidjibRwESXDduhd8RT6P8y9fksI4CRi3jVWitzJCWTgh Avu/4ACgwtarQUaXQyhY98Dto3b2IFUbtXAFRal7sUIPhVetisBNVvlWoPilHUyIScxe 6jFXFMYv+UdZguWByzGtr72vI2wthfWc004QkCyw76nBOb3uG3bLNYFy3qRr7/eibt9b 2U2l16k2eqsE5cJg0J8BUnYYKkDi7Q4DDz+bnmWWAzPRcjHfYv/tZ0AfxpLPLuQNFjWt +Ba5soNw7DNagEkGjmfDeE4P77546tMNA9oe6ULCNuQPGO5KLmW8/QGTphSkB1QaOT9n Miwg== X-Gm-Message-State: AOAM533ew1lN76at+2i5cvUhmR8Pc5Itt2xy0t++m6Udb3brFyzSYsmF 9S7teBY513kb54solrJzIXmttcowIBc= X-Google-Smtp-Source: ABdhPJwDDBmr0ebOgGMfBltSZTySNPv5hVIypV6XhsTBxwVcVUN3tkvY4WT1VcxTKjkuNzAl6FwHxw== X-Received: by 2002:a63:e744:0:b0:370:25a8:bfed with SMTP id j4-20020a63e744000000b0037025a8bfedmr17648402pgk.432.1645475881575; Mon, 21 Feb 2022 12:38:01 -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 k18sm13772535pfi.10.2022.02.21.12.38.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Feb 2022 12:38:00 -0800 (PST) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken To: Eli Zaretskii , Lars Ingebrigtsen References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> <83a6ekuomt.fsf@gnu.org> <87k0dof7az.fsf@gnus.org> <835yp8ul58.fsf@gnu.org> From: Jim Porter Message-ID: <71c773bd-1166-8d36-5dac-8d6b81240a2a@gmail.com> Date: Mon, 21 Feb 2022 12:37:59 -0800 MIME-Version: 1.0 In-Reply-To: <835yp8ul58.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------0D483DB86DAFD49FC8869D67" Content-Language: en-US X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54062 Cc: 54062@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 (-) This is a multi-part message in MIME format. --------------0D483DB86DAFD49FC8869D67 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2/21/2022 10:31 AM, Eli Zaretskii wrote: >> From: Lars Ingebrigtsen >> Cc: Jim Porter , 54062@debbugs.gnu.org >> Date: Mon, 21 Feb 2022 18:39:16 +0100 >> >> Eli Zaretskii writes: >> >>> Thanks; I have no further comments. >> >> So I've pushed the patch series to Emacs 29. > > Something's amiss here: the new test fails on MS-Windows because it > signals an error inside eshell-wait-for-subprocess: > > Test esh-proc-test/sigpipe-exits-process backtrace: > signal(eshell-pipe-broken #) > eshell-output-object-to-target("killed\n" #) > eshell-output-object("killed\n" nil [nil (nil . 0) (nil . 0)]) > #f(compiled-function () #)() > apply(#f(compiled-function () #) nil) > timer-event-handler([t 25107 54636 874750 nil #f(compiled-function ( > sleep-for(0.1) > sit-for(0.1) > (while (if all eshell-process-list (eshell-interactive-process-p)) ( > (let ((start (current-time))) (while (if all eshell-process-list (es > eshell-wait-for-subprocess(t) > > Sounds like the shell is already dead/killed when > eshell-wait-for-subprocess tries to send it a string? Thanks for merging, and sorry about the bustage. This turned out to be because `eshell-sentinel' for the "head" process in the pipeline called `eshell-output-object', but because the tail process was already dead, it raised `eshell-pipe-broken'. I believe the reason this only manifested on MS Windows was due to a timing difference between `delete-process' and `signal-process'; using the `delete-process' path on GNU/Linux shows the same problem. Attached is a patch that ignores the `eshell-pipe-broken' error in `eshell-sentinel'. It's not really an error in that case anyway, since we only want to write the last bit of output *if we can*. -------------------- There's just one problem remaining: when running the following command on MS Windows[1], you'll (usually) see two Eshell prompts get emitted after it finishes: yes | sh -c 'read NAME' However, this is a separate bug that appears in Emacs 27.2 as well. It can happen whenever multiple commands in a pipeline get killed. For example: ~ $ sh -c 'while true; do sleep 1; echo y; done' | sh -c 'while true; do read NAME; echo ${NAME}; done' C-c C-c ; Call `eshell-interrupt-process' The same happens with C-c C-k (`eshell-kill-process') too. I'll file another bug about this, but I wanted to mention it here so no one's surprised if they see this come up when testing out this patch. [1] Well, I assume it's a problem on MS Windows. I actually tested the MS Windows code path on GNU/Linux. --------------0D483DB86DAFD49FC8869D67 Content-Type: text/plain; charset=UTF-8; name="0001-Ignore-eshell-broken-pipe-error-in-eshell-sentinel.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Ignore-eshell-broken-pipe-error-in-eshell-sentinel.patc"; filename*1="h" RnJvbSBmNDFiOWUyNTk5ZmUzYTFhOTU5ZWYxYjUyZjc3MDMyZmQ4ZDI4YzIwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMjEgRmViIDIwMjIgMTI6MTQ6MzQgLTA4MDAKU3ViamVjdDogW1BB VENIXSBJZ25vcmUgJ2VzaGVsbC1icm9rZW4tcGlwZScgZXJyb3IgaW4gJ2VzaGVsbC1zZW50 aW5lbCcKClRoaXMgY2FuIGhhcHBlbiBpZiAnZXNoZWxsLXNlbnRpbmVsJyB0cmllcyB0byB3 cml0ZSBvdXRwdXQgdG8gYW5vdGhlcgpwcm9jZXNzLCBidXQgdGhhdCBwcm9jZXNzIGhhcyBh bHJlYWR5IHRlcm1pbmF0ZWQuCgoqIGxpc3AvZXNoZWxsL2VzaC1wcm9jLmVsIChlc2hlbGwt c2VudGluZWwpOiBVc2UgJ2lnbm9yZS1lcnJvcicKaW5zdGVhZCBvZiAndW53aW5kLXByb3Rl Y3QnLgotLS0KIGxpc3AvZXNoZWxsL2VzaC1wcm9jLmVsIHwgMTIgKysrKysrLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1wcm9jLmVsIGIvbGlzcC9lc2hlbGwvZXNoLXByb2Mu ZWwKaW5kZXggZWQzN2RlODVmNy4uZDdkMjJkMmE5ZSAxMDA2NDQKLS0tIGEvbGlzcC9lc2hl bGwvZXNoLXByb2MuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwKQEAgLTQzNSwx MiArNDM1LDEyIEBAIGVzaGVsbC1zZW50aW5lbAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChsYW1iZGEgKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChpZiAobnRoIDQgZW50cnkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHJ1bi1hdC10aW1lIDAgbmlsIGZpbmlzaC1pbykKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHVud2luZC1wcm90ZWN0Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiBzdHIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1vdXRwdXQtb2JqZWN0Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgbmlsIGhh bmRsZXMpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlc2hl bGwtY2xvc2UtaGFuZGxlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdGF0dXMgJ25pbCBoYW5kbGVzKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh3aGVuIHN0cgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChpZ25vcmUtZXJyb3IgJ2VzaGVsbC1waXBlLWJyb2tlbgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1vdXRwdXQtb2Jq ZWN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyIG5p bCBoYW5kbGVzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChl c2hlbGwtY2xvc2UtaGFuZGxlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RhdHVzICduaWwgaGFuZGxlcykpKSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIChmdW5jYWxsIGZpbmlzaC1pbykpKSkpCiAJCShlc2hlbGwtcmVtb3ZlLXByb2Nlc3Mt ZW50cnkgZW50cnkpKSkpCiAJKGVzaGVsbC1raWxsLXByb2Nlc3MtZnVuY3Rpb24gcHJvYyBz dHJpbmcpKSkpKQotLSAKMi4yNS4xCgo= --------------0D483DB86DAFD49FC8869D67-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 22 08:09:13 2022 Received: (at 54062) by debbugs.gnu.org; 22 Feb 2022 13:09:13 +0000 Received: from localhost ([127.0.0.1]:40278 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMUun-0004NJ-F5 for submit@debbugs.gnu.org; Tue, 22 Feb 2022 08:09:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMUul-0004N6-JM for 54062@debbugs.gnu.org; Tue, 22 Feb 2022 08:09:12 -0500 Received: from [2001:470:142:3::e] (port=46760 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMUug-0003TW-94; Tue, 22 Feb 2022 08:09:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=kV6lSlpzasQgKYHdiOkiNr4qqdyywcv+oLW6oeoauhk=; b=kaMB/0snGL53 daUwF17zgoaNRJWFteKE4OslAuIuaQ46owf5mit9hzKS7IzOFgws7Txr6ARu6N3YzlqiNsslVSAlj XMz6Cb18yiSZRFBl17EMFAX3yC2m94wtaEq1d9o/olF5oenz+VIXwK3aD+z4z7pbD4lFxNequSUPq /rOYmn2EHKJ9Xhg6S0OHckgDngNUfchBKyjdrMGuguwunkPZqBu4/6rj/4WkhmJiIv9vWyY3kpFTu TiemuzD3K3+AAGmwJU9DpkStx5KDieyw2orRtZw1hR0rJgbJh36tAJnGG5GsGj/jxi/eqLPuUCG8j 8m8F9L57694386Ea8sVepQ==; Received: from [87.69.77.57] (port=3535 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nMUuf-0008GN-Pe; Tue, 22 Feb 2022 08:09:06 -0500 Date: Tue, 22 Feb 2022 15:09:13 +0200 Message-Id: <83o82zt5dy.fsf@gnu.org> From: Eli Zaretskii To: Jim Porter In-Reply-To: <71c773bd-1166-8d36-5dac-8d6b81240a2a@gmail.com> (message from Jim Porter on Mon, 21 Feb 2022 12:37:59 -0800) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> <83a6ekuomt.fsf@gnu.org> <87k0dof7az.fsf@gnus.org> <835yp8ul58.fsf@gnu.org> <71c773bd-1166-8d36-5dac-8d6b81240a2a@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54062 Cc: larsi@gnus.org, 54062@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: -3.3 (---) > Cc: 54062@debbugs.gnu.org > From: Jim Porter > Date: Mon, 21 Feb 2022 12:37:59 -0800 > > Attached is a patch that ignores the `eshell-pipe-broken' error in > `eshell-sentinel'. It's not really an error in that case anyway, since > we only want to write the last bit of output *if we can*. Thanks, this fixes the test. However, I'm unsure we should fix this inside eshell-sentinel: do we always want to ignore "broken pipe" errors in Eshell subprocesses, and never show them to the user? From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 22 11:49:13 2022 Received: (at 54062) by debbugs.gnu.org; 22 Feb 2022 16:49:13 +0000 Received: from localhost ([127.0.0.1]:42476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMYLh-0002oE-3a for submit@debbugs.gnu.org; Tue, 22 Feb 2022 11:49:13 -0500 Received: from mail-pf1-f174.google.com ([209.85.210.174]:39865) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMYLf-0002nz-6e for 54062@debbugs.gnu.org; Tue, 22 Feb 2022 11:49:11 -0500 Received: by mail-pf1-f174.google.com with SMTP id y11so12633316pfa.6 for <54062@debbugs.gnu.org>; Tue, 22 Feb 2022 08:49:11 -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:content-transfer-encoding; bh=oA6mCN29l0lPQC68mCLFPuAI9vg91fhfvlIxCP+U3FU=; b=kfF6GbQF/sLMHZqZik2CTVNgUwOPj8sXmTUEPbWDwxja96V+s70seuLoIxt9lODPJx MmFz43tAeAw7GKmsQy0+VStK5SFOyAidmXnit8PdxAlTk6taXB9yRsDtwsjAjxMY3Soe 0N3Ygz2aCXRHFQX58OVggYV5Zpco5T4iuMYr6qqtlhlpvmwv5bEnldqNeX1fXwCx0lf/ orh/mOEzVu+CMrk2hEmwot4Rp9rX8dRkAJF55Hgg9l1UrhRaOfvrV/sfgzqUsM1/S4B9 fAQYCV2JG99jzo5mi8BX2PWvr1dLw6Kir3cgu9QddB37fNfuEUu3DIQEn0z7iQPpoL37 hqHw== 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:content-transfer-encoding; bh=oA6mCN29l0lPQC68mCLFPuAI9vg91fhfvlIxCP+U3FU=; b=CA2vGGp0uVjf4Xr2LPOvYEubWWPvTSd1Ou2advgDLdiv0z2NF6C/MBIKqcZRB7RQKX KAjF0BrNACTjujsbSmQDUFs9zwSmJ4uhn1e7RCAgwb+iiaPascxiPhOcIFGgIJspxzco sFlfj1tIxJRj8UzCZuHXehKFjtW9r/uKrp6rinIazz6gPwomX8EAuuDi2mVz4lTWeb4H xss9i//nl/z6pCoZbWYwXG1DVaGXudB0lbdM8kK1s7DmCkNdJ+pajypQ3LH73nKyaBID kvi0OyrK0mMl9kAkUt9v+fDJTu+FKl6cyBbZs5cy/PwumlBm4/p0qJAssObkbHbTv7th HdBg== X-Gm-Message-State: AOAM530TbkqKe2kw6CHyMbCIf+pTY3NL0KfDshMlx45kjF5SFK6zoZFU qbb8SEkZw7UeT49RdYQh+qZa9alBVNA= X-Google-Smtp-Source: ABdhPJwUgFKQ79Ypu7Jc025ctIkI9mwaGaF+c10eB0avtpGBp6O4JAkRs3e3lbYGXykkpYybTIPDtg== X-Received: by 2002:a05:6a00:2341:b0:4e1:5aa4:9aff with SMTP id j1-20020a056a00234100b004e15aa49affmr25905157pfj.8.1645548545065; Tue, 22 Feb 2022 08:49:05 -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 q8sm16886616pfk.168.2022.02.22.08.49.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 22 Feb 2022 08:49:04 -0800 (PST) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken To: Eli Zaretskii References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> <83a6ekuomt.fsf@gnu.org> <87k0dof7az.fsf@gnus.org> <835yp8ul58.fsf@gnu.org> <71c773bd-1166-8d36-5dac-8d6b81240a2a@gmail.com> <83o82zt5dy.fsf@gnu.org> From: Jim Porter Message-ID: <88900d29-fef0-6361-eb9f-b50a76e6e50b@gmail.com> Date: Tue, 22 Feb 2022 08:49:06 -0800 MIME-Version: 1.0 In-Reply-To: <83o82zt5dy.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54062 Cc: larsi@gnus.org, 54062@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 2/22/2022 5:09 AM, Eli Zaretskii wrote: >> Cc: 54062@debbugs.gnu.org >> From: Jim Porter >> Date: Mon, 21 Feb 2022 12:37:59 -0800 >> >> Attached is a patch that ignores the `eshell-pipe-broken' error in >> `eshell-sentinel'. It's not really an error in that case anyway, since >> we only want to write the last bit of output *if we can*. > > Thanks, this fixes the test. However, I'm unsure we should fix this > inside eshell-sentinel: do we always want to ignore "broken pipe" > errors in Eshell subprocesses, and never show them to the user? I think we do want to ignore that error here. In `eshell-sentinel', we only run the `finish-io' code when the subprocess's state has already changed; in this case, that means the subprocess has already been terminated, since Eshell doesn't handle cases like SIGSTOP or SIGCONT yet (see the commented out functions at the bottom of lisp/eshell/esh-proc.el). Normally, if we detect a broken pipe, we'd want to signal the subprocess that tried to write, but since we know it's already been terminated, there's no (living) process to signal anymore. It would be good to support cases like SIGSTOP/SIGCONT in the future, but `eshell-sentinel' already fails to account for that, so this patch doesn't make things worse in that regard. For example, this function always calls `eshell-remove-process-entry', whose docstring says: Record the process ENTRY as fully completed. That's definitely not right for a process being continued with SIGCONT, and probably isn't right for SIGSTOP either. From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 23 07:14:39 2022 Received: (at 54062) by debbugs.gnu.org; 23 Feb 2022 12:14:39 +0000 Received: from localhost ([127.0.0.1]:44135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMqXP-0003yj-Dt for submit@debbugs.gnu.org; Wed, 23 Feb 2022 07:14:39 -0500 Received: from quimby.gnus.org ([95.216.78.240]:33822) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nMqXN-0003yV-LB for 54062@debbugs.gnu.org; Wed, 23 Feb 2022 07:14:29 -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=irkQXFhRkdOowA3S+/jPvcI1539XxpGgZ3rfWCE/67Y=; b=Ep47QRP7++B8OGUWq8HZ4HlwdM S+xd0BgreNKVyUmA/0/okp+leDagDBXYk7WG3f4Tfb308RVVSv3i43VdaL51eZqMe6Xue9uz0ysw4 JwXbO79FlxmquCzgVEXmvhLsrep901iOuhcgEbFxqf9JMzjm/X476xUSa0pVM0ybcPok=; 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 1nMqXE-0001Nq-J1; Wed, 23 Feb 2022 13:14:23 +0100 From: Lars Ingebrigtsen To: Jim Porter Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> <83a6ekuomt.fsf@gnu.org> <87k0dof7az.fsf@gnus.org> <835yp8ul58.fsf@gnu.org> <71c773bd-1166-8d36-5dac-8d6b81240a2a@gmail.com> <83o82zt5dy.fsf@gnu.org> <88900d29-fef0-6361-eb9f-b50a76e6e50b@gmail.com> X-Now-Playing: Cat Power's _Covers_: "I'll Be Seeing You" Date: Wed, 23 Feb 2022 13:14:18 +0100 In-Reply-To: <88900d29-fef0-6361-eb9f-b50a76e6e50b@gmail.com> (Jim Porter's message of "Tue, 22 Feb 2022 08:49:06 -0800") Message-ID: <87wnhl7pb9.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: >> Thanks, this fixes the test. However, I'm unsure we should fix this >> inside eshell-sentinel: do we always want to ignore "broken pipe" >> errors in Eshell subprocesses, and never show them to the [...] 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: 54062 Cc: Eli Zaretskii , 54062@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: -3.3 (---) Jim Porter writes: >> Thanks, this fixes the test. However, I'm unsure we should fix this >> inside eshell-sentinel: do we always want to ignore "broken pipe" >> errors in Eshell subprocesses, and never show them to the user? > > I think we do want to ignore that error here. In `eshell-sentinel', we > only run the `finish-io' code when the subprocess's state has already > changed; in this case, that means the subprocess has already been > terminated, since Eshell doesn't handle cases like SIGSTOP or SIGCONT > yet (see the commented out functions at the bottom of > lisp/eshell/esh-proc.el). Normally, if we detect a broken pipe, we'd > want to signal the subprocess that tried to write, but since we know > it's already been terminated, there's no (living) process to signal > anymore. Makes sense to me, I think, so I pushed the patch 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 Feb 24 00:20:11 2022 Received: (at 54062) by debbugs.gnu.org; 24 Feb 2022 05:20:11 +0000 Received: from localhost ([127.0.0.1]:47190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nN6Xz-0000de-I3 for submit@debbugs.gnu.org; Thu, 24 Feb 2022 00:20:11 -0500 Received: from mail-pl1-f171.google.com ([209.85.214.171]:45872) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nN6Xx-0000dJ-NH for 54062@debbugs.gnu.org; Thu, 24 Feb 2022 00:20:10 -0500 Received: by mail-pl1-f171.google.com with SMTP id s1so727057plg.12 for <54062@debbugs.gnu.org>; Wed, 23 Feb 2022 21:20:09 -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:content-transfer-encoding; bh=pYg8JeynUV/OjqW92rXnjGr3jgx35wEY/vLHohn2TtM=; b=hH654ZAuSTwmRuFRmAiHejQuhiDcxrelXpu+1uR4iGQRrnAfEScM96OM8WZ+1u6lwO Ert3j3olw5peaT3Bal6M3M5s29knH8rOyAdf/uekD+812L9oWuUuMVJFp9q+9scDJEVO YtR4ubEQPjiSZ26WFrYyeyjAVvm4IuUa7KQyltE8boTuqtrRzDB/WueKyyM3BdcIkrXs x8aflRF0xsSOezJ0MDHSJfUEGuV8lEn+MOuB3xiRsg0ACmvFJms2GhjPOofysDuEyPlY hMY1aWe+vrso7aL7TIzGMqxTtEaXwE/OgcDN7poRitMFnL5NXfJQ2YVlue5T+mRFD/Nc MCeg== 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:content-transfer-encoding; bh=pYg8JeynUV/OjqW92rXnjGr3jgx35wEY/vLHohn2TtM=; b=eEXEEV93j4r8IX6ZAoL2bUai2Oc9Pk2AzLzh3MOw1bhHzmZ5eV5SDo/bpYdNoZHkOr glEUlmf71a0yBvvRBaKZakRif4o8NR3xvsBFrnpNCbF97X5Vkgi3/NlIIurxDd0s4HoD IyZaHlYKhzDioPqolFlxdE29YMZ2uA6NXkSrgwRDJ/2EJCdv31pyuwaDflCUKNrOTR+1 /4zz2DDbY//2ir8MihN6L/JRKBaQD6H6DWEzwg/QSY68RTxzZ+BImhAa9nOG6tQgK34M fg8u4NVcozIDvhR98286U0tRYutDkxfGKOOOXLpGd1DkM+Xj22vFjV8MzVrYi0nhmrul fBag== X-Gm-Message-State: AOAM533YVFHe0VKvNcr/V1xE2f8sUPbezVXMAYl55Pn83/y8vQgg1tgp J+FJ70VrjA9KQ5A9yFoZCJE2V2T55pw= X-Google-Smtp-Source: ABdhPJyv0Le/b+C3TQkTyRG7F9Kr0Jbd0PBA14oxMYfUHerBFq7HnT5o5XcUCWeGcP0kRrzVY7sg9Q== X-Received: by 2002:a17:902:b948:b0:14e:fcd1:9cd6 with SMTP id h8-20020a170902b94800b0014efcd19cd6mr928907pls.111.1645680003900; Wed, 23 Feb 2022 21:20:03 -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 h9sm1403573pfv.135.2022.02.23.21.20.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 23 Feb 2022 21:20:03 -0800 (PST) Subject: Re: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken To: Lars Ingebrigtsen References: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> <83mtinz222.fsf@gnu.org> <83ley6y5gx.fsf@gnu.org> <83a6emxak3.fsf@gnu.org> <272c6d13-6d35-a896-1468-2c9bc3befe87@gmail.com> <83a6ekuomt.fsf@gnu.org> <87k0dof7az.fsf@gnus.org> <835yp8ul58.fsf@gnu.org> <71c773bd-1166-8d36-5dac-8d6b81240a2a@gmail.com> <83o82zt5dy.fsf@gnu.org> <88900d29-fef0-6361-eb9f-b50a76e6e50b@gmail.com> <87wnhl7pb9.fsf@gnus.org> From: Jim Porter Message-ID: <4f23f1c3-7138-c377-ff40-a0f001a80128@gmail.com> Date: Wed, 23 Feb 2022 21:20:03 -0800 MIME-Version: 1.0 In-Reply-To: <87wnhl7pb9.fsf@gnus.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54062 Cc: 54062@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 2/23/2022 4:14 AM, Lars Ingebrigtsen wrote: > Makes sense to me, I think, so I pushed the patch to Emacs 29. Thanks. As mentioned upthread, I found a loosely-related issue while working on this. I've filed that as bug#54136, with a patch. (Just mentioning it here so anyone looking at this bug in the future knows the status of that issue.) From unknown Sat Aug 16 16:14:58 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 24 Mar 2022 11:24:10 +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