From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#54062: 29.0.50; [PATCH] Eshell should inform processes when a pipe is broken Date: Fri, 18 Feb 2022 20:20:10 -0800 Message-ID: <7da3e8b2-7400-dca6-6d92-0a60e3d9c215@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------B285E3C11C890219AF4F502F" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32565"; mail-complaints-to="usenet@ciao.gmane.io" To: 54062@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 19 05:21:32 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nLHFU-0008Lp-8t for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 19 Feb 2022 05:21:32 +0100 Original-Received: from localhost ([::1]:39864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nLHFR-0007Ol-Uq for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 18 Feb 2022 23:21:30 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:38592) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nLHF0-0007OY-7A for bug-gnu-emacs@gnu.org; Fri, 18 Feb 2022 23:21:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:34531) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nLHEz-0004sD-SD for bug-gnu-emacs@gnu.org; Fri, 18 Feb 2022 23:21:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nLHEz-0000QU-Os for bug-gnu-emacs@gnu.org; Fri, 18 Feb 2022 23:21:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Feb 2022 04:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 54062 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16452444511599 (code B ref -1); Sat, 19 Feb 2022 04:21:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 19 Feb 2022 04:20:51 +0000 Original-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 Original-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 Original-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 Original-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 Original-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) Original-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 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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:227166 Archived-At: 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--