From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Liu Hui Newsgroups: gmane.emacs.bugs Subject: bug#66768: 30.0.50; [PATCH] Improve read/append behavior of eshell history command Date: Tue, 7 Nov 2023 18:14:30 +0800 Message-ID: References: <3d7b6c5e-ee22-91a2-93bd-1fd99d3eb301@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000032d51a06098d3d03" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33941"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 66768@debbugs.gnu.org To: Jim Porter Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Nov 07 11:25:49 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1r0JHI-0008YQ-3O for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 07 Nov 2023 11:25:48 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r0J7I-0006wB-H8; Tue, 07 Nov 2023 05:15:28 -0500 Original-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 1r0J7E-0006sI-II for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2023 05:15:25 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r0J7E-0003Tk-AB for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2023 05:15:24 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1r0J7p-0004iK-Ub for bug-gnu-emacs@gnu.org; Tue, 07 Nov 2023 05:16:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Liu Hui Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 07 Nov 2023 10:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66768 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 66768-submit@debbugs.gnu.org id=B66768.169935212718061 (code B ref 66768); Tue, 07 Nov 2023 10:16:01 +0000 Original-Received: (at 66768) by debbugs.gnu.org; 7 Nov 2023 10:15:27 +0000 Original-Received: from localhost ([127.0.0.1]:41349 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0J7H-0004hE-52 for submit@debbugs.gnu.org; Tue, 07 Nov 2023 05:15:27 -0500 Original-Received: from mail-vk1-xa33.google.com ([2607:f8b0:4864:20::a33]:43469) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r0J7F-0004h1-KQ for 66768@debbugs.gnu.org; Tue, 07 Nov 2023 05:15:26 -0500 Original-Received: by mail-vk1-xa33.google.com with SMTP id 71dfb90a1353d-4ac211e5bbbso1732643e0c.1 for <66768@debbugs.gnu.org>; Tue, 07 Nov 2023 02:14:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699352082; x=1699956882; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5Ekls6L27Tgsxca982FNrSkGSUPxeh8meGXrtxE1BI0=; b=Oc4SkbSq7Wc55zlmj1dA3D378zA4Qfc8a7k+Gq3VBhhohdBua1BZvqTm/Z3hwbNCFk TRdvnytDO6qhQTemmMpRXbbwWXZr1wB+4BYTMdMrxaSrdOYJMIwk6IOuWVLGO9HcKznb N711AQMZx4nYvpWJFz95J+8LiDfar3Cb7irGdRoFgEyyWUxtOR+qviWQ4aMa4M9OE0h+ +zAgTO5iblVM+6QFx56dfF6QiA8bkrYMHRp77emA9Es95eIjqQJlP6yzY9jUs4rvrR6h iEj+qj4DV+CRu0IQAQMiZAeobfacxc3iS56qdOrd92a5J/N/qdBqDmD05bWoPDv3REa/ qSTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699352082; x=1699956882; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5Ekls6L27Tgsxca982FNrSkGSUPxeh8meGXrtxE1BI0=; b=GiclSqeDDCZlTH8SdQq6BEak33/NYl1Hc3tGd0GYbtc/71BGYcfkHBw7QggtmCJTM7 ROfOM/DHw2khpEf3IpcUaau0m8dvP+aiESmYmIEEmxfFcsgh1G0A4TuHdSsCIFlX4jD1 Q2w8zRDaNmqT24iNxrTtYGM6UTWlDpvVfGQPcAzGKOH2amAaa+G14Gz4lpvPKeChPW+O kled2Y9tDJCOHWCyxoaJQRGIyJIAwVEV//IvjF7WZ3o+xwpjaCsDBnfMey/qyATc20i7 DGtvTIgyrLTwlbBofRp4dhaQDJU+Ad9U5xD9ypTURh97x5HopFbkX/yOoY+/MxNAnp5r McjA== X-Gm-Message-State: AOJu0YwDKancPG6/j8OBarvcoFPTZGegZGoEoga6c3WqJQj2nspkPqRX BFJHolgkLKTYHvBItund/CQhy03lVphBqzCfebw= X-Google-Smtp-Source: AGHT+IH8s5H3vSr+h+ErRe6nD6z5bsWHU1hlCHmpFQgmy5TKaAU0TEqgiFc1M+S9TZeLs4MOohKUD2BxFvIKAajEf9E= X-Received: by 2002:a1f:ac04:0:b0:49a:b9ed:8c19 with SMTP id v4-20020a1fac04000000b0049ab9ed8c19mr1047264vke.7.1699352082015; Tue, 07 Nov 2023 02:14:42 -0800 (PST) In-Reply-To: <3d7b6c5e-ee22-91a2-93bd-1fd99d3eb301@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:273922 Archived-At: --00000000000032d51a06098d3d03 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Jim Porter =E4=BA=8E2023=E5=B9=B411=E6=9C=884=E6=97= =A5=E5=91=A8=E5=85=AD 03:38=E5=86=99=E9=81=93=EF=BC=9A > In the meantime though, this is a step in the right direction. Some > comments on the code: > > > +(defvar eshell-hist--new-items 0 > > + "The number of new history items that have not been written to > > +file. This variable is local in each eshell buffer.") > > To prevent mistakes, I'd set this to nil here, and then call > '(setq-local eshell-hist--new-items 0)' in 'eshell-hist-initialize'. > > > -(defun eshell-write-history (&optional filename append) > > +(defun eshell-write-history (&optional filename append new-items) > > I don't think this new argument is necessary. I suppose you did this for > backwards-compatibility, but I'd say that the current appending behavior > is just a bug, so you don't need to add an explicit way to opt into your > new behavior; just do it whenever 'append' is non-nil. > > Some regression tests would also be nice. There are already a few in > test/lisp/eshell/em-hist-tests.el that you should be able to use as a bas= is. Thanks for your comments! I've updated the patch to address all concerns. --00000000000032d51a06098d3d03 Content-Type: application/x-patch; name="0001-Improve-read-append-behavior-of-eshell-history-comma.patch" Content-Disposition: attachment; filename="0001-Improve-read-append-behavior-of-eshell-history-comma.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_loo6bfgh0 RnJvbSAzYjg3NWI4OWViNjliNDczMzM3M2Q4YTc5YzI3NmJkZGY4MzU2MTMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMaXUgSHVpIDxsaXVodWkxNjEwQGdtYWlsLmNvbT4KRGF0ZTog VHVlLCA3IE5vdiAyMDIzIDA5OjEwOjU5ICswODAwClN1YmplY3Q6IFtQQVRDSF0gSW1wcm92ZSBy ZWFkL2FwcGVuZCBiZWhhdmlvciBvZiBlc2hlbGwgaGlzdG9yeSBjb21tYW5kCgoqIGxpc3AvZXNo ZWxsL2VtLWhpc3QuZWwgKGVzaGVsbC1oaXN0LS1uZXctaXRlbXMpOiBOZXcgdmFyaWFibGUuCihl c2hlbGwtaGlzdC1pbml0aWFsaXplKTogSW5pdGlhbGl6ZSBgZXNoZWxsLWhpc3QtLW5ldy1pdGVt cycgdG8gMC4KKGVzaGVsbC9oaXN0b3J5KTogQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiAnaGlzdG9y eSAtYScgdG8gImFwcGVuZCBuZXcKaGlzdG9yeSBpbiBjdXJyZW50IGJ1ZmZlciB0byBoaXN0b3J5 IGZpbGUiLiAgQ2xhcmlmeSB0aGUgaGVscCB0ZXh0IG9mCidoaXN0b3J5IC1yJy4KKGVzaGVsbC1h ZGQtaW5wdXQtdG8taGlzdG9yeSk6IEluY3JlYXNlIGNvdW50ZXIgb2YgbmV3IGhpc3RvcnkgaXRl bXMuCihlc2hlbGwtcmVhZC1oaXN0b3J5KTogUmVzcGVjdCBlc2hlbGwtaGlzdC1pZ25vcmVkdXBz IG9wdGlvbi4KKGVzaGVsbC13cml0ZS1oaXN0b3J5KTogSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50 IEFQUEVORCBpcyBub24tbmlsLAphcHBlbmRpbmcgbmV3IGhpc3RvcnkgaXRlbXMgcmF0aGVyIHRo YW4gdGhlIHdob2xlIGhpc3RvcnkuCiogdGVzdC9saXNwL2VzaGVsbC9lbS1oaXN0LXRlc3RzLmVs IChlbS1oaXN0LXRlc3QvaGlzdG9yeS1hcHBlbmQpOgooZW0taGlzdC10ZXN0L2hpc3RvcnktcmVh ZCk6IE5ldyB0ZXN0cy4KLS0tCiBsaXNwL2VzaGVsbC9lbS1oaXN0LmVsICAgICAgICAgICAgfCA0 NyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VtLWhp c3QtdGVzdHMuZWwgfCAzNCArKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDY1IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZXNo ZWxsL2VtLWhpc3QuZWwgYi9saXNwL2VzaGVsbC9lbS1oaXN0LmVsCmluZGV4IDlkNGI3MmIwMWRm Li43NzVmMzJjNjUxOCAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0taGlzdC5lbAorKysgYi9s aXNwL2VzaGVsbC9lbS1oaXN0LmVsCkBAIC0xOTUsNiArMTk1LDkgQEAgZXNoZWxsLWhpc3Rvcnkt cmluZwogKGRlZnZhciBlc2hlbGwtaGlzdG9yeS1pbmRleCBuaWwpCiAoZGVmdmFyIGVzaGVsbC1t YXRjaGluZy1pbnB1dC1mcm9tLWlucHV0LXN0cmluZyAiIikKIChkZWZ2YXIgZXNoZWxsLXNhdmUt aGlzdG9yeS1pbmRleCBuaWwpCisoZGVmdmFyIGVzaGVsbC1oaXN0LS1uZXctaXRlbXMgbmlsCisg ICJUaGUgbnVtYmVyIG9mIG5ldyBoaXN0b3J5IGl0ZW1zIHRoYXQgaGF2ZSBub3QgYmVlbiB3cml0 dGVuIHRvCitmaWxlLiAgVGhpcyB2YXJpYWJsZSBpcyBsb2NhbCBpbiBlYWNoIGVzaGVsbCBidWZm ZXIuIikKIAogKGRlZnZhci1rZXltYXAgZXNoZWxsLWlzZWFyY2gtbWFwCiAgIDpkb2MgIktleW1h cCB1c2VkIGluIGlzZWFyY2ggaW4gRXNoZWxsLiIKQEAgLTI4Myw2ICsyODYsNyBAQCBlc2hlbGwt aGlzdC1pbml0aWFsaXplCiAKICAgKG1ha2UtbG9jYWwtdmFyaWFibGUgJ2VzaGVsbC1oaXN0b3J5 LWluZGV4KQogICAobWFrZS1sb2NhbC12YXJpYWJsZSAnZXNoZWxsLXNhdmUtaGlzdG9yeS1pbmRl eCkKKyAgKHNldHEtbG9jYWwgZXNoZWxsLWhpc3QtLW5ldy1pdGVtcyAwKQogCiAgIChpZiAobWlu aWJ1ZmZlci13aW5kb3ctYWN0aXZlLXAgKHNlbGVjdGVkLXdpbmRvdykpCiAgICAgICAoc2V0cS1s b2NhbCBlc2hlbGwtc2F2ZS1oaXN0b3J5LW9uLWV4aXQgbmlsKQpAQCAtMzIzLDExICszMjcsMTEg QEAgZXNoZWxsL2hpc3RvcnkKICAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKICAgICJoaXN0 b3J5IiBhcmdzCiAgICAnKCg/ciAicmVhZCIgbmlsIHJlYWQtaGlzdG9yeQotCSAicmVhZCBmcm9t IGhpc3RvcnkgZmlsZSB0byBjdXJyZW50IGhpc3RvcnkgbGlzdCIpCisJICJjbGVhciBjdXJyZW50 IGhpc3RvcnkgbGlzdCBhbmQgcmVhZCBmcm9tIGhpc3RvcnkgZmlsZSB0byBpdCIpCiAgICAgICg/ dyAid3JpdGUiIG5pbCB3cml0ZS1oaXN0b3J5CiAJICJ3cml0ZSBjdXJyZW50IGhpc3RvcnkgbGlz dCB0byBoaXN0b3J5IGZpbGUiKQogICAgICAoP2EgImFwcGVuZCIgbmlsIGFwcGVuZC1oaXN0b3J5 Ci0JICJhcHBlbmQgY3VycmVudCBoaXN0b3J5IGxpc3QgdG8gaGlzdG9yeSBmaWxlIikKKwkgImFw cGVuZCBuZXcgaGlzdG9yeSBpbiBjdXJyZW50IGJ1ZmZlciB0byBoaXN0b3J5IGZpbGUiKQogICAg ICAoP2ggImhlbHAiIG5pbCBuaWwgImRpc3BsYXkgdGhpcyB1c2FnZSBtZXNzYWdlIikKICAgICAg OnVzYWdlICJbbl0gWy1yd2EgW2ZpbGVuYW1lXV0iCiAgICAgIDpwb3N0LXVzYWdlCkBAIC0zOTQs NiArMzk4LDggQEAgZXNoZWxsLWFkZC1pbnB1dC10by1oaXN0b3J5CiAgICAgICAgICAgICAgICAo XyAgICAgICAgICAgICAgICAgICAgICAgOyBBZGQgaWYgbm90IGFscmVhZHkgdGhlIGxhdGVzdCBl bnRyeQogICAgICAgICAgICAgICAgIChvciAocmluZy1lbXB0eS1wIGVzaGVsbC1oaXN0b3J5LXJp bmcpCiAgICAgICAgICAgICAgICAgICAgIChub3QgKHN0cmluZy1lcXVhbCAoZXNoZWxsLWdldC1o aXN0b3J5IDApIGlucHV0KSkpKSkpCisgICAgKHNldHEgZXNoZWxsLWhpc3QtLW5ldy1pdGVtcwor ICAgICAgICAgIChtaW4gZXNoZWxsLWhpc3Rvcnktc2l6ZSAoMSsgZXNoZWxsLWhpc3QtLW5ldy1p dGVtcykpKQogICAgIChlc2hlbGwtcHV0LWhpc3RvcnkgaW5wdXQpKQogICAoc2V0cSBlc2hlbGwt c2F2ZS1oaXN0b3J5LWluZGV4IGVzaGVsbC1oaXN0b3J5LWluZGV4KQogICAoc2V0cSBlc2hlbGwt aGlzdG9yeS1pbmRleCBuaWwpKQpAQCAtNDU1LDIxICs0NjEsMjggQEAgZXNoZWxsLXJlYWQtaGlz dG9yeQogCQkgICAgICAocmUtc2VhcmNoLWJhY2t3YXJkICJeWyBcdF0qXFwoW14jXG5dLipcXClb IFx0XSokIgogCQkJCQkgIG5pbCB0KSkKIAkgICAgKGxldCAoKGhpc3RvcnkgKG1hdGNoLXN0cmlu ZyAxKSkpCi0JICAgICAgKGlmIChvciAobnVsbCBpZ25vcmUtZHVwcykKLQkJICAgICAgKHJpbmct ZW1wdHktcCByaW5nKQotCQkgICAgICAobm90IChzdHJpbmctZXF1YWwgKHJpbmctcmVmIHJpbmcg MCkgaGlzdG9yeSkpKQotCQkgIChyaW5nLWluc2VydC1hdC1iZWdpbm5pbmcKLQkJICAgcmluZyAo c3Vic3QtY2hhci1pbi1zdHJpbmcgP1wxNzcgP1xuIGhpc3RvcnkpKSkpCi0JICAgIChzZXRxIGNv dW50ICgxKyBjb3VudCkpKSkKKyAgICAgICAgICAgICAgKHdoZW4gKG9yIChyaW5nLWVtcHR5LXAg cmluZykKKyAgICAgICAgICAgICAgICAgICAgICAgIChudWxsIGlnbm9yZS1kdXBzKQorICAgICAg ICAgICAgICAgICAgICAgICAgKGFuZCAobm90IChzdHJpbmctZXF1YWwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHJpbmctcmVmIHJpbmcgKDEtIChyaW5nLWxlbmd0aCByaW5n KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpc3RvcnkpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAobm90IChhbmQgKGVxIGlnbm9yZS1kdXBzICdlcmFzZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyaW5nLW1lbWJlciByaW5n IGhpc3RvcnkpKSkpKQorICAgICAgICAgICAgICAgIChyaW5nLWluc2VydC1hdC1iZWdpbm5pbmcK KwkJIHJpbmcgKHN1YnN0LWNoYXItaW4tc3RyaW5nID9cMTc3ID9cbiBoaXN0b3J5KSkKKyAgICAg ICAgICAgICAgICAoc2V0cSBjb3VudCAoMSsgY291bnQpKSkpKSkKIAkoc2V0cSBlc2hlbGwtaGlz dG9yeS1yaW5nIHJpbmcKLQkgICAgICBlc2hlbGwtaGlzdG9yeS1pbmRleCBuaWwpKSkpKSkKKwkg ICAgICBlc2hlbGwtaGlzdG9yeS1pbmRleCBuaWwKKyAgICAgICAgICAgICAgZXNoZWxsLWhpc3Qt LW5ldy1pdGVtcyAwKSkpKSkpCiAKIChkZWZ1biBlc2hlbGwtd3JpdGUtaGlzdG9yeSAoJm9wdGlv bmFsIGZpbGVuYW1lIGFwcGVuZCkKICAgIldyaXRlcyB0aGUgYnVmZmVyJ3MgYGVzaGVsbC1oaXN0 b3J5LXJpbmcnIHRvIGEgaGlzdG9yeSBmaWxlLgotVGhlIG5hbWUgb2YgdGhlIGZpbGUgaXMgZ2l2 ZW4gYnkgdGhlIHZhcmlhYmxlCi1gZXNoZWxsLWhpc3RvcnktZmlsZS1uYW1lJy4gIFRoZSBvcmln aW5hbCBjb250ZW50cyBvZiB0aGUgZmlsZSBhcmUKLWxvc3QgaWYgYGVzaGVsbC1oaXN0b3J5LXJp bmcnIGlzIG5vdCBlbXB0eS4gIElmCi1gZXNoZWxsLWhpc3RvcnktZmlsZS1uYW1lJyBpcyBuaWwg dGhpcyBmdW5jdGlvbiBkb2VzIG5vdGhpbmcuCitJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgRklM RU5BTUUgaXMgbmlsLCB0aGUgdmFsdWUgb2YKK2Blc2hlbGwtaGlzdG9yeS1maWxlLW5hbWUnIGlz IHVzZWQuICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90aGluZworaWYgdGhlIHZhbHVlIHJlc29sdmVz IHRvIG5pbC4gIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCBBUFBFTkQgaXMKK29taXR0ZWQgb3Ig bmlsLCB0aGUgb3JpZ2luYWwgY29udGVudHMgb2YgdGhlIGZpbGUgYXJlIGxvc3QgaWYKK2Blc2hl bGwtaGlzdG9yeS1yaW5nJyBpcyBub3QgZW1wdHkuICBBIG5vbi1uaWwgdmFsdWUgbWVhbnMgdG8K K2FwcGVuZCBuZXcgaGlzdG9yeSBpdGVtcyB0byB0aGUgaGlzdG9yeSBmaWxlLgogCiBVc2VmdWwg d2l0aGluIHByb2Nlc3Mgc2VudGluZWxzLgogCkBAIC00ODAsMTMgKzQ5MywxNCBAQCBlc2hlbGwt d3JpdGUtaGlzdG9yeQogICAgICAoKG9yIChudWxsIGZpbGUpCiAJICAoZXF1YWwgZmlsZSAiIikK IAkgIChudWxsIGVzaGVsbC1oaXN0b3J5LXJpbmcpCi0JICAocmluZy1lbXB0eS1wIGVzaGVsbC1o aXN0b3J5LXJpbmcpKQorCSAgKHJpbmctZW1wdHktcCBlc2hlbGwtaGlzdG9yeS1yaW5nKQorICAg ICAgICAgIChhbmQgYXBwZW5kICg9IGVzaGVsbC1oaXN0LS1uZXctaXRlbXMgMCkpKQogICAgICAg bmlsKQogICAgICAoKG5vdCAoZmlsZS13cml0YWJsZS1wIHJlc29sdmVkLWZpbGUpKQogICAgICAg KG1lc3NhZ2UgIkNhbm5vdCB3cml0ZSBoaXN0b3J5IGZpbGUgJXMiIHJlc29sdmVkLWZpbGUpKQog ICAgICAodAogICAgICAgKGxldCogKChyaW5nIGVzaGVsbC1oaXN0b3J5LXJpbmcpCi0JICAgICAo aW5kZXggKHJpbmctbGVuZ3RoIHJpbmcpKSkKKwkgICAgIChpbmRleCAoaWYgYXBwZW5kIGVzaGVs bC1oaXN0LS1uZXctaXRlbXMgKHJpbmctbGVuZ3RoIHJpbmcpKSkpCiAJOzsgV3JpdGUgaXQgYWxs IG91dCBpbnRvIGEgYnVmZmVyIGZpcnN0LiAgTXVjaCBmYXN0ZXIsIGJ1dAogCTs7IG1lc3NpZXIs IHRoYW4gd3JpdGluZyBpdCBvbmUgbGluZSBhdCBhIHRpbWUuCiAJKHdpdGgtdGVtcC1idWZmZXIK QEAgLTQ5OSw3ICs1MTMsOCBAQCBlc2hlbGwtd3JpdGUtaGlzdG9yeQogCSAgICAgIChzdWJzdC1j aGFyLWluLXJlZ2lvbiBzdGFydCAoMS0gKHBvaW50KSkgP1xuID9cMTc3KSkpCiAJICAoZXNoZWxs LXdpdGgtcHJpdmF0ZS1maWxlLW1vZGVzCiAJICAgKHdyaXRlLXJlZ2lvbiAocG9pbnQtbWluKSAo cG9pbnQtbWF4KSByZXNvbHZlZC1maWxlIGFwcGVuZAotCQkJICduby1tZXNzYWdlKSkpKSkpKSkK KwkJCSAnbm8tbWVzc2FnZSkpKQorICAgICAgICAoc2V0cSBlc2hlbGwtaGlzdC0tbmV3LWl0ZW1z IDApKSkpKSkKIAogKGRlZnVuIGVzaGVsbC1saXN0LWhpc3RvcnkgKCkKICAgIkxpc3QgaW4gaGVs cCBidWZmZXIgdGhlIGJ1ZmZlcidzIGlucHV0IGhpc3RvcnkuIgpkaWZmIC0tZ2l0IGEvdGVzdC9s aXNwL2VzaGVsbC9lbS1oaXN0LXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lbS1oaXN0LXRl c3RzLmVsCmluZGV4IDBmMTQzMzU1MTE1Li40ODUxYmRjNTBiMiAxMDA2NDQKLS0tIGEvdGVzdC9s aXNwL2VzaGVsbC9lbS1oaXN0LXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZW0taGlz dC10ZXN0cy5lbApAQCAtNDEsNiArNDEsNDAgQEAgZW0taGlzdC10ZXN0L3dyaXRlLXJlYWRvbmx5 LWhpc3RvcnkKICAgICAgICAgICAgICAgICAgICAocHJvcGVydGl6ZSAiZWNobyBiYXIiICdyZWFk LW9ubHkgdCkpCiAgICAgICAoZXNoZWxsLXdyaXRlLWhpc3RvcnkgaGlzdGZpbGUpKSkpCiAKKyhl cnQtZGVmdGVzdCBlbS1oaXN0LXRlc3QvaGlzdG9yeS1hcHBlbmQgKCkKKyAgIlRlc3QgJ2hpc3Rv cnkgLWEnLiIKKyAgKGVydC13aXRoLXRlbXAtZmlsZSBoaXN0ZmlsZQorICAgICh3aXRoLXRlbXAt ZXNoZWxsCisgICAgIChsZXQgKChlc2hlbGwtaGlzdG9yeS1maWxlLW5hbWUgaGlzdGZpbGUpKQor ICAgICAgIChlc2hlbGwtaW5zZXJ0LWNvbW1hbmQgImVjaG8gaGkiKQorICAgICAgIChlc2hlbGwt aW5zZXJ0LWNvbW1hbmQgImhpc3RvcnkgLXciKQorICAgICAgIChlc2hlbGwtaW5zZXJ0LWNvbW1h bmQgImhpc3RvcnkgLWEiKQorICAgICAgIChlc2hlbGwtaW5zZXJ0LWNvbW1hbmQgImVjaG8gYnll IikKKyAgICAgICAoZXNoZWxsLWluc2VydC1jb21tYW5kICJoaXN0b3J5IC1hIikKKyAgICAgICAo ZXNoZWxsLWluc2VydC1jb21tYW5kICJoaXN0b3J5IC1yIikKKyAgICAgICAoc2hvdWxkIChlcXVh bCAocmluZy1lbGVtZW50cyBlc2hlbGwtaGlzdG9yeS1yaW5nKQorICAgICAgICAgICAgICAgICAg ICAgICcoImhpc3RvcnkgLWEiICJlY2hvIGJ5ZSIKKyAgICAgICAgICAgICAgICAgICAgICAgICJo aXN0b3J5IC1hIiAiaGlzdG9yeSAtdyIgImVjaG8gaGkiKSkpKSkpKQorCisoZXJ0LWRlZnRlc3Qg ZW0taGlzdC10ZXN0L2hpc3RvcnktcmVhZCAoKQorICAiVGVzdCAnaGlzdG9yeSAtcicuIgorICAo ZXJ0LXdpdGgtdGVtcC1maWxlIGhpc3RmaWxlCisgICAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgICAg KGxldCAoKGVzaGVsbC1oaXN0b3J5LWZpbGUtbmFtZSBoaXN0ZmlsZSkpCisgICAgICAgKGVzaGVs bC1pbnNlcnQtY29tbWFuZCAiZWNobyBoaSIpCisgICAgICAgKGVzaGVsbC1pbnNlcnQtY29tbWFu ZCAiZWNobyBieWUiKQorICAgICAgIChlc2hlbGwtaW5zZXJ0LWNvbW1hbmQgImVjaG8gYnllIikK KyAgICAgICAoZXNoZWxsLWluc2VydC1jb21tYW5kICJlY2hvIGhpIikKKyAgICAgICAoZXNoZWxs LWluc2VydC1jb21tYW5kICJoaXN0b3J5IC13IikKKyAgICAgICAobGV0ICgoZXNoZWxsLWhpc3Qt aWdub3JlZHVwcyB0KSkKKyAgICAgICAgIChlc2hlbGwtaW5zZXJ0LWNvbW1hbmQgImhpc3Rvcnkg LXIiKQorICAgICAgICAgKHNob3VsZCAoZXF1YWwgKHJpbmctZWxlbWVudHMgZXNoZWxsLWhpc3Rv cnktcmluZykKKyAgICAgICAgICAgICAgICAgICAgICAgICcoImhpc3RvcnkgLXciICJlY2hvIGhp IiAiZWNobyBieWUiICJlY2hvIGhpIikpKSkKKyAgICAgICAobGV0ICgoZXNoZWxsLWhpc3QtaWdu b3JlZHVwcyAnZXJhc2UpKQorICAgICAgICAgKGVzaGVsbC1pbnNlcnQtY29tbWFuZCAiaGlzdG9y eSAtciIpCisgICAgICAgICAoc2hvdWxkIChlcXVhbCAocmluZy1lbGVtZW50cyBlc2hlbGwtaGlz dG9yeS1yaW5nKQorICAgICAgICAgICAgICAgICAgICAgICAgJygiaGlzdG9yeSAtdyIgImVjaG8g aGkiICJlY2hvIGJ5ZSIpKSkpKSkpKQorCiAoZXJ0LWRlZnRlc3QgZW0taGlzdC10ZXN0L2FkZC10 by1oaXN0b3J5L2FsbG93LWR1cHMgKCkKICAgIlRlc3QgYWRkaW5nIHRvIGhpc3RvcnksIGFsbG93 aW5nIGR1cHMuIgogICAobGV0ICgoZXNoZWxsLWhpc3QtaWdub3JlZHVwcyBuaWwpKQotLSAKMi4y NS4xCgo= --00000000000032d51a06098d3d03--