From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Jun 2024 05:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 71355@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.171747941213913 (code B ref -1); Tue, 04 Jun 2024 05:37:02 +0000 Received: (at submit) by debbugs.gnu.org; 4 Jun 2024 05:36:52 +0000 Received: from localhost ([127.0.0.1]:56157 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEMqo-0003cK-Tf for submit@debbugs.gnu.org; Tue, 04 Jun 2024 01:36:52 -0400 Received: from lists.gnu.org ([209.51.188.17]:37514) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEMqm-0003cB-F3 for submit@debbugs.gnu.org; Tue, 04 Jun 2024 01:36:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sEMqY-0003Q0-UE for bug-gnu-emacs@gnu.org; Tue, 04 Jun 2024 01:36:34 -0400 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sEMqW-0005Ra-33 for bug-gnu-emacs@gnu.org; Tue, 04 Jun 2024 01:36:34 -0400 Received: by mail-oi1-x229.google.com with SMTP id 5614622812f47-3d1facdf12bso229680b6e.0 for ; Mon, 03 Jun 2024 22:36:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717479390; x=1718084190; darn=gnu.org; h=subject:from:to:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=w1dgx8Tp0q4abhH7jjDk5Zv6KnyhzIC9zeK7wHpdgVQ=; b=kWHTUkVn/O2XfjZ7GBIya2FKmujO2HaG/li+u84haeURdb8Aa98vgI6J5gQ4T88+wC vPwqBUDAXAoggQPIl7K0ZJUN7iQqecNugsfqlNeA08WGBbZJ1zoG/o3gLLukFjF2rSMh eezn9UXi5+WbEfzuVd4QT6EQ31v+6exaVrKPzrNfO5BMlLKyyC1O/xZue7M/hCDdTChZ rxSkZzTDub7JuizFH9iExd5JF/8+kKa0DOGN10Rysts3IfxcM2B9SevI7x88iJssEMnk UhHtBhO5fKZSX9R8tNh7jjg+ySRIieOcjIoUryIVGo1+3ivBaD1gq+SqDqtNiJvnYAPF r1oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717479390; x=1718084190; h=subject:from:to:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=w1dgx8Tp0q4abhH7jjDk5Zv6KnyhzIC9zeK7wHpdgVQ=; b=E14pKX127VzfhXie53DpSlY28jLAjBX2cKZ+HZg4J6TVO/ztQKhW3N248lSInsVf/G mSLta9p/SSxwzExN+yAU5DqOAt+pgMJXaPFXa17pdU6Q+i4ZZ+G/ljRdMoztXKd/odUY Jnp43Xx/NMZGpWORz0NRYUcXeMucECEECYWq9A8prxU4LDVEG98cQCiyW6gxDHdB3t/t nQYDysx8jGhjBUn3DMiCZnAwAhsoitabbGd1tgozuZPfJWypt8GSbdZ0tm5QeGNaHbUN tt2ox/o/hNkiIAIz7VdMz2vjnyEi2IT9c4DyuqnyIOnYZ+QfZUcMNhrMt0o9NOSMFIpS XmvA== X-Gm-Message-State: AOJu0YzCmlOLOpWudrcZ3OW+rJVl85pKwdjJY/5433itLnJvV/fdBr77 sRkXT77pvyPhGW+iJM9UuOfGzfAJjgqfaIlyD39PRC167tp15xTissaldA== X-Google-Smtp-Source: AGHT+IH2LqIiayjh3cXs6R6Hlr4gS6XmrIxtVYy/88p0mxLZWFf1y866NP2buSr/FsTQodGxPAmURQ== X-Received: by 2002:a05:6808:19a8:b0:3c9:7022:7545 with SMTP id 5614622812f47-3d1e34739fdmr13908322b6e.8.1717479389539; Mon, 03 Jun 2024 22:36:29 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-6d47b555f1csm9168a12.40.2024.06.03.22.36.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 03 Jun 2024 22:36:28 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------av8HtsLB2xJdLaE5qMPyAIeH" Message-ID: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> Date: Mon, 3 Jun 2024 22:36:29 -0700 MIME-Version: 1.0 X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US From: Jim Porter Received-SPF: pass client-ip=2607:f8b0:4864:20::229; envelope-from=jporterbugs@gmail.com; helo=mail-oi1-x229.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) 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. --------------av8HtsLB2xJdLaE5qMPyAIeH Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit In Eshell, if I run "time cat config.log" from my Emacs build directory, it reports that it takes about 7.5s. It also doesn't show *any* output until it's completely finished. With my attached patches, it now takes about 0.6s and also shows the output iteratively, redisplaying periodically so users can see that something is happening. The other command most likely to be impacted by this is the built-in version of "ls". When I run "ls -Al /usr/bin" on my system, I go from 2.1s before my patch to 1.2s after. Not as big an improvement, but still noticeable, and it *feels* a lot faster too with the iterative redisplay. I don't usually add a NEWS entry for perf improvements, but this one seemed notable enough that I figured it was worth tooting my own horn. :) --------------av8HtsLB2xJdLaE5qMPyAIeH Content-Type: text/plain; charset=UTF-8; name="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Disposition: attachment; filename*0="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Transfer-Encoding: base64 RnJvbSAwNTMzYzIxZjRiNTA5ZTYxYTczZWVjNmIyOWI5MzEwNDIwMmMzYmY4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowMTo0OCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBCZSBtb3JlIGVmZmljaWVudCB3aGVuIGJ1ZmZlcmluZyBvdXRwdXQgaW4gRXNo ZWxsCgpUaGlzIG1ha2VzIHRoZSBidWlsdC1pbiAnZXNoZWxsL2NhdCcgNS0xMHggZmFzdGVy IG9uIGxhcmdlIGZpbGVzIGluIG15Cihzb21ld2hhdCBsaW1pdGVkKSB0ZXN0cy4gIEluIGFk ZGl0aW9uLCB0aGlzIGNoYW5nZSBwZXJpb2RpY2FsbHkKcmVkaXNwbGF5cyB3aGVuIHVzaW5n IHRoZSBFc2hlbGwgYnVmZmVyZWQgb3V0cHV0IHNvIHRoYXQgdXNlcnMgY2FuIHNlZQpzb21l IHByb2dyZXNzLgoKKiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgKGVzaGVsbC1wcmludC1xdWV1 ZS1zaXplKTogTWFrZSBvYnNvbGV0ZSBpbgpmYXZvciBvZi4uLgooZXNoZWxsLWJ1ZmZlcmVk LXByaW50LXNpemUpOiAuLi4gdGhpcy4KKGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3Bs YXktdGhyb3R0bGUpOiBOZXcgdXNlciBvcHRpb24uCihlc2hlbGwtcHJpbnQtcXVldWUpOiBN YWtlIGxvY2FsLgooZXNoZWxsLS1uZXh0LXJlZGlzcGxheS10aW1lKTogTmV3IHZhcmlhYmxl LgooZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50KTogTWFrZSBvYnNvbGV0ZSBpbiBmYXZvciBv Zi4uLgooZXNoZWxsLXByaW50LXF1ZXVlLXNpemUpOiAuLi4gdGhpcy4KKGVzaGVsbC1pbml0 LXByaW50LWJ1ZmZlcik6IE1ha2Ugb2Jzb2xldGUuCihlc2hlbGwtZmx1c2gpOiBTaW1wbGlm eS4KKGVzaGVsbC1idWZmZXJlZC1wcmludCk6IENvbXBhcmUgcXVldWVkIG91dHB1dCBsZW5n dGggdG8KJ2VzaGVsbC1idWZmZXJlZC1wcmludC1zaXplJy4KKGVzaGVsbC13aXRoLWJ1ZmZl cmVkLXByaW50KTogTmV3IG1hY3JvLgoKKiBsaXNwL2VzaGVsbC9lc2gtdmFyLmVsIChlc2hl bGwvZW52KToKKiBsaXNwL2VzaGVsbC9lbS1kaXJzLmVsIChlc2hlbGwvY2QpOgoqIGxpc3Av ZXNoZWxsL2VtLWhpc3QuZWwgKGVzaGVsbC9oaXN0b3J5KToKKiBsaXNwL2VzaGVsbC9lbS11 bml4LmVsIChlc2hlbGwvY2F0KToKKiBsaXNwL2VzaGVsbC9lbS1scy5lbCAoZXNoZWxsL2xz KTogVXNlICdlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludCcuCihmbHVzaC1mdW5jKTogUmVt b3ZlLgooZXNoZWxsLWxzLS1pbnNlcnQtZGlyZWN0b3J5LCBlc2hlbGwtZG8tbHMpOiBSZW1v dmUgJ2ZsdXNoLWZ1bmMnLgoKKiBldGMvTkVXUzogQW5ub3VuY2UgdGhlc2UgaW1wcm92ZW1l bnRzLgotLS0KIGV0Yy9ORVdTICAgICAgICAgICAgICAgfCAgNyArKysrCiBsaXNwL2VzaGVs bC9lbS1kaXJzLmVsIHwgMTMgKysrLS0tCiBsaXNwL2VzaGVsbC9lbS1oaXN0LmVsIHwgMTMg KysrLS0tCiBsaXNwL2VzaGVsbC9lbS1scy5lbCAgIHwgMTQgKysrLS0tLQogbGlzcC9lc2hl bGwvZW0tdW5peC5lbCB8IDI1ICsrKysrKy0tLS0tLQogbGlzcC9lc2hlbGwvZXNoLWlvLmVs ICB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogbGlz cC9lc2hlbGwvZXNoLXZhci5lbCB8ICA3ICsrLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTA1IGlu c2VydGlvbnMoKyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIv ZXRjL05FV1MKaW5kZXggMzAyY2QzMGExMzUuLmIyYzhlNzQzOWU3IDEwMDY0NAotLS0gYS9l dGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtOTQ4LDYgKzk0OCwxMyBAQCBmaWxlcyBhbmQg ZGVueSByZWFkIHBlcm1pc3Npb24gZm9yIHVzZXJzIHdobyBhcmUgbm90IG1lbWJlcnMgb2Yg dGhlCiBmaWxlJ3MgZ3JvdXAuICBTZWUgdGhlIEluZm8gbm9kZSAiKGNvcmV1dGlscykgRmls ZSBwZXJtaXNzaW9ucyIgZm9yCiBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgbm90YXRpb24u CiAKKy0tLQorKioqIFBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBmb3IgaW50ZXJhY3RpdmUg b3V0cHV0IGluIEVzaGVsbC4KK0ludGVyYWN0aXZlIG91dHB1dCBpbiBFc2hlbGwgc2hvdWxk IG5vdyBiZSBzaWduaWZpY25hdGx5IGZhc3RlciwKK2VzcGVjaWFsbHkgZm9yIGJ1aWx0LWlu IGNvbW1hbmRzIHRoYXQgY2FuIHByaW50IGxhcmdlIGFtb3VudHMgb2Ygb3V0cHV0CisoZS5n LiAiY2F0IikuICBJbiBhZGRpdGlvbiwgdGhlc2UgY29tbWFuZHMgY2FuIG5vdyB1cGRhdGUg dGhlIGRpc3BsYXkKK3BlcmlvZGljYWxseSB0byBzaG93IHRoZWlyIHByb2dyZXNzLgorCiAr KysKICoqKiBOZXcgc3BlY2lhbCByZWZlcmVuY2UgdHlwZSAnIzxtYXJrZXIgUE9TSVRJT04g QlVGRkVSPicuCiBUaGlzIHNwZWNpYWwgcmVmZXJlbmNlIHR5cGUgcmV0dXJucyBhIG1hcmtl ciBhdCAnUE9TSVRJT04nIGluCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS1kaXJzLmVs IGIvbGlzcC9lc2hlbGwvZW0tZGlycy5lbAppbmRleCBhM2QxYTM0OTU0MC4uZTcwZjJjZmUx OTYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLWRpcnMuZWwKKysrIGIvbGlzcC9lc2hl bGwvZW0tZGlycy5lbApAQCAtNDAwLDEzICs0MDAsMTIgQEAgZXNoZWxsL2NkCiAJCShpbmRl eCAwKSkKIAkgICAgKGlmICg9IGxlbiAwKQogCQkoZXJyb3IgIkRpcmVjdG9yeSByaW5nIGVt cHR5IikpCi0JICAgIChlc2hlbGwtaW5pdC1wcmludC1idWZmZXIpCi0JICAgICh3aGlsZSAo PCBpbmRleCBsZW4pCi0JICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAotCSAgICAgICAo Y29uY2F0IChudW1iZXItdG8tc3RyaW5nIGluZGV4KSAiOiAiCi0JCSAgICAgICAocmluZy1y ZWYgZXNoZWxsLWxhc3QtZGlyLXJpbmcgaW5kZXgpICJcbiIpKQotCSAgICAgIChzZXRxIGlu ZGV4ICgxKyBpbmRleCkpKQotCSAgICAoZXNoZWxsLWZsdXNoKQorICAgICAgICAgICAgKGVz aGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgICAgICAgICh3aGlsZSAoPCBpbmRl eCBsZW4pCisgICAgICAgICAgICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAorICAgICAg ICAgICAgICAgICAoY29uY2F0IChudW1iZXItdG8tc3RyaW5nIGluZGV4KSAiOiAiCisgICAg ICAgICAgICAgICAgICAgICAgICAgKHJpbmctcmVmIGVzaGVsbC1sYXN0LWRpci1yaW5nIGlu ZGV4KSAiXG4iKSkKKyAgICAgICAgICAgICAgICAoc2V0cSBpbmRleCAoMSsgaW5kZXgpKSkp CiAJICAgIChzZXRxIGhhbmRsZWQgdCkpKSkpCiAgICAgIChwYXRoCiAgICAgICAoc2V0cSBw YXRoIChlc2hlbGwtZXhwYW5kLW11bHRpcGxlLWRvdHMgcGF0aCkpKSkKZGlmZiAtLWdpdCBh L2xpc3AvZXNoZWxsL2VtLWhpc3QuZWwgYi9saXNwL2VzaGVsbC9lbS1oaXN0LmVsCmluZGV4 IDg4NjVjYzc0NWEzLi45ZmZkZGZiNjExZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0t aGlzdC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1oaXN0LmVsCkBAIC0zMzMsNyArMzMzLDYg QEAgZXNoZWxsLXNhdmUtc29tZS1oaXN0b3J5CiAKIChkZWZ1biBlc2hlbGwvaGlzdG9yeSAo JnJlc3QgYXJncykKICAgIkxpc3QgaW4gaGVscCBidWZmZXIgdGhlIGJ1ZmZlcidzIGlucHV0 IGhpc3RvcnkuIgotICAoZXNoZWxsLWluaXQtcHJpbnQtYnVmZmVyKQogICAoZXNoZWxsLWV2 YWwtdXNpbmctb3B0aW9ucwogICAgImhpc3RvcnkiIGFyZ3MKICAgICcoKD9yICJyZWFkIiBu aWwgcmVhZC1oaXN0b3J5CkBAIC0zNzAsMTIgKzM2OSwxMiBAQCBlc2hlbGwvaGlzdG9yeQog ICAgICAgIChsZXQqICgoaW5kZXggKDEtIChvciBsZW5ndGggKHJpbmctbGVuZ3RoIGVzaGVs bC1oaXN0b3J5LXJpbmcpKSkpCiAJICAgICAgKHJlZiAoLSAocmluZy1sZW5ndGggZXNoZWxs LWhpc3RvcnktcmluZykgaW5kZXgpKSkKIAkgOzsgV2UgaGF2ZSB0byBidWlsZCB1cCBhIGxp c3Qgb3Vyc2VsdmVzIGZyb20gdGhlIHJpbmcgdmVjdG9yLgotCSAod2hpbGUgKD49IGluZGV4 IDApCi0JICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAotCSAgICAoZm9ybWF0ICIlNWQgICVz XG4iIHJlZiAoZXNoZWxsLWdldC1oaXN0b3J5IGluZGV4KSkpCi0JICAgKHNldHEgaW5kZXgg KDEtIGluZGV4KQotCQkgcmVmICgxKyByZWYpKSkpKSkpCi0gICAoZXNoZWxsLWZsdXNoKQor ICAgICAgICAgKGVzaGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgICAgICh3aGls ZSAoPj0gaW5kZXggMCkKKyAgICAgICAgICAgICAoZXNoZWxsLWJ1ZmZlcmVkLXByaW50Cisg ICAgICAgICAgICAgIChmb3JtYXQgIiU1ZCAgJXNcbiIgcmVmIChlc2hlbGwtZ2V0LWhpc3Rv cnkgaW5kZXgpKSkKKyAgICAgICAgICAgICAoc2V0cSBpbmRleCAoMS0gaW5kZXgpCisgICAg ICAgICAgICAgICAgICAgcmVmICgxKyByZWYpKSkpKSkpKQogICAgbmlsKSkKIAogKGRlZnVu IGVzaGVsbC1wdXQtaGlzdG9yeSAoaW5wdXQgJm9wdGlvbmFsIHJpbmcgYXQtYmVnaW5uaW5n KQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0tbHMuZWwgYi9saXNwL2VzaGVsbC9lbS1s cy5lbAppbmRleCA4MmQ0YjAxMzkzZi4uOGJmMmUyMGQzMjAgMTAwNjQ0Ci0tLSBhL2xpc3Av ZXNoZWxsL2VtLWxzLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLWxzLmVsCkBAIC0yMjksNyAr MjI5LDYgQEAgYmxvY2stc2l6ZQogKGRlZnZhciBkZXJlZmVyZW5jZS1saW5rcykKIChkZWZ2 YXIgZGlyLWxpdGVyYWwpCiAoZGVmdmFyIGVycm9yLWZ1bmMpCi0oZGVmdmFyIGZsdXNoLWZ1 bmMpCiAoZGVmdmFyIGh1bWFuLXJlYWRhYmxlKQogKGRlZnZhciBpZ25vcmUtcGF0dGVybikK IChkZWZ2YXIgaW5zZXJ0LWZ1bmMpCkBAIC0yNzgsNyArMjc3LDYgQEAgZXNoZWxsLWxzLS1p bnNlcnQtZGlyZWN0b3J5CiAgICAgICAgICAgKHJlcXVpcmUgJ2VtLWdsb2IpCiAgICAgICAg ICAgKGxldCogKChpbnNlcnQtZnVuYyAnaW5zZXJ0KQogICAgICAgICAgICAgICAgICAoZXJy b3ItZnVuYyAnaW5zZXJ0KQotICAgICAgICAgICAgICAgICAoZmx1c2gtZnVuYyAnaWdub3Jl KQogICAgICAgICAgICAgICAgICAoZXNoZWxsLWVycm9yLWlmLW5vLWdsb2IgdCkKICAgICAg ICAgICAgICAgICAgKHRhcmdldCA7IEV4cGFuZCB0aGUgc2hlbGwgd2lsZGNhcmRzIGlmIGFu eS4KICAgICAgICAgICAgICAgICAgIChpZiAoYW5kIChhdG9tIGZpbGUpCkBAIC0zMjQsMTAg KzMyMiwxMCBAQCBlc2hlbGwtbHMtLWRpcmVkCiAKIChkZWZzdWJzdCBlc2hlbGwvbHMgKCZy ZXN0IGFyZ3MpCiAgICJBbiBhbGlhcyB2ZXJzaW9uIG9mIGBlc2hlbGwtZG8tbHMnLiIKLSAg KGxldCAoKGluc2VydC1mdW5jICdlc2hlbGwtYnVmZmVyZWQtcHJpbnQpCi0JKGVycm9yLWZ1 bmMgJ2VzaGVsbC1lcnJvcikKLQkoZmx1c2gtZnVuYyAnZXNoZWxsLWZsdXNoKSkKLSAgICAo YXBwbHkgJ2VzaGVsbC1kby1scyBhcmdzKSkpCisgIChlc2hlbGwtd2l0aC1idWZmZXJlZC1w cmludAorICAgIChsZXQgKChpbnNlcnQtZnVuYyAjJ2VzaGVsbC1idWZmZXJlZC1wcmludCkK KyAgICAgICAgICAoZXJyb3ItZnVuYyAjJ2VzaGVsbC1lcnJvcikpCisgICAgICAoYXBwbHkg J2VzaGVsbC1kby1scyBhcmdzKSkpKQogCiAocHV0ICdlc2hlbGwvbHMgJ2VzaGVsbC1uby1u dW1lcmljLWNvbnZlcnNpb25zIHQpCiAocHV0ICdlc2hlbGwvbHMgJ2VzaGVsbC1maWxlbmFt ZS1hcmd1bWVudHMgdCkKQEAgLTMzNiw3ICszMzQsNiBAQCBlc2hlbGwvbHMKIAogKGRlZnVu IGVzaGVsbC1kby1scyAoJnJlc3QgYXJncykKICAgIkltcGxlbWVudGF0aW9uIG9mIFwibHNc IiBpbiBMaXNwLCBwYXNzaW5nIEFSR1MuIgotICAoZnVuY2FsbCBmbHVzaC1mdW5jIC0xKQog ICA7OyBQcm9jZXNzIHRoZSBjb21tYW5kIGFyZ3VtZW50cywgYW5kIGJlZ2luIGxpc3Rpbmcg ZmlsZXMuCiAgIChlc2hlbGwtZXZhbC11c2luZy1vcHRpb25zCiAgICAibHMiIChpZiBlc2hl bGwtbHMtaW5pdGlhbC1hcmdzCkBAIC00MjIsOCArNDE5LDcgQEAgZXNoZWxsLWRvLWxzCiAJ CSAgICAgIChlc2hlbGwtZmlsZS1hdHRyaWJ1dGVzCiAJCSAgICAgICBhcmcgKGlmIG51bWVy aWMtdWlkLWdpZCAnaW50ZWdlciAnc3RyaW5nKSkpKQogCSAgICAgIGFyZ3MpCi0gICAgICB0 IChleHBhbmQtZmlsZS1uYW1lIGRlZmF1bHQtZGlyZWN0b3J5KSkpCi0gICAoZnVuY2FsbCBm bHVzaC1mdW5jKSkpCisgICAgICB0IChleHBhbmQtZmlsZS1uYW1lIGRlZmF1bHQtZGlyZWN0 b3J5KSkpKSkKIAogKGRlZnN1YnN0IGVzaGVsbC1scy1wcmludGFibGUtc2l6ZSAoZmlsZXNp emUgJm9wdGlvbmFsIGJ5LWJsb2Nrc2l6ZSkKICAgIlJldHVybiBhIHByaW50YWJsZSBGSUxF U0laRS4iCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS11bml4LmVsIGIvbGlzcC9lc2hl bGwvZW0tdW5peC5lbAppbmRleCA0MTM3YzA1ZmE0MS4uZTZiZDAzODFhMTQgMTAwNjQ0Ci0t LSBhL2xpc3AvZXNoZWxsL2VtLXVuaXguZWwKKysrIGIvbGlzcC9lc2hlbGwvZW0tdW5peC5l bApAQCAtNjU5LDcgKzY1OSw2IEBAIGVzaGVsbC9jYXQKIAkgIChpZiBlc2hlbGwtaW4tcGlw ZWxpbmUtcAogCSAgICAgIChlcnJvciAiRXNoZWxsJ3MgYGNhdCcgZG9lcyBub3Qgd29yayBp biBwaXBlbGluZXMiKQogCSAgICAoZXJyb3IgIkVzaGVsbCdzIGBjYXQnIGNhbm5vdCBkaXNw bGF5IG9uZSBvZiB0aGUgZmlsZXMgZ2l2ZW4iKSkpKQotICAgIChlc2hlbGwtaW5pdC1wcmlu dC1idWZmZXIpCiAgICAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKICAgICAgImNhdCIg YXJncwogICAgICAnKCg/aCAiaGVscCIgbmlsIG5pbCAic2hvdyB0aGlzIHVzYWdlIHNjcmVl biIpCkBAIC02NzIsMTggKzY3MSwxOCBAQCBlc2hlbGwvY2F0CiAJICAgKHRocm93ICdlc2hl bGwtZXh0ZXJuYWwKIAkJICAoZXNoZWxsLWV4dGVybmFsLWNvbW1hbmQgImNhdCIgYXJncykp KSkKICAgICAgKGxldCAoKGN1cmJ1ZiAoY3VycmVudC1idWZmZXIpKSkKLSAgICAgICAoZG9s aXN0IChmaWxlIGFyZ3MpCi0JICh3aXRoLXRlbXAtYnVmZmVyCi0JICAgKGluc2VydC1maWxl LWNvbnRlbnRzIGZpbGUpCi0JICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLQkgICAod2hp bGUgKG5vdCAoZW9icCkpCi0JICAgICAobGV0ICgoc3RyIChidWZmZXItc3Vic3RyaW5nCi0J CQkgKHBvaW50KSAobWluICgxKyAobGluZS1lbmQtcG9zaXRpb24pKQotCQkJCSAgICAgIChw b2ludC1tYXgpKSkpKQotCSAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBjdXJidWYKLQkJ IChlc2hlbGwtYnVmZmVyZWQtcHJpbnQgc3RyKSkpCi0JICAgICAoZm9yd2FyZC1saW5lKSkp KSkKLSAgICAgKGVzaGVsbC1mbHVzaCkpKSkKKyAgICAgICAoZXNoZWxsLXdpdGgtYnVmZmVy ZWQtcHJpbnQKKyAgICAgICAgIChkb2xpc3QgKGZpbGUgYXJncykKKwkgICAod2l0aC10ZW1w LWJ1ZmZlcgorCSAgICAgKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUpCisJICAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICAgICAgICh3aGlsZSAobm90IChlb2JwKSkK KyAgICAgICAgICAgICAgIChsZXQqICgocG9zIChtaW4gKCsgKHBvaW50KSBlc2hlbGwtYnVm ZmVyZWQtcHJpbnQtc2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBv aW50LW1heCkpKQorICAgICAgICAgICAgICAgICAgICAgIChzdHIgKGJ1ZmZlci1zdWJzdHJp bmcgKHBvaW50KSBwb3MpKSkKKyAgICAgICAgICAgICAgICAgKHdpdGgtY3VycmVudC1idWZm ZXIgY3VyYnVmCisgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludCBz dHIpKQorICAgICAgICAgICAgICAgICAoZ290by1jaGFyIHBvcykpKSkpKSkpKSkKIAogKHB1 dCAnZXNoZWxsL2NhdCAnZXNoZWxsLW5vLW51bWVyaWMtY29udmVyc2lvbnMgdCkKIChwdXQg J2VzaGVsbC9jYXQgJ2VzaGVsbC1maWxlbmFtZS1hcmd1bWVudHMgdCkKZGlmZiAtLWdpdCBh L2xpc3AvZXNoZWxsL2VzaC1pby5lbCBiL2xpc3AvZXNoZWxsL2VzaC1pby5lbAppbmRleCBj NzAxN2VlMWQ3MC4uNzU4N2I3ZGRhYzkgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1p by5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtaW8uZWwKQEAgLTExMiwxMCArMTEyLDI4IEBA IGVzaGVsbC1lcnJvci1oYW5kbGUKIAogKGRlZmN1c3RvbSBlc2hlbGwtcHJpbnQtcXVldWUt c2l6ZSA1CiAgICJUaGUgc2l6ZSBvZiB0aGUgcHJpbnQgcXVldWUsIGZvciBkb2luZyBidWZm ZXJlZCBwcmludGluZy4KK1RoaXMgdmFyaWFibGUgaXMgb2Jzb2xldGUuICBZb3Ugc2hvdWxk IHVzZSBgZXNoZWxsLWJ1ZmZlcmVkLXByaW50LXNpemUnCitpbnN0ZWFkLiIKKyAgOnR5cGUg J2ludGVnZXIKKyAgOmdyb3VwICdlc2hlbGwtaW8pCisobWFrZS1vYnNvbGV0ZS12YXJpYWJs ZSAnZXNoZWxsLXByaW50LXF1ZXVlLXNpemUKKyAgICAgICAgICAgICAgICAgICAgICAgICdl c2hlbGwtYnVmZmVyZWQtcHJpbnQtc2l6ZSAiMzAuMSIpCisKKyhkZWZjdXN0b20gZXNoZWxs LWJ1ZmZlcmVkLXByaW50LXNpemUgMjA0OAorICAiVGhlIHNpemUgb2YgdGhlIHByaW50IHF1 ZXVlIGluIGNoYXJhY3RlcnMsIGZvciBkb2luZyBidWZmZXJlZCBwcmludGluZy4KIFRoaXMg aXMgYmFzaWNhbGx5IGEgc3BlZWQgZW5oYW5jZW1lbnQsIHRvIGF2b2lkIGJsb2NraW5nIHRo ZSBMaXNwIGNvZGUKIGZyb20gZXhlY3V0aW5nIHdoaWxlIEVtYWNzIGlzIHJlZGlzcGxheWlu Zy4iCiAgIDp0eXBlICdpbnRlZ2VyCi0gIDpncm91cCAnZXNoZWxsLWlvKQorICA6Z3JvdXAg J2VzaGVsbC1pbworICA6dmVyc2lvbiAiMzAuMSIpCisKKyhkZWZjdXN0b20gZXNoZWxsLWJ1 ZmZlcmVkLXByaW50LXJlZGlzcGxheS10aHJvdHRsZSAwLjAyNQorICAiVGhlIG1pbmltdW0g dGltZSBpbiBzZWNvbmRzIGJldHdlZW4gcmVkaXNwbGF5cyB3aGVuIHVzaW5nIGJ1ZmZlcmVk IHByaW50aW5nLgorSWYgbmlsLCBkb24ndCByZWRpc3BsYXkgd2hpbGUgcHJpbnRpbmcuIgor ICA6dHlwZSAnKGNob2ljZSBudW1iZXIKKyAgICAgICAgICAgICAgICAgKGNvbnN0IDp0YWcg IkRvbid0IHJlZGlzcGxheSIgbmlsKSkKKyAgOmdyb3VwICdlc2hlbGwtaW8KKyAgOnZlcnNp b24gIjMwLjEiKQogCiAoZGVmY3VzdG9tIGVzaGVsbC12aXJ0dWFsLXRhcmdldHMKICAgJyg7 OyBUaGUgbGl0ZXJhbCBzdHJpbmcgIi9kZXYvbnVsbCIgaXMgaW50ZW50aW9uYWwgaGVyZS4g IEl0IGp1c3QKQEAgLTQ2MCw0MCArNDc4LDY1IEBAIGVzaGVsbC1pbnRlcmFjdGl2ZS1vdXRw dXQtcAogICAgICAgICAgICAgIChlcXVhbCAoY2FhciAoYXJlZiBoYW5kbGVzIGVzaGVsbC1l cnJvci1oYW5kbGUpKSAnKHQpKSkKICAgICAgIChlcXVhbCAoY2FhciAoYXJlZiBoYW5kbGVz IGluZGV4KSkgJyh0KSkpKSkKIAotKGRlZnZhciBlc2hlbGwtcHJpbnQtcXVldWUgbmlsKQor KGRlZnZhci1sb2NhbCBlc2hlbGwtcHJpbnQtcXVldWUgbmlsKQorKGRlZnZhci1sb2NhbCBl c2hlbGwtcHJpbnQtcXVldWUtc2l6ZSBuaWwpCisoZGVmdmFyIGVzaGVsbC0tbmV4dC1yZWRp c3BsYXktdGltZSBuaWwpCisKIChkZWZ2YXIgZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IC0x KQorKG1ha2Utb2Jzb2xldGUtdmFyaWFibGUgJ2VzaGVsbC1wcmludC1xdWV1ZS1jb3VudAor ICAgICAgICAgICAgICAgICAgICAgICAgJ2VzaGVsbC1wcmludC1xdWV1ZS1zaXplICIzMC4x IikKIAogKGRlZnN1YnN0IGVzaGVsbC1wcmludCAob2JqZWN0KQogICAiT3V0cHV0IE9CSkVD VCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IGhhbmRsZS4iCiAgIChlc2hlbGwtb3V0cHV0LW9i amVjdCBvYmplY3QgZXNoZWxsLW91dHB1dC1oYW5kbGUpKQogCi0oZGVmdW4gZXNoZWxsLWZs dXNoICgmb3B0aW9uYWwgcmVzZXQtcCkKLSAgIkZsdXNoIG91dCBhbnkgbGluZXMgdGhhdCBo YXZlIGJlZW4gcXVldWVkIGZvciBwcmludGluZy4KLU11c3QgYmUgY2FsbGVkIGJlZm9yZSBw cmludGluZyBiZWdpbnMgd2l0aCAtMSBhcyBpdHMgYXJndW1lbnQsIGFuZAotYWZ0ZXIgYWxs IHByaW50aW5nIGlzIG92ZXIgd2l0aCBubyBhcmd1bWVudC4iCi0gIChpZ25vcmUKLSAgIChp ZiByZXNldC1wCi0gICAgICAgKHNldHEgZXNoZWxsLXByaW50LXF1ZXVlIG5pbAotCSAgICAg ZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IHJlc2V0LXApCi0gICAgIChpZiBlc2hlbGwtcHJp bnQtcXVldWUKLQkgKGVzaGVsbC1wcmludCBlc2hlbGwtcHJpbnQtcXVldWUpKQotICAgICAo ZXNoZWxsLWZsdXNoIDApKSkpCi0KIChkZWZ1biBlc2hlbGwtaW5pdC1wcmludC1idWZmZXIg KCkKICAgIkluaXRpYWxpemUgdGhlIGJ1ZmZlcmVkIHByaW50aW5nIHF1ZXVlLiIKKyAgKGRl Y2xhcmUgKG9ic29sZXRlICMnZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQgIjMwLjEiKSkK ICAgKGVzaGVsbC1mbHVzaCAtMSkpCiAKKyhkZWZ1biBlc2hlbGwtZmx1c2ggKCZvcHRpb25h bCBjbGVhcikKKyAgIkZsdXNoIG91dCBhbnkgbGluZXMgdGhhdCBoYXZlIGJlZW4gcXVldWVk IGZvciBwcmludGluZy4KK0lmIENMRUFSIGlzIG5vbi1uaWwsIGp1c3QgZGVsZXRlIHRoZSBl eGlzdGluZyBsaW5lcyBpbnN0ZWFkIG9mIHByaW50aW5nCit0aGVtLiIKKyAgKHdoZW4gZXNo ZWxsLXByaW50LXF1ZXVlCisgICAgKHVubGVzcyBjbGVhcgorICAgICAgKGVzaGVsbC1wcmlu dCAoYXBwbHkgIydjb25jYXQgZXNoZWxsLXByaW50LXF1ZXVlKSkKKyAgICAgIDs7IFdoZW4g cHJpbnRpbmcgaW50ZXJhY3RpdmVseSAoc2VlIGBlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmlu dCcpLAorICAgICAgOzsgcGVyaW9kaWNhbGx5IHJlZGlzcGxheSBzbyB0aGUgdXNlciBjYW4g c2VlIHNvbWUgcHJvZ3Jlc3MuCisgICAgICAod2hlbiAoYW5kIGVzaGVsbC0tbmV4dC1yZWRp c3BsYXktdGltZQorICAgICAgICAgICAgICAgICAodGltZS1sZXNzLXAgZXNoZWxsLS1uZXh0 LXJlZGlzcGxheS10aW1lIChjdXJyZW50LXRpbWUpKSkKKyAgICAgICAgKHJlZGlzcGxheSkK KyAgICAgICAgKHNldHEgZXNoZWxsLS1uZXh0LXJlZGlzcGxheS10aW1lCisgICAgICAgICAg ICAgICh0aW1lLWFkZCBlc2hlbGwtLW5leHQtcmVkaXNwbGF5LXRpbWUKKyAgICAgICAgICAg ICAgICAgICAgICAgIGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3BsYXktdGhyb3R0bGUp KSkpCisgICAgKHNldHEgZXNoZWxsLXByaW50LXF1ZXVlIG5pbAorICAgICAgICAgIGVzaGVs bC1wcmludC1xdWV1ZS1zaXplIDApKSkKKwogKGRlZnVuIGVzaGVsbC1idWZmZXJlZC1wcmlu dCAoJnJlc3Qgc3RyaW5ncykKICAgIkEgYnVmZmVyZWQgcHJpbnQgLS0gKmZvciBzdHJpbmdz IG9ubHkqLiIKLSAgKGlmICg8IGVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCAwKQotICAgICAg KHByb2duCi0JKGVzaGVsbC1wcmludCAoYXBwbHkgJ2NvbmNhdCBzdHJpbmdzKSkKLQkoc2V0 cSBlc2hlbGwtcHJpbnQtcXVldWUtY291bnQgMCkpCi0gICAgKGlmICg9IGVzaGVsbC1wcmlu dC1xdWV1ZS1jb3VudCBlc2hlbGwtcHJpbnQtcXVldWUtc2l6ZSkKLQkoZXNoZWxsLWZsdXNo KSkKLSAgICAoc2V0cSBlc2hlbGwtcHJpbnQtcXVldWUKLQkgIChjb25jYXQgZXNoZWxsLXBy aW50LXF1ZXVlIChhcHBseSAnY29uY2F0IHN0cmluZ3MpKQotCSAgZXNoZWxsLXByaW50LXF1 ZXVlLWNvdW50ICgxKyBlc2hlbGwtcHJpbnQtcXVldWUtY291bnQpKSkpCisgIChzZXRxIGVz aGVsbC1wcmludC1xdWV1ZQorICAgICAgICAobmNvbmMgZXNoZWxsLXByaW50LXF1ZXVlIHN0 cmluZ3MpCisgICAgICAgIGVzaGVsbC1wcmludC1xdWV1ZS1zaXplCisgICAgICAgICgrIGVz aGVsbC1wcmludC1xdWV1ZS1zaXplIChhcHBseSAjJysgKG1hcGNhciAjJ2xlbmd0aCBzdHJp bmdzKSkpKQorICAod2hlbiAoPiBlc2hlbGwtcHJpbnQtcXVldWUtc2l6ZSBlc2hlbGwtYnVm ZmVyZWQtcHJpbnQtc2l6ZSkKKyAgICAoZXNoZWxsLWZsdXNoKSkpCisKKyhkZWZtYWNybyBl c2hlbGwtd2l0aC1idWZmZXJlZC1wcmludCAoJnJlc3QgYm9keSkKKyAgIkluaXRpYWxpemUg YnVmZmVyZWQgcHJpbnRpbmcgZm9yIEVzaGVsbCwgYW5kIHRoZW4gZXZhbHVhdGUgQk9EWS4K K1doZW4gcHJpbnRpbmcgaW50ZXJhY3RpdmVseSwgdGhpcyB3aWxsIGNhbGwgYHJlZGlzcGxh eScgZXZlcnkKK2Blc2hlbGwtYnVmZmVyZWQtcHJpbnQtcmVkaXNwbGF5LXRocm90dGxlJyBz ZWNvbmRzIHNvIHRoYXQgdGhlIHVzZXIgY2FuCitzZWUgdGhlIHByb2dyZXNzLiIKKyAgKGRl Y2xhcmUgKGluZGVudCAwKSkKKyAgYCh1bndpbmQtcHJvdGVjdAorICAgICAgIChsZXQgKChl c2hlbGwtLW5leHQtcmVkaXNwbGF5LXRpbWUKKyAgICAgICAgICAgICAgKHdoZW4gKGFuZCBl c2hlbGwtYnVmZmVyZWQtcHJpbnQtcmVkaXNwbGF5LXRocm90dGxlCisgICAgICAgICAgICAg ICAgICAgICAgICAgKGVzaGVsbC1pbnRlcmFjdGl2ZS1vdXRwdXQtcCkpCisgICAgICAgICAg ICAgICAgKHRpbWUtYWRkIChjdXJyZW50LXRpbWUpCisgICAgICAgICAgICAgICAgICAgICAg ICAgIGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3BsYXktdGhyb3R0bGUpKSkpCisgICAg ICAgICAgKGVzaGVsbC1mbHVzaCB0KQorICAgICAgICAgICxAYm9keSkKKyAgICAgKGVzaGVs bC1mbHVzaCkpKQogCiAoZGVmc3Vic3QgZXNoZWxsLWVycm9yIChvYmplY3QpCiAgICJPdXRw dXQgT0JKRUNUIHRvIHRoZSBzdGFuZGFyZCBlcnJvciBoYW5kbGUuIgpkaWZmIC0tZ2l0IGEv bGlzcC9lc2hlbGwvZXNoLXZhci5lbCBiL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKaW5kZXgg MDJiNWM3ODU2MjUuLmYwMjcwYWNhOTJjIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gt dmFyLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKQEAgLTQzNywxMCArNDM3LDkg QEAgZXNoZWxsL2VudgogICAgKGlmIGFyZ3MKICAgICAgICAob3IgKGVzaGVsbC1wYXJzZS1s b2NhbC12YXJpYWJsZXMgYXJncykKICAgICAgICAgICAgKGVzaGVsbC1uYW1lZC1jb21tYW5k IChjYXIgYXJncykgKGNkciBhcmdzKSkpCi0gICAgIChlc2hlbGwtaW5pdC1wcmludC1idWZm ZXIpCi0gICAgIChkb2xpc3QgKHNldHRpbmcgKHNvcnQgKGVzaGVsbC1lbnZpcm9ubWVudC12 YXJpYWJsZXMpICdzdHJpbmctbGVzc3ApKQotICAgICAgIChlc2hlbGwtYnVmZmVyZWQtcHJp bnQgc2V0dGluZyAiXG4iKSkKLSAgICAgKGVzaGVsbC1mbHVzaCkpKSkKKyAgICAgKGVzaGVs bC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgKGRvbGlzdCAoc2V0dGluZyAoc29ydCAo ZXNoZWxsLWVudmlyb25tZW50LXZhcmlhYmxlcykgJ3N0cmluZy1sZXNzcCkpCisgICAgICAg ICAoZXNoZWxsLWJ1ZmZlcmVkLXByaW50IHNldHRpbmcgIlxuIikpKSkpKQogCiAoZGVmdW4g ZXNoZWxsLWluc2VydC1lbnZ2YXIgKGVudnZhci1uYW1lKQogICAiSW5zZXJ0IEVOVlZBUi1O QU1FIGludG8gdGhlIGN1cnJlbnQgYnVmZmVyIGF0IHBvaW50LiIKLS0gCjIuMjUuMQoK --------------av8HtsLB2xJdLaE5qMPyAIeH Content-Type: text/plain; charset=UTF-8; name="0002-Improve-implementations-of-some-Eshell-output-filter.patch" Content-Disposition: attachment; filename*0="0002-Improve-implementations-of-some-Eshell-output-filter.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3YWY5ZDhkMDBjZjRjMWM5ODk5ZGRiZTdkMWUxMDEyOWQyNjFjMDllIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowNjo0OSAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBJbXByb3ZlIGltcGxlbWVudGF0aW9ucyBvZiBzb21lIEVzaGVsbCBvdXRwdXQg ZmlsdGVyCiBmdW5jdGlvbnMKCiogbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwgKGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20pOiBVc2UKJ2dldC1idWZmZXItd2luZG93LWxp c3QnIGZvciBzaW1wbGljaXR5LgooZXNoZWxsLWhhbmRsZS1jb250cm9sLWNvZGVzKTogVXNl ICdyZS1zZWFyY2gtZm9yd2FyZCc7IHRoaXMgd2F5IGlzIG11Y2gKZmFzdGVyLgoKKiB0ZXN0 L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsOiBOZXcgZmlsZS4KLS0tCiBsaXNwL2Vz aGVsbC9lc2gtbW9kZS5lbCAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsIHwgNjIgKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKyksIDM4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9l c2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gt bW9kZS5lbCBiL2xpc3AvZXNoZWxsL2VzaC1tb2RlLmVsCmluZGV4IGU2ZjNjYjVmNmFkLi5l YzFhMDdiN2UyZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKKysrIGIv bGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKQEAgLTc2NSwzMCArNzY1LDI1IEBAIGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20KIAkgKGN1cnJlbnQgKGN1cnJlbnQtYnVmZmVy KSkKIAkgKHNjcm9sbCBlc2hlbGwtc2Nyb2xsLXRvLWJvdHRvbS1vbi1vdXRwdXQpKQogICAg ICh1bndpbmQtcHJvdGVjdAotCSh3YWxrLXdpbmRvd3MKLSAgICAgICAgIChsYW1iZGEgKHdp bmRvdykKLSAgICAgICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGN1cnJl bnQpCi0gICAgICAgICAgICAgICAocHJvZ24KLSAgICAgICAgICAgICAgICAgKHNlbGVjdC13 aW5kb3cgd2luZG93KQotICAgICAgICAgICAgICAgICAoaWYgKGFuZCAoPCAocG9pbnQpIGVz aGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChvciAo ZXEgc2Nyb2xsIHQpIChlcSBzY3JvbGwgJ2FsbCkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7IE1heWJlIHVzZXIgd2FudHMgcG9pbnQgdG8ganVtcCB0byBlbmQuCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChlcSBzY3JvbGwgJ3RoaXMpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBzZWxlY3RlZCB3aW5kb3cpKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICdvdGhlcnMp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxIHNlbGVjdGVk IHdpbmRvdykpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgSWYgcG9pbnQg d2FzIGF0IHRoZSBlbmQsIGtlZXAgaXQgYXQgZW5kLgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKD49IChwb2ludCkgZXNoZWxsLWxhc3Qtb3V0cHV0LXN0YXJ0KSkpCi0gICAg ICAgICAgICAgICAgICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQot ICAgICAgICAgICAgICAgICA7OyBPcHRpb25hbGx5IHNjcm9sbCBzbyB0aGF0IHRoZSB0ZXh0 Ci0gICAgICAgICAgICAgICAgIDs7IGVuZHMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93 LgotICAgICAgICAgICAgICAgICAoaWYgKGFuZCBlc2hlbGwtc2Nyb2xsLXNob3ctbWF4aW11 bS1vdXRwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKD49IChwb2ludCkgZXNoZWxs LWxhc3Qtb3V0cHV0LWVuZCkpCi0gICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNp b24KLSAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKLSAg ICAgICAgICAgICAgICAgICAgICAgKHJlY2VudGVyIC0xKSkpCi0gICAgICAgICAgICAgICAg IChzZWxlY3Qtd2luZG93IHNlbGVjdGVkKSkpKQotCSBuaWwgdCkKKyAgICAgICAgKGRvbGlz dCAod2luZG93IChnZXQtYnVmZmVyLXdpbmRvdy1saXN0IGN1cnJlbnQgbmlsIHQpKQorICAg ICAgICAgICh3aXRoLXNlbGVjdGVkLXdpbmRvdyB3aW5kb3cKKyAgICAgICAgICAgICh3aGVu IChhbmQgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAgICAg ICAgICAgICAgICAob3IgKGVxIHNjcm9sbCB0KSAoZXEgc2Nyb2xsICdhbGwpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyBNYXliZSB1c2VyIHdhbnRzIHBvaW50IHRvIGp1bXAg dG8gZW5kLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICd0 aGlzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgc2VsZWN0ZWQgd2lu ZG93KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKGVxIHNjcm9sbCAnb3Ro ZXJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlcSBzZWxlY3Rl ZCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IElmIHBvaW50IHdh cyBhdCB0aGUgZW5kLCBrZWVwIGl0IGF0IGVuZC4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICg+PSAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1zdGFydCkpKQorICAgICAgICAg ICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQorICAgICAgICAgICAg OzsgT3B0aW9uYWxseSBzY3JvbGwgc28gdGhhdCB0aGUgdGV4dCBlbmRzIGF0IHRoZSBib3R0 b20gb2YKKyAgICAgICAgICAgIDs7IHRoZSB3aW5kb3cuCisgICAgICAgICAgICAod2hlbiAo YW5kIGVzaGVsbC1zY3JvbGwtc2hvdy1tYXhpbXVtLW91dHB1dAorICAgICAgICAgICAgICAg ICAgICAgICAoPj0gKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKSkKKyAgICAgICAg ICAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9p bnQtbWF4KSkKKyAgICAgICAgICAgICAgICAocmVjZW50ZXIgLTEpKSkpKQogICAgICAgKHNl dC1idWZmZXIgY3VycmVudCkpKSkKIAogKGRlZnVuIGVzaGVsbC1iZWdpbm5pbmctb2YtaW5w dXQgKCkKQEAgLTk3NywyNyArOTcyLDI0IEBAIGVzaGVsbC1oYW5kbGUtY29udHJvbC1jb2Rl cwogICAgIChnb3RvLWNoYXIgZXNoZWxsLWxhc3Qtb3V0cHV0LWJsb2NrLWJlZ2luKQogICAg ICh1bmxlc3MgKGVvbHApCiAgICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpKQotICAgICh3aGls ZSAoPCAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAobGV0ICgoY2hh ciAoY2hhci1hZnRlcikpKQorICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgKHJ4IChh bnkgP1xyID9cYSA/XEMtaCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2hl bGwtbGFzdC1vdXRwdXQtZW5kIHQpCisgICAgICAobGV0ICgoY2hhciAoY2hhci1iZWZvcmUp KSkKICAgICAgICAgKGNvbmQKICAgICAgICAgICgoZXEgY2hhciA/XHIpCi0gICAgICAgICAg KGlmICg8ICgxKyAocG9pbnQpKSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQotICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKDErIChwb2ludCkpKQotICAgICAgICAgICAg ICAgICAgICAgICAgJyg/XG4gP1xyKSkKLSAgICAgICAgICAgICAgICAgIChkZWxldGUtY2hh ciAxKQotICAgICAgICAgICAgICAgIChsZXQgKChlbmQgKDErIChwb2ludCkpKSkKKyAgICAg ICAgICAoaWYgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKHBvaW50KSkgJyg/XG4gP1xyKSkKKyAgICAg ICAgICAgICAgICAgIChkZWxldGUtY2hhciAtMSkKKyAgICAgICAgICAgICAgICAobGV0ICgo ZW5kIChwb2ludCkpKQogICAgICAgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQog ICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1yZWdpb24gKHBvaW50KSBlbmQpKSkKLSAgICAg ICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzIChwb2ludCkgKDErIChwb2ludCkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGludmlzaWJsZSB0KSkKLSAgICAgICAg ICAgIChmb3J3YXJkLWNoYXIpKSkKKyAgICAgICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVz ICgxLSAocG9pbnQpKSAocG9pbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnKGludmlzaWJsZSB0KSkpKQogICAgICAgICAgKChlcSBjaGFyID9cYSkKLSAgICAgICAg ICAoZGVsZXRlLWNoYXIgMSkKKyAgICAgICAgICAoZGVsZXRlLWNoYXIgLTEpCiAgICAgICAg ICAgKGJlZXApKQogICAgICAgICAgKChlcSBjaGFyID9cQy1oKQotICAgICAgICAgIChkZWxl dGUtcmVnaW9uICgxLSAocG9pbnQpKSAoMSsgKHBvaW50KSkpKQotICAgICAgICAgKHQKLSAg ICAgICAgICAoZm9yd2FyZC1jaGFyKSkpKSkpKQorICAgICAgICAgIChkZWxldGUtcmVnaW9u ICgtIChwb2ludCkgMikgKHBvaW50KSkpKSkpKSkKIAogKGN1c3RvbS1hZGQtb3B0aW9uICdl c2hlbGwtb3V0cHV0LWZpbHRlci1mdW5jdGlvbnMKIAkJICAgJ2VzaGVsbC1oYW5kbGUtY29u dHJvbC1jb2RlcykKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVz dHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMDZlMTFjZTQ0NQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKQEAgLTAsMCArMSw2 MiBAQAorOzs7IGVzaC1tb2RlLXRlc3RzLmVsIC0tLSBlc2gtbW9kZSB0ZXN0IHN1aXRlICAt Ki0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMi0yMDI0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7 OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7OyBUZXN0cyBmb3IgRXNo ZWxsJ3MgY29tbWFuZCBpbnZvY2F0aW9uLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2Vy dCkKKyhyZXF1aXJlICdlc2gtbW9kZSkKKyhyZXF1aXJlICdlc2hlbGwpCisKKyhyZXF1aXJl ICdlc2hlbGwtdGVzdHMtaGVscGVycworICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVz aGVsbC10ZXN0cy1oZWxwZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUt bmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkp CisKKzs7OyBUZXN0czoKKworKGVydC1kZWZ0ZXN0IGVzaC1tb2RlLXRlc3QvaGFuZGxlLWNv bnRyb2wtY29kZXMvY2FycmlhZ2UtcmV0dXJuICgpCisgICJUZXN0IHRoYXQgRXNoZWxsIGhh bmRsZXMgY2FycmlhZ2UgcmV0dXJucyBwcm9wZXJseS4iCisgICh3aXRoLXRlbXAtZXNoZWxs CisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZvcm1hdCBcImhlbGxvXHJc bmdvb2RieWVcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVs bG9cbmdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZv cm1hdCBcImhlbGxvXHJnb29kYnllXCIpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1 dCAiKGZvcm1hdCBcImhlbGxvXHJcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiXFxgaGVsbG8iKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0L2hhbmRs ZS1jb250cm9sLWNvZGVzL2JlbGwgKCkKKyAgIlRlc3QgdGhhdCBFc2hlbGwgaGFuZGxlcyBi ZWxscyBwcm9wZXJseS4iCisgIChjbC1sZXRmKiAoKGJlZXAtY2FsbGVkIG5pbCkKKyAgICAg ICAgICAgICAoKHN5bWJvbC1mdW5jdGlvbiAnYmVlcCkgKGxhbWJkYSAoKSAoc2V0cSBiZWVw LWNhbGxlZCB0KSkpKQorICAgICh3aXRoLXRlbXAtZXNoZWxsCisgICAgICAoZXNoZWxsLW1h dGNoLWNvbW1hbmQtb3V0cHV0ICIoZm9ybWF0IFwiaGVsbG9cYXRoZXJlXCIpIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG90aGVyZVxuIikKKyAgICAg IChzaG91bGQgYmVlcC1jYWxsZWQpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0 L2hhbmRsZS1jb250cm9sLWNvZGVzL2JhY2tzcGFjZSAoKQorICAiVGVzdCB0aGF0IEVzaGVs bCBoYW5kbGVzIGJhY2tzcGFjZXMgcHJvcGVybHkuIgorICAod2l0aC10ZW1wLWVzaGVsbAor ICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgKGZvcm1hdCAiKGZvcm1hdCBcImhl bGxvJWMlY3BcIikiID9cQy1oID9cQy1oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGhlbHBcbiIpKSkKKworOzsgZXNoLW1vZGUtdGVzdHMuZWwgZW5kcyBoZXJl Ci0tIAoyLjI1LjEKCg== --------------av8HtsLB2xJdLaE5qMPyAIeH-- From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Jun 2024 22:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171753847414146 (code B ref 71355); Tue, 04 Jun 2024 22:02:01 +0000 Received: (at 71355) by debbugs.gnu.org; 4 Jun 2024 22:01:14 +0000 Received: from localhost ([127.0.0.1]:54919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEcDR-0003g4-QO for submit@debbugs.gnu.org; Tue, 04 Jun 2024 18:01:14 -0400 Received: from mail-ej1-f48.google.com ([209.85.218.48]:58468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEcDP-0003XU-3u for 71355@debbugs.gnu.org; Tue, 04 Jun 2024 18:01:11 -0400 Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a68f10171bdso353621966b.0 for <71355@debbugs.gnu.org>; Tue, 04 Jun 2024 15:00:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717538391; x=1718143191; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=jG/mT15whW1LN+9lp+fjKeIUAMwWxaCsg0eMMV/einY=; b=krVmhWyktNfLHaYcXEbnNs78pp1q6Ix6USFv7dwDCNUk5cZouWFBIlzV2y6q9LGx2K m5W3KwHgg1iybNWFyoGshRb2JPaJEJnK7RqJIg7Afpil6BiWdD1nPzhfc9t1dEOuYnZY zXPGM+2fbqifeYSR+wGlKf65vBWQMg7LcfToYEVMS6k0XUEFu5jFCCRKY5W8nD3utR5A BoUvcKWEk2tG1lUfic88Lu6+XERarlBv/q/QFERxRK+FB8K6IVPBvsLJCFgak2vAXgd2 Kj3uPs14wk6Ra6UNATzzMUA6P+gH7q6H5iBkAaQAarLoqzwaZEFxhYOx/5cfPHmUGcL8 msLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717538391; x=1718143191; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=jG/mT15whW1LN+9lp+fjKeIUAMwWxaCsg0eMMV/einY=; b=FHFG/ty8YKBVq6HNBCbLgjdubTVUJ7TkZ4b2NDH2BeIg506QqY708KWcetUNrfWD3f MdvwmQqPTeRE2KmpjvFq7KTgopRZfUDMM4RyQnCoKpXoQOSO5GQLMrJbzROT0XpVnd9E zeg4KVRuwvchHGhsWmMjpO+uIWIHylqXK93xG3kthWiC8WtzQ4FKTRyXbdFaqap7EFOF CxFMLa5Q93TMm78tY+lIfiIArz/OClUDd4FHyxNuG/S1gYm9KgRbfXxSA9qSlb++DM6i xVjC5hIXfJN2GyZNLOdk9oIcTUDemOVzoAkNoP+v1b6OZALMCUXksPrLOBvILT1Q/AEh zumA== X-Forwarded-Encrypted: i=1; AJvYcCUlr4OJMbVdxZYD43O6s/YzvBLW2V8BcZEkBZs9DGFIzSGe9xHiDfA6UCqi7iYzuu+csjPuhJYYHXdB7A3LtLO1qWz4N84= X-Gm-Message-State: AOJu0Yw9Y3kDXEvFXk8hejZ+oW45Mbo6Ai66cj0eIM3hyvYZUoS3zhud bhRwH/de7H4bDsjK+OPj3+3W0nZuMG8q4dq0cJW5Vn1N0/L504Y9PSnzM+kyPg1P3XdRit91SKj H2JIX87FksII9g9TAUKe7XSQ45J5LBpho X-Google-Smtp-Source: AGHT+IEaG+2KF6pMEAoOToSC4qT0X2nWLjkruYkZDX7KPpZB0dBU829Wl9/8iObIFCB46Tg9p6uvlZbo4OtOscOZ11c= X-Received: by 2002:a50:bb03:0:b0:57a:1c44:581c with SMTP id 4fb4d7f45d1cf-57a8bc91223mr547968a12.32.1717537923838; Tue, 04 Jun 2024 14:52:03 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 4 Jun 2024 17:52:03 -0400 From: Stefan Kangas In-Reply-To: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> MIME-Version: 1.0 Date: Tue, 4 Jun 2024 17:52:03 -0400 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) 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 (-) Jim Porter writes: > In Eshell, if I run "time cat config.log" from my Emacs build directory, > it reports that it takes about 7.5s. It also doesn't show *any* output > until it's completely finished. With my attached patches, it now takes > about 0.6s and also shows the output iteratively, redisplaying > periodically so users can see that something is happening. > > The other command most likely to be impacted by this is the built-in > version of "ls". When I run "ls -Al /usr/bin" on my system, I go from > 2.1s before my patch to 1.2s after. Not as big an improvement, but still > noticeable, and it *feels* a lot faster too with the iterative redisplay. > > I don't usually add a NEWS entry for perf improvements, but this one > seemed notable enough that I figured it was worth tooting my own horn. :) Nice, thanks for working on this. Your patch makes sense to me at first glance, but I didn't test it. The performance improvement definitely seems highly worthwhile based on your measurements. Bonus points for adding tests, as always. > +(defcustom eshell-buffered-print-size 2048 > + "The size of the print queue in characters, for doing buffered printing. > This is basically a speed enhancement, to avoid blocking the Lisp code > from executing while Emacs is redisplaying." How did you decide on this value? Could the docstring be expanded to explain what a user can expect to happen if they increase or decrease this value? From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 01:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Kangas , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171755258732659 (code B ref 71355); Wed, 05 Jun 2024 01:57:02 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 01:56:27 +0000 Received: from localhost ([127.0.0.1]:42997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEft4-0008Ug-M7 for submit@debbugs.gnu.org; Tue, 04 Jun 2024 21:56:27 -0400 Received: from mail-pl1-f182.google.com ([209.85.214.182]:56368) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEfsz-0008UE-Pf for 71355@debbugs.gnu.org; Tue, 04 Jun 2024 21:56:25 -0400 Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1f44b441b08so47818835ad.0 for <71355@debbugs.gnu.org>; Tue, 04 Jun 2024 18:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717552502; x=1718157302; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=gHjm+aPFEkYtGcuk6NyGmMqqG98zNUqccrkLlj3ZA8g=; b=B716/p0GvTgCzjAvYGVRaSmmIbgXaRzFfmvjlNrzRhg7Fjvk3rgZgCpwqoZTnNxUOi d+T9q+z3nbC8NiBYuSsW9R9ABdgsnZyXpXxuLdHk3D5ZcH7ljHWX4XiwYLAzlpdmQ0q/ vZOjIERU+i25a+3u7KwyEsMC4sNndAhd37XmUpe3ANz8hq7vQKQEC1FsYUblzng+Y0ls KVPNASv2hEl2hfrTqc131WF1KstZVdqu30CFnoTBXXWhkaO+PgEoLZKwGjVgs8ncv3yY tODR1tHD7CjUi5YZzQjGRsoWytJheKkepzEjOpi3dYWQiNROgI4YHlbk42/zmw98/3ka Kyqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717552502; x=1718157302; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gHjm+aPFEkYtGcuk6NyGmMqqG98zNUqccrkLlj3ZA8g=; b=TyjPYyXy26JTDarHhUT9Xull5pAHbt9D9P/BHtlDFIcmV5b5OjIaC2183UCVdwR4t4 UtgVeRi73zuvQYLMJyakMKRXNAm+EACAHFGKs5qTVPb0G/RnvFFgsrLDaPNv0RutXaP0 6ErQEdWVmxTF3LeT5KmP6v7zEGSBxADOHltIM36iJVfEj5mz8CyAkPNtQZls+N/It+oB XOT/uOd9FSjUzXmDc0GjBDtmmeJF31zv/7iQMSlJIjE3e++GmPJGO48EyHXfQqfvWG9I 3B6s+apq8F+ExRpFH+N5656bjisFrQtfeHYvl/q4Un8V5PDoreBBQoV5BeXNAFO6ObmH Wqlg== X-Forwarded-Encrypted: i=1; AJvYcCXtVOub4nIOHx+TmO5z48Hs7kDB0NJu7+7E5b3gL0NIhTsh08yKNN3+HaRD7SYFdg8/ZuBzsVtHFD8Ih5N8OboqsZlzJtk= X-Gm-Message-State: AOJu0YwqnZp+Z9ggqwpLVCzaI/RpWfW6gZTEKnpqvAxyN/PNs0nhdAMA KRtb0hE657Jy4xoVPP+7eZxdE1sSoWZWF36T4jrUlsgV3UVOJXH7 X-Google-Smtp-Source: AGHT+IHRuAcdl3Co6sws6gV03PminjaFsWVS+wod0Q4Ow3MP0O6QJKZaUgGsRrhevjiRfEBsoKIT4A== X-Received: by 2002:a17:903:32cf:b0:1f3:cb7:b10b with SMTP id d9443c01a7336-1f6a5905ea4mr16458535ad.7.1717552501637; Tue, 04 Jun 2024 18:55:01 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f6323f8460sm91698535ad.222.2024.06.04.18.55.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 04 Jun 2024 18:55:01 -0700 (PDT) Message-ID: Date: Tue, 4 Jun 2024 18:55:00 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> From: Jim Porter In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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 6/4/2024 2:52 PM, Stefan Kangas wrote: > Nice, thanks for working on this. Your patch makes sense to me at first > glance, but I didn't test it. The performance improvement definitely > seems highly worthwhile based on your measurements. If anyone has time to test, I'd be interested to see if the results are similarly good on other platforms (I'm testing on x86_64 GNU/Linux), but I imagine they're comparable. The main areas of improvement are: 1. Batching output into larger chunks reduces the constant-time overheads associated with each write to the screen. 2. Scanning for control characters in output is much faster thanks to 're-search-forward'. 3. The above improvements made it possible to add periodic redisplays, which eat into the perf improvements. I mitigated this by throttling the redisplay to 40Hz (the slowest value I found where the throttling isn't obvious). > Bonus points for adding tests, as always. I wrote some tests for the control character fix, since my changes to that function were nontrivial. I'll see if I can think of a few others, though I'm partly relying on the now-fairly-extensive Eshell test suite to catch any mistakes. >> +(defcustom eshell-buffered-print-size 2048 >> + "The size of the print queue in characters, for doing buffered printing. >> This is basically a speed enhancement, to avoid blocking the Lisp code >> from executing while Emacs is redisplaying." > > How did you decide on this value? Basically, I tried a few different command invocations that normally take a while (the main ones being "cat config.log" and "ls -Al /usr/bin") and scaled up the value by factors of two until I stopped seeing any major perf improvements. (Larger values are faster still, but not by a whole lot.) > Could the docstring be expanded to explain what a user can expect to > happen if they increase or decrease this value? Sure, that makes sense. Essentially, smaller values will be slower, but may update faster (subject to the redisplay throttling), whereas larger values are the opposite. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 03:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Kangas , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171755953819427 (code B ref 71355); Wed, 05 Jun 2024 03:53:01 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 03:52:18 +0000 Received: from localhost ([127.0.0.1]:50641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEhhB-00053F-7k for submit@debbugs.gnu.org; Tue, 04 Jun 2024 23:52:18 -0400 Received: from mail-oa1-f52.google.com ([209.85.160.52]:59516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEhh8-00052t-7M for 71355@debbugs.gnu.org; Tue, 04 Jun 2024 23:52:15 -0400 Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-24c9f892aeaso3547722fac.2 for <71355@debbugs.gnu.org>; Tue, 04 Jun 2024 20:52:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717559454; x=1718164254; darn=debbugs.gnu.org; h=in-reply-to:references:to:from:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=mTVQCUbmlySha0LY/gAmR+Z3rwXT7CdIQ8xLbi5gC2Q=; b=aYmpLVVjV2Zd0hyUNsJun/U3V9Xo0GGLDjkirnC13v0Ai7ovr4WiaUo25EpUNvv+ik +glh5vLRShtI+nW48DmBjVim3e7y0EYjKIBUT4qsKNyK09f5KFfm48YO/FsWDsmI/igD RrUpMGhdqG+GFtudgGg++dEV+PT+YghiBzOExyFlJJE0Dh9ILq7h9DPkL/10vIDe1G1k FhJewYbMxGEwpEvso0HXNl90PV0PQ2hOgK4bN7FZmlpU92AebQh+EYj1LREetE4n1dRu Pf41ofVHeS5IA8R7EYWDgX8a4pXYf1CQsSCTvoA06dOK+YPAy9uCImKmYj8GaRoJrnOA r67g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717559454; x=1718164254; h=in-reply-to:references:to:from:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=mTVQCUbmlySha0LY/gAmR+Z3rwXT7CdIQ8xLbi5gC2Q=; b=KJiJkr9MApMh3OKSlu1e7yL2LdUpks+gV+kfn9VZNTCfUCWJvsRPYTqcEWHsf67t0X y5eX3SKjRJVGaXvk+UicQ7NfKOHmj/ZtTKfKgHHP96Mkq54J9Ct5cTY5eeyAcypIyW7L H7UlC2GUq/Oc1BMSogm689C7aU/x9nK+6PpK+kw8S8+NvgPcyDN8E5Bg6YjORsMBZbk4 ocGOGcL5jK0SRvJmQiZB70b4XTPRYOmMfptfanqW6BGOUOfKRXIzOsmiTGTYcsam/3Md IeOBm+l4EZlHdpPOdxeXDYbdlvVfaadncLHf815wolzXOjUsJbbZx+n0klf3rskj+utn ywPg== X-Forwarded-Encrypted: i=1; AJvYcCX7AR9wlnudRSlb6X1aPJLu4RfybiSIRBHeVCujOQzDE/McqbMp6oeLxUIzSHNyZ5jg/RTumH8F/Px/3svCoCMpaPFixL0= X-Gm-Message-State: AOJu0YzXTE0TUvn0Il4d35h+6vfRnqoZ9Y96/LwDie/6tTOZXC0APgR5 BJ1MoHIjl8ejG5zw3E3V885kk7vGLxMPz3lQCo/zVSjpKZQzgGt0 X-Google-Smtp-Source: AGHT+IFBT7X4LxaFaoX7CjS7RXUfGxc7j2KQdbApef37NaKIboIB5BH3q3/qDHIcu7ucg+ERojm+iA== X-Received: by 2002:a05:6870:b153:b0:24f:d37a:2fb2 with SMTP id 586e51a60fabf-25121c7e47emr1830807fac.4.1717559454513; Tue, 04 Jun 2024 20:50:54 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-6c355ec306fsm7706885a12.54.2024.06.04.20.50.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 04 Jun 2024 20:50:52 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------YTjz0jwvbVw2HpUX8mEVIqVI" Message-ID: <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> Date: Tue, 4 Jun 2024 20:50:52 -0700 MIME-Version: 1.0 Content-Language: en-US From: Jim Porter References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> In-Reply-To: X-Spam-Score: 0.0 (/) 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. --------------YTjz0jwvbVw2HpUX8mEVIqVI Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 6/4/2024 6:55 PM, Jim Porter wrote: > On 6/4/2024 2:52 PM, Stefan Kangas wrote: >> Could the docstring be expanded to explain what a user can expect to >> happen if they increase or decrease this value? > > Sure, that makes sense. Essentially, smaller values will be slower, but > may update faster (subject to the redisplay throttling), whereas larger > values are the opposite. I've expanded this docstring and a few others, plus added a simple test to make sure Eshell's built-in "cat" still works. --------------YTjz0jwvbVw2HpUX8mEVIqVI Content-Type: text/plain; charset=UTF-8; name="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Disposition: attachment; filename*0="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Transfer-Encoding: base64 RnJvbSAxODk4ZDQ1ZDlmZDAyZDNkNTIyMDhkYjRjODQxOTFlNWNiODI4NGY2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowMTo0OCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBCZSBtb3JlIGVmZmljaWVudCB3aGVuIGJ1ZmZlcmluZyBvdXRwdXQgaW4gRXNo ZWxsCgpUaGlzIG1ha2VzIHRoZSBidWlsdC1pbiAnZXNoZWxsL2NhdCcgNS0xMHggZmFzdGVy IG9uIGxhcmdlIGZpbGVzIGluIG15Cihzb21ld2hhdCBsaW1pdGVkKSB0ZXN0cy4gIEluIGFk ZGl0aW9uLCB0aGlzIGNoYW5nZSBwZXJpb2RpY2FsbHkKcmVkaXNwbGF5cyB3aGVuIHVzaW5n IHRoZSBFc2hlbGwgYnVmZmVyZWQgb3V0cHV0IHNvIHRoYXQgdXNlcnMgY2FuIHNlZQpzb21l IHByb2dyZXNzLgoKKiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgKGVzaGVsbC1wcmludC1xdWV1 ZS1zaXplKTogTWFrZSBvYnNvbGV0ZSBpbgpmYXZvciBvZi4uLgooZXNoZWxsLWJ1ZmZlcmVk LXByaW50LXNpemUpOiAuLi4gdGhpcy4KKGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3Bs YXktdGhyb3R0bGUpOiBOZXcgdXNlciBvcHRpb24uCihlc2hlbGwtcHJpbnQtcXVldWUpOiBN YWtlIGxvY2FsLgooZXNoZWxsLS1uZXh0LXJlZGlzcGxheS10aW1lKTogTmV3IHZhcmlhYmxl LgooZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50KTogTWFrZSBvYnNvbGV0ZSBpbiBmYXZvciBv Zi4uLgooZXNoZWxsLXByaW50LXF1ZXVlLXNpemUpOiAuLi4gdGhpcy4KKGVzaGVsbC1pbml0 LXByaW50LWJ1ZmZlcik6IE1ha2Ugb2Jzb2xldGUuCihlc2hlbGwtZmx1c2gpOiBBZGQgbmV3 IFJFRElTUExBWS1OT1cgYXJndW1lbnQgaW4gZmF2b3Igb2YgQ0xFQVIgKHdoaWNoCm9ubHkg J2VzaGVsbC1pbml0LXByaW50LWJ1ZmZlcicgc2hvdWxkIGhhdmUgdXNlZCkuCihlc2hlbGwt YnVmZmVyZWQtcHJpbnQpOiBDb21wYXJlIHF1ZXVlZCBvdXRwdXQgbGVuZ3RoIHRvCidlc2hl bGwtYnVmZmVyZWQtcHJpbnQtc2l6ZScuCihlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludCk6 IE5ldyBtYWNyby4KCiogbGlzcC9lc2hlbGwvZXNoLXZhci5lbCAoZXNoZWxsL2Vudik6Ciog bGlzcC9lc2hlbGwvZW0tZGlycy5lbCAoZXNoZWxsL2NkKToKKiBsaXNwL2VzaGVsbC9lbS1o aXN0LmVsIChlc2hlbGwvaGlzdG9yeSk6CiogbGlzcC9lc2hlbGwvZW0tdW5peC5lbCAoZXNo ZWxsL2NhdCk6CiogbGlzcC9lc2hlbGwvZW0tbHMuZWwgKGVzaGVsbC9scyk6IFVzZSAnZXNo ZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQnLgooZmx1c2gtZnVuYyk6IFJlbW92ZS4KKGVzaGVs bC1scy0taW5zZXJ0LWRpcmVjdG9yeSwgZXNoZWxsLWRvLWxzKTogUmVtb3ZlICdmbHVzaC1m dW5jJy4KCiogdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsIChlbS11bml4LXRl c3QvY29tcGlsZS9pbnRlcmFjdGl2ZSkKKGVtLXVuaXgtdGVzdC9jb21waWxlL3BpcGVsaW5l LCBlbS11bml4LXRlc3QvY29tcGlsZS9zdWJjb21tYW5kKTogRml4CmluZGVudGF0aW9uLgoo ZW0tdW5peC10ZXN0L2NhdC9maWxlLW91dHB1dCk6IE5ldyB0ZXN0LgoKKiBldGMvTkVXUzog QW5ub3VuY2UgdGhlc2UgaW1wcm92ZW1lbnRzLgotLS0KIGV0Yy9ORVdTICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNyArKysKIGxpc3AvZXNoZWxsL2VtLWRpcnMuZWwgICAgICAg ICAgICB8ICAxMyArKy0tCiBsaXNwL2VzaGVsbC9lbS1oaXN0LmVsICAgICAgICAgICAgfCAg MTMgKystLQogbGlzcC9lc2hlbGwvZW0tbHMuZWwgICAgICAgICAgICAgIHwgIDE0ICsrLS0t CiBsaXNwL2VzaGVsbC9lbS11bml4LmVsICAgICAgICAgICAgfCAgMjUgKysrKy0tLS0KIGxp c3AvZXNoZWxsL2VzaC1pby5lbCAgICAgICAgICAgICB8IDEwMSArKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0KIGxpc3AvZXNoZWxsL2VzaC12YXIuZWwgICAgICAgICAgICB8ICAg NyArLS0KIHRlc3QvbGlzcC9lc2hlbGwvZW0tdW5peC10ZXN0cy5lbCB8ICAzNyArKysrKysr LS0tLQogOCBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgNzggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCAzMDJjZDMwYTEz NS4uYjJjOGU3NDM5ZTcgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBA IC05NDgsNiArOTQ4LDEzIEBAIGZpbGVzIGFuZCBkZW55IHJlYWQgcGVybWlzc2lvbiBmb3Ig dXNlcnMgd2hvIGFyZSBub3QgbWVtYmVycyBvZiB0aGUKIGZpbGUncyBncm91cC4gIFNlZSB0 aGUgSW5mbyBub2RlICIoY29yZXV0aWxzKSBGaWxlIHBlcm1pc3Npb25zIiBmb3IKIG1vcmUg aW5mb3JtYXRpb24gb24gdGhpcyBub3RhdGlvbi4KIAorLS0tCisqKiogUGVyZm9ybWFuY2Ug aW1wcm92ZW1lbnRzIGZvciBpbnRlcmFjdGl2ZSBvdXRwdXQgaW4gRXNoZWxsLgorSW50ZXJh Y3RpdmUgb3V0cHV0IGluIEVzaGVsbCBzaG91bGQgbm93IGJlIHNpZ25pZmljbmF0bHkgZmFz dGVyLAorZXNwZWNpYWxseSBmb3IgYnVpbHQtaW4gY29tbWFuZHMgdGhhdCBjYW4gcHJpbnQg bGFyZ2UgYW1vdW50cyBvZiBvdXRwdXQKKyhlLmcuICJjYXQiKS4gIEluIGFkZGl0aW9uLCB0 aGVzZSBjb21tYW5kcyBjYW4gbm93IHVwZGF0ZSB0aGUgZGlzcGxheQorcGVyaW9kaWNhbGx5 IHRvIHNob3cgdGhlaXIgcHJvZ3Jlc3MuCisKICsrKwogKioqIE5ldyBzcGVjaWFsIHJlZmVy ZW5jZSB0eXBlICcjPG1hcmtlciBQT1NJVElPTiBCVUZGRVI+Jy4KIFRoaXMgc3BlY2lhbCBy ZWZlcmVuY2UgdHlwZSByZXR1cm5zIGEgbWFya2VyIGF0ICdQT1NJVElPTicgaW4KZGlmZiAt LWdpdCBhL2xpc3AvZXNoZWxsL2VtLWRpcnMuZWwgYi9saXNwL2VzaGVsbC9lbS1kaXJzLmVs CmluZGV4IGEzZDFhMzQ5NTQwLi5lNzBmMmNmZTE5NiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hl bGwvZW0tZGlycy5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1kaXJzLmVsCkBAIC00MDAsMTMg KzQwMCwxMiBAQCBlc2hlbGwvY2QKIAkJKGluZGV4IDApKQogCSAgICAoaWYgKD0gbGVuIDAp CiAJCShlcnJvciAiRGlyZWN0b3J5IHJpbmcgZW1wdHkiKSkKLQkgICAgKGVzaGVsbC1pbml0 LXByaW50LWJ1ZmZlcikKLQkgICAgKHdoaWxlICg8IGluZGV4IGxlbikKLQkgICAgICAoZXNo ZWxsLWJ1ZmZlcmVkLXByaW50Ci0JICAgICAgIChjb25jYXQgKG51bWJlci10by1zdHJpbmcg aW5kZXgpICI6ICIKLQkJICAgICAgIChyaW5nLXJlZiBlc2hlbGwtbGFzdC1kaXItcmluZyBp bmRleCkgIlxuIikpCi0JICAgICAgKHNldHEgaW5kZXggKDErIGluZGV4KSkpCi0JICAgIChl c2hlbGwtZmx1c2gpCisgICAgICAgICAgICAoZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQK KyAgICAgICAgICAgICAgKHdoaWxlICg8IGluZGV4IGxlbikKKyAgICAgICAgICAgICAgICAo ZXNoZWxsLWJ1ZmZlcmVkLXByaW50CisgICAgICAgICAgICAgICAgIChjb25jYXQgKG51bWJl ci10by1zdHJpbmcgaW5kZXgpICI6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAocmlu Zy1yZWYgZXNoZWxsLWxhc3QtZGlyLXJpbmcgaW5kZXgpICJcbiIpKQorICAgICAgICAgICAg ICAgIChzZXRxIGluZGV4ICgxKyBpbmRleCkpKSkKIAkgICAgKHNldHEgaGFuZGxlZCB0KSkp KSkKICAgICAgKHBhdGgKICAgICAgIChzZXRxIHBhdGggKGVzaGVsbC1leHBhbmQtbXVsdGlw bGUtZG90cyBwYXRoKSkpKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0taGlzdC5lbCBi L2xpc3AvZXNoZWxsL2VtLWhpc3QuZWwKaW5kZXggODg2NWNjNzQ1YTMuLjlmZmRkZmI2MTFm IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS1oaXN0LmVsCisrKyBiL2xpc3AvZXNoZWxs L2VtLWhpc3QuZWwKQEAgLTMzMyw3ICszMzMsNiBAQCBlc2hlbGwtc2F2ZS1zb21lLWhpc3Rv cnkKIAogKGRlZnVuIGVzaGVsbC9oaXN0b3J5ICgmcmVzdCBhcmdzKQogICAiTGlzdCBpbiBo ZWxwIGJ1ZmZlciB0aGUgYnVmZmVyJ3MgaW5wdXQgaGlzdG9yeS4iCi0gIChlc2hlbGwtaW5p dC1wcmludC1idWZmZXIpCiAgIChlc2hlbGwtZXZhbC11c2luZy1vcHRpb25zCiAgICAiaGlz dG9yeSIgYXJncwogICAgJygoP3IgInJlYWQiIG5pbCByZWFkLWhpc3RvcnkKQEAgLTM3MCwx MiArMzY5LDEyIEBAIGVzaGVsbC9oaXN0b3J5CiAgICAgICAgKGxldCogKChpbmRleCAoMS0g KG9yIGxlbmd0aCAocmluZy1sZW5ndGggZXNoZWxsLWhpc3RvcnktcmluZykpKSkKIAkgICAg ICAocmVmICgtIChyaW5nLWxlbmd0aCBlc2hlbGwtaGlzdG9yeS1yaW5nKSBpbmRleCkpKQog CSA7OyBXZSBoYXZlIHRvIGJ1aWxkIHVwIGEgbGlzdCBvdXJzZWx2ZXMgZnJvbSB0aGUgcmlu ZyB2ZWN0b3IuCi0JICh3aGlsZSAoPj0gaW5kZXggMCkKLQkgICAoZXNoZWxsLWJ1ZmZlcmVk LXByaW50Ci0JICAgIChmb3JtYXQgIiU1ZCAgJXNcbiIgcmVmIChlc2hlbGwtZ2V0LWhpc3Rv cnkgaW5kZXgpKSkKLQkgICAoc2V0cSBpbmRleCAoMS0gaW5kZXgpCi0JCSByZWYgKDErIHJl ZikpKSkpKSkKLSAgIChlc2hlbGwtZmx1c2gpCisgICAgICAgICAoZXNoZWxsLXdpdGgtYnVm ZmVyZWQtcHJpbnQKKyAgICAgICAgICAgKHdoaWxlICg+PSBpbmRleCAwKQorICAgICAgICAg ICAgIChlc2hlbGwtYnVmZmVyZWQtcHJpbnQKKyAgICAgICAgICAgICAgKGZvcm1hdCAiJTVk ICAlc1xuIiByZWYgKGVzaGVsbC1nZXQtaGlzdG9yeSBpbmRleCkpKQorICAgICAgICAgICAg IChzZXRxIGluZGV4ICgxLSBpbmRleCkKKyAgICAgICAgICAgICAgICAgICByZWYgKDErIHJl ZikpKSkpKSkpCiAgICBuaWwpKQogCiAoZGVmdW4gZXNoZWxsLXB1dC1oaXN0b3J5IChpbnB1 dCAmb3B0aW9uYWwgcmluZyBhdC1iZWdpbm5pbmcpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVs bC9lbS1scy5lbCBiL2xpc3AvZXNoZWxsL2VtLWxzLmVsCmluZGV4IDgyZDRiMDEzOTNmLi44 YmYyZTIwZDMyMCAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0tbHMuZWwKKysrIGIvbGlz cC9lc2hlbGwvZW0tbHMuZWwKQEAgLTIyOSw3ICsyMjksNiBAQCBibG9jay1zaXplCiAoZGVm dmFyIGRlcmVmZXJlbmNlLWxpbmtzKQogKGRlZnZhciBkaXItbGl0ZXJhbCkKIChkZWZ2YXIg ZXJyb3ItZnVuYykKLShkZWZ2YXIgZmx1c2gtZnVuYykKIChkZWZ2YXIgaHVtYW4tcmVhZGFi bGUpCiAoZGVmdmFyIGlnbm9yZS1wYXR0ZXJuKQogKGRlZnZhciBpbnNlcnQtZnVuYykKQEAg LTI3OCw3ICsyNzcsNiBAQCBlc2hlbGwtbHMtLWluc2VydC1kaXJlY3RvcnkKICAgICAgICAg ICAocmVxdWlyZSAnZW0tZ2xvYikKICAgICAgICAgICAobGV0KiAoKGluc2VydC1mdW5jICdp bnNlcnQpCiAgICAgICAgICAgICAgICAgIChlcnJvci1mdW5jICdpbnNlcnQpCi0gICAgICAg ICAgICAgICAgIChmbHVzaC1mdW5jICdpZ25vcmUpCiAgICAgICAgICAgICAgICAgIChlc2hl bGwtZXJyb3ItaWYtbm8tZ2xvYiB0KQogICAgICAgICAgICAgICAgICAodGFyZ2V0IDsgRXhw YW5kIHRoZSBzaGVsbCB3aWxkY2FyZHMgaWYgYW55LgogICAgICAgICAgICAgICAgICAgKGlm IChhbmQgKGF0b20gZmlsZSkKQEAgLTMyNCwxMCArMzIyLDEwIEBAIGVzaGVsbC1scy0tZGly ZWQKIAogKGRlZnN1YnN0IGVzaGVsbC9scyAoJnJlc3QgYXJncykKICAgIkFuIGFsaWFzIHZl cnNpb24gb2YgYGVzaGVsbC1kby1scycuIgotICAobGV0ICgoaW5zZXJ0LWZ1bmMgJ2VzaGVs bC1idWZmZXJlZC1wcmludCkKLQkoZXJyb3ItZnVuYyAnZXNoZWxsLWVycm9yKQotCShmbHVz aC1mdW5jICdlc2hlbGwtZmx1c2gpKQotICAgIChhcHBseSAnZXNoZWxsLWRvLWxzIGFyZ3Mp KSkKKyAgKGVzaGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgKGxldCAoKGluc2VydC1m dW5jICMnZXNoZWxsLWJ1ZmZlcmVkLXByaW50KQorICAgICAgICAgIChlcnJvci1mdW5jICMn ZXNoZWxsLWVycm9yKSkKKyAgICAgIChhcHBseSAnZXNoZWxsLWRvLWxzIGFyZ3MpKSkpCiAK IChwdXQgJ2VzaGVsbC9scyAnZXNoZWxsLW5vLW51bWVyaWMtY29udmVyc2lvbnMgdCkKIChw dXQgJ2VzaGVsbC9scyAnZXNoZWxsLWZpbGVuYW1lLWFyZ3VtZW50cyB0KQpAQCAtMzM2LDcg KzMzNCw2IEBAIGVzaGVsbC9scwogCiAoZGVmdW4gZXNoZWxsLWRvLWxzICgmcmVzdCBhcmdz KQogICAiSW1wbGVtZW50YXRpb24gb2YgXCJsc1wiIGluIExpc3AsIHBhc3NpbmcgQVJHUy4i Ci0gIChmdW5jYWxsIGZsdXNoLWZ1bmMgLTEpCiAgIDs7IFByb2Nlc3MgdGhlIGNvbW1hbmQg YXJndW1lbnRzLCBhbmQgYmVnaW4gbGlzdGluZyBmaWxlcy4KICAgKGVzaGVsbC1ldmFsLXVz aW5nLW9wdGlvbnMKICAgICJscyIgKGlmIGVzaGVsbC1scy1pbml0aWFsLWFyZ3MKQEAgLTQy Miw4ICs0MTksNyBAQCBlc2hlbGwtZG8tbHMKIAkJICAgICAgKGVzaGVsbC1maWxlLWF0dHJp YnV0ZXMKIAkJICAgICAgIGFyZyAoaWYgbnVtZXJpYy11aWQtZ2lkICdpbnRlZ2VyICdzdHJp bmcpKSkpCiAJICAgICAgYXJncykKLSAgICAgIHQgKGV4cGFuZC1maWxlLW5hbWUgZGVmYXVs dC1kaXJlY3RvcnkpKSkKLSAgIChmdW5jYWxsIGZsdXNoLWZ1bmMpKSkKKyAgICAgIHQgKGV4 cGFuZC1maWxlLW5hbWUgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKQogCiAoZGVmc3Vic3QgZXNo ZWxsLWxzLXByaW50YWJsZS1zaXplIChmaWxlc2l6ZSAmb3B0aW9uYWwgYnktYmxvY2tzaXpl KQogICAiUmV0dXJuIGEgcHJpbnRhYmxlIEZJTEVTSVpFLiIKZGlmZiAtLWdpdCBhL2xpc3Av ZXNoZWxsL2VtLXVuaXguZWwgYi9saXNwL2VzaGVsbC9lbS11bml4LmVsCmluZGV4IDQxMzdj MDVmYTQxLi5lNmJkMDM4MWExNCAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0tdW5peC5l bAorKysgYi9saXNwL2VzaGVsbC9lbS11bml4LmVsCkBAIC02NTksNyArNjU5LDYgQEAgZXNo ZWxsL2NhdAogCSAgKGlmIGVzaGVsbC1pbi1waXBlbGluZS1wCiAJICAgICAgKGVycm9yICJF c2hlbGwncyBgY2F0JyBkb2VzIG5vdCB3b3JrIGluIHBpcGVsaW5lcyIpCiAJICAgIChlcnJv ciAiRXNoZWxsJ3MgYGNhdCcgY2Fubm90IGRpc3BsYXkgb25lIG9mIHRoZSBmaWxlcyBnaXZl biIpKSkpCi0gICAgKGVzaGVsbC1pbml0LXByaW50LWJ1ZmZlcikKICAgICAoZXNoZWxsLWV2 YWwtdXNpbmctb3B0aW9ucwogICAgICAiY2F0IiBhcmdzCiAgICAgICcoKD9oICJoZWxwIiBu aWwgbmlsICJzaG93IHRoaXMgdXNhZ2Ugc2NyZWVuIikKQEAgLTY3MiwxOCArNjcxLDE4IEBA IGVzaGVsbC9jYXQKIAkgICAodGhyb3cgJ2VzaGVsbC1leHRlcm5hbAogCQkgIChlc2hlbGwt ZXh0ZXJuYWwtY29tbWFuZCAiY2F0IiBhcmdzKSkpKQogICAgICAobGV0ICgoY3VyYnVmIChj dXJyZW50LWJ1ZmZlcikpKQotICAgICAgIChkb2xpc3QgKGZpbGUgYXJncykKLQkgKHdpdGgt dGVtcC1idWZmZXIKLQkgICAoaW5zZXJ0LWZpbGUtY29udGVudHMgZmlsZSkKLQkgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQotCSAgICh3aGlsZSAobm90IChlb2JwKSkKLQkgICAgIChs ZXQgKChzdHIgKGJ1ZmZlci1zdWJzdHJpbmcKLQkJCSAocG9pbnQpIChtaW4gKDErIChsaW5l LWVuZC1wb3NpdGlvbikpCi0JCQkJICAgICAgKHBvaW50LW1heCkpKSkpCi0JICAgICAgICh3 aXRoLWN1cnJlbnQtYnVmZmVyIGN1cmJ1ZgotCQkgKGVzaGVsbC1idWZmZXJlZC1wcmludCBz dHIpKSkKLQkgICAgIChmb3J3YXJkLWxpbmUpKSkpKQotICAgICAoZXNoZWxsLWZsdXNoKSkp KQorICAgICAgIChlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludAorICAgICAgICAgKGRvbGlz dCAoZmlsZSBhcmdzKQorCSAgICh3aXRoLXRlbXAtYnVmZmVyCisJICAgICAoaW5zZXJ0LWZp bGUtY29udGVudHMgZmlsZSkKKwkgICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAg ICAgICAgICAgKHdoaWxlIChub3QgKGVvYnApKQorICAgICAgICAgICAgICAgKGxldCogKChw b3MgKG1pbiAoKyAocG9pbnQpIGVzaGVsbC1idWZmZXJlZC1wcmludC1zaXplKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocG9pbnQtbWF4KSkpCisgICAgICAgICAgICAg ICAgICAgICAgKHN0ciAoYnVmZmVyLXN1YnN0cmluZyAocG9pbnQpIHBvcykpKQorICAgICAg ICAgICAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBjdXJidWYKKyAgICAgICAgICAgICAg ICAgICAoZXNoZWxsLWJ1ZmZlcmVkLXByaW50IHN0cikpCisgICAgICAgICAgICAgICAgIChn b3RvLWNoYXIgcG9zKSkpKSkpKSkpKQogCiAocHV0ICdlc2hlbGwvY2F0ICdlc2hlbGwtbm8t bnVtZXJpYy1jb252ZXJzaW9ucyB0KQogKHB1dCAnZXNoZWxsL2NhdCAnZXNoZWxsLWZpbGVu YW1lLWFyZ3VtZW50cyB0KQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWlvLmVsIGIv bGlzcC9lc2hlbGwvZXNoLWlvLmVsCmluZGV4IGM3MDE3ZWUxZDcwLi45ZWRmZTM2M2I4ZSAx MDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLWlvLmVsCisrKyBiL2xpc3AvZXNoZWxsL2Vz aC1pby5lbApAQCAtMTEyLDEwICsxMTIsMzAgQEAgZXNoZWxsLWVycm9yLWhhbmRsZQogCiAo ZGVmY3VzdG9tIGVzaGVsbC1wcmludC1xdWV1ZS1zaXplIDUKICAgIlRoZSBzaXplIG9mIHRo ZSBwcmludCBxdWV1ZSwgZm9yIGRvaW5nIGJ1ZmZlcmVkIHByaW50aW5nLgotVGhpcyBpcyBi YXNpY2FsbHkgYSBzcGVlZCBlbmhhbmNlbWVudCwgdG8gYXZvaWQgYmxvY2tpbmcgdGhlIExp c3AgY29kZQotZnJvbSBleGVjdXRpbmcgd2hpbGUgRW1hY3MgaXMgcmVkaXNwbGF5aW5nLiIK K1RoaXMgdmFyaWFibGUgaXMgb2Jzb2xldGUuICBZb3Ugc2hvdWxkIHVzZSBgZXNoZWxsLWJ1 ZmZlcmVkLXByaW50LXNpemUnCitpbnN0ZWFkLiIKICAgOnR5cGUgJ2ludGVnZXIKICAgOmdy b3VwICdlc2hlbGwtaW8pCisobWFrZS1vYnNvbGV0ZS12YXJpYWJsZSAnZXNoZWxsLXByaW50 LXF1ZXVlLXNpemUKKyAgICAgICAgICAgICAgICAgICAgICAgICdlc2hlbGwtYnVmZmVyZWQt cHJpbnQtc2l6ZSAiMzAuMSIpCisKKyhkZWZjdXN0b20gZXNoZWxsLWJ1ZmZlcmVkLXByaW50 LXNpemUgMjA0OAorICAiVGhlIHNpemUgb2YgdGhlIHByaW50IHF1ZXVlIGluIGNoYXJhY3Rl cnMsIGZvciBkb2luZyBidWZmZXJlZCBwcmludGluZy4KK0xhcmdlciB2YWx1ZXMgZm9yIHRo aXMgb3B0aW9uIHdpbGwgZ2VuZXJhbGx5IHJlc3VsdCBpbiBmYXN0ZXIgZXhlY3V0aW9uCiti eSByZWR1Y2luZyB0aGUgb3ZlcmhlYWQgYXNzb2NpYXRlZCB3aXRoIGVhY2ggcHJpbnQgb3Bl cmF0aW9uLCBidXQgd2lsbAoraW5jcmVhc2UgdGhlIHRpbWUgaXQgdGFrZXMgdG8gc2VlIGFu eSBwcm9ncmVzcyBpbiB0aGUgb3V0cHV0OyBzbWFsbGVyCit2YWx1ZXMgd2lsbCBkbyB0aGUg cmV2ZXJzZS4iCisgIDp0eXBlICdpbnRlZ2VyCisgIDpncm91cCAnZXNoZWxsLWlvCisgIDp2 ZXJzaW9uICIzMC4xIikKKworKGRlZmN1c3RvbSBlc2hlbGwtYnVmZmVyZWQtcHJpbnQtcmVk aXNwbGF5LXRocm90dGxlIDAuMDI1CisgICJUaGUgbWluaW11bSB0aW1lIGluIHNlY29uZHMg YmV0d2VlbiByZWRpc3BsYXlzIHdoZW4gdXNpbmcgYnVmZmVyZWQgcHJpbnRpbmcuCitJZiBu aWwsIGRvbid0IHJlZGlzcGxheSB3aGlsZSBwcmludGluZy4iCisgIDp0eXBlICcoY2hvaWNl IG51bWJlcgorICAgICAgICAgICAgICAgICAoY29uc3QgOnRhZyAiRG9uJ3QgcmVkaXNwbGF5 IiBuaWwpKQorICA6Z3JvdXAgJ2VzaGVsbC1pbworICA6dmVyc2lvbiAiMzAuMSIpCiAKIChk ZWZjdXN0b20gZXNoZWxsLXZpcnR1YWwtdGFyZ2V0cwogICAnKDs7IFRoZSBsaXRlcmFsIHN0 cmluZyAiL2Rldi9udWxsIiBpcyBpbnRlbnRpb25hbCBoZXJlLiAgSXQganVzdApAQCAtNDYw LDQwICs0ODAsNjkgQEAgZXNoZWxsLWludGVyYWN0aXZlLW91dHB1dC1wCiAgICAgICAgICAg ICAgKGVxdWFsIChjYWFyIChhcmVmIGhhbmRsZXMgZXNoZWxsLWVycm9yLWhhbmRsZSkpICco dCkpKQogICAgICAgKGVxdWFsIChjYWFyIChhcmVmIGhhbmRsZXMgaW5kZXgpKSAnKHQpKSkp KQogCi0oZGVmdmFyIGVzaGVsbC1wcmludC1xdWV1ZSBuaWwpCisoZGVmdmFyLWxvY2FsIGVz aGVsbC1wcmludC1xdWV1ZSBuaWwpCisoZGVmdmFyLWxvY2FsIGVzaGVsbC1wcmludC1xdWV1 ZS1zaXplIG5pbCkKKyhkZWZ2YXIgZXNoZWxsLS1uZXh0LXJlZGlzcGxheS10aW1lIG5pbCkK KwogKGRlZnZhciBlc2hlbGwtcHJpbnQtcXVldWUtY291bnQgLTEpCisobWFrZS1vYnNvbGV0 ZS12YXJpYWJsZSAnZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50CisgICAgICAgICAgICAgICAg ICAgICAgICAnZXNoZWxsLXByaW50LXF1ZXVlLXNpemUgIjMwLjEiKQogCiAoZGVmc3Vic3Qg ZXNoZWxsLXByaW50IChvYmplY3QpCiAgICJPdXRwdXQgT0JKRUNUIHRvIHRoZSBzdGFuZGFy ZCBvdXRwdXQgaGFuZGxlLiIKICAgKGVzaGVsbC1vdXRwdXQtb2JqZWN0IG9iamVjdCBlc2hl bGwtb3V0cHV0LWhhbmRsZSkpCiAKLShkZWZ1biBlc2hlbGwtZmx1c2ggKCZvcHRpb25hbCBy ZXNldC1wKQotICAiRmx1c2ggb3V0IGFueSBsaW5lcyB0aGF0IGhhdmUgYmVlbiBxdWV1ZWQg Zm9yIHByaW50aW5nLgotTXVzdCBiZSBjYWxsZWQgYmVmb3JlIHByaW50aW5nIGJlZ2lucyB3 aXRoIC0xIGFzIGl0cyBhcmd1bWVudCwgYW5kCi1hZnRlciBhbGwgcHJpbnRpbmcgaXMgb3Zl ciB3aXRoIG5vIGFyZ3VtZW50LiIKLSAgKGlnbm9yZQotICAgKGlmIHJlc2V0LXAKLSAgICAg ICAoc2V0cSBlc2hlbGwtcHJpbnQtcXVldWUgbmlsCi0JICAgICBlc2hlbGwtcHJpbnQtcXVl dWUtY291bnQgcmVzZXQtcCkKLSAgICAgKGlmIGVzaGVsbC1wcmludC1xdWV1ZQotCSAoZXNo ZWxsLXByaW50IGVzaGVsbC1wcmludC1xdWV1ZSkpCi0gICAgIChlc2hlbGwtZmx1c2ggMCkp KSkKLQogKGRlZnVuIGVzaGVsbC1pbml0LXByaW50LWJ1ZmZlciAoKQogICAiSW5pdGlhbGl6 ZSB0aGUgYnVmZmVyZWQgcHJpbnRpbmcgcXVldWUuIgotICAoZXNoZWxsLWZsdXNoIC0xKSkK KyAgKGRlY2xhcmUgKG9ic29sZXRlICMnZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQgIjMw LjEiKSkKKyAgKHNldHEgZXNoZWxsLXByaW50LXF1ZXVlIG5pbAorICAgICAgICBlc2hlbGwt cHJpbnQtcXVldWUtc2l6ZSAwKSkKKworKGRlZnVuIGVzaGVsbC1mbHVzaCAoJm9wdGlvbmFs IHJlZGlzcGxheS1ub3cpCisgICJGbHVzaCBvdXQgYW55IHRleHQgdGhhdCBoYXMgYmVlbiBx dWV1ZWQgZm9yIHByaW50aW5nLgorV2hlbiBwcmludGluZyBpbnRlcmFjdGl2ZWx5LCB0aGlz IHdpbGwgY2FsbCBgcmVkaXNwbGF5JyBldmVyeQorYGVzaGVsbC1idWZmZXJlZC1wcmludC1y ZWRpc3BsYXktdGhyb3R0bGUnIHNlY29uZHMgc28gdGhhdCB0aGUgdXNlciBjYW4KK3NlZSB0 aGUgcHJvZ3Jlc3MuICBJZiBSRURJU1BMQVktTk9XIGlzIG5vbi1uaWwsIGNhbGwgYHJlZGlz cGxheScgZm9yCitpbnRlcmFjdGl2ZSBvdXRwdXQgZXZlbiBpZiB0aGUgdGhyb3R0bGUgd291 bGQgb3RoZXJ3aXNlIHByZXZlbnQgaXQuIgorICAod2hlbiBlc2hlbGwtcHJpbnQtcXVldWUK KyAgICAoZXNoZWxsLXByaW50IChhcHBseSAjJ2NvbmNhdCBlc2hlbGwtcHJpbnQtcXVldWUp KQorICAgIDs7IFdoZW4gcHJpbnRpbmcgaW50ZXJhY3RpdmVseSAoc2VlIGBlc2hlbGwtd2l0 aC1idWZmZXJlZC1wcmludCcpLAorICAgIDs7IHBlcmlvZGljYWxseSByZWRpc3BsYXkgc28g dGhlIHVzZXIgY2FuIHNlZSBzb21lIHByb2dyZXNzLgorICAgICh3aGVuIChhbmQgZXNoZWxs LS1uZXh0LXJlZGlzcGxheS10aW1lCisgICAgICAgICAgICAgICAob3IgcmVkaXNwbGF5LW5v dworICAgICAgICAgICAgICAgICAgICh0aW1lLWxlc3MtcCBlc2hlbGwtLW5leHQtcmVkaXNw bGF5LXRpbWUgKGN1cnJlbnQtdGltZSkpKSkKKyAgICAgIChyZWRpc3BsYXkpCisgICAgICAo c2V0cSBlc2hlbGwtLW5leHQtcmVkaXNwbGF5LXRpbWUKKyAgICAgICAgICAgICh0aW1lLWFk ZCBlc2hlbGwtLW5leHQtcmVkaXNwbGF5LXRpbWUKKyAgICAgICAgICAgICAgICAgICAgICBl c2hlbGwtYnVmZmVyZWQtcHJpbnQtcmVkaXNwbGF5LXRocm90dGxlKSkpCisgICAgKHNldHEg ZXNoZWxsLXByaW50LXF1ZXVlIG5pbAorICAgICAgICAgIGVzaGVsbC1wcmludC1xdWV1ZS1z aXplIDApKSkKIAogKGRlZnVuIGVzaGVsbC1idWZmZXJlZC1wcmludCAoJnJlc3Qgc3RyaW5n cykKLSAgIkEgYnVmZmVyZWQgcHJpbnQgLS0gKmZvciBzdHJpbmdzIG9ubHkqLiIKLSAgKGlm ICg8IGVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCAwKQotICAgICAgKHByb2duCi0JKGVzaGVs bC1wcmludCAoYXBwbHkgJ2NvbmNhdCBzdHJpbmdzKSkKLQkoc2V0cSBlc2hlbGwtcHJpbnQt cXVldWUtY291bnQgMCkpCi0gICAgKGlmICg9IGVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCBl c2hlbGwtcHJpbnQtcXVldWUtc2l6ZSkKLQkoZXNoZWxsLWZsdXNoKSkKLSAgICAoc2V0cSBl c2hlbGwtcHJpbnQtcXVldWUKLQkgIChjb25jYXQgZXNoZWxsLXByaW50LXF1ZXVlIChhcHBs eSAnY29uY2F0IHN0cmluZ3MpKQotCSAgZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50ICgxKyBl c2hlbGwtcHJpbnQtcXVldWUtY291bnQpKSkpCisgICJBIGJ1ZmZlcmVkIHByaW50IC0tICpm b3Igc3RyaW5ncyBvbmx5Ki4KK1doZW4gdGhlIGJ1ZmZlciBleGNlZWRzIGBlc2hlbGwtYnVm ZmVyZWQtcHJpbnQtc2l6ZScgaW4gY2hhcmFjdGVycywgdGhpcword2lsbCBmbHVzaCBpdCB1 c2luZyBgZXNoZWxsLWZsdXNoJyAod2hpY2ggc2VlKS4iCisgIChzZXRxIGVzaGVsbC1wcmlu dC1xdWV1ZQorICAgICAgICAobmNvbmMgZXNoZWxsLXByaW50LXF1ZXVlIHN0cmluZ3MpCisg ICAgICAgIGVzaGVsbC1wcmludC1xdWV1ZS1zaXplCisgICAgICAgICgrIGVzaGVsbC1wcmlu dC1xdWV1ZS1zaXplIChhcHBseSAjJysgKG1hcGNhciAjJ2xlbmd0aCBzdHJpbmdzKSkpKQor ICAod2hlbiAoPiBlc2hlbGwtcHJpbnQtcXVldWUtc2l6ZSBlc2hlbGwtYnVmZmVyZWQtcHJp bnQtc2l6ZSkKKyAgICAoZXNoZWxsLWZsdXNoKSkpCisKKyhkZWZtYWNybyBlc2hlbGwtd2l0 aC1idWZmZXJlZC1wcmludCAoJnJlc3QgYm9keSkKKyAgIkluaXRpYWxpemUgYnVmZmVyZWQg cHJpbnRpbmcgZm9yIEVzaGVsbCwgYW5kIHRoZW4gZXZhbHVhdGUgQk9EWS4KK1dpdGhpbiBC T0RZLCBjYWxsIGBlc2hlbGwtYnVmZmVyZWQtcHJpbnQnIHRvIHBlcmZvcm0gb3V0cHV0LiIK KyAgKGRlY2xhcmUgKGluZGVudCAwKSkKKyAgYCh1bndpbmQtcHJvdGVjdAorICAgICAgIChs ZXQgKChlc2hlbGwtcHJpbnQtcXVldWUgbmlsKQorICAgICAgICAgICAgIChlc2hlbGwtcHJp bnQtcXVldWUtc2l6ZSAwKQorICAgICAgICAgICAgIChlc2hlbGwtLW5leHQtcmVkaXNwbGF5 LXRpbWUKKyAgICAgICAgICAgICAgKHdoZW4gKGFuZCBlc2hlbGwtYnVmZmVyZWQtcHJpbnQt cmVkaXNwbGF5LXRocm90dGxlCisgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1p bnRlcmFjdGl2ZS1vdXRwdXQtcCkpCisgICAgICAgICAgICAgICAgKHRpbWUtYWRkIChjdXJy ZW50LXRpbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgIGVzaGVsbC1idWZmZXJlZC1w cmludC1yZWRpc3BsYXktdGhyb3R0bGUpKSkpCisgICAgICAgICAgLEBib2R5KQorICAgICAo ZXNoZWxsLWZsdXNoKSkpCiAKIChkZWZzdWJzdCBlc2hlbGwtZXJyb3IgKG9iamVjdCkKICAg Ik91dHB1dCBPQkpFQ1QgdG8gdGhlIHN0YW5kYXJkIGVycm9yIGhhbmRsZS4iCmRpZmYgLS1n aXQgYS9saXNwL2VzaGVsbC9lc2gtdmFyLmVsIGIvbGlzcC9lc2hlbGwvZXNoLXZhci5lbApp bmRleCAwMmI1Yzc4NTYyNS4uZjAyNzBhY2E5MmMgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxs L2VzaC12YXIuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLXZhci5lbApAQCAtNDM3LDEwICs0 MzcsOSBAQCBlc2hlbGwvZW52CiAgICAoaWYgYXJncwogICAgICAgIChvciAoZXNoZWxsLXBh cnNlLWxvY2FsLXZhcmlhYmxlcyBhcmdzKQogICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNv bW1hbmQgKGNhciBhcmdzKSAoY2RyIGFyZ3MpKSkKLSAgICAgKGVzaGVsbC1pbml0LXByaW50 LWJ1ZmZlcikKLSAgICAgKGRvbGlzdCAoc2V0dGluZyAoc29ydCAoZXNoZWxsLWVudmlyb25t ZW50LXZhcmlhYmxlcykgJ3N0cmluZy1sZXNzcCkpCi0gICAgICAgKGVzaGVsbC1idWZmZXJl ZC1wcmludCBzZXR0aW5nICJcbiIpKQotICAgICAoZXNoZWxsLWZsdXNoKSkpKQorICAgICAo ZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQKKyAgICAgICAoZG9saXN0IChzZXR0aW5nIChz b3J0IChlc2hlbGwtZW52aXJvbm1lbnQtdmFyaWFibGVzKSAnc3RyaW5nLWxlc3NwKSkKKyAg ICAgICAgIChlc2hlbGwtYnVmZmVyZWQtcHJpbnQgc2V0dGluZyAiXG4iKSkpKSkpCiAKIChk ZWZ1biBlc2hlbGwtaW5zZXJ0LWVudnZhciAoZW52dmFyLW5hbWUpCiAgICJJbnNlcnQgRU5W VkFSLU5BTUUgaW50byB0aGUgY3VycmVudCBidWZmZXIgYXQgcG9pbnQuIgpkaWZmIC0tZ2l0 IGEvdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVs bC9lbS11bml4LXRlc3RzLmVsCmluZGV4IGE5MmM3ZDNmODBhLi4yZWU0MmM4MTMzMyAxMDA2 NDQKLS0tIGEvdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsCisrKyBiL3Rlc3Qv bGlzcC9lc2hlbGwvZW0tdW5peC10ZXN0cy5lbApAQCAtMjYsMTAgKzI2LDEyIEBACiAocmVx dWlyZSAnZXJ0KQogKHJlcXVpcmUgJ2VtLXVuaXgpCiAKKyhldmFsLWFuZC1jb21waWxlCisg IChkZWZ2YXIgdGhpcy1kaXJlY3RvcnkgKGZpbGUtbmFtZS1kaXJlY3RvcnkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgKG9yIGxvYWQtZmlsZS1uYW1lIGRlZmF1bHQtZGlyZWN0b3J5 KSkpKQorCiAocmVxdWlyZSAnZXNoZWxsLXRlc3RzLWhlbHBlcnMKLSAgICAgICAgIChleHBh bmQtZmlsZS1uYW1lICJlc2hlbGwtdGVzdHMtaGVscGVycyIKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIChmaWxlLW5hbWUtZGlyZWN0b3J5IChvciBsb2FkLWZpbGUtbmFtZQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1 bHQtZGlyZWN0b3J5KSkpKQorICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVzaGVsbC10 ZXN0cy1oZWxwZXJzIiB0aGlzLWRpcmVjdG9yeSkpCiAKIDs7OyBUZXN0czoKIApAQCAtMzcs MTEgKzM5LDExIEBAIGVtLXVuaXgtdGVzdC9jb21waWxlL2ludGVyYWN0aXZlCiAgICJDaGVj ayB0aGF0IGBlc2hlbGwvY29tcGlsZScgb3BlbnMgYSBjb21waWxhdGlvbiBidWZmZXIgaW50 ZXJhY3RpdmVseS4iCiAgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJlY2hvIikp CiAgICh3aXRoLXRlbXAtZXNoZWxsCi0gICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0 ICJjb21waWxlIGVjaG8gaGVsbG8iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICIjPGJ1ZmZlciBcXCpjb21waWxhdGlvblxcKj4iKQotICAgKHdpdGgtY3VycmVudC1idWZm ZXIgIipjb21waWxhdGlvbioiCi0gICAgIChmb3J3YXJkLWxpbmUgMykKLSAgICAgKHNob3Vs ZCAobG9va2luZy1hdCAiZWNobyBoZWxsbyIpKSkpKQorICAgIChlc2hlbGwtbWF0Y2gtY29t bWFuZC1vdXRwdXQgImNvbXBpbGUgZWNobyBoZWxsbyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIjPGJ1ZmZlciBcXCpjb21waWxhdGlvblxcKj4iKQorICAgICh3aXRo LWN1cnJlbnQtYnVmZmVyICIqY29tcGlsYXRpb24qIgorICAgICAgKGZvcndhcmQtbGluZSAz KQorICAgICAgKHNob3VsZCAobG9va2luZy1hdCAiZWNobyBoZWxsbyIpKSkpKQogCiAoZXJ0 LWRlZnRlc3QgZW0tdW5peC10ZXN0L2NvbXBpbGUvbm9uaW50ZXJhY3RpdmUgKCkKICAgIkNo ZWNrIHRoYXQgYGVzaGVsbC9jb21waWxlJyB3cml0ZXMgdG8gc3Rkb3V0IG5vbmludGVyYWN0 aXZlbHkuIgpAQCAtNTQsMTUgKzU2LDI2IEBAIGVtLXVuaXgtdGVzdC9jb21waWxlL3BpcGVs aW5lCiAgIChza2lwLXVubGVzcyAoYW5kIChleGVjdXRhYmxlLWZpbmQgImVjaG8iKQogICAg ICAgICAgICAgICAgICAgICAoZXhlY3V0YWJsZS1maW5kICJjYXQiKSkpCiAgICh3aXRoLXRl bXAtZXNoZWxsCi0gICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0ICJjb21waWxlIGVj aG8gaGVsbG8gfCAqY2F0IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxg aGVsbG9cbiIpKSkKKyAgICAoZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0ICJjb21waWxl IGVjaG8gaGVsbG8gfCAqY2F0IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IlxcYGhlbGxvXG4iKSkpCiAKIChlcnQtZGVmdGVzdCBlbS11bml4LXRlc3QvY29tcGlsZS9z dWJjb21tYW5kICgpCiAgICJDaGVjayB0aGF0IGBlc2hlbGwvY29tcGlsZScgd3JpdGVzIHRv IHN0ZG91dCBmcm9tIGEgc3ViY29tbWFuZC4iCiAgIChza2lwLXVubGVzcyAoYW5kIChleGVj dXRhYmxlLWZpbmQgImVjaG8iKQogICAgICAgICAgICAgICAgICAgICAoZXhlY3V0YWJsZS1m aW5kICJjYXQiKSkpCiAgICh3aXRoLXRlbXAtZXNoZWxsCi0gICAoZXNoZWxsLW1hdGNoLWNv bW1hbmQtb3V0cHV0ICJlY2hvICR7Y29tcGlsZSBlY2hvIGhlbGxvfSIKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIlxcYGhlbGxvXG4iKSkpCisgICAgKGVzaGVsbC1tYXRj aC1jb21tYW5kLW91dHB1dCAiZWNobyAke2NvbXBpbGUgZWNobyBoZWxsb30iCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG9cbiIpKSkKKworKGVydC1kZWZ0 ZXN0IGVtLXVuaXgtdGVzdC9jYXQvZmlsZS1vdXRwdXQgKCkKKyAgIkNoZWNrIHRoYXQgYGVz aGVsbC9jYXQnIGNhbiBwcmludCBhIGZpbGUncyBjb250ZW50cy4iCisgICh3aXRoLXRlbXAt ZXNoZWxsCisgICAgKGxldCogKCh0aGlzLWZpbGUgKGV4cGFuZC1maWxlLW5hbWUgImVtLXVu aXgtdGVzdHMuZWwiIHRoaXMtZGlyZWN0b3J5KSkKKyAgICAgICAgICAgKGNvbnRlbnRzIChz YXZlLWN1cnJlbnQtYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGUg dGhpcy1maWxlKQorICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLXN0cmluZykpKSkK KyAgICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQKKyAgICAgICAoZm9ybWF0ICJj YXQgJyVzJyIgKHN0cmluZy1yZXBsYWNlICInIiAiJyciIHRoaXMtZmlsZSkpCisgICAgICAg KGNvbmNhdCAocmVnZXhwLXF1b3RlIGNvbnRlbnRzKSkpKSkpCiAKIDs7IGVtLXVuaXgtdGVz dHMuZWwgZW5kcyBoZXJlCi0tIAoyLjI1LjEKCg== --------------YTjz0jwvbVw2HpUX8mEVIqVI Content-Type: text/plain; charset=UTF-8; name="0002-Improve-implementations-of-some-Eshell-output-filter.patch" Content-Disposition: attachment; filename*0="0002-Improve-implementations-of-some-Eshell-output-filter.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiODM4MGU4OWQyMTYzZTA5NmU4ZWJlNTU4YWM1MjZmNGJhNGVkODgwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowNjo0OSAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBJbXByb3ZlIGltcGxlbWVudGF0aW9ucyBvZiBzb21lIEVzaGVsbCBvdXRwdXQg ZmlsdGVyCiBmdW5jdGlvbnMKCiogbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwgKGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20pOiBVc2UKJ2dldC1idWZmZXItd2luZG93LWxp c3QnIGZvciBzaW1wbGljaXR5LgooZXNoZWxsLWhhbmRsZS1jb250cm9sLWNvZGVzKTogVXNl ICdyZS1zZWFyY2gtZm9yd2FyZCc7IHRoaXMgd2F5IGlzIG11Y2gKZmFzdGVyLgoKKiB0ZXN0 L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsOiBOZXcgZmlsZS4KLS0tCiBsaXNwL2Vz aGVsbC9lc2gtbW9kZS5lbCAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsIHwgNjIgKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKyksIDM4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9l c2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gt bW9kZS5lbCBiL2xpc3AvZXNoZWxsL2VzaC1tb2RlLmVsCmluZGV4IGU2ZjNjYjVmNmFkLi5l YzFhMDdiN2UyZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKKysrIGIv bGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKQEAgLTc2NSwzMCArNzY1LDI1IEBAIGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20KIAkgKGN1cnJlbnQgKGN1cnJlbnQtYnVmZmVy KSkKIAkgKHNjcm9sbCBlc2hlbGwtc2Nyb2xsLXRvLWJvdHRvbS1vbi1vdXRwdXQpKQogICAg ICh1bndpbmQtcHJvdGVjdAotCSh3YWxrLXdpbmRvd3MKLSAgICAgICAgIChsYW1iZGEgKHdp bmRvdykKLSAgICAgICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGN1cnJl bnQpCi0gICAgICAgICAgICAgICAocHJvZ24KLSAgICAgICAgICAgICAgICAgKHNlbGVjdC13 aW5kb3cgd2luZG93KQotICAgICAgICAgICAgICAgICAoaWYgKGFuZCAoPCAocG9pbnQpIGVz aGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChvciAo ZXEgc2Nyb2xsIHQpIChlcSBzY3JvbGwgJ2FsbCkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7IE1heWJlIHVzZXIgd2FudHMgcG9pbnQgdG8ganVtcCB0byBlbmQuCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChlcSBzY3JvbGwgJ3RoaXMpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBzZWxlY3RlZCB3aW5kb3cpKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICdvdGhlcnMp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxIHNlbGVjdGVk IHdpbmRvdykpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgSWYgcG9pbnQg d2FzIGF0IHRoZSBlbmQsIGtlZXAgaXQgYXQgZW5kLgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKD49IChwb2ludCkgZXNoZWxsLWxhc3Qtb3V0cHV0LXN0YXJ0KSkpCi0gICAg ICAgICAgICAgICAgICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQot ICAgICAgICAgICAgICAgICA7OyBPcHRpb25hbGx5IHNjcm9sbCBzbyB0aGF0IHRoZSB0ZXh0 Ci0gICAgICAgICAgICAgICAgIDs7IGVuZHMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93 LgotICAgICAgICAgICAgICAgICAoaWYgKGFuZCBlc2hlbGwtc2Nyb2xsLXNob3ctbWF4aW11 bS1vdXRwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKD49IChwb2ludCkgZXNoZWxs LWxhc3Qtb3V0cHV0LWVuZCkpCi0gICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNp b24KLSAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKLSAg ICAgICAgICAgICAgICAgICAgICAgKHJlY2VudGVyIC0xKSkpCi0gICAgICAgICAgICAgICAg IChzZWxlY3Qtd2luZG93IHNlbGVjdGVkKSkpKQotCSBuaWwgdCkKKyAgICAgICAgKGRvbGlz dCAod2luZG93IChnZXQtYnVmZmVyLXdpbmRvdy1saXN0IGN1cnJlbnQgbmlsIHQpKQorICAg ICAgICAgICh3aXRoLXNlbGVjdGVkLXdpbmRvdyB3aW5kb3cKKyAgICAgICAgICAgICh3aGVu IChhbmQgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAgICAg ICAgICAgICAgICAob3IgKGVxIHNjcm9sbCB0KSAoZXEgc2Nyb2xsICdhbGwpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyBNYXliZSB1c2VyIHdhbnRzIHBvaW50IHRvIGp1bXAg dG8gZW5kLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICd0 aGlzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgc2VsZWN0ZWQgd2lu ZG93KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKGVxIHNjcm9sbCAnb3Ro ZXJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlcSBzZWxlY3Rl ZCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IElmIHBvaW50IHdh cyBhdCB0aGUgZW5kLCBrZWVwIGl0IGF0IGVuZC4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICg+PSAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1zdGFydCkpKQorICAgICAgICAg ICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQorICAgICAgICAgICAg OzsgT3B0aW9uYWxseSBzY3JvbGwgc28gdGhhdCB0aGUgdGV4dCBlbmRzIGF0IHRoZSBib3R0 b20gb2YKKyAgICAgICAgICAgIDs7IHRoZSB3aW5kb3cuCisgICAgICAgICAgICAod2hlbiAo YW5kIGVzaGVsbC1zY3JvbGwtc2hvdy1tYXhpbXVtLW91dHB1dAorICAgICAgICAgICAgICAg ICAgICAgICAoPj0gKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKSkKKyAgICAgICAg ICAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9p bnQtbWF4KSkKKyAgICAgICAgICAgICAgICAocmVjZW50ZXIgLTEpKSkpKQogICAgICAgKHNl dC1idWZmZXIgY3VycmVudCkpKSkKIAogKGRlZnVuIGVzaGVsbC1iZWdpbm5pbmctb2YtaW5w dXQgKCkKQEAgLTk3NywyNyArOTcyLDI0IEBAIGVzaGVsbC1oYW5kbGUtY29udHJvbC1jb2Rl cwogICAgIChnb3RvLWNoYXIgZXNoZWxsLWxhc3Qtb3V0cHV0LWJsb2NrLWJlZ2luKQogICAg ICh1bmxlc3MgKGVvbHApCiAgICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpKQotICAgICh3aGls ZSAoPCAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAobGV0ICgoY2hh ciAoY2hhci1hZnRlcikpKQorICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgKHJ4IChh bnkgP1xyID9cYSA/XEMtaCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2hl bGwtbGFzdC1vdXRwdXQtZW5kIHQpCisgICAgICAobGV0ICgoY2hhciAoY2hhci1iZWZvcmUp KSkKICAgICAgICAgKGNvbmQKICAgICAgICAgICgoZXEgY2hhciA/XHIpCi0gICAgICAgICAg KGlmICg8ICgxKyAocG9pbnQpKSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQotICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKDErIChwb2ludCkpKQotICAgICAgICAgICAg ICAgICAgICAgICAgJyg/XG4gP1xyKSkKLSAgICAgICAgICAgICAgICAgIChkZWxldGUtY2hh ciAxKQotICAgICAgICAgICAgICAgIChsZXQgKChlbmQgKDErIChwb2ludCkpKSkKKyAgICAg ICAgICAoaWYgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKHBvaW50KSkgJyg/XG4gP1xyKSkKKyAgICAg ICAgICAgICAgICAgIChkZWxldGUtY2hhciAtMSkKKyAgICAgICAgICAgICAgICAobGV0ICgo ZW5kIChwb2ludCkpKQogICAgICAgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQog ICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1yZWdpb24gKHBvaW50KSBlbmQpKSkKLSAgICAg ICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzIChwb2ludCkgKDErIChwb2ludCkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGludmlzaWJsZSB0KSkKLSAgICAgICAg ICAgIChmb3J3YXJkLWNoYXIpKSkKKyAgICAgICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVz ICgxLSAocG9pbnQpKSAocG9pbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnKGludmlzaWJsZSB0KSkpKQogICAgICAgICAgKChlcSBjaGFyID9cYSkKLSAgICAgICAg ICAoZGVsZXRlLWNoYXIgMSkKKyAgICAgICAgICAoZGVsZXRlLWNoYXIgLTEpCiAgICAgICAg ICAgKGJlZXApKQogICAgICAgICAgKChlcSBjaGFyID9cQy1oKQotICAgICAgICAgIChkZWxl dGUtcmVnaW9uICgxLSAocG9pbnQpKSAoMSsgKHBvaW50KSkpKQotICAgICAgICAgKHQKLSAg ICAgICAgICAoZm9yd2FyZC1jaGFyKSkpKSkpKQorICAgICAgICAgIChkZWxldGUtcmVnaW9u ICgtIChwb2ludCkgMikgKHBvaW50KSkpKSkpKSkKIAogKGN1c3RvbS1hZGQtb3B0aW9uICdl c2hlbGwtb3V0cHV0LWZpbHRlci1mdW5jdGlvbnMKIAkJICAgJ2VzaGVsbC1oYW5kbGUtY29u dHJvbC1jb2RlcykKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVz dHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMDZlMTFjZTQ0NQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKQEAgLTAsMCArMSw2 MiBAQAorOzs7IGVzaC1tb2RlLXRlc3RzLmVsIC0tLSBlc2gtbW9kZSB0ZXN0IHN1aXRlICAt Ki0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMi0yMDI0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7 OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7OyBUZXN0cyBmb3IgRXNo ZWxsJ3MgY29tbWFuZCBpbnZvY2F0aW9uLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2Vy dCkKKyhyZXF1aXJlICdlc2gtbW9kZSkKKyhyZXF1aXJlICdlc2hlbGwpCisKKyhyZXF1aXJl ICdlc2hlbGwtdGVzdHMtaGVscGVycworICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVz aGVsbC10ZXN0cy1oZWxwZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUt bmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkp CisKKzs7OyBUZXN0czoKKworKGVydC1kZWZ0ZXN0IGVzaC1tb2RlLXRlc3QvaGFuZGxlLWNv bnRyb2wtY29kZXMvY2FycmlhZ2UtcmV0dXJuICgpCisgICJUZXN0IHRoYXQgRXNoZWxsIGhh bmRsZXMgY2FycmlhZ2UgcmV0dXJucyBwcm9wZXJseS4iCisgICh3aXRoLXRlbXAtZXNoZWxs CisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZvcm1hdCBcImhlbGxvXHJc bmdvb2RieWVcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVs bG9cbmdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZv cm1hdCBcImhlbGxvXHJnb29kYnllXCIpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1 dCAiKGZvcm1hdCBcImhlbGxvXHJcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiXFxgaGVsbG8iKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0L2hhbmRs ZS1jb250cm9sLWNvZGVzL2JlbGwgKCkKKyAgIlRlc3QgdGhhdCBFc2hlbGwgaGFuZGxlcyBi ZWxscyBwcm9wZXJseS4iCisgIChjbC1sZXRmKiAoKGJlZXAtY2FsbGVkIG5pbCkKKyAgICAg ICAgICAgICAoKHN5bWJvbC1mdW5jdGlvbiAnYmVlcCkgKGxhbWJkYSAoKSAoc2V0cSBiZWVw LWNhbGxlZCB0KSkpKQorICAgICh3aXRoLXRlbXAtZXNoZWxsCisgICAgICAoZXNoZWxsLW1h dGNoLWNvbW1hbmQtb3V0cHV0ICIoZm9ybWF0IFwiaGVsbG9cYXRoZXJlXCIpIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG90aGVyZVxuIikKKyAgICAg IChzaG91bGQgYmVlcC1jYWxsZWQpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0 L2hhbmRsZS1jb250cm9sLWNvZGVzL2JhY2tzcGFjZSAoKQorICAiVGVzdCB0aGF0IEVzaGVs bCBoYW5kbGVzIGJhY2tzcGFjZXMgcHJvcGVybHkuIgorICAod2l0aC10ZW1wLWVzaGVsbAor ICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgKGZvcm1hdCAiKGZvcm1hdCBcImhl bGxvJWMlY3BcIikiID9cQy1oID9cQy1oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGhlbHBcbiIpKSkKKworOzsgZXNoLW1vZGUtdGVzdHMuZWwgZW5kcyBoZXJl Ci0tIAoyLjI1LjEKCg== --------------YTjz0jwvbVw2HpUX8mEVIqVI-- From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 12:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171759026913389 (code B ref 71355); Wed, 05 Jun 2024 12:25:02 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 12:24:29 +0000 Received: from localhost ([127.0.0.1]:57506 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEpgr-0003Ts-7t for submit@debbugs.gnu.org; Wed, 05 Jun 2024 08:24:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48616) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEpgo-0003TO-93 for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 08:24:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sEpPZ-0005pM-JD; Wed, 05 Jun 2024 08:06:37 -0400 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=nSGCJ+bK4bGPI1EOay7U/RluxR4Iv6RRjBpugnPWlbs=; b=NFxjpntRQwm6 TZjBGVU5dIA2vJB2TESnOSFxD4w+u+d/SXjxfZ7uZahHv7+OTDEpBTQ5JZJgKf9IZ/nACU0/CIYmM LzXRZ9Cy+dzkfxSB6cMLO6UNu05YV2CGvnK0S+uEmwm1QOKx6q3eH8G3lPiqoNfhwcAZvECsnMS3+ O0bGJnL4FyVQhxpzBJkw8Allw0vbEYNW/lOuRIkeqmU6g3hKwUYO35wjwzpVEGvCwQ+CwssaaKbS4 zWPBljPb7yL3HD76/cTeAZrMmbXOYHgP8xRYW0Z2nq40DowzyK46zOV/2X7gxJ8XpZI4CAp4qehqt /PPd9FN3R2SCr4zLdIs7EQ==; Date: Wed, 05 Jun 2024 15:06:21 +0300 Message-Id: <86ikynk30i.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> (message from Jim Porter on Tue, 4 Jun 2024 20:50:52 -0700) References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> X-Spam-Score: -2.3 (--) 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 (---) > Date: Tue, 4 Jun 2024 20:50:52 -0700 > From: Jim Porter > > On 6/4/2024 6:55 PM, Jim Porter wrote: > > On 6/4/2024 2:52 PM, Stefan Kangas wrote: > >> Could the docstring be expanded to explain what a user can expect to > >> happen if they increase or decrease this value? > > > > Sure, that makes sense. Essentially, smaller values will be slower, but > > may update faster (subject to the redisplay throttling), whereas larger > > values are the opposite. > > I've expanded this docstring and a few others, plus added a simple test > to make sure Eshell's built-in "cat" still works. Is 2K indeed the optimal size? It is about 25 80-column lines, which is quite a lot. "Normal" shells send output to the screen in smaller chunks. How about 128 instead? or maybe some small multiple of the line length, like 1 or 2? From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 16:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.17176063257232 (code B ref 71355); Wed, 05 Jun 2024 16:53:01 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 16:52:05 +0000 Received: from localhost ([127.0.0.1]:48363 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEtro-0001sT-GD for submit@debbugs.gnu.org; Wed, 05 Jun 2024 12:52:04 -0400 Received: from mail-ot1-f42.google.com ([209.85.210.42]:43279) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEtrm-0001rq-Ps for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 12:52:03 -0400 Received: by mail-ot1-f42.google.com with SMTP id 46e09a7af769-6f944cae15cso413866a34.1 for <71355@debbugs.gnu.org>; Wed, 05 Jun 2024 09:51:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717606243; x=1718211043; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=v0pVI2ddW48XfhQ2R0x0+kMdWePxlRul2aKHlG8SWF8=; b=ETUW/Z9Lx4NW9W8twISmoHs62UFRDXNZeWkd1W1D8/Q/Xjth6j33cjsQBeilM2cUXC vaGQM+Cf/DzlyoZSG13zCRaCLku1Igeul4V7N/iY/DqxQPIDEHUqdD5VfvC/rJxnPDXi OwVZS9xFP9eSevMZnlq3wRN1apCAK8ZxOPExLZ1cLHsCImFfcOVNDzX6Jp0FGs5us0ZQ t0cKT+NgsGArdjO1UgihajnOYu1gXjQUPJOWd6GqpZsN8XmZ9IH82DqmVaLBNw9QmZso AS9t0VB1CI2LyxGHu+ckJqT4dSbV4lQPXqDsPOFpU1hHwxNAk90M6Ghy5q+7FIWgtYHJ oAsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717606243; x=1718211043; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=v0pVI2ddW48XfhQ2R0x0+kMdWePxlRul2aKHlG8SWF8=; b=oxfFvAY5vCAqEOzG0PtJrFSAGDKwbtzZMHZP1ogp4iudwnrH7HYhjtSZ4S+jnBoKpN 6QUtmcVwPLDnJPHe69C/0nyDDukXOEK6swesoyayKJ6xGyzEPBW67wF+jKXLDVss4nWa ZZ95JZ5p3pZk8bboD2JTxSFPHro739b6AsajLf9WOIQOaUYINq762VrDBIs4n6IAQjG0 VzibFMFbPLB+dDWe+szPuCeOsuEX8L802VsSl9+KPVhBlhZmQkhjYuIWaGS8C0d/+Pk7 SX/A8HuGN7ufaQ6kjvx7pe1ZtUnDd6iHkmGYViAzRezzkNIXuIIB6ULF7Xkj9l2ukMc0 N+zw== X-Gm-Message-State: AOJu0YxzAJNiRzJRNh5/IEEUNnN8DSFYxcZc8k/3eW8AS/uOaezrNSQm WoF4MBtj8XsndtcHsayeD94Edlg57jmxMLmgQteBGr9Rx6qQq4MbHaO0Dw== X-Google-Smtp-Source: AGHT+IGZ22UORSW3gZfsdpQUZGTMEIgx5tS8KeT8OFmcNksgCyoGAr/tKxgZlbaxXIq3BRnEyREQvA== X-Received: by 2002:a17:902:cf0f:b0:1f6:8351:293d with SMTP id d9443c01a7336-1f6b8f214f6mr2270145ad.34.1717605762108; Wed, 05 Jun 2024 09:42:42 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f65d3466easm76968715ad.256.2024.06.05.09.42.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Jun 2024 09:42:41 -0700 (PDT) Message-ID: <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> Date: Wed, 5 Jun 2024 09:42:43 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> From: Jim Porter In-Reply-To: <86ikynk30i.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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 6/5/2024 5:06 AM, Eli Zaretskii wrote: > Is 2K indeed the optimal size? It is about 25 80-column lines, which > is quite a lot. "Normal" shells send output to the screen in smaller > chunks. How about 128 instead? or maybe some small multiple of the > line length, like 1 or 2? Yes, I believe 2k is the optimal size, or close to it. Trying a value of 128 results in basically no change in performance from baseline. That makes sense to me, since 128 is actually fairly close to the old value for this buffering (which was five *lines*[1]; the old code measured this differently). In starting on this work, I compared to the amount of data that I get each time a child process filter is called; that's normally 4095 bytes in my tests. Then I started a bit lower (512) and gradually doubled the buffer size until I was able to get most of the performance benefit. A lot of this improvement does come from reducing the number of times that we call 'eshell-output-filter-functions', so if we made those functions much faster, or throttled them somewhere else, then we could get a large perf improvement while using a small buffer size. However, even if I remove everything from 'eshell-output-filter-functions', a larger buffer is *still* faster (0.2s for 2048 vs 0.5s for 128). For comparison, the same command in an ordinary shell takes about 0.1s, so that's my ultimate target. Note that this buffered output code is really only used when Eshell will output a (relatively) large block of text all at once from a Lisp command. External processes and most ordinary Lisp code won't use this, since you have to use the special functions for buffering your writes. [1] Well, 5 calls to the print function, but most callers printed a line at a time. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 16:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.17176063267241 (code B ref 71355); Wed, 05 Jun 2024 16:53:01 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 16:52:06 +0000 Received: from localhost ([127.0.0.1]:48366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEtrq-0001si-1n for submit@debbugs.gnu.org; Wed, 05 Jun 2024 12:52:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEtrn-0001rs-Ij for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 12:52:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sEtrT-0004cL-Tl; Wed, 05 Jun 2024 12:51:43 -0400 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=jeSrAJC+FarLcQVbFeycty+im9P3ROd2bKEf+OAp7sw=; b=b0bj53p4AZvK rL9Px1txvp51YYfqDV64j1wjWRqwO39CtE6eIaKRBcFA2BYmIxWVJWfnlmoSi1XQ1T5+c8Qr+EqMh +roiFGN63G4C5+V3Y3EfF8U8r6ilduQvgmcjoqFWE52iV7RspEc743UGiUeOagVxHFbjtTAHjBfze Y298kQIbnQfd99CRkMc+iOvXpWMdl33B0w04T2fLC5RrYYXmM7pAZsG/bgz8PTN2dspybNIfaVGvN I8w7OcBkFX0oP9oXSr/gIvA8+itBuAsnp6rQqLQRB3nLBPI2WLsaIU0QeOMafKSGqoUgdhwVm3CXG K4s6h3vDjYQiPY2vhl+h7A==; Date: Wed, 05 Jun 2024 19:51:39 +0300 Message-Id: <8634prjpt0.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> (message from Jim Porter on Wed, 5 Jun 2024 09:42:43 -0700) References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> X-Spam-Score: -2.3 (--) 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 (---) > Date: Wed, 5 Jun 2024 09:42:43 -0700 > Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com > From: Jim Porter > > On 6/5/2024 5:06 AM, Eli Zaretskii wrote: > > Is 2K indeed the optimal size? It is about 25 80-column lines, which > > is quite a lot. "Normal" shells send output to the screen in smaller > > chunks. How about 128 instead? or maybe some small multiple of the > > line length, like 1 or 2? > > Yes, I believe 2k is the optimal size, or close to it. Trying a value of > 128 results in basically no change in performance from baseline. That > makes sense to me, since 128 is actually fairly close to the old value > for this buffering (which was five *lines*[1]; the old code measured > this differently). That's strange, because I see no output at all until all of it is available and showsn, and I thought you said the same in your OP? > In starting on this work, I compared to the amount of data that I get > each time a child process filter is called; that's normally 4095 bytes > in my tests. Then I started a bit lower (512) and gradually doubled the > buffer size until I was able to get most of the performance benefit. So why do I see only all of it, in one go? I see this both on Windows and on GNU/Linux, btw. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 17:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171760899126416 (code B ref 71355); Wed, 05 Jun 2024 17:37:02 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 17:36:31 +0000 Received: from localhost ([127.0.0.1]:51714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEuYp-0006s0-0P for submit@debbugs.gnu.org; Wed, 05 Jun 2024 13:36:31 -0400 Received: from mail-pj1-f47.google.com ([209.85.216.47]:50261) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEuYm-0006rf-1V for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 13:36:30 -0400 Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-2c2999f969aso82150a91.0 for <71355@debbugs.gnu.org>; Wed, 05 Jun 2024 10:36:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717608908; x=1718213708; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=z2F0JNPfvN47gAHbjppfEA1gnHYElobm8iPhNOMeJ6Q=; b=Tm0VR2/vM8EmB+Qg+DqBJO/UK9qmrs6qzTMu6qdsYc4JhDzRfXd3Usufc16/C5MwwW NkY8N7/qzAMozkoOj8X7Z/Gie9I0EvoU7oUuHesMfPTm8YUhEpTEJrpdurfnIvivp0NR ZQ85gLJrPPLcxtAKAyqSvAutWWFLD5h0i0GZYPY/GCuyEKgeGhcyxBunrRx7GZTMwXbj 3yUm2yts3I8CgGgwQa8h6JifA+zibR8P68YQH8ZhO0IucYyvh2VS69Zd+8tw+2EJ10Qw m/POzhWGn3YGMgZodquj9MN8I4P8T941Qb0FKwapF+XEMdOFgK3AEgeAZ6jC2MUiXxeA tPEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717608908; x=1718213708; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=z2F0JNPfvN47gAHbjppfEA1gnHYElobm8iPhNOMeJ6Q=; b=Q63Gjyi3656VlE8jczGxH+/gCNm1m8i/5gNi7+wd4tOtqXVDMAej7Igfv6DkND/i7D j2oY3/3j7dSV6BPDN8WGG5/qa9CKsggQBU68zzMdtnY09E1jOOy8J/L895VTtjJtjdZL NGqMn4XhvXKmPgG0hhwZ/sT7Ttd8Y2N5dwD8rHF1MIuqNxtEDM/Y7c97An3RqqdO+IvF HeYmqiDJpSN1Ob5bUx11+urahDxuGnOc+KWKv09xIIBvZHJPxgUPJsJHlyCmoBccGiZ/ UdWVF5slF+RA/uJ4Vx9XMY3Piw3AapOr6267N72NxQqOqmsu7NaeKYHB+5H6HxCA0itO vtPA== X-Gm-Message-State: AOJu0YxmCB8/XIIA9UvML5aKBySFrnTY0oNmw1p9iA8CofNLSGCp+BNA Gres7hzUz2TZcTcjonJ1KNg3hvG9+wH86g3WC2oRtfqBrAB6An+H X-Google-Smtp-Source: AGHT+IEW3E59P7KQxeK/3zff65aSoNpcl5f3GW24JTyjzAzybadjdDE3RGyAsuxTPKmm8yjT7l0+9g== X-Received: by 2002:a17:90b:4b48:b0:2c2:3d83:d7ee with SMTP id 98e67ed59e1d1-2c27db5a64amr3169731a91.30.1717608907736; Wed, 05 Jun 2024 10:35:07 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c254a76729sm4139464a91.0.2024.06.05.10.35.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Jun 2024 10:35:07 -0700 (PDT) Message-ID: <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> Date: Wed, 5 Jun 2024 10:35:08 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> From: Jim Porter In-Reply-To: <8634prjpt0.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 1.0 (+) 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 6/5/2024 9:51 AM, Eli Zaretskii wrote: >> Date: Wed, 5 Jun 2024 09:42:43 -0700 >> Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com >> From: Jim Porter >> >> On 6/5/2024 5:06 AM, Eli Zaretskii wrote: >>> Is 2K indeed the optimal size? It is about 25 80-column lines, which >>> is quite a lot. "Normal" shells send output to the screen in smaller >>> chunks. How about 128 instead? or maybe some small multiple of the >>> line length, like 1 or 2? >> >> Yes, I believe 2k is the optimal size, or close to it. Trying a value of >> 128 results in basically no change in performance from baseline. That >> makes sense to me, since 128 is actually fairly close to the old value >> for this buffering (which was five *lines*[1]; the old code measured >> this differently). > > That's strange, because I see no output at all until all of it is > available and showsn, and I thought you said the same in your OP? Yes, without my patch that's expected. When I talk about changes in performance, I mean the total time to complete the command, as measured by, e.g. "time cat config.log". Here's what's happening: all of the output in 'eshell/cat' occurs in a loop, periodically calling 'eshell-interactive-print' (how often it calls this depends on the buffering settings). That runs the functions in 'eshell-output-filter-functions', which can be fairly expensive. So one way to make output faster would be to optimize those functions, which I did in my second patch. However, a larger buffer size is still faster even when there are no output filter functions, due to other overheads in the code. So I think even if we could make 'eshell-output-filter-functions' all very cheap, it's worth increasing the buffer size. In addition to this, the performance improvements I made allowed me to add in the extra work of redisplaying periodically when using this buffered output scheme. That's all new in my patch, and previously you'd have to wait until the command was finished to see any output. From Emacs's perspective, everything in 'eshell/cat' is synchronous, so I needed to manually trigger the redisplay (or do some other sorcery to hand control back to the command loop). From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 17:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171761030730251 (code B ref 71355); Wed, 05 Jun 2024 17:59:01 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 17:58:27 +0000 Received: from localhost ([127.0.0.1]:53312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEuu2-0007rr-Mn for submit@debbugs.gnu.org; Wed, 05 Jun 2024 13:58:27 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53830) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEuu1-0007rV-1Y for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 13:58:25 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sEuth-0003yw-JA; Wed, 05 Jun 2024 13:58:05 -0400 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=S1FoI0hJ7xdES7yaIlzzhHe8wMxxJiuGyONtb6pl8Vs=; b=D8ncdPZOQcCN ht2Mu98Ftw8JDz3J7oAuWrbqOFwwNwexe+YmCOJtuinZc5ng+p7+7q2yQj1hvCV0u3mLs1r49oM0j UbP+vqha5+JOdGhibslnIGJMRjtin3kwgzsxQsYEsye+ZCxrdOri4gVDd7XYk1gTrUuma8riq0urN gUSGHocxRWu9gPXuREXE9I/28KPEpHlr2aejrEcTgmB22Av/I6Kmlp0PEGkbDxiRXwf0Shjzn9CO3 w4hW8La7Wh8mDXqlXiwVXuqLXLq7dynj0qwctX2aZdpnQNR97Dhi4exgmnVaveX7wpEfCy3CPQ75A UjhoROPchcszAvgt7O/AnQ==; Date: Wed, 05 Jun 2024 20:57:59 +0300 Message-Id: <86y17ji860.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> (message from Jim Porter on Wed, 5 Jun 2024 10:35:08 -0700) References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> X-Spam-Score: -2.3 (--) 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 (---) > Date: Wed, 5 Jun 2024 10:35:08 -0700 > Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com > From: Jim Porter > > On 6/5/2024 9:51 AM, Eli Zaretskii wrote: > >> Date: Wed, 5 Jun 2024 09:42:43 -0700 > >> Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com > >> From: Jim Porter > >> > >> On 6/5/2024 5:06 AM, Eli Zaretskii wrote: > >>> Is 2K indeed the optimal size? It is about 25 80-column lines, which > >>> is quite a lot. "Normal" shells send output to the screen in smaller > >>> chunks. How about 128 instead? or maybe some small multiple of the > >>> line length, like 1 or 2? > >> > >> Yes, I believe 2k is the optimal size, or close to it. Trying a value of > >> 128 results in basically no change in performance from baseline. That > >> makes sense to me, since 128 is actually fairly close to the old value > >> for this buffering (which was five *lines*[1]; the old code measured > >> this differently). > > > > That's strange, because I see no output at all until all of it is > > available and showsn, and I thought you said the same in your OP? > > Yes, without my patch that's expected. When I talk about changes in > performance, I mean the total time to complete the command, as measured > by, e.g. "time cat config.log". > > Here's what's happening: all of the output in 'eshell/cat' occurs in a > loop, periodically calling 'eshell-interactive-print' (how often it > calls this depends on the buffering settings). That runs the functions > in 'eshell-output-filter-functions', which can be fairly expensive. So > one way to make output faster would be to optimize those functions, > which I did in my second patch. However, a larger buffer size is still > faster even when there are no output filter functions, due to other > overheads in the code. So I think even if we could make > 'eshell-output-filter-functions' all very cheap, it's worth increasing > the buffer size. > > In addition to this, the performance improvements I made allowed me to > add in the extra work of redisplaying periodically when using this > buffered output scheme. That's all new in my patch, and previously you'd > have to wait until the command was finished to see any output. From > Emacs's perspective, everything in 'eshell/cat' is synchronous, so I > needed to manually trigger the redisplay (or do some other sorcery to > hand control back to the command loop). I think we are miscommunicating. I wasn't talking about performance, I was talking about the fact that I don't see text delivered to the screen in chunks. You said that the current code sends text to the screen in chunks of 5 lines, and that therefore using the value 128 is almost the same. But at least part of your patch calls redisplay after each chunk (AFAIU), something that is not done with the current code. So I expect the effect to be a difference in behavior, whereby test appears on the screen in chunks, and the user does not need to wait till all of it is sent before he/she sees anything at all displayed. I hope I've succeeded to explain myself now. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 18:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.17176138607991 (code B ref 71355); Wed, 05 Jun 2024 18:58:01 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 18:57:40 +0000 Received: from localhost ([127.0.0.1]:57435 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEvpL-00024m-KB for submit@debbugs.gnu.org; Wed, 05 Jun 2024 14:57:40 -0400 Received: from mail-qv1-f43.google.com ([209.85.219.43]:47374) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEvpJ-00024N-2J for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 14:57:38 -0400 Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-6ae2e6dba36so693796d6.3 for <71355@debbugs.gnu.org>; Wed, 05 Jun 2024 11:57:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717613777; x=1718218577; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=ekjATJGKu4MjeDRTTI+XZEYmS7d7MqoNu6w/qlzrRk0=; b=jlwOdKfW12ZMxsaG/PP6I6wgtMb8I9zQZh8KMLOqemRINCGKAT+kIlJVU941ehC78l vVh9AkbwuAyFr9LZdmeh8N4r8AOZLkU7j1BUTzt2Wg+6UI/RAWyBiuxutUc5g159TdpD EdgKeOXbGi38qyhIxS7+pK2eMGutdQQI/FWab0MaTpuidLgZz0KcefFjVWA5l1FdprXw hLUh3PQQy3fsA42zD8a13anV8wC4z3esLSqOE+2uFHptDci8LHK6vEKs5j6kHQxGom6p wJBh5WE00ABGmQlJ60+kt5lF1R90ORupH2P6l0dr7kXY7nO1tU5KNVbbS95Vdd2rvnt9 yeIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717613777; x=1718218577; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ekjATJGKu4MjeDRTTI+XZEYmS7d7MqoNu6w/qlzrRk0=; b=OjHS/A3DgVKVdqukPPsNdkmJVVTPAnBXYrEGwELMIgzKsCvLDFrohkomihVrJfR9u1 n2hF7/MkdswdUJXyyiVdin102+JsFQq33JB52HnlkHqfTQbOvbI9pHf6lC93z8qjvb97 cuWfTlMn4Bv4fpErq9+Pknd8qX2e6CHB6jTb/atRAmdGUcjKBYUVLcD+q85MK25t+OhO p4+fYRfQUzxx7CP/22ZMDZn4R2udjOZZilCNYRzJqXwPML/f9C/Kmg5RfMNWGu/pss6Z 8C8q4sFM5F/C59cxNIVAY6thhPV7jBL2UljvL66+5CZrimKs0NLfbhxZLjjN1cicNad1 U6wA== X-Gm-Message-State: AOJu0YwjoGg+KOAUQOaVFfxtP+NIRM8oV3+o+Fr4w1OX6tT0V83AI9Ie eTCeGGGd1xpQJV4Rgq3A7BVbG+YYn3QQK2wQ8Z+fjh2cVWtwIVzjV7J22w== X-Google-Smtp-Source: AGHT+IFhHEjDr9cEyY+oQhOZZcZqs8kIlSIpWfzud5kywSRRG1CgHoyrVclU2sST4MK/2g7W1oXvTw== X-Received: by 2002:a17:90a:a515:b0:2bd:f751:e18c with SMTP id 98e67ed59e1d1-2c27db190d3mr3200224a91.27.1717613262424; Wed, 05 Jun 2024 11:47:42 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c28066cfc9sm1804627a91.22.2024.06.05.11.47.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Jun 2024 11:47:41 -0700 (PDT) Message-ID: Date: Wed, 5 Jun 2024 11:47:40 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> From: Jim Porter In-Reply-To: <86y17ji860.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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 6/5/2024 10:57 AM, Eli Zaretskii wrote: > I think we are miscommunicating. I wasn't talking about performance, > I was talking about the fact that I don't see text delivered to the > screen in chunks. You said that the current code sends text to the > screen in chunks of 5 lines, and that therefore using the value 128 is > almost the same. You had asked about changing the buffer size; in my initial explanation, I was just trying to explain my reasoning for why a larger buffer size improves the overall execution time. So I was only talking about the performance (the redisplay changes are mostly independent from the buffer size setting, since I throttle the redisplays by time). To be more precise though: the current code writes text into the *buffer* in chunks of 5 lines. (That text will end up on the screen at the next redisplay, whenever that is.) With my patch, if I set the buffer size to 128, it will write text into the buffer every 128 chars, which results in a similar number of write operations as before the patch. Since those write operations are what makes the current code slow, a 128-char buffer with my patch is similarly slow. > But at least part of your patch calls redisplay > after each chunk (AFAIU), something that is not done with the current > code. So I expect the effect to be a difference in behavior, whereby > test appears on the screen in chunks, and the user does not need to > wait till all of it is sent before he/she sees anything at all > displayed. Correct. The redisplay logic is a new behavior, and not *directly* a part of the performance improvements I made by increasing the buffer size. On the contrary, I added the redisplay logic because the buffer size improvements made the total execution time so much better that I felt Eshell could now afford the extra cost of redisplaying periodically for these commands. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 18:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.17176139298193 (code B ref 71355); Wed, 05 Jun 2024 18:59:02 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 18:58:49 +0000 Received: from localhost ([127.0.0.1]:57519 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEvqS-000285-J8 for submit@debbugs.gnu.org; Wed, 05 Jun 2024 14:58:48 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEvqR-00027i-Dg for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 14:58:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sEvq7-0003mD-TF; Wed, 05 Jun 2024 14:58:27 -0400 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=zSVYY1EB0B+kppH4qA5lCxKC8afQId5noNQ2m/CCPWU=; b=hfJ8mNhHI33t /ueIBMSQih98Dz4mZ0FeSPQjsRhicS2oknhAXv2ZGN/GyqDvhXWWvUx9KEJz56431wjjJxFgtCCef FwpsAnbgMQynBsZp7lk5wB9DEHGC0BWbjgEfWb+gZJ9zxUTrJr0lVWDfeRDmQ4o9YkUrCxq3HJNmF VWemAQMfY/LfIHzKgvCGyiHIibkOZyziAWaXzkTR2EhwkqjHNQ4A33RYN7N51N1mYj5uU2c98EqaI W2vs2qGEhENdK88SLCxpyYh5BbYoh51nFJDdOJqNI7fwB7Ifl+AWJuo89muQhLn5BKPEA9/HrhzSq aepyn/heIYkMyRjOpm4e/Q==; Date: Wed, 05 Jun 2024 21:58:22 +0300 Message-Id: <86v82ni5dd.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Jim Porter on Wed, 5 Jun 2024 11:47:40 -0700) References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> X-Spam-Score: -2.3 (--) 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 (---) > Date: Wed, 5 Jun 2024 11:47:40 -0700 > Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com > From: Jim Porter > > > But at least part of your patch calls redisplay > > after each chunk (AFAIU), something that is not done with the current > > code. So I expect the effect to be a difference in behavior, whereby > > test appears on the screen in chunks, and the user does not need to > > wait till all of it is sent before he/she sees anything at all > > displayed. > > Correct. The redisplay logic is a new behavior, and not *directly* a > part of the performance improvements I made by increasing the buffer > size. On the contrary, I added the redisplay logic because the buffer > size improvements made the total execution time so much better that I > felt Eshell could now afford the extra cost of redisplaying periodically > for these commands. So now that we agree about this aspect, I ask again: wouldn't it make sense to show the text to the user in smaller chunks? 2K characters is 2 dozen lines, and I expect users to be somewhat unhappy about being presented the text in such large chunks. That's now what they see when invoking 'cat' from the shell prompt outside Emacs. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Jun 2024 20:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171761822031389 (code B ref 71355); Wed, 05 Jun 2024 20:11:02 +0000 Received: (at 71355) by debbugs.gnu.org; 5 Jun 2024 20:10:20 +0000 Received: from localhost ([127.0.0.1]:34258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEwxb-0008A0-VR for submit@debbugs.gnu.org; Wed, 05 Jun 2024 16:10:20 -0400 Received: from mail-pf1-f176.google.com ([209.85.210.176]:49395) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEwwY-00086w-Lr for 71355@debbugs.gnu.org; Wed, 05 Jun 2024 16:09:16 -0400 Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-702342c60dfso146087b3a.2 for <71355@debbugs.gnu.org>; Wed, 05 Jun 2024 13:08:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717618070; x=1718222870; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=vomMAQBV4HgTpjArwVRNh7ba5vd2aJXAg8cZv5+CW/k=; b=HOyxogd1vBKgxZmAPyQh7rINgUqiyUtQn235mYePGS4J0+qC5GbgmOmcdzmaMl3fI/ mjPIRn4LNnBK3BxF4lxZZe3BKkNVhuTUuPBv9rJGX34dQ1fM6wbRMk5gYoCKQhUuJfiW OWiIZau7fkMLeLxV0yuW5Jj+IvuEN4k6oiTbCg6ehXnB++xg2PIVliilt6z8Ee8CCrbN 18nk8RWoo07idNbLfam3Tz23y6pmM+F4lBEsYJezrgimhZHQt3DdVLeAUHDFQQlINIiQ vAZXu4JESqkxSIWKaYGovy0RBDV/F7iQR3L/lXCdJIeBPeBnZFeCzV36emWTD4BKw6lR T8bA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717618070; x=1718222870; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vomMAQBV4HgTpjArwVRNh7ba5vd2aJXAg8cZv5+CW/k=; b=MfWlAVEO6NdBGwMr1YC0TgKVXnbbsBIG5pYulxch9+4i3+HUVXHnwoP//v29GfQA0V v9VjmFqjTdg9cG/0smOmg+0rIaR6d+89QBwtkZcxAT3Eo+gtpljNey5UpMcjF3NCFoLh m9tvYTs5ZTVmWjrEaL6/hxE8xkCPSJ0gJS5FKK8KsHtzahJ2XDIEXN3EswAr0o3s4JxH jamu+bza2jyuWHVklWix46sNVNuQZveV/uaLRwOrJwln3WS6Spu46WRhwM/6N+c/uOS5 z4tCjYy/tfDZ7FjxhCPG9ykmxkx0B6+UodXlr4QSmX9laJSeOR3OQcdOevG8xMnneXjG dlLQ== X-Gm-Message-State: AOJu0YwRw3TyUg1gbP8wcwgu7cNnFiShJGGYZSdISdOdbLrSuhQYZSiN q8lR6t45DsMsMSaTlNIZuda5fJ4oxEphRQdgDfACwGdeQelMUE/d X-Google-Smtp-Source: AGHT+IGr8DK2ih7B8Szac7b7qNQMMdjJBSCpXymzLiqjCyc08q3/RZhe+kGn901Lk/+j+0fIERY+Zw== X-Received: by 2002:a05:6a00:1acb:b0:701:e698:7c12 with SMTP id d2e1a72fcca58-703e593d245mr4173454b3a.5.1717618070397; Wed, 05 Jun 2024 13:07:50 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-702657f7ccbsm5809711b3a.116.2024.06.05.13.07.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Jun 2024 13:07:49 -0700 (PDT) Message-ID: <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> Date: Wed, 5 Jun 2024 13:07:48 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> <86v82ni5dd.fsf@gnu.org> From: Jim Porter In-Reply-To: <86v82ni5dd.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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 6/5/2024 11:58 AM, Eli Zaretskii wrote: > So now that we agree about this aspect, I ask again: wouldn't it make > sense to show the text to the user in smaller chunks? 2K characters > is 2 dozen lines, and I expect users to be somewhat unhappy about > being presented the text in such large chunks. That's now what they > see when invoking 'cat' from the shell prompt outside Emacs. Ok, I see what you mean. I think the thing users would be unhappy about is "long" periods of time between display updates. (If we flush and/or redisplay faster than the user's monitor refreshes, those updates are wasted.) For the kinds of output that Eshell's buffered-print is designed for, we can get the text we want to print very quickly, so even with a buffer size of 2048, we flush more than 60 times a second (testing with "cat" and "ls" on a spinny disk). In situations where the buffering caused unacceptable delays, a command would either a) not use buffered output or b) manually flush at opportune times. I'm not sure those would come up in practice though. Ultimately, in the cases where Eshell does buffered-printing now, the thing that limits the user seeing updates is the redisplay throttle, not the buffer size. A smarter version of 'eshell-buffered-print' could flush before the buffer was full if enough time has passed, but that would add complexity without a lot of immediate benefit. (For example, would we set up a timer to flush? I'm not sure how that would interact with the rest of this code, which is all synchronous.) From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 06 Jun 2024 05:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171765134226818 (code B ref 71355); Thu, 06 Jun 2024 05:23:02 +0000 Received: (at 71355) by debbugs.gnu.org; 6 Jun 2024 05:22:22 +0000 Received: from localhost ([127.0.0.1]:38922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sF5Zu-0006yT-0X for submit@debbugs.gnu.org; Thu, 06 Jun 2024 01:22:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sF5Zr-0006xi-13 for 71355@debbugs.gnu.org; Thu, 06 Jun 2024 01:22:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sF4ym-0008GS-Lf; Thu, 06 Jun 2024 00:44:01 -0400 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=zjWh4jVpQbocjLWH4VS+h8sPDPnyw3hJXlhMVmWM7gc=; b=P08QuEF7JfkL J1+R9CuqW+esDI1wkKy133xIejxw3UNnXuNvtgpBLDPT3+dltZRIHNAIl1Ve3oA+ysgRP6YD8w5W6 peRRUrpLUxqsQMcWPs+u1TN8pUTOO1Cyc+z5HKVI45CDi/aEzbB0E694B00fx0SHtTyaCQ3lc0oj5 6IHtV48E0+NQwxTNS5jQjAxtcE7TOWwXgJ7OPOOTcIq7UO4puutkQX0uNcmxyfYGYzHXqBLPw2HmY 2gawn/41WDVZgAgtNPtT0xI0FhZ6faSb6YWY2ieyFyZaXvCGN18l2CGisGGZ7a/wv7KHWseKRU4i1 IrzKfNZD8czwnmxiB+3gMQ==; Date: Thu, 06 Jun 2024 07:43:58 +0300 Message-Id: <86r0daistt.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> (message from Jim Porter on Wed, 5 Jun 2024 13:07:48 -0700) References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> <86v82ni5dd.fsf@gnu.org> <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> X-Spam-Score: -2.3 (--) 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 (---) > Date: Wed, 5 Jun 2024 13:07:48 -0700 > Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com > From: Jim Porter > > On 6/5/2024 11:58 AM, Eli Zaretskii wrote: > > So now that we agree about this aspect, I ask again: wouldn't it make > > sense to show the text to the user in smaller chunks? 2K characters > > is 2 dozen lines, and I expect users to be somewhat unhappy about > > being presented the text in such large chunks. That's now what they > > see when invoking 'cat' from the shell prompt outside Emacs. > > Ok, I see what you mean. I think the thing users would be unhappy about > is "long" periods of time between display updates. (If we flush and/or > redisplay faster than the user's monitor refreshes, those updates are > wasted.) > > For the kinds of output that Eshell's buffered-print is designed for, we > can get the text we want to print very quickly, so even with a buffer > size of 2048, we flush more than 60 times a second (testing with "cat" > and "ls" on a spinny disk). In situations where the buffering caused > unacceptable delays, a command would either a) not use buffered output > or b) manually flush at opportune times. I'm not sure those would come > up in practice though. > > Ultimately, in the cases where Eshell does buffered-printing now, the > thing that limits the user seeing updates is the redisplay throttle, not > the buffer size. > > A smarter version of 'eshell-buffered-print' could flush before the > buffer was full if enough time has passed, but that would add complexity > without a lot of immediate benefit. (For example, would we set up a > timer to flush? I'm not sure how that would interact with the rest of > this code, which is all synchronous.) My main point is that 'cat' is used to show the contents of a file to the user, so the assumption is that the user _wants_ to see that stuff. So having the stuff flash before user's eyes in an instant is not necessarily the best idea, even though it is faster, and thus performance-wise we win. If the above is agreed, and you still think 2K characters is the best default value, I'm fine with that. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 06 Jun 2024 09:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.17176656991795 (code B ref 71355); Thu, 06 Jun 2024 09:22:01 +0000 Received: (at 71355) by debbugs.gnu.org; 6 Jun 2024 09:21:39 +0000 Received: from localhost ([127.0.0.1]:52348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sF9JT-0000St-0O for submit@debbugs.gnu.org; Thu, 06 Jun 2024 05:21:39 -0400 Received: from mail-ed1-f42.google.com ([209.85.208.42]:44338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sF9JQ-0000Sh-SZ for 71355@debbugs.gnu.org; Thu, 06 Jun 2024 05:21:37 -0400 Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-57a4ea8058bso680593a12.1 for <71355@debbugs.gnu.org>; Thu, 06 Jun 2024 02:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717665616; x=1718270416; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=e3IvCjgru125P906x33uWiAxmvtPXykF2PGMb9YN89M=; b=E8MvJxXMirbR2tdkTDFoDGRiELLILj8Uw808pETAh7Io6RnbXRe+2OX2+89lf4rnY6 tm5ESpCK52o2TGbS8yR8KasK4+oOtQEPyZ+oezekL3wSvLU0wUFTf6gziwY4a3q5Xtly jC2zXMYA2ibbFfJ2DODRPRDorDhFw277ZQUFxZjIqeOQ+xD95MY4IWuKf94bQ5/1pSvL 6o0cpGT8aeNEhcxvgscPRDhoshjhv2WlaiNZVlpCOaEVKV1xmfUcecTYGhbz27WsSveP ddIpfxkkvu3l1ccmUA+ouMhc0/X5CNmqobMuNazu8wtqWym0O1Qn9sCT9YV1hszlmLjy wHvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717665616; x=1718270416; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=e3IvCjgru125P906x33uWiAxmvtPXykF2PGMb9YN89M=; b=PkSgfneXGAyBBIuGhFGISV1+TZ2U4Z34jwQUM7kB8wJ3IMlV2KU7o4OqXrmfbP4Y0/ Lxyp1V1AEtW2PFd3Bc8IF9SHUGCAM4s11xwkdfh4hnPMJKzHfTVHoNYQ+hKcrkWZ0D6H 1Z2PjPN3DdhBDWqRtGJNSWxdcC6Soc4Cc5JrBss59dz67v7MIKF7bA+ABn3bIPu+Dmjk HzdxBJ7GVy/UbKm6gg9k1QESLG2dA9bhtVq6DvEOSY6H+YdWeVyCpbdawsFQhb8u/ozM YocELKl9hcywqIgtd8vMljd7+Pyf17Cri3XMDMyibJLMdvnAdsCUXawXtrikB6gi5x0s Q/wQ== X-Forwarded-Encrypted: i=1; AJvYcCUpQf2UAAYrANCGkuNY2bdoLtHxR1pagufmsXEUK7deFxyhavAUHmKpWO4LBTsHOsA+F27y7iHINebMzpN53HwlUQwNGKc= X-Gm-Message-State: AOJu0YzjYrouQWc6QxB42mikXg3HY9dUpnk9NAtaCFNRTtyuxHw00Dg9 SV9nMBUEWnKHtv2IZLcA7CmcWMJ4uZUrPNGoQB+Q9o95dmRGr9ebUh+YeD2hooJuIfNUfVMciM2 jOuwPrzoBNCZvxSspbnORr8ydo4o= X-Google-Smtp-Source: AGHT+IFopktG4xfc37ycV81qmbqD/7L1CtHame1bGbwsdSrQgeb6WaOPly5RwUSI5XUFxQyJfV4N9o9fWnTh+S6LXDg= X-Received: by 2002:a50:a416:0:b0:57a:1aa8:b49e with SMTP id 4fb4d7f45d1cf-57a8b67d88emr3725152a12.3.1717665616006; Thu, 06 Jun 2024 02:20:16 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 6 Jun 2024 05:20:14 -0400 From: Stefan Kangas In-Reply-To: References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> MIME-Version: 1.0 Date: Thu, 6 Jun 2024 05:20:14 -0400 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) 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 (-) Jim Porter writes: > If anyone has time to test, I'd be interested to see if the results are > similarly good on other platforms (I'm testing on x86_64 GNU/Linux), but > I imagine they're comparable. 0. emacs -Q 1. M-x eshell RET 2. time cat config.log RET I did three attempts: Before your patch: 4.520 4.687 4.609 secs With your patch: 0.958 0.968 1.048 secs In GNU Emacs 30.0.50 (build 3, aarch64-apple-darwin23.5.0, NS appkit-2487.60 Version 14.5 (Build 23F79)) of 2024-06-06 built on Stefans-MacBook-Pro.local Repository revision: a525cfb3af0c49c5c64e8af548ab23d086348fed Repository branch: master Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.5 From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 06 Jun 2024 18:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171769706530334 (code B ref 71355); Thu, 06 Jun 2024 18:05:02 +0000 Received: (at 71355) by debbugs.gnu.org; 6 Jun 2024 18:04:25 +0000 Received: from localhost ([127.0.0.1]:59758 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFHTM-0007t6-61 for submit@debbugs.gnu.org; Thu, 06 Jun 2024 14:04:25 -0400 Received: from mail-pl1-f177.google.com ([209.85.214.177]:42230) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFHTK-0007sj-It for 71355@debbugs.gnu.org; Thu, 06 Jun 2024 14:04:22 -0400 Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-1f612d7b0f5so8496385ad.0 for <71355@debbugs.gnu.org>; Thu, 06 Jun 2024 11:04:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717696982; x=1718301782; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=EH0HDZHZQbl+hIJaAFKRZ+QyZjXhi0EjMcxo0flyfLw=; b=ipHvXveRUZTOmwWerrQHjJI6cfXCciYNTZ8wMYAkztcajgjnCnboaXpZe5Kv1yFJjd ktbYUtyveXrcjTuueytQHYBdUV8is2SXSgWqk4dIgjk3/+0CMX1fo98ehWtHbhwK1Rx3 aJtPh0BWYWU712uGzg6Wl+ggIoRf4W9I0UZ5Puz0eDOCOljO242fJb81DA+2YGa+UALH RW09WWXCf/Fdq6YJY39EOMJqq1/9ilaejrcz07WTUysY7u8MM+q1svrEXnLwnLf5FZYM OEy2zHFIUUtGScfGGqELj/r1SlKx2K5J7dvbkSohCDi8PcOZIQLVW3iOnqCWq1K3ks37 2q7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717696982; x=1718301782; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EH0HDZHZQbl+hIJaAFKRZ+QyZjXhi0EjMcxo0flyfLw=; b=XQVXG13/uOqmDsNk9WDqANvTG0KMkLHD59os7ayF20zajmivzob4fkrOVI3uNehMif 14OafbScxZPmO442nxoVtlCjb7kxX36qQDW7GokPbSVtgDtEgub22TCJBwDfMz4h2y0V 1AeGRPyTmNkSRiSybBbzkY0aymaK/BozAj4nGqXeWZxt+IcUHMUw0Ebnf6hRCB+0eT9M emcNDqxP1z2IyXMxuqsYT8uQ+nrw0OBghPxQypa9Rr6gwBgEwaToI/7N2Z7g7f+urxc6 NdHv8bZdtB6sQGw5I9IxmY8k99R6b7DRnrCQRxLCIY+Sd7QXdPOCKX6WZpeDa6Iqdi8N b+4g== X-Gm-Message-State: AOJu0Yz17Gtn5fVwwYGPr1G239pksD4BKxHY+Y2tu6Fvwvqk6Mcm8uXT q9k9eRB2nuPmAIOuqg4lz1ss0nwBA85V2KWQrF6eG/jqewScOhD1 X-Google-Smtp-Source: AGHT+IE563AnUG4BMsH62N9xPFW6TtO88DHqkpM+h7Cjb33cJ20/Cp2az4zDXJCSuw1IQ+fmZqywKg== X-Received: by 2002:a17:902:a386:b0:1f3:81c:c17 with SMTP id d9443c01a7336-1f6d019f382mr4470625ad.23.1717696981826; Thu, 06 Jun 2024 11:03:01 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f6bd7cd029sm18150805ad.137.2024.06.06.11.03.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 06 Jun 2024 11:03:01 -0700 (PDT) Message-ID: <066f89aa-4026-b5fd-e529-12e70360bed6@gmail.com> Date: Thu, 6 Jun 2024 11:02:59 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> <86v82ni5dd.fsf@gnu.org> <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> <86r0daistt.fsf@gnu.org> From: Jim Porter In-Reply-To: <86r0daistt.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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 6/5/2024 9:43 PM, Eli Zaretskii wrote: > My main point is that 'cat' is used to show the contents of a file to > the user, so the assumption is that the user _wants_ to see that > stuff. So having the stuff flash before user's eyes in an instant is > not necessarily the best idea, even though it is faster, and thus > performance-wise we win. For "cat" specifically, I think what we want is just to finish as fast as we can so that Eshell hands control back to the Emacs command loop, and then the user can start examining the output. (For example, by pressing C-c C-r to go to the beginning of the output, or using the "Smart" module[1].) > If the above is agreed, and you still think 2K characters is the best > default value, I'm fine with that. Agreed. I'd definitely like to improve the usability for dealing with long-running commands or ones that output a lot of text in Eshell. I think that's a separate task though. (For example, the text flashing before the user's eyes also happens when running the external /usr/bin/cat, and I haven't touched that code path here. A fix for that behavior would go elsewhere so that both the internal and external cats could benefit.) [1] I don't use the Smart module so I don't know a ton about it, but it avoids scrolling the output as it comes in and stays at the beginning. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 06 Jun 2024 18:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Kangas , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171769718130734 (code B ref 71355); Thu, 06 Jun 2024 18:07:02 +0000 Received: (at 71355) by debbugs.gnu.org; 6 Jun 2024 18:06:21 +0000 Received: from localhost ([127.0.0.1]:59922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFHVE-0007zc-If for submit@debbugs.gnu.org; Thu, 06 Jun 2024 14:06:20 -0400 Received: from mail-pl1-f174.google.com ([209.85.214.174]:45371) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFHVC-0007zI-Qy for 71355@debbugs.gnu.org; Thu, 06 Jun 2024 14:06:19 -0400 Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-1f44b5b9de6so11304325ad.3 for <71355@debbugs.gnu.org>; Thu, 06 Jun 2024 11:06:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717697098; x=1718301898; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=6TQASJHg98F901BqhTybLLk6VXk4jDBShOMrUWFyoW4=; b=Ndk9Y0u509GYnwLzN3CcHuMtaftY9DffQeUuBfdhwgRoZt182j1QJbZJw9JSzg//yS JdlS0d9xZLI2ygHgJJ2b5OBtSvahJxoSlxG3RsWZ3kBAK+ZPY/fIXkAvC6eExcmTUHFz XfoaY3boker70GG6hViUnAFstesosxhsN+27qcQz6svbTMEXnnArICzrD+kOf+GdaBb2 JTmJSmUbEe+eQaM/g3sP8F87MU/eAeQbOodLA5NI72zfBVfsBtryrSKvF6ddI6cGjx4Q ReLEgo7Xi8Yk68TY9xIuG32lmSWp8Nx7mzEiEHEC3t8fI3RNHpjnO1UmZIDqK3zNH4gv ka+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717697098; x=1718301898; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=6TQASJHg98F901BqhTybLLk6VXk4jDBShOMrUWFyoW4=; b=mfdqpUYbBFObLEupj2LD7reirNSrWqMwa4Q5txd2byTzLzcf+HxYyuGlmv17/RmtII 0NKS96SQKgB5TA2HiRbPt0q5SlkPO5VuRzTql53f2/yNyfafmTO1um3CkNI/ulsAil1N oKYs2Jk76WP4PUeI+81HlTtaRhc31mv31geC2MxoThK30ieFl4QND6EwWeMGdvde8d6x Y3bwo2qMz2wOFT706WJ1lBdAvOg1Oj6K7y3/zBsfLy995aDu0e4dvNYrliweb2uIewLy DjlsAKHTLW4GRfDvJ7Tz7ENftdQN0ydG5PvX2qAZv3ppf9I8yYJvc60wY+UX1Mrtrtyu QvRg== X-Forwarded-Encrypted: i=1; AJvYcCVYPIwitdbvXDEdrXCmxFnczWS89ztWv3g8TL1u6j9mdLMYI4Z10Tj3K/NabAj1stWDVFJ/9wAKKS2QrOxZNJdz2jf5/so= X-Gm-Message-State: AOJu0YyIlRqq3acnbIu+e7Pu2buNu6HLEi7QzEseR8I4vwTw/FzfmRCV fWClMOYHGf1R2Ax8YcZbb74lRSMKmlACPiHamZz32PhpjZWKS0HY X-Google-Smtp-Source: AGHT+IG1e7VfKAMxLpnIXstxTYV5j/mHI14GDunMWTMNbfgJ6HkzimGkxzWOp25498QVgeO37nJmtQ== X-Received: by 2002:a17:902:ce85:b0:1f6:a43f:5b38 with SMTP id d9443c01a7336-1f6d02d6523mr5089795ad.4.1717697098257; Thu, 06 Jun 2024 11:04:58 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-1f6bd7ec4e0sm18167375ad.236.2024.06.06.11.04.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 06 Jun 2024 11:04:57 -0700 (PDT) Message-ID: <1b317092-4820-69c2-6e23-cbf48748b73c@gmail.com> Date: Thu, 6 Jun 2024 11:04:57 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> From: Jim Porter In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) 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 6/6/2024 2:20 AM, Stefan Kangas wrote: > Jim Porter writes: > >> If anyone has time to test, I'd be interested to see if the results are >> similarly good on other platforms (I'm testing on x86_64 GNU/Linux), but >> I imagine they're comparable. > > 0. emacs -Q > 1. M-x eshell RET > 2. time cat config.log RET > > I did three attempts: > > Before your patch: 4.520 4.687 4.609 secs > With your patch: 0.958 0.968 1.048 secs Thanks. Those differences aren't quite as stark as in my tests, but 4.5x faster is still pretty substantial, so it's good to see this improves things on other systems too. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 06 Jun 2024 23:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171771618518477 (code B ref 71355); Thu, 06 Jun 2024 23:24:02 +0000 Received: (at 71355) by debbugs.gnu.org; 6 Jun 2024 23:23:05 +0000 Received: from localhost ([127.0.0.1]:50568 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFMRk-0004nu-JE for submit@debbugs.gnu.org; Thu, 06 Jun 2024 19:23:05 -0400 Received: from mail-wr1-f45.google.com ([209.85.221.45]:51422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFMRj-0004nJ-LI for 71355@debbugs.gnu.org; Thu, 06 Jun 2024 19:23:04 -0400 Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-35e4d6f7c5cso1459563f8f.2 for <71355@debbugs.gnu.org>; Thu, 06 Jun 2024 16:22:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717716103; x=1718320903; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=8pbGBoL9kIx+G89drmM8JYZp5NyRXoA4aZMehfrSZMc=; b=W7HwMazIWftbmekDBZv6i1OPQ+IWB0LSAMiHLhsCF9ItgOPbwiR8lesvgQ/1QeUUEZ gE1Y6XHLvYKx8eD6i4h3UCLJs+PQj6692QSzm9j220OSXbDGA46s6PcbXkvyg4gRHzis eZ9Vm4e25OTMnRzQDB828bk73Us1SpiwwuBOe+OqY1GMnT9GobDsUeuSwA0EF0mJ9VNW AwNLTvGqQ5cS79GRTL17Zk9o6DpeaQm3ifbn/iOEBr1fnod0iUW8BFFu+uimrzvk0zJF glp5MLjou6wnBRbm7zqpgo5UHWwofF1ApzPRqsKvXB1bvg6phuLRMuGHNyTKEXPO02LR vKig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717716103; x=1718320903; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8pbGBoL9kIx+G89drmM8JYZp5NyRXoA4aZMehfrSZMc=; b=v6KRJ1HiecAjQPWGP59myoCFaC1iK2j2R6Hrv+X1tTRmOZk0/w+PuEtoJVVoCd1Nao REImwue7MIxRsH+h6rSCbGqhjoYk+oKONk4LGLfUmkPbEb6xKxjVlUDw0NqmMjqUwqeG Hl9ylucID7Z0IKCjQBHhABPQkT8EpGSkJiPgWzgtJZ2o1SLZya2PqWNWypg1+IK0sxzJ NzLPM4IPMKN3N/+ARIeQhaIoX9eaDhKiCNOnNsQfwwyzRqBSqqyQD1nTSjKCZvNinCYU 3PPb2Cmtap6NH6ot93KhDq4moBSIFBuLEeb1MQGzKteIRCl0CFigQMGUSkMjnSO9/+EF xPcg== X-Forwarded-Encrypted: i=1; AJvYcCUYKik+RQGAcskyi9Qs7DFHf0vZn3Tr5T2oFsx92oLZF0KaIuC822YuvV20vlpT790vlVK+bhOBeeKr/PpMiy5UxZCCcnc= X-Gm-Message-State: AOJu0YxTLaGFH4X0Ft6ZWgaiBz0i2M4RNmpnuVfjdaIo4erqCWqC3u5a 2ciEOn3tM9SfborECdKtvQW3kzPOYmf5Mt5DSLLoRKOJnUGnINcTE+Rt/C3Ct/CEr4mmIx38yBb 3DsoIPnTG8VdPCzYCW+9cvuYz+B647WhpfV0= X-Google-Smtp-Source: AGHT+IEsBKBBZ6Q9D+Ho3ZMzr6M5gSsNRmL4Gu6eq/VAm1hVF6p94z91Ea/IjsDehCQcDr8m3TkajK/tRP/PPQZZzFg= X-Received: by 2002:a50:9e48:0:b0:57a:2e77:9bb7 with SMTP id 4fb4d7f45d1cf-57c508abd01mr338081a12.13.1717715685764; Thu, 06 Jun 2024 16:14:45 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 6 Jun 2024 19:14:44 -0400 From: Stefan Kangas In-Reply-To: References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> MIME-Version: 1.0 Date: Thu, 6 Jun 2024 19:14:44 -0400 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) 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 (-) Jim Porter writes: >>> +(defcustom eshell-buffered-print-size 2048 >>> + "The size of the print queue in characters, for doing buffered printing. >>> This is basically a speed enhancement, to avoid blocking the Lisp code >>> from executing while Emacs is redisplaying." >> >> How did you decide on this value? > > Basically, I tried a few different command invocations that normally > take a while (the main ones being "cat config.log" and "ls -Al > /usr/bin") and scaled up the value by factors of two until I stopped > seeing any major perf improvements. (Larger values are faster still, but > not by a whole lot.) FWIW, I've experimented a bit on my machine, and I see the following using the command "time cat config.log" from an initially empty eshell buffer: | eshell-buffered-print-size | secs | | |----------------------------+------------+-------| | 256 | 1.922 secs | 1 | | 512 | 1.413 secs | 0.74 | | 1024 | 1.065 secs | 0.55 | | 2048 | 0.996 secs | 0.52 | | 4096 | 0.860 secs | 0.45 | | 8192 | 0.835 secs | 0.43 | | 16384 | 0.829 secs | 0.43 | To me, these numbers seem to suggest that, at least on this system, there is a sweet spot around 4096, but 2048 admittedly does already get us most of the way there. However, going above 8192 doesn't lead to any appreciable speedup. This is on a fast M2 machine; it would be interesting to see some experiments on slower machines as well. I'm assuming that we don't want to set it to some arbitrarily large number, but do we expect any adverse affects from choosing a slightly higher value? If not, is there a case to be made for choosing 4096 as the default? From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 07 Jun 2024 00:11:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Stefan Kangas , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171771904227776 (code B ref 71355); Fri, 07 Jun 2024 00:11:02 +0000 Received: (at 71355) by debbugs.gnu.org; 7 Jun 2024 00:10:42 +0000 Received: from localhost ([127.0.0.1]:54054 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFNBp-0007Du-WC for submit@debbugs.gnu.org; Thu, 06 Jun 2024 20:10:42 -0400 Received: from mail-oo1-f49.google.com ([209.85.161.49]:47193) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFNBo-0007DQ-NK for 71355@debbugs.gnu.org; Thu, 06 Jun 2024 20:10:41 -0400 Received: by mail-oo1-f49.google.com with SMTP id 006d021491bc7-5ba69e446f4so634348eaf.2 for <71355@debbugs.gnu.org>; Thu, 06 Jun 2024 17:10:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717718960; x=1718323760; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=8rVaQEcDW5oJ0z3cugTyct7KGmPRYAD5LXy3qI7ECoI=; b=CUd6j/4fC98rKGmnDdLgpOge/bTCrc2ohogHqS/+y5PC9dwZFY4Qo1WatneucChuuy EtPTXzFL2QZ/6P/JBsAVsT5njGEfcXNMqufvd8UlIHh1gKVPaPS2mxIWurMm/hkHGI92 ptxwPLb9V5fYZ8kGr7jkVr+ilmhLAvdRIvXkVfvCIwIctMLCuSrH3HnuDB0X9bzBiJ73 Bk+/45dq1sw5yG4dgcOFPghYxyhnw6hOXPaAsdoQdUwRsiaiD/wUTlgdPZILRa4c61zg XBzzgAWADLHFK69Hxxrg7jpTrLvw1Ld8YLhfk1GQwjmerby5v6hfWY+p9En38vVY1Ol9 Xdug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717718960; x=1718323760; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=8rVaQEcDW5oJ0z3cugTyct7KGmPRYAD5LXy3qI7ECoI=; b=APr/CRyrVkBeABapvM8mpK8yeJ1xFHTSocYvdGqpEFZ6hDadQOaaRzTHJcMbSxdH0W QpaNxdCpkjm9Ybv/nW5yAk8IjhBVjsD6IQO/lwdCtHYU8wC721o5JrLnykDGT4xVtcAi 7XNpBvcaZUQFHWI43LipuVtb1qclG92CtYhEcBs+kSN3FCC9038wWfdje7RVHMxIDBk8 QEBntvzaehfGNPQoR0hI/VRmyTGI4zV2mBRZ33vWGhNQ+rSimc8P+9CxFpQG9K7Cjrhz ezyUVa1FBI/VZN+zPaYKP9DdUZ+563C95KNAPRfwO/iDQgNyFipubHxbeE9iJvpaWHgy fB5w== X-Forwarded-Encrypted: i=1; AJvYcCVeGxwWvpDOw4Rbhi7JGAX2mr3RxD9ct6z6DdZbp9m1JyOWV7Scw1m/u7wI7l/fNWsqIdvNgFQRB9JXEiBQEfsnbvE22d4= X-Gm-Message-State: AOJu0YwmXSptyLuhepuB+GY68cJnNrW0h8B6fb8IG1TDq8q2a6pTkJu1 g6eXepx5IWgeFWlSNKt+cH+PJrX7iYbTXHJHTrm2kIptu08TPGm9 X-Google-Smtp-Source: AGHT+IFAh8E5rkDaoIdwGv6NnWzVoiV6wQo1BVWnl7KW2KEIdxKp9N8JqAfQuUogTayS+ZHp240GDw== X-Received: by 2002:a05:6358:7e99:b0:19f:339:7f45 with SMTP id e5c5f4694b2df-19f1fd01c24mr148758255d.4.1717718959694; Thu, 06 Jun 2024 17:09:19 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-6de21788251sm1680136a12.30.2024.06.06.17.09.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 06 Jun 2024 17:09:19 -0700 (PDT) Message-ID: <4ae71801-51f4-629f-4212-eb4ed42759b8@gmail.com> Date: Thu, 6 Jun 2024 17:09:18 -0700 MIME-Version: 1.0 Content-Language: en-US References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> From: Jim Porter In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) 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 6/6/2024 4:14 PM, Stefan Kangas wrote: > FWIW, I've experimented a bit on my machine, and I see the following > using the command "time cat config.log" from an initially empty eshell > buffer: > > | eshell-buffered-print-size | secs | | > |----------------------------+------------+-------| > | 256 | 1.922 secs | 1 | > | 512 | 1.413 secs | 0.74 | > | 1024 | 1.065 secs | 0.55 | > | 2048 | 0.996 secs | 0.52 | > | 4096 | 0.860 secs | 0.45 | > | 8192 | 0.835 secs | 0.43 | > | 16384 | 0.829 secs | 0.43 | > > To me, these numbers seem to suggest that, at least on this system, > there is a sweet spot around 4096, but 2048 admittedly does already get > us most of the way there. However, going above 8192 doesn't lead to any > appreciable speedup. This is on a fast M2 machine; it would be > interesting to see some experiments on slower machines as well. > > I'm assuming that we don't want to set it to some arbitrarily large > number, but do we expect any adverse affects from choosing a slightly > higher value? If not, is there a case to be made for choosing 4096 as > the default? This is consistent with what I saw, but I thought it best to err on the side of smallness for the buffer size, just to ensure that we flush the buffer faster than the redisplay rate (defaulting to 40Hz), even on slower machines. Since the difference between 2048 and 4096 is small, I figured it wasn't too high a price to pay. In your tests, just like mine, the difference between 1024 and 2048 is also small, but I opted for the larger 2048 because it produced a more-noticeable improvement when running `time ls -Al /usr/bin`. That said, if we wanted to use a buffer size of 4096, I don't think that would cause any major issues. (At least on my system, when running an external command in Eshell, it writes 4095 bytes at a time, since that's how much data we get at once from the process filter. As far as I'm aware, it's been that way forever.) On some level, I think any value between about 1024 and 4096 is probably somewhat arbitrary. They'd likely all be fine in most cases, and have much better performance than what we have today. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 07 Jun 2024 08:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter , 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171775034528307 (code B ref 71355); Fri, 07 Jun 2024 08:53:01 +0000 Received: (at 71355) by debbugs.gnu.org; 7 Jun 2024 08:52:25 +0000 Received: from localhost ([127.0.0.1]:36808 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFVKi-0007MV-Kg for submit@debbugs.gnu.org; Fri, 07 Jun 2024 04:52:25 -0400 Received: from mail-ed1-f44.google.com ([209.85.208.44]:50480) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFVKg-0007M6-7a for 71355@debbugs.gnu.org; Fri, 07 Jun 2024 04:52:23 -0400 Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-57a2406f951so2255290a12.1 for <71355@debbugs.gnu.org>; Fri, 07 Jun 2024 01:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717750261; x=1718355061; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :from:to:cc:subject:date:message-id:reply-to; bh=Fm5MAN5ldYKXEAFJHyNn0KoyTZ/J71z8VeT48hJqe+4=; b=FpXqQploGUULLqghg12WeehJC8j6JnCrlPjzVrR5pK6jQv21sY31pgGn7KRCarrg0K 16DsLbW6WQ4C+JX5SxE3NIy58yb7XSt8z293Hog8JycKdAJYRJhXG9zOKxt8e6ByETD8 Oj+8Yy2eW1PN8MVaaMZs6JaJHqs37/ioXhAd/bc9Fc+XszWIePSyW9dbkQgDLAmwfLTG /CcT5bl/tBv5sxGUSj1kbb4Y69VBVwUlDs/WcxK/4GU5bxg082WC86FWvlMRhfZ4WPA4 MZYdfgVvkCvWrxc+RIr2CwAS5KvaNdASfEJAF3E9tXu/2gbPGX5grtu5ywN6qFhzKC0D uh4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717750261; x=1718355061; h=to:subject:message-id:date:mime-version:references:in-reply-to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Fm5MAN5ldYKXEAFJHyNn0KoyTZ/J71z8VeT48hJqe+4=; b=fBMySLdl84MDcIXT6M96Ttsh9Bq5JiSV8nZEAmU5osLw6O7Sw8VJ1fZxQVfUtgytUz kCKKBmPbTbS3P/taSO5htECMbPzYnCjFvKWehIcB6iKG1KYJ3V2vf0cPRUt4JFPm6yZC TxhMuxweVP9r78935cutH3bZJH3TSTriOKFqOIert+PYHs0LPnWA0XhdBlw2IVWSZfOx nfgiUqXpNx1mrwHje+Q8VmDIuPluWOe3fFL8TJ2a/+VheVFOq/v/X0tFtfo74sSkVmZ/ ro7B5ThwzYZuxbIDjSaE/VffXQiiCrER1YQvqslE5s3N7n3TWz4rA/gg5eypHZXOUT1/ 2s4w== X-Forwarded-Encrypted: i=1; AJvYcCWPtksOdfE7dXMxKYeJh258DGEAp9NVMA5stIYAGR+pSI8sszIRxxiTOktSvb0ucM4lisyosCNg3xhLO+gzo4DAqjdAtfY= X-Gm-Message-State: AOJu0YyC98KB4HY8sIGHC4mswQH+4bevyZ+4I7IKacGRAOMW8NCJ4MI3 tkKK56FaPRB1mfWlJMb+3EBIysi/FUlJ9Q+zJjQopEQKwyWWCogwlg0IbU9UC8MzWZ3sRz83GxE TXVP9ofSbAssMnFbbRWWvjdfs9nA= X-Google-Smtp-Source: AGHT+IGvnSJEbR2LDYw++xxmb+/yAIk7RrgVlt8A6OUXANzRB7WF6SsDuXdyVxS2BwNescXdpG1EsWs3ZWnX57D74UU= X-Received: by 2002:a50:9b46:0:b0:57a:243c:202 with SMTP id 4fb4d7f45d1cf-57c509817aamr1084558a12.32.1717750261052; Fri, 07 Jun 2024 01:51:01 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 7 Jun 2024 10:51:00 +0200 From: Stefan Kangas In-Reply-To: <4ae71801-51f4-629f-4212-eb4ed42759b8@gmail.com> References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <4ae71801-51f4-629f-4212-eb4ed42759b8@gmail.com> MIME-Version: 1.0 Date: Fri, 7 Jun 2024 10:51:00 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) 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 (-) Jim Porter writes: > This is consistent with what I saw, but I thought it best to err on the > side of smallness for the buffer size, just to ensure that we flush the > buffer faster than the redisplay rate (defaulting to 40Hz), even on > slower machines. Since the difference between 2048 and 4096 is small, I > figured it wasn't too high a price to pay. Makes sense to me, thanks. From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 08 Jun 2024 04:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 71355@debbugs.gnu.org, stefankangas@gmail.com Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.17178208034927 (code B ref 71355); Sat, 08 Jun 2024 04:27:02 +0000 Received: (at 71355) by debbugs.gnu.org; 8 Jun 2024 04:26:43 +0000 Received: from localhost ([127.0.0.1]:37875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFnf7-0001HL-TP for submit@debbugs.gnu.org; Sat, 08 Jun 2024 00:26:43 -0400 Received: from mail-pj1-f52.google.com ([209.85.216.52]:50497) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFnf5-0001Gz-Ej for 71355@debbugs.gnu.org; Sat, 08 Jun 2024 00:26:41 -0400 Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-2c1ab9e17f6so2448997a91.1 for <71355@debbugs.gnu.org>; Fri, 07 Jun 2024 21:26:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717820718; x=1718425518; darn=debbugs.gnu.org; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=XX9kAnKye6k+A0L4xyUh7tXGaWqyncLb8zFMTRUiYbM=; b=kMryNQPe+mHmoj2NtQPqqprjliyYZAiFR3YssWJvG533ztJ/2wWLWzDWsXm7lGDgkq BtfxAgDwsRXbNsejhI9aSQj3hA+Ph213tuVg1NZhf8+jBnzXQSpdOJSzWUVsQ3ydzdig EcnYcXogsHaEB5l7KI150TET7d3bscXMhJVyng+mkM/dX2d/68WIakoMJERRz8mkIC0m /q1cyFMbF1lhyW5JsI58YsR97hPZoq2obEAyIGCSrROwgud98gN8k00+W5+NIoefdy0G PbHVGTfsKadE6i/kNSapc8XUGTHO8BF+9CozlvEyciitD7Dc3i7L+HzGgRm2IXqqBPkm 99pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717820718; x=1718425518; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=XX9kAnKye6k+A0L4xyUh7tXGaWqyncLb8zFMTRUiYbM=; b=beGN5ipIigsXbqlCkM5aFymPB0WxrXNHMd1uGiZrsN87LdRUqIe+dB7UezgCnaN8xE PT+o7VR8VcZrIbintn94wCudCwTieRgNcRKsWl+cMJlKAfyU0mFUSmBPslVod6eWFecc HTlKUb+OxcrVXqH9k5sn1WEZW8Dckw248WkVDfE44hoprcDlTWem0OWjuvnJ9Jswf7RT oQRIiDvBNHwNEtmJK0n95fFpi8LM5SP2dezgAHHK5PH02syms9M6Yhr/QYp0s1GR5jQC aOXN81SKiGD+gLMP7gi3cRTQDhUKku1m8yXlGOu9qeQVtzGFjO6evy6DzPDlY8F74lYp c0Pg== X-Gm-Message-State: AOJu0YzflmAj4oNTEIVj1G87y8QYtFUdsOtgconjK8Z8OWIL0zvsRlYH +wsYjummatofkHqqb7J/01Oc1gOo+8NB40gdb9Nk4dVhHon/ozbT X-Google-Smtp-Source: AGHT+IG8NFzbMGUH8u8CMvy+zQ7Zq6Go999aVfQD2fo/xAjFJrn0En0s5ooM/FhUQ/WJVR0IA3xIpg== X-Received: by 2002:a17:90a:dc13:b0:2c2:cfd1:768b with SMTP id 98e67ed59e1d1-2c2cfd1786cmr2261744a91.12.1717820717289; Fri, 07 Jun 2024 21:25:17 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2c29c21df85sm4492284a91.15.2024.06.07.21.25.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Jun 2024 21:25:16 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------Rhdfg6pTbwVkFn7swwpBYo7w" Message-ID: Date: Fri, 7 Jun 2024 21:25:16 -0700 MIME-Version: 1.0 Content-Language: en-US From: Jim Porter References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> <86v82ni5dd.fsf@gnu.org> <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> <86r0daistt.fsf@gnu.org> <066f89aa-4026-b5fd-e529-12e70360bed6@gmail.com> In-Reply-To: <066f89aa-4026-b5fd-e529-12e70360bed6@gmail.com> X-Spam-Score: -0.0 (/) 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. --------------Rhdfg6pTbwVkFn7swwpBYo7w Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Whoops, one of the intermediate changes I'd made while working on these patches broke a bunch of the regression tests, so here's the fixed version. I also renamed a few of the new variables to be clearer that they're for internal use only. Since it sounds like all the other concerns have been addressed, I'll probably merge this in the next day or so. (This is the last non-bugfix change I'd like to land for Eshell in Emacs 30.) --------------Rhdfg6pTbwVkFn7swwpBYo7w Content-Type: text/plain; charset=UTF-8; name="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Disposition: attachment; filename*0="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Transfer-Encoding: base64 RnJvbSA4ZGE0MDQ4NWJhYjMxMzE1NzdjYmFjZDZmNTYwYzhkODMxZTI0N2QzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowMTo0OCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBCZSBtb3JlIGVmZmljaWVudCB3aGVuIGJ1ZmZlcmluZyBvdXRwdXQgaW4gRXNo ZWxsCgpUaGlzIG1ha2VzIHRoZSBidWlsdC1pbiAnZXNoZWxsL2NhdCcgNS0xMHggZmFzdGVy IG9uIGxhcmdlIGZpbGVzIGluIG15Cihzb21ld2hhdCBsaW1pdGVkKSB0ZXN0cy4gIEluIGFk ZGl0aW9uLCB0aGlzIGNoYW5nZSBwZXJpb2RpY2FsbHkKcmVkaXNwbGF5cyB3aGVuIHVzaW5n IHRoZSBFc2hlbGwgYnVmZmVyZWQgb3V0cHV0IHNvIHRoYXQgdXNlcnMgY2FuIHNlZQpzb21l IHByb2dyZXNzLgoKKiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgKGVzaGVsbC1wcmludC1xdWV1 ZS1zaXplLCBlc2hlbGwtcHJpbnQtcXVldWUsCmVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCk6 IE1ha2Ugb2Jzb2xldGUgaW4gZmF2b3Igb2YuLi4KKGVzaGVsbC1idWZmZXJlZC1wcmludC1z aXplLCBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LXF1ZXVlKQooZXNoZWxsLS1idWZmZXJlZC1w cmludC1jdXJyZW50LXNpemUpOiAuLi4gdGhlc2UuCihlc2hlbGwtYnVmZmVyZWQtcHJpbnQt cmVkaXNwbGF5LXRocm90dGxlKTogTmV3IHVzZXIgb3B0aW9uLgooZXNoZWxsLS1idWZmZXJl ZC1wcmludC1uZXh0LXJlZGlzcGxheSk6IE5ldyB2YXJpYWJsZS4KKGVzaGVsbC1pbml0LXBy aW50LWJ1ZmZlcik6IE1ha2Ugb2Jzb2xldGUuCihlc2hlbGwtZmx1c2gpOiBBZGQgbmV3IFJF RElTUExBWS1OT1cgYXJndW1lbnQgaW4gZmF2b3Igb2YgQ0xFQVIgKHdoaWNoCm9ubHkgJ2Vz aGVsbC1pbml0LXByaW50LWJ1ZmZlcicgc2hvdWxkIGhhdmUgdXNlZCkuCihlc2hlbGwtYnVm ZmVyZWQtcHJpbnQpOiBDb21wYXJlIHF1ZXVlZCBvdXRwdXQgbGVuZ3RoIHRvCidlc2hlbGwt LWJ1ZmZlcmVkLXByaW50LWN1cnJlbnQtc2l6ZScuCihlc2hlbGwtd2l0aC1idWZmZXJlZC1w cmludCk6IE5ldyBtYWNyby4KCiogbGlzcC9lc2hlbGwvZXNoLXZhci5lbCAoZXNoZWxsL2Vu dik6CiogbGlzcC9lc2hlbGwvZW0tZGlycy5lbCAoZXNoZWxsL2NkKToKKiBsaXNwL2VzaGVs bC9lbS1oaXN0LmVsIChlc2hlbGwvaGlzdG9yeSk6CiogbGlzcC9lc2hlbGwvZW0tdW5peC5l bCAoZXNoZWxsL2NhdCk6CiogbGlzcC9lc2hlbGwvZW0tbHMuZWwgKGVzaGVsbC9scyk6IFVz ZSAnZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQnLgooZmx1c2gtZnVuYyk6IFJlbW92ZS4K KGVzaGVsbC1scy0taW5zZXJ0LWRpcmVjdG9yeSwgZXNoZWxsLWRvLWxzKTogUmVtb3ZlICdm bHVzaC1mdW5jJy4KCiogdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsIChlbS11 bml4LXRlc3QvY29tcGlsZS9pbnRlcmFjdGl2ZSkKKGVtLXVuaXgtdGVzdC9jb21waWxlL3Bp cGVsaW5lLCBlbS11bml4LXRlc3QvY29tcGlsZS9zdWJjb21tYW5kKTogRml4CmluZGVudGF0 aW9uLgooZW0tdW5peC10ZXN0L2NhdC9maWxlLW91dHB1dCk6IE5ldyB0ZXN0LgoKKiBldGMv TkVXUzogQW5ub3VuY2UgdGhlc2UgaW1wcm92ZW1lbnRzLgotLS0KIGV0Yy9ORVdTICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNyArKwogbGlzcC9lc2hlbGwvZW0tZGlycy5lbCAg ICAgICAgICAgIHwgIDEzICsrLS0KIGxpc3AvZXNoZWxsL2VtLWhpc3QuZWwgICAgICAgICAg ICB8ICAxMyArKy0tCiBsaXNwL2VzaGVsbC9lbS1scy5lbCAgICAgICAgICAgICAgfCAgMTQg KystLQogbGlzcC9lc2hlbGwvZW0tdW5peC5lbCAgICAgICAgICAgIHwgIDI1ICsrKystLS0K IGxpc3AvZXNoZWxsL2VzaC1pby5lbCAgICAgICAgICAgICB8IDEwNCArKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KIGxpc3AvZXNoZWxsL2VzaC12YXIuZWwgICAgICAgICAgICB8 ICAgNyArLQogdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsIHwgIDM3ICsrKysr KystLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDE0MyBpbnNlcnRpb25zKCspLCA3NyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IGQ2YThmYTcx MjJiLi4yMzQ5Y2MwY2FjYiAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRjL05FV1MK QEAgLTk2Myw2ICs5NjMsMTMgQEAgZmlsZXMgYW5kIGRlbnkgcmVhZCBwZXJtaXNzaW9uIGZv ciB1c2VycyB3aG8gYXJlIG5vdCBtZW1iZXJzIG9mIHRoZQogZmlsZSdzIGdyb3VwLiAgU2Vl IHRoZSBJbmZvIG5vZGUgIihjb3JldXRpbHMpIEZpbGUgcGVybWlzc2lvbnMiIGZvcgogbW9y ZSBpbmZvcm1hdGlvbiBvbiB0aGlzIG5vdGF0aW9uLgogCistLS0KKyoqKiBQZXJmb3JtYW5j ZSBpbXByb3ZlbWVudHMgZm9yIGludGVyYWN0aXZlIG91dHB1dCBpbiBFc2hlbGwuCitJbnRl cmFjdGl2ZSBvdXRwdXQgaW4gRXNoZWxsIHNob3VsZCBub3cgYmUgc2lnbmlmaWNhbnRseSBm YXN0ZXIsCitlc3BlY2lhbGx5IGZvciBidWlsdC1pbiBjb21tYW5kcyB0aGF0IGNhbiBwcmlu dCBsYXJnZSBhbW91bnRzIG9mIG91dHB1dAorKGUuZy4gImNhdCIpLiAgSW4gYWRkaXRpb24s IHRoZXNlIGNvbW1hbmRzIGNhbiBub3cgdXBkYXRlIHRoZSBkaXNwbGF5CitwZXJpb2RpY2Fs bHkgdG8gc2hvdyB0aGVpciBwcm9ncmVzcy4KKwogKysrCiAqKiogTmV3IHNwZWNpYWwgcmVm ZXJlbmNlIHR5cGUgJyM8bWFya2VyIFBPU0lUSU9OIEJVRkZFUj4nLgogVGhpcyBzcGVjaWFs IHJlZmVyZW5jZSB0eXBlIHJldHVybnMgYSBtYXJrZXIgYXQgJ1BPU0lUSU9OJyBpbgpkaWZm IC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0tZGlycy5lbCBiL2xpc3AvZXNoZWxsL2VtLWRpcnMu ZWwKaW5kZXggYTNkMWEzNDk1NDAuLmU3MGYyY2ZlMTk2IDEwMDY0NAotLS0gYS9saXNwL2Vz aGVsbC9lbS1kaXJzLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLWRpcnMuZWwKQEAgLTQwMCwx MyArNDAwLDEyIEBAIGVzaGVsbC9jZAogCQkoaW5kZXggMCkpCiAJICAgIChpZiAoPSBsZW4g MCkKIAkJKGVycm9yICJEaXJlY3RvcnkgcmluZyBlbXB0eSIpKQotCSAgICAoZXNoZWxsLWlu aXQtcHJpbnQtYnVmZmVyKQotCSAgICAod2hpbGUgKDwgaW5kZXggbGVuKQotCSAgICAgIChl c2hlbGwtYnVmZmVyZWQtcHJpbnQKLQkgICAgICAgKGNvbmNhdCAobnVtYmVyLXRvLXN0cmlu ZyBpbmRleCkgIjogIgotCQkgICAgICAgKHJpbmctcmVmIGVzaGVsbC1sYXN0LWRpci1yaW5n IGluZGV4KSAiXG4iKSkKLQkgICAgICAoc2V0cSBpbmRleCAoMSsgaW5kZXgpKSkKLQkgICAg KGVzaGVsbC1mbHVzaCkKKyAgICAgICAgICAgIChlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmlu dAorICAgICAgICAgICAgICAod2hpbGUgKDwgaW5kZXggbGVuKQorICAgICAgICAgICAgICAg IChlc2hlbGwtYnVmZmVyZWQtcHJpbnQKKyAgICAgICAgICAgICAgICAgKGNvbmNhdCAobnVt YmVyLXRvLXN0cmluZyBpbmRleCkgIjogIgorICAgICAgICAgICAgICAgICAgICAgICAgIChy aW5nLXJlZiBlc2hlbGwtbGFzdC1kaXItcmluZyBpbmRleCkgIlxuIikpCisgICAgICAgICAg ICAgICAgKHNldHEgaW5kZXggKDErIGluZGV4KSkpKQogCSAgICAoc2V0cSBoYW5kbGVkIHQp KSkpKQogICAgICAocGF0aAogICAgICAgKHNldHEgcGF0aCAoZXNoZWxsLWV4cGFuZC1tdWx0 aXBsZS1kb3RzIHBhdGgpKSkpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS1oaXN0LmVs IGIvbGlzcC9lc2hlbGwvZW0taGlzdC5lbAppbmRleCA4ODY1Y2M3NDVhMy4uOWZmZGRmYjYx MWYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLWhpc3QuZWwKKysrIGIvbGlzcC9lc2hl bGwvZW0taGlzdC5lbApAQCAtMzMzLDcgKzMzMyw2IEBAIGVzaGVsbC1zYXZlLXNvbWUtaGlz dG9yeQogCiAoZGVmdW4gZXNoZWxsL2hpc3RvcnkgKCZyZXN0IGFyZ3MpCiAgICJMaXN0IGlu IGhlbHAgYnVmZmVyIHRoZSBidWZmZXIncyBpbnB1dCBoaXN0b3J5LiIKLSAgKGVzaGVsbC1p bml0LXByaW50LWJ1ZmZlcikKICAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKICAgICJo aXN0b3J5IiBhcmdzCiAgICAnKCg/ciAicmVhZCIgbmlsIHJlYWQtaGlzdG9yeQpAQCAtMzcw LDEyICszNjksMTIgQEAgZXNoZWxsL2hpc3RvcnkKICAgICAgICAobGV0KiAoKGluZGV4ICgx LSAob3IgbGVuZ3RoIChyaW5nLWxlbmd0aCBlc2hlbGwtaGlzdG9yeS1yaW5nKSkpKQogCSAg ICAgIChyZWYgKC0gKHJpbmctbGVuZ3RoIGVzaGVsbC1oaXN0b3J5LXJpbmcpIGluZGV4KSkp CiAJIDs7IFdlIGhhdmUgdG8gYnVpbGQgdXAgYSBsaXN0IG91cnNlbHZlcyBmcm9tIHRoZSBy aW5nIHZlY3Rvci4KLQkgKHdoaWxlICg+PSBpbmRleCAwKQotCSAgIChlc2hlbGwtYnVmZmVy ZWQtcHJpbnQKLQkgICAgKGZvcm1hdCAiJTVkICAlc1xuIiByZWYgKGVzaGVsbC1nZXQtaGlz dG9yeSBpbmRleCkpKQotCSAgIChzZXRxIGluZGV4ICgxLSBpbmRleCkKLQkJIHJlZiAoMSsg cmVmKSkpKSkpKQotICAgKGVzaGVsbC1mbHVzaCkKKyAgICAgICAgIChlc2hlbGwtd2l0aC1i dWZmZXJlZC1wcmludAorICAgICAgICAgICAod2hpbGUgKD49IGluZGV4IDApCisgICAgICAg ICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAorICAgICAgICAgICAgICAoZm9ybWF0ICIl NWQgICVzXG4iIHJlZiAoZXNoZWxsLWdldC1oaXN0b3J5IGluZGV4KSkpCisgICAgICAgICAg ICAgKHNldHEgaW5kZXggKDEtIGluZGV4KQorICAgICAgICAgICAgICAgICAgIHJlZiAoMSsg cmVmKSkpKSkpKSkKICAgIG5pbCkpCiAKIChkZWZ1biBlc2hlbGwtcHV0LWhpc3RvcnkgKGlu cHV0ICZvcHRpb25hbCByaW5nIGF0LWJlZ2lubmluZykKZGlmZiAtLWdpdCBhL2xpc3AvZXNo ZWxsL2VtLWxzLmVsIGIvbGlzcC9lc2hlbGwvZW0tbHMuZWwKaW5kZXggODJkNGIwMTM5M2Yu LjhiZjJlMjBkMzIwIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS1scy5lbAorKysgYi9s aXNwL2VzaGVsbC9lbS1scy5lbApAQCAtMjI5LDcgKzIyOSw2IEBAIGJsb2NrLXNpemUKIChk ZWZ2YXIgZGVyZWZlcmVuY2UtbGlua3MpCiAoZGVmdmFyIGRpci1saXRlcmFsKQogKGRlZnZh ciBlcnJvci1mdW5jKQotKGRlZnZhciBmbHVzaC1mdW5jKQogKGRlZnZhciBodW1hbi1yZWFk YWJsZSkKIChkZWZ2YXIgaWdub3JlLXBhdHRlcm4pCiAoZGVmdmFyIGluc2VydC1mdW5jKQpA QCAtMjc4LDcgKzI3Nyw2IEBAIGVzaGVsbC1scy0taW5zZXJ0LWRpcmVjdG9yeQogICAgICAg ICAgIChyZXF1aXJlICdlbS1nbG9iKQogICAgICAgICAgIChsZXQqICgoaW5zZXJ0LWZ1bmMg J2luc2VydCkKICAgICAgICAgICAgICAgICAgKGVycm9yLWZ1bmMgJ2luc2VydCkKLSAgICAg ICAgICAgICAgICAgKGZsdXNoLWZ1bmMgJ2lnbm9yZSkKICAgICAgICAgICAgICAgICAgKGVz aGVsbC1lcnJvci1pZi1uby1nbG9iIHQpCiAgICAgICAgICAgICAgICAgICh0YXJnZXQgOyBF eHBhbmQgdGhlIHNoZWxsIHdpbGRjYXJkcyBpZiBhbnkuCiAgICAgICAgICAgICAgICAgICAo aWYgKGFuZCAoYXRvbSBmaWxlKQpAQCAtMzI0LDEwICszMjIsMTAgQEAgZXNoZWxsLWxzLS1k aXJlZAogCiAoZGVmc3Vic3QgZXNoZWxsL2xzICgmcmVzdCBhcmdzKQogICAiQW4gYWxpYXMg dmVyc2lvbiBvZiBgZXNoZWxsLWRvLWxzJy4iCi0gIChsZXQgKChpbnNlcnQtZnVuYyAnZXNo ZWxsLWJ1ZmZlcmVkLXByaW50KQotCShlcnJvci1mdW5jICdlc2hlbGwtZXJyb3IpCi0JKGZs dXNoLWZ1bmMgJ2VzaGVsbC1mbHVzaCkpCi0gICAgKGFwcGx5ICdlc2hlbGwtZG8tbHMgYXJn cykpKQorICAoZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQKKyAgICAobGV0ICgoaW5zZXJ0 LWZ1bmMgIydlc2hlbGwtYnVmZmVyZWQtcHJpbnQpCisgICAgICAgICAgKGVycm9yLWZ1bmMg Iydlc2hlbGwtZXJyb3IpKQorICAgICAgKGFwcGx5ICdlc2hlbGwtZG8tbHMgYXJncykpKSkK IAogKHB1dCAnZXNoZWxsL2xzICdlc2hlbGwtbm8tbnVtZXJpYy1jb252ZXJzaW9ucyB0KQog KHB1dCAnZXNoZWxsL2xzICdlc2hlbGwtZmlsZW5hbWUtYXJndW1lbnRzIHQpCkBAIC0zMzYs NyArMzM0LDYgQEAgZXNoZWxsL2xzCiAKIChkZWZ1biBlc2hlbGwtZG8tbHMgKCZyZXN0IGFy Z3MpCiAgICJJbXBsZW1lbnRhdGlvbiBvZiBcImxzXCIgaW4gTGlzcCwgcGFzc2luZyBBUkdT LiIKLSAgKGZ1bmNhbGwgZmx1c2gtZnVuYyAtMSkKICAgOzsgUHJvY2VzcyB0aGUgY29tbWFu ZCBhcmd1bWVudHMsIGFuZCBiZWdpbiBsaXN0aW5nIGZpbGVzLgogICAoZXNoZWxsLWV2YWwt dXNpbmctb3B0aW9ucwogICAgImxzIiAoaWYgZXNoZWxsLWxzLWluaXRpYWwtYXJncwpAQCAt NDIyLDggKzQxOSw3IEBAIGVzaGVsbC1kby1scwogCQkgICAgICAoZXNoZWxsLWZpbGUtYXR0 cmlidXRlcwogCQkgICAgICAgYXJnIChpZiBudW1lcmljLXVpZC1naWQgJ2ludGVnZXIgJ3N0 cmluZykpKSkKIAkgICAgICBhcmdzKQotICAgICAgdCAoZXhwYW5kLWZpbGUtbmFtZSBkZWZh dWx0LWRpcmVjdG9yeSkpKQotICAgKGZ1bmNhbGwgZmx1c2gtZnVuYykpKQorICAgICAgdCAo ZXhwYW5kLWZpbGUtbmFtZSBkZWZhdWx0LWRpcmVjdG9yeSkpKSkpCiAKIChkZWZzdWJzdCBl c2hlbGwtbHMtcHJpbnRhYmxlLXNpemUgKGZpbGVzaXplICZvcHRpb25hbCBieS1ibG9ja3Np emUpCiAgICJSZXR1cm4gYSBwcmludGFibGUgRklMRVNJWkUuIgpkaWZmIC0tZ2l0IGEvbGlz cC9lc2hlbGwvZW0tdW5peC5lbCBiL2xpc3AvZXNoZWxsL2VtLXVuaXguZWwKaW5kZXggNDEz N2MwNWZhNDEuLmU2YmQwMzgxYTE0IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS11bml4 LmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLXVuaXguZWwKQEAgLTY1OSw3ICs2NTksNiBAQCBl c2hlbGwvY2F0CiAJICAoaWYgZXNoZWxsLWluLXBpcGVsaW5lLXAKIAkgICAgICAoZXJyb3Ig IkVzaGVsbCdzIGBjYXQnIGRvZXMgbm90IHdvcmsgaW4gcGlwZWxpbmVzIikKIAkgICAgKGVy cm9yICJFc2hlbGwncyBgY2F0JyBjYW5ub3QgZGlzcGxheSBvbmUgb2YgdGhlIGZpbGVzIGdp dmVuIikpKSkKLSAgICAoZXNoZWxsLWluaXQtcHJpbnQtYnVmZmVyKQogICAgIChlc2hlbGwt ZXZhbC11c2luZy1vcHRpb25zCiAgICAgICJjYXQiIGFyZ3MKICAgICAgJygoP2ggImhlbHAi IG5pbCBuaWwgInNob3cgdGhpcyB1c2FnZSBzY3JlZW4iKQpAQCAtNjcyLDE4ICs2NzEsMTgg QEAgZXNoZWxsL2NhdAogCSAgICh0aHJvdyAnZXNoZWxsLWV4dGVybmFsCiAJCSAgKGVzaGVs bC1leHRlcm5hbC1jb21tYW5kICJjYXQiIGFyZ3MpKSkpCiAgICAgIChsZXQgKChjdXJidWYg KGN1cnJlbnQtYnVmZmVyKSkpCi0gICAgICAgKGRvbGlzdCAoZmlsZSBhcmdzKQotCSAod2l0 aC10ZW1wLWJ1ZmZlcgotCSAgIChpbnNlcnQtZmlsZS1jb250ZW50cyBmaWxlKQotCSAgIChn b3RvLWNoYXIgKHBvaW50LW1pbikpCi0JICAgKHdoaWxlIChub3QgKGVvYnApKQotCSAgICAg KGxldCAoKHN0ciAoYnVmZmVyLXN1YnN0cmluZwotCQkJIChwb2ludCkgKG1pbiAoMSsgKGxp bmUtZW5kLXBvc2l0aW9uKSkKLQkJCQkgICAgICAocG9pbnQtbWF4KSkpKSkKLQkgICAgICAg KHdpdGgtY3VycmVudC1idWZmZXIgY3VyYnVmCi0JCSAoZXNoZWxsLWJ1ZmZlcmVkLXByaW50 IHN0cikpKQotCSAgICAgKGZvcndhcmQtbGluZSkpKSkpCi0gICAgIChlc2hlbGwtZmx1c2gp KSkpCisgICAgICAgKGVzaGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgICAoZG9s aXN0IChmaWxlIGFyZ3MpCisJICAgKHdpdGgtdGVtcC1idWZmZXIKKwkgICAgIChpbnNlcnQt ZmlsZS1jb250ZW50cyBmaWxlKQorCSAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAg ICAgICAgICAgICAod2hpbGUgKG5vdCAoZW9icCkpCisgICAgICAgICAgICAgICAobGV0KiAo KHBvcyAobWluICgrIChwb2ludCkgZXNoZWxsLWJ1ZmZlcmVkLXByaW50LXNpemUpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludC1tYXgpKSkKKyAgICAgICAgICAg ICAgICAgICAgICAoc3RyIChidWZmZXItc3Vic3RyaW5nIChwb2ludCkgcG9zKSkpCisgICAg ICAgICAgICAgICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIGN1cmJ1ZgorICAgICAgICAgICAg ICAgICAgIChlc2hlbGwtYnVmZmVyZWQtcHJpbnQgc3RyKSkKKyAgICAgICAgICAgICAgICAg KGdvdG8tY2hhciBwb3MpKSkpKSkpKSkpCiAKIChwdXQgJ2VzaGVsbC9jYXQgJ2VzaGVsbC1u by1udW1lcmljLWNvbnZlcnNpb25zIHQpCiAocHV0ICdlc2hlbGwvY2F0ICdlc2hlbGwtZmls ZW5hbWUtYXJndW1lbnRzIHQpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtaW8uZWwg Yi9saXNwL2VzaGVsbC9lc2gtaW8uZWwKaW5kZXggMGZlMTc3ZDRjNjAuLjlkZTljYzQ1MDlh IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtaW8uZWwKKysrIGIvbGlzcC9lc2hlbGwv ZXNoLWlvLmVsCkBAIC0xMTIsMTAgKzExMiwzMCBAQCBlc2hlbGwtZXJyb3ItaGFuZGxlCiAK IChkZWZjdXN0b20gZXNoZWxsLXByaW50LXF1ZXVlLXNpemUgNQogICAiVGhlIHNpemUgb2Yg dGhlIHByaW50IHF1ZXVlLCBmb3IgZG9pbmcgYnVmZmVyZWQgcHJpbnRpbmcuCi1UaGlzIGlz IGJhc2ljYWxseSBhIHNwZWVkIGVuaGFuY2VtZW50LCB0byBhdm9pZCBibG9ja2luZyB0aGUg TGlzcCBjb2RlCi1mcm9tIGV4ZWN1dGluZyB3aGlsZSBFbWFjcyBpcyByZWRpc3BsYXlpbmcu IgorVGhpcyB2YXJpYWJsZSBpcyBvYnNvbGV0ZS4gIFlvdSBzaG91bGQgdXNlIGBlc2hlbGwt YnVmZmVyZWQtcHJpbnQtc2l6ZScKK2luc3RlYWQuIgogICA6dHlwZSAnaW50ZWdlcgogICA6 Z3JvdXAgJ2VzaGVsbC1pbykKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdlc2hlbGwtcHJp bnQtcXVldWUtc2l6ZQorICAgICAgICAgICAgICAgICAgICAgICAgJ2VzaGVsbC1idWZmZXJl ZC1wcmludC1zaXplICIzMC4xIikKKworKGRlZmN1c3RvbSBlc2hlbGwtYnVmZmVyZWQtcHJp bnQtc2l6ZSAyMDQ4CisgICJUaGUgc2l6ZSBvZiB0aGUgcHJpbnQgcXVldWUgaW4gY2hhcmFj dGVycywgZm9yIGRvaW5nIGJ1ZmZlcmVkIHByaW50aW5nLgorTGFyZ2VyIHZhbHVlcyBmb3Ig dGhpcyBvcHRpb24gd2lsbCBnZW5lcmFsbHkgcmVzdWx0IGluIGZhc3RlciBleGVjdXRpb24K K2J5IHJlZHVjaW5nIHRoZSBvdmVyaGVhZCBhc3NvY2lhdGVkIHdpdGggZWFjaCBwcmludCBv cGVyYXRpb24sIGJ1dCB3aWxsCitpbmNyZWFzZSB0aGUgdGltZSBpdCB0YWtlcyB0byBzZWUg YW55IHByb2dyZXNzIGluIHRoZSBvdXRwdXQ7IHNtYWxsZXIKK3ZhbHVlcyB3aWxsIGRvIHRo ZSByZXZlcnNlLiIKKyAgOnR5cGUgJ2ludGVnZXIKKyAgOmdyb3VwICdlc2hlbGwtaW8KKyAg OnZlcnNpb24gIjMwLjEiKQorCisoZGVmY3VzdG9tIGVzaGVsbC1idWZmZXJlZC1wcmludC1y ZWRpc3BsYXktdGhyb3R0bGUgMC4wMjUKKyAgIlRoZSBtaW5pbXVtIHRpbWUgaW4gc2Vjb25k cyBiZXR3ZWVuIHJlZGlzcGxheXMgd2hlbiB1c2luZyBidWZmZXJlZCBwcmludGluZy4KK0lm IG5pbCwgZG9uJ3QgcmVkaXNwbGF5IHdoaWxlIHByaW50aW5nLiIKKyAgOnR5cGUgJyhjaG9p Y2UgbnVtYmVyCisgICAgICAgICAgICAgICAgIChjb25zdCA6dGFnICJEb24ndCByZWRpc3Bs YXkiIG5pbCkpCisgIDpncm91cCAnZXNoZWxsLWlvCisgIDp2ZXJzaW9uICIzMC4xIikKIAog KGRlZmN1c3RvbSBlc2hlbGwtdmlydHVhbC10YXJnZXRzCiAgICcoOzsgVGhlIGxpdGVyYWwg c3RyaW5nICIvZGV2L251bGwiIGlzIGludGVudGlvbmFsIGhlcmUuICBJdCBqdXN0CkBAIC00 NjAsNDAgKzQ4MCw3NCBAQCBlc2hlbGwtaW50ZXJhY3RpdmUtb3V0cHV0LXAKICAgICAgICAg ICAgICAoZXF1YWwgKGNhYXIgKGFyZWYgaGFuZGxlcyBlc2hlbGwtZXJyb3ItaGFuZGxlKSkg Jyh0KSkpCiAgICAgICAoZXF1YWwgKGNhYXIgKGFyZWYgaGFuZGxlcyBpbmRleCkpICcodCkp KSkpCiAKKyhkZWZ2YXIgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZSBuaWwpCisoZGVm dmFyIGVzaGVsbC0tYnVmZmVyZWQtcHJpbnQtY3VycmVudC1zaXplIG5pbCkKKyhkZWZ2YXIg ZXNoZWxsLS1idWZmZXJlZC1wcmludC1uZXh0LXJlZGlzcGxheSBuaWwpCisKIChkZWZ2YXIg ZXNoZWxsLXByaW50LXF1ZXVlIG5pbCkKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdlc2hl bGwtcHJpbnQtcXVldWUKKyAgICAgICAgICAgICAgICAgICAgICAgICdlc2hlbGwtLWJ1ZmZl cmVkLXByaW50LXF1ZXVlICIzMC4xIikKIChkZWZ2YXIgZXNoZWxsLXByaW50LXF1ZXVlLWNv dW50IC0xKQorKG1ha2Utb2Jzb2xldGUtdmFyaWFibGUgJ2VzaGVsbC1wcmludC1xdWV1ZS1j b3VudAorICAgICAgICAgICAgICAgICAgICAgICAgJ2VzaGVsbC0tYnVmZmVyZWQtcHJpbnQt Y3VycmVudC1zaXplICIzMC4xIikKIAogKGRlZnN1YnN0IGVzaGVsbC1wcmludCAob2JqZWN0 KQogICAiT3V0cHV0IE9CSkVDVCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IGhhbmRsZS4iCiAg IChlc2hlbGwtb3V0cHV0LW9iamVjdCBvYmplY3QgZXNoZWxsLW91dHB1dC1oYW5kbGUpKQog Ci0oZGVmdW4gZXNoZWxsLWZsdXNoICgmb3B0aW9uYWwgcmVzZXQtcCkKLSAgIkZsdXNoIG91 dCBhbnkgbGluZXMgdGhhdCBoYXZlIGJlZW4gcXVldWVkIGZvciBwcmludGluZy4KLU11c3Qg YmUgY2FsbGVkIGJlZm9yZSBwcmludGluZyBiZWdpbnMgd2l0aCAtMSBhcyBpdHMgYXJndW1l bnQsIGFuZAotYWZ0ZXIgYWxsIHByaW50aW5nIGlzIG92ZXIgd2l0aCBubyBhcmd1bWVudC4i Ci0gIChpZ25vcmUKLSAgIChpZiByZXNldC1wCi0gICAgICAgKHNldHEgZXNoZWxsLXByaW50 LXF1ZXVlIG5pbAotCSAgICAgZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IHJlc2V0LXApCi0g ICAgIChpZiBlc2hlbGwtcHJpbnQtcXVldWUKLQkgKGVzaGVsbC1wcmludCBlc2hlbGwtcHJp bnQtcXVldWUpKQotICAgICAoZXNoZWxsLWZsdXNoIDApKSkpCi0KIChkZWZ1biBlc2hlbGwt aW5pdC1wcmludC1idWZmZXIgKCkKICAgIkluaXRpYWxpemUgdGhlIGJ1ZmZlcmVkIHByaW50 aW5nIHF1ZXVlLiIKLSAgKGVzaGVsbC1mbHVzaCAtMSkpCisgIChkZWNsYXJlIChvYnNvbGV0 ZSAjJ2VzaGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50ICIzMC4xIikpCisgIChzZXRxIGVzaGVs bC0tYnVmZmVyZWQtcHJpbnQtcXVldWUgbmlsCisgICAgICAgIGVzaGVsbC0tYnVmZmVyZWQt cHJpbnQtY3VycmVudC1zaXplIDApKQorCisoZGVmdW4gZXNoZWxsLWZsdXNoICgmb3B0aW9u YWwgcmVkaXNwbGF5LW5vdykKKyAgIkZsdXNoIG91dCBhbnkgdGV4dCB0aGF0IGhhcyBiZWVu IHF1ZXVlZCBmb3IgcHJpbnRpbmcuCitXaGVuIHByaW50aW5nIGludGVyYWN0aXZlbHksIHRo aXMgd2lsbCBjYWxsIGByZWRpc3BsYXknIGV2ZXJ5CitgZXNoZWxsLWJ1ZmZlcmVkLXByaW50 LXJlZGlzcGxheS10aHJvdHRsZScgc2Vjb25kcyBzbyB0aGF0IHRoZSB1c2VyIGNhbgorc2Vl IHRoZSBwcm9ncmVzcy4gIElmIFJFRElTUExBWS1OT1cgaXMgbm9uLW5pbCwgY2FsbCBgcmVk aXNwbGF5JyBmb3IKK2ludGVyYWN0aXZlIG91dHB1dCBldmVuIGlmIHRoZSB0aHJvdHRsZSB3 b3VsZCBvdGhlcndpc2UgcHJldmVudCBpdC4iCisgIChpZ25vcmUKKyAgICh3aGVuIGVzaGVs bC0tYnVmZmVyZWQtcHJpbnQtcXVldWUKKyAgICAgKGVzaGVsbC1wcmludCAoYXBwbHkgIydj b25jYXQgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZSkpCisgICAgIDs7IFdoZW4gcHJp bnRpbmcgaW50ZXJhY3RpdmVseSAoc2VlIGBlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludCcp LAorICAgICA7OyBwZXJpb2RpY2FsbHkgcmVkaXNwbGF5IHNvIHRoZSB1c2VyIGNhbiBzZWUg c29tZSBwcm9ncmVzcy4KKyAgICAgKHdoZW4gKGFuZCBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50 LW5leHQtcmVkaXNwbGF5CisgICAgICAgICAgICAgICAgKG9yIHJlZGlzcGxheS1ub3cKKyAg ICAgICAgICAgICAgICAgICAgKHRpbWUtbGVzcy1wIGVzaGVsbC0tYnVmZmVyZWQtcHJpbnQt bmV4dC1yZWRpc3BsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdXJy ZW50LXRpbWUpKSkpCisgICAgICAgKHJlZGlzcGxheSkKKyAgICAgICAoc2V0cSBlc2hlbGwt LWJ1ZmZlcmVkLXByaW50LW5leHQtcmVkaXNwbGF5CisgICAgICAgICAgICAgKHRpbWUtYWRk IGVzaGVsbC0tYnVmZmVyZWQtcHJpbnQtbmV4dC1yZWRpc3BsYXkKKyAgICAgICAgICAgICAg ICAgICAgICAgZXNoZWxsLWJ1ZmZlcmVkLXByaW50LXJlZGlzcGxheS10aHJvdHRsZSkpKQor ICAgICAoc2V0cSBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LXF1ZXVlIG5pbAorICAgICAgICAg ICBlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LWN1cnJlbnQtc2l6ZSAwKSkpKQogCiAoZGVmdW4g ZXNoZWxsLWJ1ZmZlcmVkLXByaW50ICgmcmVzdCBzdHJpbmdzKQotICAiQSBidWZmZXJlZCBw cmludCAtLSAqZm9yIHN0cmluZ3Mgb25seSouIgotICAoaWYgKDwgZXNoZWxsLXByaW50LXF1 ZXVlLWNvdW50IDApCi0gICAgICAocHJvZ24KLQkoZXNoZWxsLXByaW50IChhcHBseSAnY29u Y2F0IHN0cmluZ3MpKQotCShzZXRxIGVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCAwKSkKLSAg ICAoaWYgKD0gZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IGVzaGVsbC1wcmludC1xdWV1ZS1z aXplKQotCShlc2hlbGwtZmx1c2gpKQotICAgIChzZXRxIGVzaGVsbC1wcmludC1xdWV1ZQot CSAgKGNvbmNhdCBlc2hlbGwtcHJpbnQtcXVldWUgKGFwcGx5ICdjb25jYXQgc3RyaW5ncykp Ci0JICBlc2hlbGwtcHJpbnQtcXVldWUtY291bnQgKDErIGVzaGVsbC1wcmludC1xdWV1ZS1j b3VudCkpKSkKKyAgIkEgYnVmZmVyZWQgcHJpbnQgLS0gKmZvciBzdHJpbmdzIG9ubHkqLgor V2hlbiB0aGUgYnVmZmVyIGV4Y2VlZHMgYGVzaGVsbC1idWZmZXJlZC1wcmludC1zaXplJyBp biBjaGFyYWN0ZXJzLCB0aGlzCit3aWxsIGZsdXNoIGl0IHVzaW5nIGBlc2hlbGwtZmx1c2gn ICh3aGljaCBzZWUpLiIKKyAgKHNldHEgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZQor ICAgICAgICAobmNvbmMgZXNoZWxsLS1idWZmZXJlZC1wcmludC1xdWV1ZSBzdHJpbmdzKSkK KyAgKGNsLWluY2YgZXNoZWxsLS1idWZmZXJlZC1wcmludC1jdXJyZW50LXNpemUKKyAgICAg ICAgICAgKGFwcGx5ICMnKyAobWFwY2FyICMnbGVuZ3RoIHN0cmluZ3MpKSkKKyAgKHdoZW4g KD4gZXNoZWxsLS1idWZmZXJlZC1wcmludC1jdXJyZW50LXNpemUgZXNoZWxsLWJ1ZmZlcmVk LXByaW50LXNpemUpCisgICAgKGVzaGVsbC1mbHVzaCkpKQorCisoZGVmbWFjcm8gZXNoZWxs LXdpdGgtYnVmZmVyZWQtcHJpbnQgKCZyZXN0IGJvZHkpCisgICJJbml0aWFsaXplIGJ1ZmZl cmVkIHByaW50aW5nIGZvciBFc2hlbGwsIGFuZCB0aGVuIGV2YWx1YXRlIEJPRFkuCitXaXRo aW4gQk9EWSwgY2FsbCBgZXNoZWxsLWJ1ZmZlcmVkLXByaW50JyB0byBwZXJmb3JtIG91dHB1 dC4iCisgIChkZWNsYXJlIChpbmRlbnQgMCkpCisgIGAobGV0ICgoZXNoZWxsLS1idWZmZXJl ZC1wcmludC1xdWV1ZSBuaWwpCisgICAgICAgICAoZXNoZWxsLS1idWZmZXJlZC1wcmludC1j dXJyZW50LXNpemUgMCkKKyAgICAgICAgIChlc2hlbGwtLWJ1ZmZlcmVkLXByaW50LW5leHQt cmVkaXNwbGF5CisgICAgICAgICAgKHdoZW4gKGFuZCBlc2hlbGwtYnVmZmVyZWQtcHJpbnQt cmVkaXNwbGF5LXRocm90dGxlCisgICAgICAgICAgICAgICAgICAgICAoZXNoZWxsLWludGVy YWN0aXZlLW91dHB1dC1wKSkKKyAgICAgICAgICAgICh0aW1lLWFkZCAoY3VycmVudC10aW1l KQorICAgICAgICAgICAgICAgICAgICAgIGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3Bs YXktdGhyb3R0bGUpKSkpCisgICAgICh1bndpbmQtcHJvdGVjdAorICAgICAgICAgLEBib2R5 CisgICAgICAgKGVzaGVsbC1mbHVzaCkpKSkKIAogKGRlZnN1YnN0IGVzaGVsbC1lcnJvciAo b2JqZWN0KQogICAiT3V0cHV0IE9CSkVDVCB0byB0aGUgc3RhbmRhcmQgZXJyb3IgaGFuZGxl LiIKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwgYi9saXNwL2VzaGVsbC9l c2gtdmFyLmVsCmluZGV4IDAyYjVjNzg1NjI1Li5mMDI3MGFjYTkyYyAxMDA2NDQKLS0tIGEv bGlzcC9lc2hlbGwvZXNoLXZhci5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCkBA IC00MzcsMTAgKzQzNyw5IEBAIGVzaGVsbC9lbnYKICAgIChpZiBhcmdzCiAgICAgICAgKG9y IChlc2hlbGwtcGFyc2UtbG9jYWwtdmFyaWFibGVzIGFyZ3MpCiAgICAgICAgICAgIChlc2hl bGwtbmFtZWQtY29tbWFuZCAoY2FyIGFyZ3MpIChjZHIgYXJncykpKQotICAgICAoZXNoZWxs LWluaXQtcHJpbnQtYnVmZmVyKQotICAgICAoZG9saXN0IChzZXR0aW5nIChzb3J0IChlc2hl bGwtZW52aXJvbm1lbnQtdmFyaWFibGVzKSAnc3RyaW5nLWxlc3NwKSkKLSAgICAgICAoZXNo ZWxsLWJ1ZmZlcmVkLXByaW50IHNldHRpbmcgIlxuIikpCi0gICAgIChlc2hlbGwtZmx1c2gp KSkpCisgICAgIChlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludAorICAgICAgIChkb2xpc3Qg KHNldHRpbmcgKHNvcnQgKGVzaGVsbC1lbnZpcm9ubWVudC12YXJpYWJsZXMpICdzdHJpbmct bGVzc3ApKQorICAgICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludCBzZXR0aW5nICJcbiIp KSkpKSkKIAogKGRlZnVuIGVzaGVsbC1pbnNlcnQtZW52dmFyIChlbnZ2YXItbmFtZSkKICAg Ikluc2VydCBFTlZWQVItTkFNRSBpbnRvIHRoZSBjdXJyZW50IGJ1ZmZlciBhdCBwb2ludC4i CmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXVuaXgtdGVzdHMuZWwgYi90ZXN0 L2xpc3AvZXNoZWxsL2VtLXVuaXgtdGVzdHMuZWwKaW5kZXggYTkyYzdkM2Y4MGEuLjJlZTQy YzgxMzMzIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXVuaXgtdGVzdHMuZWwK KysrIGIvdGVzdC9saXNwL2VzaGVsbC9lbS11bml4LXRlc3RzLmVsCkBAIC0yNiwxMCArMjYs MTIgQEAKIChyZXF1aXJlICdlcnQpCiAocmVxdWlyZSAnZW0tdW5peCkKIAorKGV2YWwtYW5k LWNvbXBpbGUKKyAgKGRlZnZhciB0aGlzLWRpcmVjdG9yeSAoZmlsZS1uYW1lLWRpcmVjdG9y eQorICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgbG9hZC1maWxlLW5hbWUgZGVmYXVs dC1kaXJlY3RvcnkpKSkpCisKIChyZXF1aXJlICdlc2hlbGwtdGVzdHMtaGVscGVycwotICAg ICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVzaGVsbC10ZXN0cy1oZWxwZXJzIgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmls ZS1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkpCisgICAgICAgICAoZXhwYW5kLWZpbGUtbmFt ZSAiZXNoZWxsLXRlc3RzLWhlbHBlcnMiIHRoaXMtZGlyZWN0b3J5KSkKIAogOzs7IFRlc3Rz OgogCkBAIC0zNywxMSArMzksMTEgQEAgZW0tdW5peC10ZXN0L2NvbXBpbGUvaW50ZXJhY3Rp dmUKICAgIkNoZWNrIHRoYXQgYGVzaGVsbC9jb21waWxlJyBvcGVucyBhIGNvbXBpbGF0aW9u IGJ1ZmZlciBpbnRlcmFjdGl2ZWx5LiIKICAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZp bmQgImVjaG8iKSkKICAgKHdpdGgtdGVtcC1lc2hlbGwKLSAgIChlc2hlbGwtbWF0Y2gtY29t bWFuZC1vdXRwdXQgImNvbXBpbGUgZWNobyBoZWxsbyIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiM8YnVmZmVyIFxcKmNvbXBpbGF0aW9uXFwqPiIpCi0gICAod2l0aC1j dXJyZW50LWJ1ZmZlciAiKmNvbXBpbGF0aW9uKiIKLSAgICAgKGZvcndhcmQtbGluZSAzKQot ICAgICAoc2hvdWxkIChsb29raW5nLWF0ICJlY2hvIGhlbGxvIikpKSkpCisgICAgKGVzaGVs bC1tYXRjaC1jb21tYW5kLW91dHB1dCAiY29tcGlsZSBlY2hvIGhlbGxvIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIiM8YnVmZmVyIFxcKmNvbXBpbGF0aW9uXFwqPiIp CisgICAgKHdpdGgtY3VycmVudC1idWZmZXIgIipjb21waWxhdGlvbioiCisgICAgICAoZm9y d2FyZC1saW5lIDMpCisgICAgICAoc2hvdWxkIChsb29raW5nLWF0ICJlY2hvIGhlbGxvIikp KSkpCiAKIChlcnQtZGVmdGVzdCBlbS11bml4LXRlc3QvY29tcGlsZS9ub25pbnRlcmFjdGl2 ZSAoKQogICAiQ2hlY2sgdGhhdCBgZXNoZWxsL2NvbXBpbGUnIHdyaXRlcyB0byBzdGRvdXQg bm9uaW50ZXJhY3RpdmVseS4iCkBAIC01NCwxNSArNTYsMjYgQEAgZW0tdW5peC10ZXN0L2Nv bXBpbGUvcGlwZWxpbmUKICAgKHNraXAtdW5sZXNzIChhbmQgKGV4ZWN1dGFibGUtZmluZCAi ZWNobyIpCiAgICAgICAgICAgICAgICAgICAgIChleGVjdXRhYmxlLWZpbmQgImNhdCIpKSkK ICAgKHdpdGgtdGVtcC1lc2hlbGwKLSAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQg ImNvbXBpbGUgZWNobyBoZWxsbyB8ICpjYXQiCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJcXGBoZWxsb1xuIikpKQorICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRw dXQgImNvbXBpbGUgZWNobyBoZWxsbyB8ICpjYXQiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiXFxgaGVsbG9cbiIpKSkKIAogKGVydC1kZWZ0ZXN0IGVtLXVuaXgtdGVz dC9jb21waWxlL3N1YmNvbW1hbmQgKCkKICAgIkNoZWNrIHRoYXQgYGVzaGVsbC9jb21waWxl JyB3cml0ZXMgdG8gc3Rkb3V0IGZyb20gYSBzdWJjb21tYW5kLiIKICAgKHNraXAtdW5sZXNz IChhbmQgKGV4ZWN1dGFibGUtZmluZCAiZWNobyIpCiAgICAgICAgICAgICAgICAgICAgIChl eGVjdXRhYmxlLWZpbmQgImNhdCIpKSkKICAgKHdpdGgtdGVtcC1lc2hlbGwKLSAgIChlc2hl bGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgImVjaG8gJHtjb21waWxlIGVjaG8gaGVsbG99Igot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG9cbiIpKSkKKyAgICAo ZXNoZWxsLW1hdGNoLWNvbW1hbmQtb3V0cHV0ICJlY2hvICR7Y29tcGlsZSBlY2hvIGhlbGxv fSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXGBoZWxsb1xuIikpKQor CisoZXJ0LWRlZnRlc3QgZW0tdW5peC10ZXN0L2NhdC9maWxlLW91dHB1dCAoKQorICAiQ2hl Y2sgdGhhdCBgZXNoZWxsL2NhdCcgY2FuIHByaW50IGEgZmlsZSdzIGNvbnRlbnRzLiIKKyAg KHdpdGgtdGVtcC1lc2hlbGwKKyAgICAobGV0KiAoKHRoaXMtZmlsZSAoZXhwYW5kLWZpbGUt bmFtZSAiZW0tdW5peC10ZXN0cy5lbCIgdGhpcy1kaXJlY3RvcnkpKQorICAgICAgICAgICAo Y29udGVudHMgKHNhdmUtY3VycmVudC1idWZmZXIKKyAgICAgICAgICAgICAgICAgICAgICAg KGZpbmQtZmlsZSB0aGlzLWZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXIt c3RyaW5nKSkpKQorICAgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dAorICAgICAg IChmb3JtYXQgImNhdCAnJXMnIiAoc3RyaW5nLXJlcGxhY2UgIiciICInJyIgdGhpcy1maWxl KSkKKyAgICAgICAoY29uY2F0IChyZWdleHAtcXVvdGUgY29udGVudHMpKSkpKSkKIAogOzsg ZW0tdW5peC10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMjUuMQoK --------------Rhdfg6pTbwVkFn7swwpBYo7w Content-Type: text/plain; charset=UTF-8; name="0002-Improve-implementations-of-some-Eshell-output-filter.patch" Content-Disposition: attachment; filename*0="0002-Improve-implementations-of-some-Eshell-output-filter.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBkNzk3Y2JlNTg2MjgxNjZjMGYxY2ExYmZjZTJjOTJhMmI1OWE3YjQ5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowNjo0OSAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBJbXByb3ZlIGltcGxlbWVudGF0aW9ucyBvZiBzb21lIEVzaGVsbCBvdXRwdXQg ZmlsdGVyCiBmdW5jdGlvbnMKCiogbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwgKGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20pOiBVc2UKJ2dldC1idWZmZXItd2luZG93LWxp c3QnIGZvciBzaW1wbGljaXR5LgooZXNoZWxsLWhhbmRsZS1jb250cm9sLWNvZGVzKTogVXNl ICdyZS1zZWFyY2gtZm9yd2FyZCc7IHRoaXMgd2F5IGlzIG11Y2gKZmFzdGVyLgoKKiB0ZXN0 L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsOiBOZXcgZmlsZS4KLS0tCiBsaXNwL2Vz aGVsbC9lc2gtbW9kZS5lbCAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsIHwgNjIgKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKyksIDM4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9l c2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gt bW9kZS5lbCBiL2xpc3AvZXNoZWxsL2VzaC1tb2RlLmVsCmluZGV4IGU2ZjNjYjVmNmFkLi5l YzFhMDdiN2UyZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKKysrIGIv bGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKQEAgLTc2NSwzMCArNzY1LDI1IEBAIGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20KIAkgKGN1cnJlbnQgKGN1cnJlbnQtYnVmZmVy KSkKIAkgKHNjcm9sbCBlc2hlbGwtc2Nyb2xsLXRvLWJvdHRvbS1vbi1vdXRwdXQpKQogICAg ICh1bndpbmQtcHJvdGVjdAotCSh3YWxrLXdpbmRvd3MKLSAgICAgICAgIChsYW1iZGEgKHdp bmRvdykKLSAgICAgICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGN1cnJl bnQpCi0gICAgICAgICAgICAgICAocHJvZ24KLSAgICAgICAgICAgICAgICAgKHNlbGVjdC13 aW5kb3cgd2luZG93KQotICAgICAgICAgICAgICAgICAoaWYgKGFuZCAoPCAocG9pbnQpIGVz aGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChvciAo ZXEgc2Nyb2xsIHQpIChlcSBzY3JvbGwgJ2FsbCkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7IE1heWJlIHVzZXIgd2FudHMgcG9pbnQgdG8ganVtcCB0byBlbmQuCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChlcSBzY3JvbGwgJ3RoaXMpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBzZWxlY3RlZCB3aW5kb3cpKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICdvdGhlcnMp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxIHNlbGVjdGVk IHdpbmRvdykpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgSWYgcG9pbnQg d2FzIGF0IHRoZSBlbmQsIGtlZXAgaXQgYXQgZW5kLgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKD49IChwb2ludCkgZXNoZWxsLWxhc3Qtb3V0cHV0LXN0YXJ0KSkpCi0gICAg ICAgICAgICAgICAgICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQot ICAgICAgICAgICAgICAgICA7OyBPcHRpb25hbGx5IHNjcm9sbCBzbyB0aGF0IHRoZSB0ZXh0 Ci0gICAgICAgICAgICAgICAgIDs7IGVuZHMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93 LgotICAgICAgICAgICAgICAgICAoaWYgKGFuZCBlc2hlbGwtc2Nyb2xsLXNob3ctbWF4aW11 bS1vdXRwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKD49IChwb2ludCkgZXNoZWxs LWxhc3Qtb3V0cHV0LWVuZCkpCi0gICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNp b24KLSAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKLSAg ICAgICAgICAgICAgICAgICAgICAgKHJlY2VudGVyIC0xKSkpCi0gICAgICAgICAgICAgICAg IChzZWxlY3Qtd2luZG93IHNlbGVjdGVkKSkpKQotCSBuaWwgdCkKKyAgICAgICAgKGRvbGlz dCAod2luZG93IChnZXQtYnVmZmVyLXdpbmRvdy1saXN0IGN1cnJlbnQgbmlsIHQpKQorICAg ICAgICAgICh3aXRoLXNlbGVjdGVkLXdpbmRvdyB3aW5kb3cKKyAgICAgICAgICAgICh3aGVu IChhbmQgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAgICAg ICAgICAgICAgICAob3IgKGVxIHNjcm9sbCB0KSAoZXEgc2Nyb2xsICdhbGwpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyBNYXliZSB1c2VyIHdhbnRzIHBvaW50IHRvIGp1bXAg dG8gZW5kLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICd0 aGlzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgc2VsZWN0ZWQgd2lu ZG93KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKGVxIHNjcm9sbCAnb3Ro ZXJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlcSBzZWxlY3Rl ZCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IElmIHBvaW50IHdh cyBhdCB0aGUgZW5kLCBrZWVwIGl0IGF0IGVuZC4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICg+PSAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1zdGFydCkpKQorICAgICAgICAg ICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQorICAgICAgICAgICAg OzsgT3B0aW9uYWxseSBzY3JvbGwgc28gdGhhdCB0aGUgdGV4dCBlbmRzIGF0IHRoZSBib3R0 b20gb2YKKyAgICAgICAgICAgIDs7IHRoZSB3aW5kb3cuCisgICAgICAgICAgICAod2hlbiAo YW5kIGVzaGVsbC1zY3JvbGwtc2hvdy1tYXhpbXVtLW91dHB1dAorICAgICAgICAgICAgICAg ICAgICAgICAoPj0gKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKSkKKyAgICAgICAg ICAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9p bnQtbWF4KSkKKyAgICAgICAgICAgICAgICAocmVjZW50ZXIgLTEpKSkpKQogICAgICAgKHNl dC1idWZmZXIgY3VycmVudCkpKSkKIAogKGRlZnVuIGVzaGVsbC1iZWdpbm5pbmctb2YtaW5w dXQgKCkKQEAgLTk3NywyNyArOTcyLDI0IEBAIGVzaGVsbC1oYW5kbGUtY29udHJvbC1jb2Rl cwogICAgIChnb3RvLWNoYXIgZXNoZWxsLWxhc3Qtb3V0cHV0LWJsb2NrLWJlZ2luKQogICAg ICh1bmxlc3MgKGVvbHApCiAgICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpKQotICAgICh3aGls ZSAoPCAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAobGV0ICgoY2hh ciAoY2hhci1hZnRlcikpKQorICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgKHJ4IChh bnkgP1xyID9cYSA/XEMtaCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2hl bGwtbGFzdC1vdXRwdXQtZW5kIHQpCisgICAgICAobGV0ICgoY2hhciAoY2hhci1iZWZvcmUp KSkKICAgICAgICAgKGNvbmQKICAgICAgICAgICgoZXEgY2hhciA/XHIpCi0gICAgICAgICAg KGlmICg8ICgxKyAocG9pbnQpKSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQotICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKDErIChwb2ludCkpKQotICAgICAgICAgICAg ICAgICAgICAgICAgJyg/XG4gP1xyKSkKLSAgICAgICAgICAgICAgICAgIChkZWxldGUtY2hh ciAxKQotICAgICAgICAgICAgICAgIChsZXQgKChlbmQgKDErIChwb2ludCkpKSkKKyAgICAg ICAgICAoaWYgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKHBvaW50KSkgJyg/XG4gP1xyKSkKKyAgICAg ICAgICAgICAgICAgIChkZWxldGUtY2hhciAtMSkKKyAgICAgICAgICAgICAgICAobGV0ICgo ZW5kIChwb2ludCkpKQogICAgICAgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQog ICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1yZWdpb24gKHBvaW50KSBlbmQpKSkKLSAgICAg ICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzIChwb2ludCkgKDErIChwb2ludCkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGludmlzaWJsZSB0KSkKLSAgICAgICAg ICAgIChmb3J3YXJkLWNoYXIpKSkKKyAgICAgICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVz ICgxLSAocG9pbnQpKSAocG9pbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnKGludmlzaWJsZSB0KSkpKQogICAgICAgICAgKChlcSBjaGFyID9cYSkKLSAgICAgICAg ICAoZGVsZXRlLWNoYXIgMSkKKyAgICAgICAgICAoZGVsZXRlLWNoYXIgLTEpCiAgICAgICAg ICAgKGJlZXApKQogICAgICAgICAgKChlcSBjaGFyID9cQy1oKQotICAgICAgICAgIChkZWxl dGUtcmVnaW9uICgxLSAocG9pbnQpKSAoMSsgKHBvaW50KSkpKQotICAgICAgICAgKHQKLSAg ICAgICAgICAoZm9yd2FyZC1jaGFyKSkpKSkpKQorICAgICAgICAgIChkZWxldGUtcmVnaW9u ICgtIChwb2ludCkgMikgKHBvaW50KSkpKSkpKSkKIAogKGN1c3RvbS1hZGQtb3B0aW9uICdl c2hlbGwtb3V0cHV0LWZpbHRlci1mdW5jdGlvbnMKIAkJICAgJ2VzaGVsbC1oYW5kbGUtY29u dHJvbC1jb2RlcykKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVz dHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMDZlMTFjZTQ0NQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKQEAgLTAsMCArMSw2 MiBAQAorOzs7IGVzaC1tb2RlLXRlc3RzLmVsIC0tLSBlc2gtbW9kZSB0ZXN0IHN1aXRlICAt Ki0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMi0yMDI0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7 OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7OyBUZXN0cyBmb3IgRXNo ZWxsJ3MgY29tbWFuZCBpbnZvY2F0aW9uLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2Vy dCkKKyhyZXF1aXJlICdlc2gtbW9kZSkKKyhyZXF1aXJlICdlc2hlbGwpCisKKyhyZXF1aXJl ICdlc2hlbGwtdGVzdHMtaGVscGVycworICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVz aGVsbC10ZXN0cy1oZWxwZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUt bmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkp CisKKzs7OyBUZXN0czoKKworKGVydC1kZWZ0ZXN0IGVzaC1tb2RlLXRlc3QvaGFuZGxlLWNv bnRyb2wtY29kZXMvY2FycmlhZ2UtcmV0dXJuICgpCisgICJUZXN0IHRoYXQgRXNoZWxsIGhh bmRsZXMgY2FycmlhZ2UgcmV0dXJucyBwcm9wZXJseS4iCisgICh3aXRoLXRlbXAtZXNoZWxs CisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZvcm1hdCBcImhlbGxvXHJc bmdvb2RieWVcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVs bG9cbmdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZv cm1hdCBcImhlbGxvXHJnb29kYnllXCIpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1 dCAiKGZvcm1hdCBcImhlbGxvXHJcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiXFxgaGVsbG8iKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0L2hhbmRs ZS1jb250cm9sLWNvZGVzL2JlbGwgKCkKKyAgIlRlc3QgdGhhdCBFc2hlbGwgaGFuZGxlcyBi ZWxscyBwcm9wZXJseS4iCisgIChjbC1sZXRmKiAoKGJlZXAtY2FsbGVkIG5pbCkKKyAgICAg ICAgICAgICAoKHN5bWJvbC1mdW5jdGlvbiAnYmVlcCkgKGxhbWJkYSAoKSAoc2V0cSBiZWVw LWNhbGxlZCB0KSkpKQorICAgICh3aXRoLXRlbXAtZXNoZWxsCisgICAgICAoZXNoZWxsLW1h dGNoLWNvbW1hbmQtb3V0cHV0ICIoZm9ybWF0IFwiaGVsbG9cYXRoZXJlXCIpIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG90aGVyZVxuIikKKyAgICAg IChzaG91bGQgYmVlcC1jYWxsZWQpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0 L2hhbmRsZS1jb250cm9sLWNvZGVzL2JhY2tzcGFjZSAoKQorICAiVGVzdCB0aGF0IEVzaGVs bCBoYW5kbGVzIGJhY2tzcGFjZXMgcHJvcGVybHkuIgorICAod2l0aC10ZW1wLWVzaGVsbAor ICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgKGZvcm1hdCAiKGZvcm1hdCBcImhl bGxvJWMlY3BcIikiID9cQy1oID9cQy1oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGhlbHBcbiIpKSkKKworOzsgZXNoLW1vZGUtdGVzdHMuZWwgZW5kcyBoZXJl Ci0tIAoyLjI1LjEKCg== --------------Rhdfg6pTbwVkFn7swwpBYo7w-- From unknown Mon Aug 18 18:01:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 08 Jun 2024 07:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71355 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter , Eli Zaretskii Cc: 71355@debbugs.gnu.org Received: via spool by 71355-submit@debbugs.gnu.org id=B71355.171783208611208 (code B ref 71355); Sat, 08 Jun 2024 07:35:01 +0000 Received: (at 71355) by debbugs.gnu.org; 8 Jun 2024 07:34:46 +0000 Received: from localhost ([127.0.0.1]:53149 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFqb7-0002uh-Nw for submit@debbugs.gnu.org; Sat, 08 Jun 2024 03:34:46 -0400 Received: from mail-ed1-f51.google.com ([209.85.208.51]:51441) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sFqb5-0002uK-IO for 71355@debbugs.gnu.org; Sat, 08 Jun 2024 03:34:44 -0400 Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-57c5920ed3bso1174918a12.2 for <71355@debbugs.gnu.org>; Sat, 08 Jun 2024 00:34:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717832002; x=1718436802; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=VWeugD5dXlXq8Ibnj4+O7OaySiJNVlMj8zKzF77s4Cw=; b=eYEDGLeIczBZnzzybAgctshOorhsfhENJxVnSakqmFIoN2Lg+zzFeJiiCNY5z+qzeT zO8kxKq7jegT4xFT+cmESTymq5hRdCdI9hjYrIkB4kuh4O4Fh6xTlx8aTX9o55Ebbe49 NVHv5Qq4sv+PxFA6JZxMi9WZNDKnEwcHC6dSvOCw8bh4kKM4xi4/VC4cWIPRXx4Nrmo3 CYz02dMFNBJHE1OYeQr+dk9BLD83TdoAjt0VUXxnWFLzBFS2Mg8nm2mCYoo5LRtuDDZH KTsnXS/i46FFus5p7UdkRIzEBvjVia+XAmGnzageoP1yP/EZVmxHcDSrPcCxsicnwgnh n0JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717832002; x=1718436802; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=VWeugD5dXlXq8Ibnj4+O7OaySiJNVlMj8zKzF77s4Cw=; b=t2dDkQvO3ek74e+Omde6kEVHyL0Vc8s8sy4QzNropty/9YygQvza7LPovZQMaBw3Iy /jSqgdiovripSa5t9stXlqIcaTZ16++f2x2MEq0QRGUeSQ8dPc84AHGW8bPBHqgh+2oK zk6FztHFiBoCytiYGhJGMJ4nCpIiBWyboSFBj3ivprL4aVb5AWhVlOfUnNaLJ5cIRJ0I dDkAmynB2KMlSv4YIvsdRSnMvUqjXz26F6yOyzZC68emMVgWv6ZeWweeMaCVZBbiavAn g2i24EkgsCV01tSxfdN8xCma4kIfYr6urRdeKSqe5DeyHea369oFbMDvTiDxY4gc7GFu eM9g== X-Gm-Message-State: AOJu0YwChV6Cgklkqv/5Jg4uNhAE41POFadh2QnXQH7rvklScOcnysJk l18mMzqUMLLBqERVwcz7VlKhXfoABFrJtX3zcxM25herGSZ5+1Y6FK+ho0KH+lEg01lXPPHnl3f kobOsh5st/wSUvXKsth8SRJ+epz0= X-Google-Smtp-Source: AGHT+IFjIH1GIagFeMxoBk0TT+m3h5dx3Rgw+TYyD4Axbo7n84cLfmNN0oeWlc3QoBZBqBVRWy2UOD1hdhLtfeJP7u0= X-Received: by 2002:a50:99c8:0:b0:57a:2537:a730 with SMTP id 4fb4d7f45d1cf-57c5084e62dmr2827278a12.4.1717832001780; Sat, 08 Jun 2024 00:33:21 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 8 Jun 2024 03:33:20 -0400 From: Stefan Kangas In-Reply-To: References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> <86v82ni5dd.fsf@gnu.org> <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> <86r0daistt.fsf@gnu.org> <066f89aa-4026-b5fd-e529-12e70360bed6@gmail.com> MIME-Version: 1.0 Date: Sat, 8 Jun 2024 03:33:20 -0400 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) 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 (-) Jim Porter writes: > Since it sounds like all the other concerns have been addressed, I'll > probably merge this in the next day or so. (This is the last non-bugfix > change I'd like to land for Eshell in Emacs 30.) Sounds good to me. From unknown Mon Aug 18 18:01:08 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Jim Porter Subject: bug#71355: closed (Re: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell) Message-ID: References: <3ea033d4-e8eb-d7d8-fefa-65e819e48d43@gmail.com> <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> X-Gnu-PR-Message: they-closed 71355 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 71355@debbugs.gnu.org Date: Sat, 08 Jun 2024 19:45:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1717875902-30641-1" This is a multi-part message in MIME format... ------------=_1717875902-30641-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 71355@debbugs.gnu.org. --=20 71355: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D71355 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1717875902-30641-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 71355-done) by debbugs.gnu.org; 8 Jun 2024 19:44:45 +0000 Received: from localhost ([127.0.0.1]:39497 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sG1zY-0007xZ-Tc for submit@debbugs.gnu.org; Sat, 08 Jun 2024 15:44:45 -0400 Received: from mail-pf1-f173.google.com ([209.85.210.173]:58474) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sG1zW-0007xJ-Ah for 71355-done@debbugs.gnu.org; Sat, 08 Jun 2024 15:44:43 -0400 Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-7024d571d8eso2695183b3a.0 for <71355-done@debbugs.gnu.org>; Sat, 08 Jun 2024 12:44:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717875800; x=1718480600; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=Uva9WWvEmnNdICY82l1qSYPVL0vR+BE8NohsGuObano=; b=VFr26CNUkdapdcfkTKGnnI9oyOVimzh8lmrNEMR+taDzzOEkBcOyQknREDksmx9eWV hcI0P+TxYqFlEBPaqWiKBFlOohjWeKzP0a0uO3sQSEDO6Sq9iliTN8xM5UsGDc6Zsrff Pn3/bUBFkmCS+/XHkLnYFN4QiKDZbI/4AsnQj5ZaWYMcnNwlQKirdp+kOZRWtN478hJi Syp5ppgdCp3255O/LZYVOhVORQSg4N7WTuXoiYL/oNwtvIa+dQSxwN9+ofNLF924q2rH yxPxGzUzsXc8wDTBOPe8byF1CY38GKeOWH1leZ5HUn4Kg9G/4ajUVxNYf7nXmLCGbv6G yHpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717875800; x=1718480600; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Uva9WWvEmnNdICY82l1qSYPVL0vR+BE8NohsGuObano=; b=UlgNWrP4JBMjfOdK0UDcUvvAdmG0YpZR2E6QCtj+dAZr265c0hurUW0Mt/iKIATOcL a0WKwzC7nNjsH0VyLfSTZ/QHfNkdTmBie7jr9YyYx7pX+MDTlP8flHJVPm0qzI7vWMpG EdfCixiTvI3xyuz6nSmYbRBgXX+en5I/g/qCszialKA3RREnXoqHqU0X1r0n88emnSJg 1DlbjS0jKpdX7i1mOGYHen8VH/fQeiEbQ5EkZbwM2Hhwd4LUp7KIDrOJqABZQRptFr78 A9zf488jAUp8odjYp1AxllVW+No5k5JHbzHa0zZnLgYqq/Lvh3PTcKeG4d2GtdFIRhpL Mnfw== X-Gm-Message-State: AOJu0YzKbRINjVtQTnse7zhBUt6mlDkWlvnsTsrm4Y7DbPFw6dDq0Y1n yMCm7oVtuDC5lwyS+Mt9vKXPM0PbBVMj6BjlsfU8k2W7IzasTtFK X-Google-Smtp-Source: AGHT+IFhaUcX/j5PAo2EXKgqyCp+gI/7WJ3F/eNuLs7ivoLPbOGrpKk24XjIgJsMF5ldmGZ9k0ojdA== X-Received: by 2002:a05:6a00:2d04:b0:704:23dc:6473 with SMTP id d2e1a72fcca58-70423dc6745mr2917953b3a.30.1717875800237; Sat, 08 Jun 2024 12:43:20 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-70423a7f217sm1516400b3a.206.2024.06.08.12.43.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 08 Jun 2024 12:43:19 -0700 (PDT) Message-ID: <3ea033d4-e8eb-d7d8-fefa-65e819e48d43@gmail.com> Date: Sat, 8 Jun 2024 12:43:18 -0700 MIME-Version: 1.0 Subject: Re: bug#71355: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Content-Language: en-US To: Stefan Kangas , Eli Zaretskii References: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> <848772e9-5ef0-8a8a-decd-c0b79366ec27@gmail.com> <86ikynk30i.fsf@gnu.org> <037ebce9-93af-f1ad-67d9-550fd1074294@gmail.com> <8634prjpt0.fsf@gnu.org> <9da5a395-48e8-fb20-145b-1d2581315fcf@gmail.com> <86y17ji860.fsf@gnu.org> <86v82ni5dd.fsf@gnu.org> <7f6b9173-e16f-c65d-8758-8ca7098876b7@gmail.com> <86r0daistt.fsf@gnu.org> <066f89aa-4026-b5fd-e529-12e70360bed6@gmail.com> From: Jim Porter In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 71355-done Cc: 71355-done@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 6/8/2024 12:33 AM, Stefan Kangas wrote: > Jim Porter writes: > >> Since it sounds like all the other concerns have been addressed, I'll >> probably merge this in the next day or so. (This is the last non-bugfix >> change I'd like to land for Eshell in Emacs 30.) > > Sounds good to me. I took one last look after sleeping on it, and everything seems correct to me, so I've now merged this to the master branch as 15f515c7a37. ------------=_1717875902-30641-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 4 Jun 2024 05:36:52 +0000 Received: from localhost ([127.0.0.1]:56157 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEMqo-0003cK-Tf for submit@debbugs.gnu.org; Tue, 04 Jun 2024 01:36:52 -0400 Received: from lists.gnu.org ([209.51.188.17]:37514) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sEMqm-0003cB-F3 for submit@debbugs.gnu.org; Tue, 04 Jun 2024 01:36:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sEMqY-0003Q0-UE for bug-gnu-emacs@gnu.org; Tue, 04 Jun 2024 01:36:34 -0400 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sEMqW-0005Ra-33 for bug-gnu-emacs@gnu.org; Tue, 04 Jun 2024 01:36:34 -0400 Received: by mail-oi1-x229.google.com with SMTP id 5614622812f47-3d1facdf12bso229680b6e.0 for ; Mon, 03 Jun 2024 22:36:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717479390; x=1718084190; darn=gnu.org; h=subject:from:to:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=w1dgx8Tp0q4abhH7jjDk5Zv6KnyhzIC9zeK7wHpdgVQ=; b=kWHTUkVn/O2XfjZ7GBIya2FKmujO2HaG/li+u84haeURdb8Aa98vgI6J5gQ4T88+wC vPwqBUDAXAoggQPIl7K0ZJUN7iQqecNugsfqlNeA08WGBbZJ1zoG/o3gLLukFjF2rSMh eezn9UXi5+WbEfzuVd4QT6EQ31v+6exaVrKPzrNfO5BMlLKyyC1O/xZue7M/hCDdTChZ rxSkZzTDub7JuizFH9iExd5JF/8+kKa0DOGN10Rysts3IfxcM2B9SevI7x88iJssEMnk UhHtBhO5fKZSX9R8tNh7jjg+ySRIieOcjIoUryIVGo1+3ivBaD1gq+SqDqtNiJvnYAPF r1oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717479390; x=1718084190; h=subject:from:to:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=w1dgx8Tp0q4abhH7jjDk5Zv6KnyhzIC9zeK7wHpdgVQ=; b=E14pKX127VzfhXie53DpSlY28jLAjBX2cKZ+HZg4J6TVO/ztQKhW3N248lSInsVf/G mSLta9p/SSxwzExN+yAU5DqOAt+pgMJXaPFXa17pdU6Q+i4ZZ+G/ljRdMoztXKd/odUY Jnp43Xx/NMZGpWORz0NRYUcXeMucECEECYWq9A8prxU4LDVEG98cQCiyW6gxDHdB3t/t nQYDysx8jGhjBUn3DMiCZnAwAhsoitabbGd1tgozuZPfJWypt8GSbdZ0tm5QeGNaHbUN tt2ox/o/hNkiIAIz7VdMz2vjnyEi2IT9c4DyuqnyIOnYZ+QfZUcMNhrMt0o9NOSMFIpS XmvA== X-Gm-Message-State: AOJu0YzCmlOLOpWudrcZ3OW+rJVl85pKwdjJY/5433itLnJvV/fdBr77 sRkXT77pvyPhGW+iJM9UuOfGzfAJjgqfaIlyD39PRC167tp15xTissaldA== X-Google-Smtp-Source: AGHT+IH2LqIiayjh3cXs6R6Hlr4gS6XmrIxtVYy/88p0mxLZWFf1y866NP2buSr/FsTQodGxPAmURQ== X-Received: by 2002:a05:6808:19a8:b0:3c9:7022:7545 with SMTP id 5614622812f47-3d1e34739fdmr13908322b6e.8.1717479389539; Mon, 03 Jun 2024 22:36:29 -0700 (PDT) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-6d47b555f1csm9168a12.40.2024.06.03.22.36.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 03 Jun 2024 22:36:28 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------av8HtsLB2xJdLaE5qMPyAIeH" Message-ID: <22b0dc8f-11dc-5fd2-c75d-88c17580d28d@gmail.com> Date: Mon, 3 Jun 2024 22:36:29 -0700 MIME-Version: 1.0 X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US To: bug-gnu-emacs@gnu.org From: Jim Porter Subject: 30.0.50; [PATCH] Improve performance of buffered output in Eshell Received-SPF: pass client-ip=2607:f8b0:4864:20::229; envelope-from=jporterbugs@gmail.com; helo=mail-oi1-x229.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------av8HtsLB2xJdLaE5qMPyAIeH Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit In Eshell, if I run "time cat config.log" from my Emacs build directory, it reports that it takes about 7.5s. It also doesn't show *any* output until it's completely finished. With my attached patches, it now takes about 0.6s and also shows the output iteratively, redisplaying periodically so users can see that something is happening. The other command most likely to be impacted by this is the built-in version of "ls". When I run "ls -Al /usr/bin" on my system, I go from 2.1s before my patch to 1.2s after. Not as big an improvement, but still noticeable, and it *feels* a lot faster too with the iterative redisplay. I don't usually add a NEWS entry for perf improvements, but this one seemed notable enough that I figured it was worth tooting my own horn. :) --------------av8HtsLB2xJdLaE5qMPyAIeH Content-Type: text/plain; charset=UTF-8; name="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Disposition: attachment; filename*0="0001-Be-more-efficient-when-buffering-output-in-Eshell.patch" Content-Transfer-Encoding: base64 RnJvbSAwNTMzYzIxZjRiNTA5ZTYxYTczZWVjNmIyOWI5MzEwNDIwMmMzYmY4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowMTo0OCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8yXSBCZSBtb3JlIGVmZmljaWVudCB3aGVuIGJ1ZmZlcmluZyBvdXRwdXQgaW4gRXNo ZWxsCgpUaGlzIG1ha2VzIHRoZSBidWlsdC1pbiAnZXNoZWxsL2NhdCcgNS0xMHggZmFzdGVy IG9uIGxhcmdlIGZpbGVzIGluIG15Cihzb21ld2hhdCBsaW1pdGVkKSB0ZXN0cy4gIEluIGFk ZGl0aW9uLCB0aGlzIGNoYW5nZSBwZXJpb2RpY2FsbHkKcmVkaXNwbGF5cyB3aGVuIHVzaW5n IHRoZSBFc2hlbGwgYnVmZmVyZWQgb3V0cHV0IHNvIHRoYXQgdXNlcnMgY2FuIHNlZQpzb21l IHByb2dyZXNzLgoKKiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgKGVzaGVsbC1wcmludC1xdWV1 ZS1zaXplKTogTWFrZSBvYnNvbGV0ZSBpbgpmYXZvciBvZi4uLgooZXNoZWxsLWJ1ZmZlcmVk LXByaW50LXNpemUpOiAuLi4gdGhpcy4KKGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3Bs YXktdGhyb3R0bGUpOiBOZXcgdXNlciBvcHRpb24uCihlc2hlbGwtcHJpbnQtcXVldWUpOiBN YWtlIGxvY2FsLgooZXNoZWxsLS1uZXh0LXJlZGlzcGxheS10aW1lKTogTmV3IHZhcmlhYmxl LgooZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50KTogTWFrZSBvYnNvbGV0ZSBpbiBmYXZvciBv Zi4uLgooZXNoZWxsLXByaW50LXF1ZXVlLXNpemUpOiAuLi4gdGhpcy4KKGVzaGVsbC1pbml0 LXByaW50LWJ1ZmZlcik6IE1ha2Ugb2Jzb2xldGUuCihlc2hlbGwtZmx1c2gpOiBTaW1wbGlm eS4KKGVzaGVsbC1idWZmZXJlZC1wcmludCk6IENvbXBhcmUgcXVldWVkIG91dHB1dCBsZW5n dGggdG8KJ2VzaGVsbC1idWZmZXJlZC1wcmludC1zaXplJy4KKGVzaGVsbC13aXRoLWJ1ZmZl cmVkLXByaW50KTogTmV3IG1hY3JvLgoKKiBsaXNwL2VzaGVsbC9lc2gtdmFyLmVsIChlc2hl bGwvZW52KToKKiBsaXNwL2VzaGVsbC9lbS1kaXJzLmVsIChlc2hlbGwvY2QpOgoqIGxpc3Av ZXNoZWxsL2VtLWhpc3QuZWwgKGVzaGVsbC9oaXN0b3J5KToKKiBsaXNwL2VzaGVsbC9lbS11 bml4LmVsIChlc2hlbGwvY2F0KToKKiBsaXNwL2VzaGVsbC9lbS1scy5lbCAoZXNoZWxsL2xz KTogVXNlICdlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmludCcuCihmbHVzaC1mdW5jKTogUmVt b3ZlLgooZXNoZWxsLWxzLS1pbnNlcnQtZGlyZWN0b3J5LCBlc2hlbGwtZG8tbHMpOiBSZW1v dmUgJ2ZsdXNoLWZ1bmMnLgoKKiBldGMvTkVXUzogQW5ub3VuY2UgdGhlc2UgaW1wcm92ZW1l bnRzLgotLS0KIGV0Yy9ORVdTICAgICAgICAgICAgICAgfCAgNyArKysrCiBsaXNwL2VzaGVs bC9lbS1kaXJzLmVsIHwgMTMgKysrLS0tCiBsaXNwL2VzaGVsbC9lbS1oaXN0LmVsIHwgMTMg KysrLS0tCiBsaXNwL2VzaGVsbC9lbS1scy5lbCAgIHwgMTQgKysrLS0tLQogbGlzcC9lc2hl bGwvZW0tdW5peC5lbCB8IDI1ICsrKysrKy0tLS0tLQogbGlzcC9lc2hlbGwvZXNoLWlvLmVs ICB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogbGlz cC9lc2hlbGwvZXNoLXZhci5lbCB8ICA3ICsrLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTA1IGlu c2VydGlvbnMoKyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIv ZXRjL05FV1MKaW5kZXggMzAyY2QzMGExMzUuLmIyYzhlNzQzOWU3IDEwMDY0NAotLS0gYS9l dGMvTkVXUworKysgYi9ldGMvTkVXUwpAQCAtOTQ4LDYgKzk0OCwxMyBAQCBmaWxlcyBhbmQg ZGVueSByZWFkIHBlcm1pc3Npb24gZm9yIHVzZXJzIHdobyBhcmUgbm90IG1lbWJlcnMgb2Yg dGhlCiBmaWxlJ3MgZ3JvdXAuICBTZWUgdGhlIEluZm8gbm9kZSAiKGNvcmV1dGlscykgRmls ZSBwZXJtaXNzaW9ucyIgZm9yCiBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgbm90YXRpb24u CiAKKy0tLQorKioqIFBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBmb3IgaW50ZXJhY3RpdmUg b3V0cHV0IGluIEVzaGVsbC4KK0ludGVyYWN0aXZlIG91dHB1dCBpbiBFc2hlbGwgc2hvdWxk IG5vdyBiZSBzaWduaWZpY25hdGx5IGZhc3RlciwKK2VzcGVjaWFsbHkgZm9yIGJ1aWx0LWlu IGNvbW1hbmRzIHRoYXQgY2FuIHByaW50IGxhcmdlIGFtb3VudHMgb2Ygb3V0cHV0CisoZS5n LiAiY2F0IikuICBJbiBhZGRpdGlvbiwgdGhlc2UgY29tbWFuZHMgY2FuIG5vdyB1cGRhdGUg dGhlIGRpc3BsYXkKK3BlcmlvZGljYWxseSB0byBzaG93IHRoZWlyIHByb2dyZXNzLgorCiAr KysKICoqKiBOZXcgc3BlY2lhbCByZWZlcmVuY2UgdHlwZSAnIzxtYXJrZXIgUE9TSVRJT04g QlVGRkVSPicuCiBUaGlzIHNwZWNpYWwgcmVmZXJlbmNlIHR5cGUgcmV0dXJucyBhIG1hcmtl ciBhdCAnUE9TSVRJT04nIGluCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS1kaXJzLmVs IGIvbGlzcC9lc2hlbGwvZW0tZGlycy5lbAppbmRleCBhM2QxYTM0OTU0MC4uZTcwZjJjZmUx OTYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLWRpcnMuZWwKKysrIGIvbGlzcC9lc2hl bGwvZW0tZGlycy5lbApAQCAtNDAwLDEzICs0MDAsMTIgQEAgZXNoZWxsL2NkCiAJCShpbmRl eCAwKSkKIAkgICAgKGlmICg9IGxlbiAwKQogCQkoZXJyb3IgIkRpcmVjdG9yeSByaW5nIGVt cHR5IikpCi0JICAgIChlc2hlbGwtaW5pdC1wcmludC1idWZmZXIpCi0JICAgICh3aGlsZSAo PCBpbmRleCBsZW4pCi0JICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAotCSAgICAgICAo Y29uY2F0IChudW1iZXItdG8tc3RyaW5nIGluZGV4KSAiOiAiCi0JCSAgICAgICAocmluZy1y ZWYgZXNoZWxsLWxhc3QtZGlyLXJpbmcgaW5kZXgpICJcbiIpKQotCSAgICAgIChzZXRxIGlu ZGV4ICgxKyBpbmRleCkpKQotCSAgICAoZXNoZWxsLWZsdXNoKQorICAgICAgICAgICAgKGVz aGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgICAgICAgICh3aGlsZSAoPCBpbmRl eCBsZW4pCisgICAgICAgICAgICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAorICAgICAg ICAgICAgICAgICAoY29uY2F0IChudW1iZXItdG8tc3RyaW5nIGluZGV4KSAiOiAiCisgICAg ICAgICAgICAgICAgICAgICAgICAgKHJpbmctcmVmIGVzaGVsbC1sYXN0LWRpci1yaW5nIGlu ZGV4KSAiXG4iKSkKKyAgICAgICAgICAgICAgICAoc2V0cSBpbmRleCAoMSsgaW5kZXgpKSkp CiAJICAgIChzZXRxIGhhbmRsZWQgdCkpKSkpCiAgICAgIChwYXRoCiAgICAgICAoc2V0cSBw YXRoIChlc2hlbGwtZXhwYW5kLW11bHRpcGxlLWRvdHMgcGF0aCkpKSkKZGlmZiAtLWdpdCBh L2xpc3AvZXNoZWxsL2VtLWhpc3QuZWwgYi9saXNwL2VzaGVsbC9lbS1oaXN0LmVsCmluZGV4 IDg4NjVjYzc0NWEzLi45ZmZkZGZiNjExZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0t aGlzdC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1oaXN0LmVsCkBAIC0zMzMsNyArMzMzLDYg QEAgZXNoZWxsLXNhdmUtc29tZS1oaXN0b3J5CiAKIChkZWZ1biBlc2hlbGwvaGlzdG9yeSAo JnJlc3QgYXJncykKICAgIkxpc3QgaW4gaGVscCBidWZmZXIgdGhlIGJ1ZmZlcidzIGlucHV0 IGhpc3RvcnkuIgotICAoZXNoZWxsLWluaXQtcHJpbnQtYnVmZmVyKQogICAoZXNoZWxsLWV2 YWwtdXNpbmctb3B0aW9ucwogICAgImhpc3RvcnkiIGFyZ3MKICAgICcoKD9yICJyZWFkIiBu aWwgcmVhZC1oaXN0b3J5CkBAIC0zNzAsMTIgKzM2OSwxMiBAQCBlc2hlbGwvaGlzdG9yeQog ICAgICAgIChsZXQqICgoaW5kZXggKDEtIChvciBsZW5ndGggKHJpbmctbGVuZ3RoIGVzaGVs bC1oaXN0b3J5LXJpbmcpKSkpCiAJICAgICAgKHJlZiAoLSAocmluZy1sZW5ndGggZXNoZWxs LWhpc3RvcnktcmluZykgaW5kZXgpKSkKIAkgOzsgV2UgaGF2ZSB0byBidWlsZCB1cCBhIGxp c3Qgb3Vyc2VsdmVzIGZyb20gdGhlIHJpbmcgdmVjdG9yLgotCSAod2hpbGUgKD49IGluZGV4 IDApCi0JICAgKGVzaGVsbC1idWZmZXJlZC1wcmludAotCSAgICAoZm9ybWF0ICIlNWQgICVz XG4iIHJlZiAoZXNoZWxsLWdldC1oaXN0b3J5IGluZGV4KSkpCi0JICAgKHNldHEgaW5kZXgg KDEtIGluZGV4KQotCQkgcmVmICgxKyByZWYpKSkpKSkpCi0gICAoZXNoZWxsLWZsdXNoKQor ICAgICAgICAgKGVzaGVsbC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgICAgICh3aGls ZSAoPj0gaW5kZXggMCkKKyAgICAgICAgICAgICAoZXNoZWxsLWJ1ZmZlcmVkLXByaW50Cisg ICAgICAgICAgICAgIChmb3JtYXQgIiU1ZCAgJXNcbiIgcmVmIChlc2hlbGwtZ2V0LWhpc3Rv cnkgaW5kZXgpKSkKKyAgICAgICAgICAgICAoc2V0cSBpbmRleCAoMS0gaW5kZXgpCisgICAg ICAgICAgICAgICAgICAgcmVmICgxKyByZWYpKSkpKSkpKQogICAgbmlsKSkKIAogKGRlZnVu IGVzaGVsbC1wdXQtaGlzdG9yeSAoaW5wdXQgJm9wdGlvbmFsIHJpbmcgYXQtYmVnaW5uaW5n KQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0tbHMuZWwgYi9saXNwL2VzaGVsbC9lbS1s cy5lbAppbmRleCA4MmQ0YjAxMzkzZi4uOGJmMmUyMGQzMjAgMTAwNjQ0Ci0tLSBhL2xpc3Av ZXNoZWxsL2VtLWxzLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLWxzLmVsCkBAIC0yMjksNyAr MjI5LDYgQEAgYmxvY2stc2l6ZQogKGRlZnZhciBkZXJlZmVyZW5jZS1saW5rcykKIChkZWZ2 YXIgZGlyLWxpdGVyYWwpCiAoZGVmdmFyIGVycm9yLWZ1bmMpCi0oZGVmdmFyIGZsdXNoLWZ1 bmMpCiAoZGVmdmFyIGh1bWFuLXJlYWRhYmxlKQogKGRlZnZhciBpZ25vcmUtcGF0dGVybikK IChkZWZ2YXIgaW5zZXJ0LWZ1bmMpCkBAIC0yNzgsNyArMjc3LDYgQEAgZXNoZWxsLWxzLS1p bnNlcnQtZGlyZWN0b3J5CiAgICAgICAgICAgKHJlcXVpcmUgJ2VtLWdsb2IpCiAgICAgICAg ICAgKGxldCogKChpbnNlcnQtZnVuYyAnaW5zZXJ0KQogICAgICAgICAgICAgICAgICAoZXJy b3ItZnVuYyAnaW5zZXJ0KQotICAgICAgICAgICAgICAgICAoZmx1c2gtZnVuYyAnaWdub3Jl KQogICAgICAgICAgICAgICAgICAoZXNoZWxsLWVycm9yLWlmLW5vLWdsb2IgdCkKICAgICAg ICAgICAgICAgICAgKHRhcmdldCA7IEV4cGFuZCB0aGUgc2hlbGwgd2lsZGNhcmRzIGlmIGFu eS4KICAgICAgICAgICAgICAgICAgIChpZiAoYW5kIChhdG9tIGZpbGUpCkBAIC0zMjQsMTAg KzMyMiwxMCBAQCBlc2hlbGwtbHMtLWRpcmVkCiAKIChkZWZzdWJzdCBlc2hlbGwvbHMgKCZy ZXN0IGFyZ3MpCiAgICJBbiBhbGlhcyB2ZXJzaW9uIG9mIGBlc2hlbGwtZG8tbHMnLiIKLSAg KGxldCAoKGluc2VydC1mdW5jICdlc2hlbGwtYnVmZmVyZWQtcHJpbnQpCi0JKGVycm9yLWZ1 bmMgJ2VzaGVsbC1lcnJvcikKLQkoZmx1c2gtZnVuYyAnZXNoZWxsLWZsdXNoKSkKLSAgICAo YXBwbHkgJ2VzaGVsbC1kby1scyBhcmdzKSkpCisgIChlc2hlbGwtd2l0aC1idWZmZXJlZC1w cmludAorICAgIChsZXQgKChpbnNlcnQtZnVuYyAjJ2VzaGVsbC1idWZmZXJlZC1wcmludCkK KyAgICAgICAgICAoZXJyb3ItZnVuYyAjJ2VzaGVsbC1lcnJvcikpCisgICAgICAoYXBwbHkg J2VzaGVsbC1kby1scyBhcmdzKSkpKQogCiAocHV0ICdlc2hlbGwvbHMgJ2VzaGVsbC1uby1u dW1lcmljLWNvbnZlcnNpb25zIHQpCiAocHV0ICdlc2hlbGwvbHMgJ2VzaGVsbC1maWxlbmFt ZS1hcmd1bWVudHMgdCkKQEAgLTMzNiw3ICszMzQsNiBAQCBlc2hlbGwvbHMKIAogKGRlZnVu IGVzaGVsbC1kby1scyAoJnJlc3QgYXJncykKICAgIkltcGxlbWVudGF0aW9uIG9mIFwibHNc IiBpbiBMaXNwLCBwYXNzaW5nIEFSR1MuIgotICAoZnVuY2FsbCBmbHVzaC1mdW5jIC0xKQog ICA7OyBQcm9jZXNzIHRoZSBjb21tYW5kIGFyZ3VtZW50cywgYW5kIGJlZ2luIGxpc3Rpbmcg ZmlsZXMuCiAgIChlc2hlbGwtZXZhbC11c2luZy1vcHRpb25zCiAgICAibHMiIChpZiBlc2hl bGwtbHMtaW5pdGlhbC1hcmdzCkBAIC00MjIsOCArNDE5LDcgQEAgZXNoZWxsLWRvLWxzCiAJ CSAgICAgIChlc2hlbGwtZmlsZS1hdHRyaWJ1dGVzCiAJCSAgICAgICBhcmcgKGlmIG51bWVy aWMtdWlkLWdpZCAnaW50ZWdlciAnc3RyaW5nKSkpKQogCSAgICAgIGFyZ3MpCi0gICAgICB0 IChleHBhbmQtZmlsZS1uYW1lIGRlZmF1bHQtZGlyZWN0b3J5KSkpCi0gICAoZnVuY2FsbCBm bHVzaC1mdW5jKSkpCisgICAgICB0IChleHBhbmQtZmlsZS1uYW1lIGRlZmF1bHQtZGlyZWN0 b3J5KSkpKSkKIAogKGRlZnN1YnN0IGVzaGVsbC1scy1wcmludGFibGUtc2l6ZSAoZmlsZXNp emUgJm9wdGlvbmFsIGJ5LWJsb2Nrc2l6ZSkKICAgIlJldHVybiBhIHByaW50YWJsZSBGSUxF U0laRS4iCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS11bml4LmVsIGIvbGlzcC9lc2hl bGwvZW0tdW5peC5lbAppbmRleCA0MTM3YzA1ZmE0MS4uZTZiZDAzODFhMTQgMTAwNjQ0Ci0t LSBhL2xpc3AvZXNoZWxsL2VtLXVuaXguZWwKKysrIGIvbGlzcC9lc2hlbGwvZW0tdW5peC5l bApAQCAtNjU5LDcgKzY1OSw2IEBAIGVzaGVsbC9jYXQKIAkgIChpZiBlc2hlbGwtaW4tcGlw ZWxpbmUtcAogCSAgICAgIChlcnJvciAiRXNoZWxsJ3MgYGNhdCcgZG9lcyBub3Qgd29yayBp biBwaXBlbGluZXMiKQogCSAgICAoZXJyb3IgIkVzaGVsbCdzIGBjYXQnIGNhbm5vdCBkaXNw bGF5IG9uZSBvZiB0aGUgZmlsZXMgZ2l2ZW4iKSkpKQotICAgIChlc2hlbGwtaW5pdC1wcmlu dC1idWZmZXIpCiAgICAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKICAgICAgImNhdCIg YXJncwogICAgICAnKCg/aCAiaGVscCIgbmlsIG5pbCAic2hvdyB0aGlzIHVzYWdlIHNjcmVl biIpCkBAIC02NzIsMTggKzY3MSwxOCBAQCBlc2hlbGwvY2F0CiAJICAgKHRocm93ICdlc2hl bGwtZXh0ZXJuYWwKIAkJICAoZXNoZWxsLWV4dGVybmFsLWNvbW1hbmQgImNhdCIgYXJncykp KSkKICAgICAgKGxldCAoKGN1cmJ1ZiAoY3VycmVudC1idWZmZXIpKSkKLSAgICAgICAoZG9s aXN0IChmaWxlIGFyZ3MpCi0JICh3aXRoLXRlbXAtYnVmZmVyCi0JICAgKGluc2VydC1maWxl LWNvbnRlbnRzIGZpbGUpCi0JICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKLQkgICAod2hp bGUgKG5vdCAoZW9icCkpCi0JICAgICAobGV0ICgoc3RyIChidWZmZXItc3Vic3RyaW5nCi0J CQkgKHBvaW50KSAobWluICgxKyAobGluZS1lbmQtcG9zaXRpb24pKQotCQkJCSAgICAgIChw b2ludC1tYXgpKSkpKQotCSAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBjdXJidWYKLQkJ IChlc2hlbGwtYnVmZmVyZWQtcHJpbnQgc3RyKSkpCi0JICAgICAoZm9yd2FyZC1saW5lKSkp KSkKLSAgICAgKGVzaGVsbC1mbHVzaCkpKSkKKyAgICAgICAoZXNoZWxsLXdpdGgtYnVmZmVy ZWQtcHJpbnQKKyAgICAgICAgIChkb2xpc3QgKGZpbGUgYXJncykKKwkgICAod2l0aC10ZW1w LWJ1ZmZlcgorCSAgICAgKGluc2VydC1maWxlLWNvbnRlbnRzIGZpbGUpCisJICAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICAgICAgICh3aGlsZSAobm90IChlb2JwKSkK KyAgICAgICAgICAgICAgIChsZXQqICgocG9zIChtaW4gKCsgKHBvaW50KSBlc2hlbGwtYnVm ZmVyZWQtcHJpbnQtc2l6ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBv aW50LW1heCkpKQorICAgICAgICAgICAgICAgICAgICAgIChzdHIgKGJ1ZmZlci1zdWJzdHJp bmcgKHBvaW50KSBwb3MpKSkKKyAgICAgICAgICAgICAgICAgKHdpdGgtY3VycmVudC1idWZm ZXIgY3VyYnVmCisgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1idWZmZXJlZC1wcmludCBz dHIpKQorICAgICAgICAgICAgICAgICAoZ290by1jaGFyIHBvcykpKSkpKSkpKSkKIAogKHB1 dCAnZXNoZWxsL2NhdCAnZXNoZWxsLW5vLW51bWVyaWMtY29udmVyc2lvbnMgdCkKIChwdXQg J2VzaGVsbC9jYXQgJ2VzaGVsbC1maWxlbmFtZS1hcmd1bWVudHMgdCkKZGlmZiAtLWdpdCBh L2xpc3AvZXNoZWxsL2VzaC1pby5lbCBiL2xpc3AvZXNoZWxsL2VzaC1pby5lbAppbmRleCBj NzAxN2VlMWQ3MC4uNzU4N2I3ZGRhYzkgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1p by5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtaW8uZWwKQEAgLTExMiwxMCArMTEyLDI4IEBA IGVzaGVsbC1lcnJvci1oYW5kbGUKIAogKGRlZmN1c3RvbSBlc2hlbGwtcHJpbnQtcXVldWUt c2l6ZSA1CiAgICJUaGUgc2l6ZSBvZiB0aGUgcHJpbnQgcXVldWUsIGZvciBkb2luZyBidWZm ZXJlZCBwcmludGluZy4KK1RoaXMgdmFyaWFibGUgaXMgb2Jzb2xldGUuICBZb3Ugc2hvdWxk IHVzZSBgZXNoZWxsLWJ1ZmZlcmVkLXByaW50LXNpemUnCitpbnN0ZWFkLiIKKyAgOnR5cGUg J2ludGVnZXIKKyAgOmdyb3VwICdlc2hlbGwtaW8pCisobWFrZS1vYnNvbGV0ZS12YXJpYWJs ZSAnZXNoZWxsLXByaW50LXF1ZXVlLXNpemUKKyAgICAgICAgICAgICAgICAgICAgICAgICdl c2hlbGwtYnVmZmVyZWQtcHJpbnQtc2l6ZSAiMzAuMSIpCisKKyhkZWZjdXN0b20gZXNoZWxs LWJ1ZmZlcmVkLXByaW50LXNpemUgMjA0OAorICAiVGhlIHNpemUgb2YgdGhlIHByaW50IHF1 ZXVlIGluIGNoYXJhY3RlcnMsIGZvciBkb2luZyBidWZmZXJlZCBwcmludGluZy4KIFRoaXMg aXMgYmFzaWNhbGx5IGEgc3BlZWQgZW5oYW5jZW1lbnQsIHRvIGF2b2lkIGJsb2NraW5nIHRo ZSBMaXNwIGNvZGUKIGZyb20gZXhlY3V0aW5nIHdoaWxlIEVtYWNzIGlzIHJlZGlzcGxheWlu Zy4iCiAgIDp0eXBlICdpbnRlZ2VyCi0gIDpncm91cCAnZXNoZWxsLWlvKQorICA6Z3JvdXAg J2VzaGVsbC1pbworICA6dmVyc2lvbiAiMzAuMSIpCisKKyhkZWZjdXN0b20gZXNoZWxsLWJ1 ZmZlcmVkLXByaW50LXJlZGlzcGxheS10aHJvdHRsZSAwLjAyNQorICAiVGhlIG1pbmltdW0g dGltZSBpbiBzZWNvbmRzIGJldHdlZW4gcmVkaXNwbGF5cyB3aGVuIHVzaW5nIGJ1ZmZlcmVk IHByaW50aW5nLgorSWYgbmlsLCBkb24ndCByZWRpc3BsYXkgd2hpbGUgcHJpbnRpbmcuIgor ICA6dHlwZSAnKGNob2ljZSBudW1iZXIKKyAgICAgICAgICAgICAgICAgKGNvbnN0IDp0YWcg IkRvbid0IHJlZGlzcGxheSIgbmlsKSkKKyAgOmdyb3VwICdlc2hlbGwtaW8KKyAgOnZlcnNp b24gIjMwLjEiKQogCiAoZGVmY3VzdG9tIGVzaGVsbC12aXJ0dWFsLXRhcmdldHMKICAgJyg7 OyBUaGUgbGl0ZXJhbCBzdHJpbmcgIi9kZXYvbnVsbCIgaXMgaW50ZW50aW9uYWwgaGVyZS4g IEl0IGp1c3QKQEAgLTQ2MCw0MCArNDc4LDY1IEBAIGVzaGVsbC1pbnRlcmFjdGl2ZS1vdXRw dXQtcAogICAgICAgICAgICAgIChlcXVhbCAoY2FhciAoYXJlZiBoYW5kbGVzIGVzaGVsbC1l cnJvci1oYW5kbGUpKSAnKHQpKSkKICAgICAgIChlcXVhbCAoY2FhciAoYXJlZiBoYW5kbGVz IGluZGV4KSkgJyh0KSkpKSkKIAotKGRlZnZhciBlc2hlbGwtcHJpbnQtcXVldWUgbmlsKQor KGRlZnZhci1sb2NhbCBlc2hlbGwtcHJpbnQtcXVldWUgbmlsKQorKGRlZnZhci1sb2NhbCBl c2hlbGwtcHJpbnQtcXVldWUtc2l6ZSBuaWwpCisoZGVmdmFyIGVzaGVsbC0tbmV4dC1yZWRp c3BsYXktdGltZSBuaWwpCisKIChkZWZ2YXIgZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IC0x KQorKG1ha2Utb2Jzb2xldGUtdmFyaWFibGUgJ2VzaGVsbC1wcmludC1xdWV1ZS1jb3VudAor ICAgICAgICAgICAgICAgICAgICAgICAgJ2VzaGVsbC1wcmludC1xdWV1ZS1zaXplICIzMC4x IikKIAogKGRlZnN1YnN0IGVzaGVsbC1wcmludCAob2JqZWN0KQogICAiT3V0cHV0IE9CSkVD VCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IGhhbmRsZS4iCiAgIChlc2hlbGwtb3V0cHV0LW9i amVjdCBvYmplY3QgZXNoZWxsLW91dHB1dC1oYW5kbGUpKQogCi0oZGVmdW4gZXNoZWxsLWZs dXNoICgmb3B0aW9uYWwgcmVzZXQtcCkKLSAgIkZsdXNoIG91dCBhbnkgbGluZXMgdGhhdCBo YXZlIGJlZW4gcXVldWVkIGZvciBwcmludGluZy4KLU11c3QgYmUgY2FsbGVkIGJlZm9yZSBw cmludGluZyBiZWdpbnMgd2l0aCAtMSBhcyBpdHMgYXJndW1lbnQsIGFuZAotYWZ0ZXIgYWxs IHByaW50aW5nIGlzIG92ZXIgd2l0aCBubyBhcmd1bWVudC4iCi0gIChpZ25vcmUKLSAgIChp ZiByZXNldC1wCi0gICAgICAgKHNldHEgZXNoZWxsLXByaW50LXF1ZXVlIG5pbAotCSAgICAg ZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IHJlc2V0LXApCi0gICAgIChpZiBlc2hlbGwtcHJp bnQtcXVldWUKLQkgKGVzaGVsbC1wcmludCBlc2hlbGwtcHJpbnQtcXVldWUpKQotICAgICAo ZXNoZWxsLWZsdXNoIDApKSkpCi0KIChkZWZ1biBlc2hlbGwtaW5pdC1wcmludC1idWZmZXIg KCkKICAgIkluaXRpYWxpemUgdGhlIGJ1ZmZlcmVkIHByaW50aW5nIHF1ZXVlLiIKKyAgKGRl Y2xhcmUgKG9ic29sZXRlICMnZXNoZWxsLXdpdGgtYnVmZmVyZWQtcHJpbnQgIjMwLjEiKSkK ICAgKGVzaGVsbC1mbHVzaCAtMSkpCiAKKyhkZWZ1biBlc2hlbGwtZmx1c2ggKCZvcHRpb25h bCBjbGVhcikKKyAgIkZsdXNoIG91dCBhbnkgbGluZXMgdGhhdCBoYXZlIGJlZW4gcXVldWVk IGZvciBwcmludGluZy4KK0lmIENMRUFSIGlzIG5vbi1uaWwsIGp1c3QgZGVsZXRlIHRoZSBl eGlzdGluZyBsaW5lcyBpbnN0ZWFkIG9mIHByaW50aW5nCit0aGVtLiIKKyAgKHdoZW4gZXNo ZWxsLXByaW50LXF1ZXVlCisgICAgKHVubGVzcyBjbGVhcgorICAgICAgKGVzaGVsbC1wcmlu dCAoYXBwbHkgIydjb25jYXQgZXNoZWxsLXByaW50LXF1ZXVlKSkKKyAgICAgIDs7IFdoZW4g cHJpbnRpbmcgaW50ZXJhY3RpdmVseSAoc2VlIGBlc2hlbGwtd2l0aC1idWZmZXJlZC1wcmlu dCcpLAorICAgICAgOzsgcGVyaW9kaWNhbGx5IHJlZGlzcGxheSBzbyB0aGUgdXNlciBjYW4g c2VlIHNvbWUgcHJvZ3Jlc3MuCisgICAgICAod2hlbiAoYW5kIGVzaGVsbC0tbmV4dC1yZWRp c3BsYXktdGltZQorICAgICAgICAgICAgICAgICAodGltZS1sZXNzLXAgZXNoZWxsLS1uZXh0 LXJlZGlzcGxheS10aW1lIChjdXJyZW50LXRpbWUpKSkKKyAgICAgICAgKHJlZGlzcGxheSkK KyAgICAgICAgKHNldHEgZXNoZWxsLS1uZXh0LXJlZGlzcGxheS10aW1lCisgICAgICAgICAg ICAgICh0aW1lLWFkZCBlc2hlbGwtLW5leHQtcmVkaXNwbGF5LXRpbWUKKyAgICAgICAgICAg ICAgICAgICAgICAgIGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3BsYXktdGhyb3R0bGUp KSkpCisgICAgKHNldHEgZXNoZWxsLXByaW50LXF1ZXVlIG5pbAorICAgICAgICAgIGVzaGVs bC1wcmludC1xdWV1ZS1zaXplIDApKSkKKwogKGRlZnVuIGVzaGVsbC1idWZmZXJlZC1wcmlu dCAoJnJlc3Qgc3RyaW5ncykKICAgIkEgYnVmZmVyZWQgcHJpbnQgLS0gKmZvciBzdHJpbmdz IG9ubHkqLiIKLSAgKGlmICg8IGVzaGVsbC1wcmludC1xdWV1ZS1jb3VudCAwKQotICAgICAg KHByb2duCi0JKGVzaGVsbC1wcmludCAoYXBwbHkgJ2NvbmNhdCBzdHJpbmdzKSkKLQkoc2V0 cSBlc2hlbGwtcHJpbnQtcXVldWUtY291bnQgMCkpCi0gICAgKGlmICg9IGVzaGVsbC1wcmlu dC1xdWV1ZS1jb3VudCBlc2hlbGwtcHJpbnQtcXVldWUtc2l6ZSkKLQkoZXNoZWxsLWZsdXNo KSkKLSAgICAoc2V0cSBlc2hlbGwtcHJpbnQtcXVldWUKLQkgIChjb25jYXQgZXNoZWxsLXBy aW50LXF1ZXVlIChhcHBseSAnY29uY2F0IHN0cmluZ3MpKQotCSAgZXNoZWxsLXByaW50LXF1 ZXVlLWNvdW50ICgxKyBlc2hlbGwtcHJpbnQtcXVldWUtY291bnQpKSkpCisgIChzZXRxIGVz aGVsbC1wcmludC1xdWV1ZQorICAgICAgICAobmNvbmMgZXNoZWxsLXByaW50LXF1ZXVlIHN0 cmluZ3MpCisgICAgICAgIGVzaGVsbC1wcmludC1xdWV1ZS1zaXplCisgICAgICAgICgrIGVz aGVsbC1wcmludC1xdWV1ZS1zaXplIChhcHBseSAjJysgKG1hcGNhciAjJ2xlbmd0aCBzdHJp bmdzKSkpKQorICAod2hlbiAoPiBlc2hlbGwtcHJpbnQtcXVldWUtc2l6ZSBlc2hlbGwtYnVm ZmVyZWQtcHJpbnQtc2l6ZSkKKyAgICAoZXNoZWxsLWZsdXNoKSkpCisKKyhkZWZtYWNybyBl c2hlbGwtd2l0aC1idWZmZXJlZC1wcmludCAoJnJlc3QgYm9keSkKKyAgIkluaXRpYWxpemUg YnVmZmVyZWQgcHJpbnRpbmcgZm9yIEVzaGVsbCwgYW5kIHRoZW4gZXZhbHVhdGUgQk9EWS4K K1doZW4gcHJpbnRpbmcgaW50ZXJhY3RpdmVseSwgdGhpcyB3aWxsIGNhbGwgYHJlZGlzcGxh eScgZXZlcnkKK2Blc2hlbGwtYnVmZmVyZWQtcHJpbnQtcmVkaXNwbGF5LXRocm90dGxlJyBz ZWNvbmRzIHNvIHRoYXQgdGhlIHVzZXIgY2FuCitzZWUgdGhlIHByb2dyZXNzLiIKKyAgKGRl Y2xhcmUgKGluZGVudCAwKSkKKyAgYCh1bndpbmQtcHJvdGVjdAorICAgICAgIChsZXQgKChl c2hlbGwtLW5leHQtcmVkaXNwbGF5LXRpbWUKKyAgICAgICAgICAgICAgKHdoZW4gKGFuZCBl c2hlbGwtYnVmZmVyZWQtcHJpbnQtcmVkaXNwbGF5LXRocm90dGxlCisgICAgICAgICAgICAg ICAgICAgICAgICAgKGVzaGVsbC1pbnRlcmFjdGl2ZS1vdXRwdXQtcCkpCisgICAgICAgICAg ICAgICAgKHRpbWUtYWRkIChjdXJyZW50LXRpbWUpCisgICAgICAgICAgICAgICAgICAgICAg ICAgIGVzaGVsbC1idWZmZXJlZC1wcmludC1yZWRpc3BsYXktdGhyb3R0bGUpKSkpCisgICAg ICAgICAgKGVzaGVsbC1mbHVzaCB0KQorICAgICAgICAgICxAYm9keSkKKyAgICAgKGVzaGVs bC1mbHVzaCkpKQogCiAoZGVmc3Vic3QgZXNoZWxsLWVycm9yIChvYmplY3QpCiAgICJPdXRw dXQgT0JKRUNUIHRvIHRoZSBzdGFuZGFyZCBlcnJvciBoYW5kbGUuIgpkaWZmIC0tZ2l0IGEv bGlzcC9lc2hlbGwvZXNoLXZhci5lbCBiL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKaW5kZXgg MDJiNWM3ODU2MjUuLmYwMjcwYWNhOTJjIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gt dmFyLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKQEAgLTQzNywxMCArNDM3LDkg QEAgZXNoZWxsL2VudgogICAgKGlmIGFyZ3MKICAgICAgICAob3IgKGVzaGVsbC1wYXJzZS1s b2NhbC12YXJpYWJsZXMgYXJncykKICAgICAgICAgICAgKGVzaGVsbC1uYW1lZC1jb21tYW5k IChjYXIgYXJncykgKGNkciBhcmdzKSkpCi0gICAgIChlc2hlbGwtaW5pdC1wcmludC1idWZm ZXIpCi0gICAgIChkb2xpc3QgKHNldHRpbmcgKHNvcnQgKGVzaGVsbC1lbnZpcm9ubWVudC12 YXJpYWJsZXMpICdzdHJpbmctbGVzc3ApKQotICAgICAgIChlc2hlbGwtYnVmZmVyZWQtcHJp bnQgc2V0dGluZyAiXG4iKSkKLSAgICAgKGVzaGVsbC1mbHVzaCkpKSkKKyAgICAgKGVzaGVs bC13aXRoLWJ1ZmZlcmVkLXByaW50CisgICAgICAgKGRvbGlzdCAoc2V0dGluZyAoc29ydCAo ZXNoZWxsLWVudmlyb25tZW50LXZhcmlhYmxlcykgJ3N0cmluZy1sZXNzcCkpCisgICAgICAg ICAoZXNoZWxsLWJ1ZmZlcmVkLXByaW50IHNldHRpbmcgIlxuIikpKSkpKQogCiAoZGVmdW4g ZXNoZWxsLWluc2VydC1lbnZ2YXIgKGVudnZhci1uYW1lKQogICAiSW5zZXJ0IEVOVlZBUi1O QU1FIGludG8gdGhlIGN1cnJlbnQgYnVmZmVyIGF0IHBvaW50LiIKLS0gCjIuMjUuMQoK --------------av8HtsLB2xJdLaE5qMPyAIeH Content-Type: text/plain; charset=UTF-8; name="0002-Improve-implementations-of-some-Eshell-output-filter.patch" Content-Disposition: attachment; filename*0="0002-Improve-implementations-of-some-Eshell-output-filter.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3YWY5ZDhkMDBjZjRjMWM5ODk5ZGRiZTdkMWUxMDEyOWQyNjFjMDllIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMyBKdW4gMjAyNCAyMjowNjo0OSAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8yXSBJbXByb3ZlIGltcGxlbWVudGF0aW9ucyBvZiBzb21lIEVzaGVsbCBvdXRwdXQg ZmlsdGVyCiBmdW5jdGlvbnMKCiogbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwgKGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20pOiBVc2UKJ2dldC1idWZmZXItd2luZG93LWxp c3QnIGZvciBzaW1wbGljaXR5LgooZXNoZWxsLWhhbmRsZS1jb250cm9sLWNvZGVzKTogVXNl ICdyZS1zZWFyY2gtZm9yd2FyZCc7IHRoaXMgd2F5IGlzIG11Y2gKZmFzdGVyLgoKKiB0ZXN0 L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsOiBOZXcgZmlsZS4KLS0tCiBsaXNwL2Vz aGVsbC9lc2gtbW9kZS5lbCAgICAgICAgICAgIHwgNjggKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsIHwgNjIgKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKyksIDM4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbGlzcC9l c2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gt bW9kZS5lbCBiL2xpc3AvZXNoZWxsL2VzaC1tb2RlLmVsCmluZGV4IGU2ZjNjYjVmNmFkLi5l YzFhMDdiN2UyZiAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKKysrIGIv bGlzcC9lc2hlbGwvZXNoLW1vZGUuZWwKQEAgLTc2NSwzMCArNzY1LDI1IEBAIGVzaGVsbC1w b3N0b3V0cHV0LXNjcm9sbC10by1ib3R0b20KIAkgKGN1cnJlbnQgKGN1cnJlbnQtYnVmZmVy KSkKIAkgKHNjcm9sbCBlc2hlbGwtc2Nyb2xsLXRvLWJvdHRvbS1vbi1vdXRwdXQpKQogICAg ICh1bndpbmQtcHJvdGVjdAotCSh3YWxrLXdpbmRvd3MKLSAgICAgICAgIChsYW1iZGEgKHdp bmRvdykKLSAgICAgICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGN1cnJl bnQpCi0gICAgICAgICAgICAgICAocHJvZ24KLSAgICAgICAgICAgICAgICAgKHNlbGVjdC13 aW5kb3cgd2luZG93KQotICAgICAgICAgICAgICAgICAoaWYgKGFuZCAoPCAocG9pbnQpIGVz aGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChvciAo ZXEgc2Nyb2xsIHQpIChlcSBzY3JvbGwgJ2FsbCkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7IE1heWJlIHVzZXIgd2FudHMgcG9pbnQgdG8ganVtcCB0byBlbmQuCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChlcSBzY3JvbGwgJ3RoaXMpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSBzZWxlY3RlZCB3aW5kb3cpKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICdvdGhlcnMp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxIHNlbGVjdGVk IHdpbmRvdykpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgSWYgcG9pbnQg d2FzIGF0IHRoZSBlbmQsIGtlZXAgaXQgYXQgZW5kLgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKD49IChwb2ludCkgZXNoZWxsLWxhc3Qtb3V0cHV0LXN0YXJ0KSkpCi0gICAg ICAgICAgICAgICAgICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQot ICAgICAgICAgICAgICAgICA7OyBPcHRpb25hbGx5IHNjcm9sbCBzbyB0aGF0IHRoZSB0ZXh0 Ci0gICAgICAgICAgICAgICAgIDs7IGVuZHMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93 LgotICAgICAgICAgICAgICAgICAoaWYgKGFuZCBlc2hlbGwtc2Nyb2xsLXNob3ctbWF4aW11 bS1vdXRwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKD49IChwb2ludCkgZXNoZWxs LWxhc3Qtb3V0cHV0LWVuZCkpCi0gICAgICAgICAgICAgICAgICAgICAoc2F2ZS1leGN1cnNp b24KLSAgICAgICAgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9pbnQtbWF4KSkKLSAg ICAgICAgICAgICAgICAgICAgICAgKHJlY2VudGVyIC0xKSkpCi0gICAgICAgICAgICAgICAg IChzZWxlY3Qtd2luZG93IHNlbGVjdGVkKSkpKQotCSBuaWwgdCkKKyAgICAgICAgKGRvbGlz dCAod2luZG93IChnZXQtYnVmZmVyLXdpbmRvdy1saXN0IGN1cnJlbnQgbmlsIHQpKQorICAg ICAgICAgICh3aXRoLXNlbGVjdGVkLXdpbmRvdyB3aW5kb3cKKyAgICAgICAgICAgICh3aGVu IChhbmQgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAgICAg ICAgICAgICAgICAob3IgKGVxIHNjcm9sbCB0KSAoZXEgc2Nyb2xsICdhbGwpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyBNYXliZSB1c2VyIHdhbnRzIHBvaW50IHRvIGp1bXAg dG8gZW5kLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoZXEgc2Nyb2xsICd0 aGlzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgc2VsZWN0ZWQgd2lu ZG93KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKGVxIHNjcm9sbCAnb3Ro ZXJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChlcSBzZWxlY3Rl ZCB3aW5kb3cpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IElmIHBvaW50IHdh cyBhdCB0aGUgZW5kLCBrZWVwIGl0IGF0IGVuZC4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICg+PSAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1zdGFydCkpKQorICAgICAgICAg ICAgICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpKQorICAgICAgICAgICAg OzsgT3B0aW9uYWxseSBzY3JvbGwgc28gdGhhdCB0aGUgdGV4dCBlbmRzIGF0IHRoZSBib3R0 b20gb2YKKyAgICAgICAgICAgIDs7IHRoZSB3aW5kb3cuCisgICAgICAgICAgICAod2hlbiAo YW5kIGVzaGVsbC1zY3JvbGwtc2hvdy1tYXhpbXVtLW91dHB1dAorICAgICAgICAgICAgICAg ICAgICAgICAoPj0gKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKSkKKyAgICAgICAg ICAgICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGdvdG8tY2hhciAocG9p bnQtbWF4KSkKKyAgICAgICAgICAgICAgICAocmVjZW50ZXIgLTEpKSkpKQogICAgICAgKHNl dC1idWZmZXIgY3VycmVudCkpKSkKIAogKGRlZnVuIGVzaGVsbC1iZWdpbm5pbmctb2YtaW5w dXQgKCkKQEAgLTk3NywyNyArOTcyLDI0IEBAIGVzaGVsbC1oYW5kbGUtY29udHJvbC1jb2Rl cwogICAgIChnb3RvLWNoYXIgZXNoZWxsLWxhc3Qtb3V0cHV0LWJsb2NrLWJlZ2luKQogICAg ICh1bmxlc3MgKGVvbHApCiAgICAgICAoYmVnaW5uaW5nLW9mLWxpbmUpKQotICAgICh3aGls ZSAoPCAocG9pbnQpIGVzaGVsbC1sYXN0LW91dHB1dC1lbmQpCi0gICAgICAobGV0ICgoY2hh ciAoY2hhci1hZnRlcikpKQorICAgICh3aGlsZSAocmUtc2VhcmNoLWZvcndhcmQgKHJ4IChh bnkgP1xyID9cYSA/XEMtaCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2hl bGwtbGFzdC1vdXRwdXQtZW5kIHQpCisgICAgICAobGV0ICgoY2hhciAoY2hhci1iZWZvcmUp KSkKICAgICAgICAgKGNvbmQKICAgICAgICAgICgoZXEgY2hhciA/XHIpCi0gICAgICAgICAg KGlmICg8ICgxKyAocG9pbnQpKSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQotICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKDErIChwb2ludCkpKQotICAgICAgICAgICAg ICAgICAgICAgICAgJyg/XG4gP1xyKSkKLSAgICAgICAgICAgICAgICAgIChkZWxldGUtY2hh ciAxKQotICAgICAgICAgICAgICAgIChsZXQgKChlbmQgKDErIChwb2ludCkpKSkKKyAgICAg ICAgICAoaWYgKDwgKHBvaW50KSBlc2hlbGwtbGFzdC1vdXRwdXQtZW5kKQorICAgICAgICAg ICAgICAoaWYgKG1lbXEgKGNoYXItYWZ0ZXIgKHBvaW50KSkgJyg/XG4gP1xyKSkKKyAgICAg ICAgICAgICAgICAgIChkZWxldGUtY2hhciAtMSkKKyAgICAgICAgICAgICAgICAobGV0ICgo ZW5kIChwb2ludCkpKQogICAgICAgICAgICAgICAgICAgKGJlZ2lubmluZy1vZi1saW5lKQog ICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1yZWdpb24gKHBvaW50KSBlbmQpKSkKLSAgICAg ICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVzIChwb2ludCkgKDErIChwb2ludCkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGludmlzaWJsZSB0KSkKLSAgICAgICAg ICAgIChmb3J3YXJkLWNoYXIpKSkKKyAgICAgICAgICAgIChhZGQtdGV4dC1wcm9wZXJ0aWVz ICgxLSAocG9pbnQpKSAocG9pbnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnKGludmlzaWJsZSB0KSkpKQogICAgICAgICAgKChlcSBjaGFyID9cYSkKLSAgICAgICAg ICAoZGVsZXRlLWNoYXIgMSkKKyAgICAgICAgICAoZGVsZXRlLWNoYXIgLTEpCiAgICAgICAg ICAgKGJlZXApKQogICAgICAgICAgKChlcSBjaGFyID9cQy1oKQotICAgICAgICAgIChkZWxl dGUtcmVnaW9uICgxLSAocG9pbnQpKSAoMSsgKHBvaW50KSkpKQotICAgICAgICAgKHQKLSAg ICAgICAgICAoZm9yd2FyZC1jaGFyKSkpKSkpKQorICAgICAgICAgIChkZWxldGUtcmVnaW9u ICgtIChwb2ludCkgMikgKHBvaW50KSkpKSkpKSkKIAogKGN1c3RvbS1hZGQtb3B0aW9uICdl c2hlbGwtb3V0cHV0LWZpbHRlci1mdW5jdGlvbnMKIAkJICAgJ2VzaGVsbC1oYW5kbGUtY29u dHJvbC1jb2RlcykKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVz dHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1tb2RlLXRlc3RzLmVsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4zMDZlMTFjZTQ0NQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW1vZGUtdGVzdHMuZWwKQEAgLTAsMCArMSw2 MiBAQAorOzs7IGVzaC1tb2RlLXRlc3RzLmVsIC0tLSBlc2gtbW9kZSB0ZXN0IHN1aXRlICAt Ki0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMi0yMDI0 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7OyBUaGlzIGZpbGUgaXMgcGFy dCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u CisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7 OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uCisKKzs7OyBDb21tZW50YXJ5OgorCis7OyBUZXN0cyBmb3IgRXNo ZWxsJ3MgY29tbWFuZCBpbnZvY2F0aW9uLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2Vy dCkKKyhyZXF1aXJlICdlc2gtbW9kZSkKKyhyZXF1aXJlICdlc2hlbGwpCisKKyhyZXF1aXJl ICdlc2hlbGwtdGVzdHMtaGVscGVycworICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImVz aGVsbC10ZXN0cy1oZWxwZXJzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGUt bmFtZS1kaXJlY3RvcnkgKG9yIGxvYWQtZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdC1kaXJlY3RvcnkpKSkp CisKKzs7OyBUZXN0czoKKworKGVydC1kZWZ0ZXN0IGVzaC1tb2RlLXRlc3QvaGFuZGxlLWNv bnRyb2wtY29kZXMvY2FycmlhZ2UtcmV0dXJuICgpCisgICJUZXN0IHRoYXQgRXNoZWxsIGhh bmRsZXMgY2FycmlhZ2UgcmV0dXJucyBwcm9wZXJseS4iCisgICh3aXRoLXRlbXAtZXNoZWxs CisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZvcm1hdCBcImhlbGxvXHJc bmdvb2RieWVcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVs bG9cbmdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1dCAiKGZv cm1hdCBcImhlbGxvXHJnb29kYnllXCIpIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGdvb2RieWVcbiIpCisgICAgKGVzaGVsbC1tYXRjaC1jb21tYW5kLW91dHB1 dCAiKGZvcm1hdCBcImhlbGxvXHJcIikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiXFxgaGVsbG8iKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0L2hhbmRs ZS1jb250cm9sLWNvZGVzL2JlbGwgKCkKKyAgIlRlc3QgdGhhdCBFc2hlbGwgaGFuZGxlcyBi ZWxscyBwcm9wZXJseS4iCisgIChjbC1sZXRmKiAoKGJlZXAtY2FsbGVkIG5pbCkKKyAgICAg ICAgICAgICAoKHN5bWJvbC1mdW5jdGlvbiAnYmVlcCkgKGxhbWJkYSAoKSAoc2V0cSBiZWVw LWNhbGxlZCB0KSkpKQorICAgICh3aXRoLXRlbXAtZXNoZWxsCisgICAgICAoZXNoZWxsLW1h dGNoLWNvbW1hbmQtb3V0cHV0ICIoZm9ybWF0IFwiaGVsbG9cYXRoZXJlXCIpIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXFxgaGVsbG90aGVyZVxuIikKKyAgICAg IChzaG91bGQgYmVlcC1jYWxsZWQpKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtbW9kZS10ZXN0 L2hhbmRsZS1jb250cm9sLWNvZGVzL2JhY2tzcGFjZSAoKQorICAiVGVzdCB0aGF0IEVzaGVs bCBoYW5kbGVzIGJhY2tzcGFjZXMgcHJvcGVybHkuIgorICAod2l0aC10ZW1wLWVzaGVsbAor ICAgIChlc2hlbGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQgKGZvcm1hdCAiKGZvcm1hdCBcImhl bGxvJWMlY3BcIikiID9cQy1oID9cQy1oKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlxcYGhlbHBcbiIpKSkKKworOzsgZXNoLW1vZGUtdGVzdHMuZWwgZW5kcyBoZXJl Ci0tIAoyLjI1LjEKCg== --------------av8HtsLB2xJdLaE5qMPyAIeH-- ------------=_1717875902-30641-1--