From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#54227: 29.0.50; [PATCH] Inconsistencies with Eshell variable interpolation Date: Thu, 3 Mar 2022 11:29:49 -0800 Message-ID: <6f4c480d-90ea-fbb4-ae5c-dc07dd32026e@gmail.com> References: <831qzjj7dd.fsf@gnu.org> <83r17ij2rh.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------241B045E3E1B04B93A0AECA6" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6867"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 54227@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Mar 03 20:30:16 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nPr9R-0001aU-Gf for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 03 Mar 2022 20:30:13 +0100 Original-Received: from localhost ([::1]:56096 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPr9Q-0003L0-8B for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 03 Mar 2022 14:30:12 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:35898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPr9G-0003HB-Kt for bug-gnu-emacs@gnu.org; Thu, 03 Mar 2022 14:30:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49920) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPr9G-00026n-B7 for bug-gnu-emacs@gnu.org; Thu, 03 Mar 2022 14:30:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nPr9G-0007uo-4E for bug-gnu-emacs@gnu.org; Thu, 03 Mar 2022 14:30:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 03 Mar 2022 19:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54227 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 54227-submit@debbugs.gnu.org id=B54227.164633580030399 (code B ref 54227); Thu, 03 Mar 2022 19:30:02 +0000 Original-Received: (at 54227) by debbugs.gnu.org; 3 Mar 2022 19:30:00 +0000 Original-Received: from localhost ([127.0.0.1]:43817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nPr9D-0007uD-Fx for submit@debbugs.gnu.org; Thu, 03 Mar 2022 14:30:00 -0500 Original-Received: from mail-pj1-f48.google.com ([209.85.216.48]:37594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nPr9B-0007u0-3F for 54227@debbugs.gnu.org; Thu, 03 Mar 2022 14:29:57 -0500 Original-Received: by mail-pj1-f48.google.com with SMTP id p3-20020a17090a680300b001bbfb9d760eso8643248pjj.2 for <54227@debbugs.gnu.org>; Thu, 03 Mar 2022 11:29:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:mime-version :in-reply-to:content-language; bh=0h/Nr3LH7csF03ZTaqT7N2iQBGPBpLMb93lzipnIIko=; b=lDN9FccRlWKu5Nfqg2ct73wuMsJUHNxJvQXzP91LhyQTIEBQb0mtduLfX0Ia+IrMsw 1wEjMC5FK+Vk1mYZfIeg4LGFAuP5+ZPksjUBoep8EY0LlmsXxiR9azM9K/PvbqP99+Jj MIXcsHi7JJV+x1lS/5BlqSCHuA4fw6yjACgwcbdXDtyYrNYu48d3Md23DjrXat0X5JUt 67iZzIEKjSLaS0IZqJ3JBa0V3PzemVwwuXNJxpt2kRScdf05ZASBnZZQCM8po66nTVJ2 AWNN0jUNJi0+mwn/Tq7jZZYL/t05pO7A5fmm99vKaU3goGQtdKQLuVMvmZi2mtHvT6Ei arXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=0h/Nr3LH7csF03ZTaqT7N2iQBGPBpLMb93lzipnIIko=; b=MjjdqCd6i1n80T57lkfK3xeAjF6uROCW95gQziLzBySPoCkwOrhin/GZlefyUWAPps MNRE067wc7D6AH4aDQTCgVhtK7hE80ZYALWG0vD3DrlbXqu/jV5225dT39E3vYLGxehs BUgsis3UGzwmbDJjd+85IwiTP266tZQa/ld5OPB3uY5qI9R1WcOc6PH8A9ahC1OeW6YR juFO0xA1Sc9kYQs9umhZQxMtm01GufWESIUdxtIHWM9rJMp2/VVYR5wJ8wZCK90RSAz1 zD8nWOoAZ9B2q1dWHqWnnA6aWtCg2lO3lIKRV7fqirYnl/6GQl53AqQmhtU/aAV4kmXU 1+7g== X-Gm-Message-State: AOAM532LPPeS8PfbXapXKeq518U8R+JiY5qa9Km+pssP7ne7Ohxn0Bxk D+ihYGqHhcZiMnGQV/53P7r51A/1gdE= X-Google-Smtp-Source: ABdhPJyq5gH8c4lGIoNrZOtFDHwjzOwCKHL9dlJuZ6TUZvwnpoF7SVAP6iUPU9I4BcI/1d+2JqRqnA== X-Received: by 2002:a17:90b:4a52:b0:1be:fb7c:9fef with SMTP id lb18-20020a17090b4a5200b001befb7c9fefmr6929688pjb.57.1646335791261; Thu, 03 Mar 2022 11:29:51 -0800 (PST) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id i128-20020a626d86000000b004f3f2929d7asm3144501pfc.217.2022.03.03.11.29.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Mar 2022 11:29:50 -0800 (PST) In-Reply-To: <83r17ij2rh.fsf@gnu.org> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:227971 Archived-At: This is a multi-part message in MIME format. --------------241B045E3E1B04B93A0AECA6 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 3/3/2022 10:43 AM, Eli Zaretskii wrote: >> Cc: 54227@debbugs.gnu.org >> From: Jim Porter >> Date: Thu, 3 Mar 2022 09:56:14 -0800 >> >> If you have any ideas about how to improve the wording, I'm happy to >> update it though. I'll try to keep thinking as well. > > Something like the below: > > (defmacro eshell-with-temp-command (region &rest body) > "Narrow the buffer to REGION and execute the forms in BODY. > > REGION is a cons cell (START . END) that specifies the region > to which to narrow the buffer. REGION can also be a string, > in which case the macro temporarily inserts it into the > buffer at point, and narrows the buffer to the inserted string. > Before executing BODY, point is set to the beginning of the > narrowed REGION. Thanks, updated to use that docstring. >> diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi >> index 5581e5cd9e..47f8902d5a 100644 >> --- a/doc/misc/eshell.texi >> +++ b/doc/misc/eshell.texi >> @@ -1043,15 +1043,16 @@ Dollars Expansion [snip] >> >> -Multiple sets of indices can also be specified. For example, if >> -@var{var} is a list of lists, @samp{$@var{var}[0][0]} is equivalent to >> -@samp{(caar @var{var})}. >> +Multiple sets of indices can also be specified. For example, if >> +@var{var} is @samp{((1 2) (3 4))}, then @samp{$@var{var}[0][1]} will >> +expand to @code{2}. > > I would add to the last sentence: ", i.e.@: the second element of the > first list member (all indices are zero-based)." Ok, added. > Also, it sounds like you just dropped the ball on the alist use case? I think we just had different ideas of how much detail was necessary. Given your above comment, I think I have a better idea of the level of detail, so I've expanded this section into a table. The single paragraph was a little too dense, so breaking it out into separate blocks for each data type makes it easier to provide a more thorough explanation. >> -(defun eshell-parse-inner-double-quote (bound) >> - "Parse the inner part of a double quoted string. >> +(defun eshell-unescape-inner-double-quote (bound) >> + "Unescape the inner part of a double quoted string. > > "Unescape escaped characters of a double-quoted string." Done, though I worded it as, "Unescape escaped characters inside a double-quoted string." I wanted to be extra-clear that this only operates on the bits *between* the double-quotes, but doesn't do anything with the surrounding double-quotes themselves. --------------241B045E3E1B04B93A0AECA6 Content-Type: text/plain; charset=UTF-8; name="0001-Improve-wording-of-Eshell-variable-interpolation-cod.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Improve-wording-of-Eshell-variable-interpolation-cod.pa"; filename*1="tch" RnJvbSBlYTRjOWIwYjc3NzBiNzNjMTMyMGNmNGE5OWFkMmVkMzY2MzhjNGFlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgMyBNYXIgMjAyMiAwOTozNzoyNSAtMDgwMApTdWJqZWN0OiBbUEFU Q0hdIEltcHJvdmUgd29yZGluZyBvZiBFc2hlbGwgdmFyaWFibGUgaW50ZXJwb2xhdGlvbgog Y29kZS9kb2N1bWVudGF0aW9uCgoqIGxpc3AvZXNoZWxsL2VzaC1hcmcuZWwgKGVzaGVsbC11 bmVzY2FwZS1pbm5lci1kb3VibGUtcXVvdGUpOiBSZW5hbWUKZnJvbSAnZXNoZWxsLXBhcnNl LWlubmVyLWRvdWJsZS1xdW90ZScuCgoqIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgKGVzaGVs bC13aXRoLXRlbXAtY29tbWFuZCk6IEltcHJvdmUKZG9jc3RyaW5nLgoKKiBsaXNwL2VzaGVs bC9lc2gtdmFyLmVsIChlc2hlbGwtcGFyc2UtdmFyaWFibGUtcmVmKTogVXNlCidlc2hlbGwt dW5lc2NhcGUtaW5uZXItZG91YmxlLXF1b3RlJyBhbmQgaW1wcm92ZSByb2J1c3RuZXNzIG9m IHF1b3RlZAp2YXJpYWJsZSBuYW1lIG1hdGNoaW5nLgooZXNoZWxsLXBhcnNlLWluZGljZXMp OiBVc2UgJ2VzaGVsbC11bmVzY2FwZS1pbm5lci1kb3VibGUtcXVvdGUnLgoKKiBkb2MvbWlz Yy9lc2hlbGwudGV4aSAoRG9sbGFycyBFeHBhbnNpb24pOiBJbXByb3ZlIHdvcmRpbmcgb2YK c3Vic2NyaXB0IG5vdGF0aW9uLgotLS0KIGRvYy9taXNjL2VzaGVsbC50ZXhpICAgfCA0MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogbGlzcC9lc2hlbGwv ZXNoLWFyZy5lbCB8ICA0ICsrLS0KIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgfCAyNSArKysr KysrKysrKysrKy0tLS0tLS0tLS0tCiBsaXNwL2VzaGVsbC9lc2gtdmFyLmVsIHwgMTQgKysr KysrKystLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMzAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL21pc2MvZXNoZWxsLnRleGkgYi9kb2MvbWlz Yy9lc2hlbGwudGV4aQppbmRleCA1NTgxZTVjZDllLi4yZGY0ZGUxY2VmIDEwMDY0NAotLS0g YS9kb2MvbWlzYy9lc2hlbGwudGV4aQorKysgYi9kb2MvbWlzYy9lc2hlbGwudGV4aQpAQCAt MTA0MCwxOCArMTA0MCwzNyBAQCBEb2xsYXJzIEV4cGFuc2lvbgogRXhwYW5kcyB0byB0aGUg QHZhcntpfXRoIGVsZW1lbnQgb2YgdGhlIHJlc3VsdCBvZiBAdmFye2V4cHJ9LCBhbgogZXhw cmVzc2lvbiBpbiBvbmUgb2YgdGhlIGFib3ZlIGZvcm1zIGxpc3RlZCBoZXJlLiAgSWYgbXVs dGlwbGUgaW5kaWNlcwogYXJlIHN1cHBsaWVkLCB0aGlzIHdpbGwgcmV0dXJuIGEgbGlzdCBj b250YWluaW5nIHRoZSBlbGVtZW50cyBmb3IgZWFjaAotaW5kZXguICBJZiBAdmFye2V4cHJ9 J3MgdmFsdWUgaXMgYSBzdHJpbmcsIGl0IHdpbGwgZmlyc3QgYmUgc3BsaXQgYXQKLXdoaXRl c3BhY2UgdG8gbWFrZSBpdCBhIGxpc3QuICBJZiBAdmFye2V4cHJ9J3MgdmFsdWUgaXMgYW4g YWxpc3QKLShAcHhyZWZ7QXNzb2NpYXRpb24gTGlzdCBUeXBlLCBBc3NvY2lhdGlvbiBMaXN0 cywgLCBlbGlzcCwgVGhlIEVtYWNzCi1MaXNwIFJlZmVyZW5jZSBNYW51YWx9KSwgdGhpcyB3 aWxsIGNhbGwgQGNvZGV7YXNzb2N9IG9uIHRoZSByZXN1bHQgb2YKLUB2YXJ7ZXhwcn0sIHJl dHVybmluZyB0aGUgQGNvZGV7Y2RyfSBvZiB0aGUgZWxlbWVudCBvZiB0aGUgcmVzdWx0Ci13 aG9zZSBjYXIgaXMgZXF1YWwgdG8gQGNvZGV7ImkifS4gIFJhaXNlcyBhbiBlcnJvciBpZiB0 aGUgdmFsdWUgaXMgbm90Ci1hIHNlcXVlbmNlIChAcHhyZWZ7U2VxdWVuY2VzIEFycmF5cyBW ZWN0b3JzLCBTZXF1ZW5jZXMsICwgZWxpc3AsIFRoZQoraW5kZXguICBUaGUgZXhhY3QgYmVo YXZpb3IgZGVwZW5kcyBvbiB0aGUgdHlwZSBvZiBAdmFye2V4cHJ9J3MgdmFsdWU6CisKK0B0 YWJsZSBAYXNpcworCitAaXRlbSBhIHNlcXVlbmNlCitFeHBhbmRzIHRvIHRoZSBlbGVtZW50 IGF0IHRoZSAoemVyby1iYXNlZCkgaW5kZXggQHZhcntpfSBvZiB0aGUKK3NlcXVlbmNlIChA cHhyZWZ7U2VxdWVuY2VzIEFycmF5cyBWZWN0b3JzLCBTZXF1ZW5jZXMsICwgZWxpc3AsIFRo ZQogRW1hY3MgTGlzcCBSZWZlcmVuY2UgTWFudWFsfSkuCiAKLU11bHRpcGxlIHNldHMgb2Yg aW5kaWNlcyBjYW4gYWxzbyBiZSBzcGVjaWZpZWQuIEZvciBleGFtcGxlLCBpZgotQHZhcnt2 YXJ9IGlzIGEgbGlzdCBvZiBsaXN0cywgQHNhbXB7JEB2YXJ7dmFyfVswXVswXX0gaXMgZXF1 aXZhbGVudCB0bwotQHNhbXB7KGNhYXIgQHZhcnt2YXJ9KX0uCitAaXRlbSBhIHN0cmluZwor U3BsaXQgdGhlIHN0cmluZyBhdCB3aGl0ZXNwYWNlLCBhbmQgdGhlbiBleHBhbmQgdG8gdGhl IEB2YXJ7aX10aAorZWxlbWVudCBvZiB0aGUgcmVzdWx0aW5nIHNlcXVlbmNlLgorCitAaXRl bSBhbiBhbGlzdAorSWYgQHZhcntpfSBpcyBhIG5vbi1udW1lcmljIHZhbHVlLCBleHBhbmQg dG8gdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aAordGhlIGtleSBAY29kZXsiaSJ9LiBGb3Ig ZXhhbXBsZSwgaWYgQHZhcnt2YXJ9IGlzIEBzYW1weygoImRvZyIKKy4gImZpZG8iKSAoImNh dCIgLiAiZmVsaXgiKSl9LCB0aGVuIEBzYW1weyRAdmFye3Zhcn1bZG9nXX0gZXhwYW5kcyB0 bworQGNvZGV7ImZpZG8ifS4gIE90aGVyd2lzZSwgdGhpcyBiZWhhdmVzIGFzIHdpdGggc2Vx dWVuY2VzOyBlLmcuLAorQHNhbXB7JEB2YXJ7dmFyfVswXX0gZXhwYW5kcyB0byBAY29kZXso ImRvZyIgLiAiZmlkbyIpfS4KK0B4cmVme0Fzc29jaWF0aW9uIExpc3QgVHlwZSwgQXNzb2Np YXRpb24gTGlzdHMsICwgZWxpc3AsIFRoZSBFbWFjcworTGlzcCBSZWZlcmVuY2UgTWFudWFs fS4KKworQGl0ZW0gYW55dGhpbmcgZWxzZQorUmFpc2VzIGFuIGVycm9yLgorCitAZW5kIHRh YmxlCisKK011bHRpcGxlIHNldHMgb2YgaW5kaWNlcyBjYW4gYWxzbyBiZSBzcGVjaWZpZWQu ICBGb3IgZXhhbXBsZSwgaWYKK0B2YXJ7dmFyfSBpcyBAc2FtcHsoKDEgMikgKDMgNCkpfSwg dGhlbiBAc2FtcHskQHZhcnt2YXJ9WzBdWzFdfSB3aWxsCitleHBhbmQgdG8gQGNvZGV7Mn0s IGkuZS5AOiB0aGUgc2Vjb25kIGVsZW1lbnQgb2YgdGhlIGZpcnN0IGxpc3QgbWVtYmVyCiso YWxsIGluZGljZXMgYXJlIHplcm8tYmFzZWQpLgogCiBAaXRlbSAkQHZhcntleHByfVtAdmFy e3JlZ2V4cH0gQHZhcntpLi4ufV0KIEFzIGFib3ZlICh3aGVuIEB2YXJ7ZXhwcn0gZXhwYW5k cyB0byBhIHN0cmluZyksIGJ1dCB1c2UgQHZhcntyZWdleHB9CkBAIC0xMDY0LDcgKzEwODMs NyBAQCBEb2xsYXJzIEV4cGFuc2lvbgogb25lIG9mIHRoZSBhYm92ZSBmb3Jtcy4gIEZvciBl eGFtcGxlLCBAc2FtcHskI0B2YXJ7dmFyfX0gcmV0dXJucyB0aGUKIGxlbmd0aCBvZiB0aGUg dmFyaWFibGUgQHZhcnt2YXJ9IGFuZCBAc2FtcHskI0B2YXJ7dmFyfVswXX0gcmV0dXJucyB0 aGUKIGxlbmd0aCBvZiB0aGUgZmlyc3QgZWxlbWVudCBvZiBAdmFye3Zhcn0uICBBZ2Fpbiwg cmFpc2VzIGFuIGVycm9yIGlmCi10aGUgcmVzdWx0IG9mIEB2YXJ7ZXhwcn0gaXMgbm90IGEg c2VxdWVuY2UuCit0aGUgcmVzdWx0IG9mIEB2YXJ7ZXhwcn0gaXMgbm90IGEgc3RyaW5nIG9y IGEgc2VxdWVuY2UuCiAKIEBlbmQgdGFibGUKIApkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwv ZXNoLWFyZy5lbCBiL2xpc3AvZXNoZWxsL2VzaC1hcmcuZWwKaW5kZXggZTE5NDgxYzRiYS4u ZWUzZjkwN2Y4NSAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLWFyZy5lbAorKysgYi9s aXNwL2VzaGVsbC9lc2gtYXJnLmVsCkBAIC0zNTQsOCArMzU0LDggQEAgZXNoZWxsLXBhcnNl LWRvdWJsZS1xdW90ZQogCQkgIChsaXN0ICdlc2hlbGwtZXNjYXBlLWFyZyBhcmcpKSkpCiAJ ICAoZ290by1jaGFyICgxKyBlbmQpKSkpKSkpCiAKLShkZWZ1biBlc2hlbGwtcGFyc2UtaW5u ZXItZG91YmxlLXF1b3RlIChib3VuZCkKLSAgIlBhcnNlIHRoZSBpbm5lciBwYXJ0IG9mIGEg ZG91YmxlIHF1b3RlZCBzdHJpbmcuCisoZGVmdW4gZXNoZWxsLXVuZXNjYXBlLWlubmVyLWRv dWJsZS1xdW90ZSAoYm91bmQpCisgICJVbmVzY2FwZSBlc2NhcGVkIGNoYXJhY3RlcnMgaW5z aWRlIGEgZG91YmxlLXF1b3RlZCBzdHJpbmcuCiBUaGUgc3RyaW5nIHRvIHBhcnNlIHN0YXJ0 cyBhdCBwb2ludCBhbmQgZW5kcyBhdCBCT1VORC4KIAogSWYgRXNoZWxsIGlzIGN1cnJlbnRs eSBwYXJzaW5nIGEgcXVvdGVkIHN0cmluZyBhbmQgdGhlcmUgYXJlIGFueQpkaWZmIC0tZ2l0 IGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCBiL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKaW5k ZXggMDRiNTRkOWQ3OS4uOGJlMTEzNmUzMSAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNo LWNtZC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtY21kLmVsCkBAIC0zNTAsMjQgKzM1MCwy NyBAQCBlc2hlbGwtY29tcGxldGUtbGlzcC1zeW1ib2xzCiAKIChkZWZ2YXIgZXNoZWxsLS1z ZXAtdGVybXMpCiAKLShkZWZtYWNybyBlc2hlbGwtd2l0aC10ZW1wLWNvbW1hbmQgKGNvbW1h bmQgJnJlc3QgYm9keSkKLSAgIk5hcnJvdyB0aGUgYnVmZmVyIHRvIENPTU1BTkQgYW5kIGV4 ZWN1dGUgdGhlIGZvcm1zIGluIEJPRFkuCi1DT01NQU5EIGNhbiBlaXRoZXIgYmUgYSBzdHJp bmcsIG9yIGEgY29ucyBjZWxsIGRlbWFyY2F0aW5nIGEKLWJ1ZmZlciByZWdpb24uICBJZiBD T01NQU5EIGlzIGEgc3RyaW5nLCB0ZW1wb3JhcmlseSBpbnNlcnQgaXQKLWludG8gdGhlIGJ1 ZmZlciBiZWZvcmUgbmFycm93aW5nLiAgUG9pbnQgd2lsbCBiZSBzZXQgdG8gdGhlCi1iZWdp bm5pbmcgb2YgdGhlIG5hcnJvd2VkIHJlZ2lvbi4KKyhkZWZtYWNybyBlc2hlbGwtd2l0aC10 ZW1wLWNvbW1hbmQgKHJlZ2lvbiAmcmVzdCBib2R5KQorICAiTmFycm93IHRoZSBidWZmZXIg dG8gUkVHSU9OIGFuZCBleGVjdXRlIHRoZSBmb3JtcyBpbiBCT0RZLgorCitSRUdJT04gaXMg YSBjb25zIGNlbGwgKFNUQVJUIC4gRU5EKSB0aGF0IHNwZWNpZmllcyB0aGUgcmVnaW9uIHRv Cit3aGljaCB0byBuYXJyb3cgdGhlIGJ1ZmZlci4gIFJFR0lPTiBjYW4gYWxzbyBiZSBhIHN0 cmluZywgaW4KK3doaWNoIGNhc2UgdGhlIG1hY3JvIHRlbXBvcmFyaWx5IGluc2VydHMgaXQg aW50byB0aGUgYnVmZmVyIGF0Citwb2ludCwgYW5kIG5hcnJvd3MgdGhlIGJ1ZmZlciB0byB0 aGUgaW5zZXJ0ZWQgc3RyaW5nLiAgQmVmb3JlCitleGVjdXRpbmcgQk9EWSwgcG9pbnQgaXMg c2V0IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5hcnJvd2VkCitSRUdJT04uCiAKIFRoZSB2 YWx1ZSByZXR1cm5lZCBpcyB0aGUgbGFzdCBmb3JtIGluIEJPRFkuIgogICAoZGVjbGFyZSAo aW5kZW50IDEpKQotICBgKGxldCAoKGNtZCAsY29tbWFuZCkpCi0gICAgIChpZiAoc3RyaW5n cCBjbWQpCisgIGAobGV0ICgocmVnICxyZWdpb24pKQorICAgICAoaWYgKHN0cmluZ3AgcmVn KQogICAgICAgICAgOzsgU2luY2UgcGFyc2luZyByZWxpZXMgcGFydGx5IG9uIGJ1ZmZlci1s b2NhbCBzdGF0ZQogICAgICAgICAgOzsgKGUuZy4gdGhhdCBvZiBgZXNoZWxsLXBhcnNlLWFy Z3VtZW50LWhvb2snKSwgd2UgbmVlZCB0bwogICAgICAgICAgOzsgcGVyZm9ybSB0aGUgcGFy c2luZyBpbiB0aGUgRXNoZWxsIGJ1ZmZlci4KICAgICAgICAgIChsZXQgKChiZWdpbiAocG9p bnQpKSBlbmQKIAkgICAgICAgKGluaGliaXQtcG9pbnQtbW90aW9uLWhvb2tzIHQpKQogICAg ICAgICAgICAod2l0aC1zaWxlbnQtbW9kaWZpY2F0aW9ucwotICAgICAgICAgICAgIChpbnNl cnQgY21kKQorICAgICAgICAgICAgIChpbnNlcnQgcmVnKQogICAgICAgICAgICAgIChzZXRx IGVuZCAocG9pbnQpKQogICAgICAgICAgICAgICh1bndpbmQtcHJvdGVjdAogICAgICAgICAg ICAgICAgICAoc2F2ZS1yZXN0cmljdGlvbgpAQCAtMzc2LDggKzM3OSw4IEBAIGVzaGVsbC13 aXRoLXRlbXAtY29tbWFuZAogICAgICAgICAgICAgICAgICAgICxAYm9keSkKICAgICAgICAg ICAgICAgIChkZWxldGUtcmVnaW9uIGJlZ2luIGVuZCkpKSkKICAgICAgICAoc2F2ZS1yZXN0 cmljdGlvbgotICAgICAgICAgKG5hcnJvdy10by1yZWdpb24gKGNhciBjbWQpIChjZHIgY21k KSkKLSAgICAgICAgIChnb3RvLWNoYXIgKGNhciBjbWQpKQorICAgICAgICAgKG5hcnJvdy10 by1yZWdpb24gKGNhciByZWcpIChjZHIgcmVnKSkKKyAgICAgICAgIChnb3RvLWNoYXIgKGNh ciByZWcpKQogICAgICAgICAgLEBib2R5KSkpKQogCiAoZGVmdW4gZXNoZWxsLXBhcnNlLWNv bW1hbmQgKGNvbW1hbmQgJm9wdGlvbmFsIGFyZ3MgdG9wbGV2ZWwpCmRpZmYgLS1naXQgYS9s aXNwL2VzaGVsbC9lc2gtdmFyLmVsIGIvbGlzcC9lc2hlbGwvZXNoLXZhci5lbAppbmRleCBh Zjg5ZTM1ZjU1Li44NzQ2ZjJiYjkzIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtdmFy LmVsCisrKyBiL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKQEAgLTQzNyw3ICs0MzcsNyBAQCBl c2hlbGwtcGFyc2UtdmFyaWFibGUtcmVmCiAgICAgICAgICAgICBgKGVzaGVsbC1jb252ZXJ0 CiAgICAgICAgICAgICAgIChlc2hlbGwtY29tbWFuZC10by12YWx1ZQogICAgICAgICAgICAg ICAgKGVzaGVsbC1hcy1zdWJjb21tYW5kCi0gICAgICAgICAgICAgICAgLChsZXQgKChzdWJj bWQgKG9yIChlc2hlbGwtcGFyc2UtaW5uZXItZG91YmxlLXF1b3RlIGVuZCkKKyAgICAgICAg ICAgICAgICAsKGxldCAoKHN1YmNtZCAob3IgKGVzaGVsbC11bmVzY2FwZS1pbm5lci1kb3Vi bGUtcXVvdGUgZW5kKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29u cyAocG9pbnQpIGVuZCkpKQogICAgICAgICAgICAgICAgICAgICAgICAoZXNoZWxsLWN1cnJl bnQtcXVvdGVkIG5pbCkpCiAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1wYXJzZS1jb21t YW5kIHN1YmNtZCkpKSkpCkBAIC00NzAsMTMgKzQ3MCwxNSBAQCBlc2hlbGwtcGFyc2UtdmFy aWFibGUtcmVmCiAgICAgKGNvbmRpdGlvbi1jYXNlIG5pbAogICAgICAgICBgKGVzaGVsbC1j b21tYW5kLXRvLXZhbHVlCiAgICAgICAgICAgKGVzaGVsbC1saXNwLWNvbW1hbmQKLSAgICAg ICAgICAgJywocmVhZCAob3IgKGVzaGVsbC1wYXJzZS1pbm5lci1kb3VibGUtcXVvdGUgKHBv aW50LW1heCkpCisgICAgICAgICAgICcsKHJlYWQgKG9yIChlc2hlbGwtdW5lc2NhcGUtaW5u ZXItZG91YmxlLXF1b3RlIChwb2ludC1tYXgpKQogICAgICAgICAgICAgICAgICAgICAgICAo Y3VycmVudC1idWZmZXIpKSkpKQogICAgICAgKGVuZC1vZi1maWxlCiAgICAgICAgKHRocm93 ICdlc2hlbGwtaW5jb21wbGV0ZSA/XCgpKSkpCi0gICAoKGxvb2tpbmctYXQgKHJ4IChvciAi JyIgIlwiIiAiXFxcIiIpKSkKLSAgICAoZXNoZWxsLXdpdGgtdGVtcC1jb21tYW5kIChvciAo ZXNoZWxsLXBhcnNlLWlubmVyLWRvdWJsZS1xdW90ZSAocG9pbnQtbWF4KSkKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoY29ucyAocG9pbnQpIChwb2ludC1tYXgpKSkK KyAgICgobG9va2luZy1hdCAocngtdG8tc3RyaW5nCisgICAgICAgICAgICAgICAgIGAob3Ig IiciICwoaWYgZXNoZWxsLWN1cnJlbnQtcXVvdGVkICJcXFwiIiAiXCIiKSkpKQorICAgIChl c2hlbGwtd2l0aC10ZW1wLWNvbW1hbmQKKyAgICAgICAgKG9yIChlc2hlbGwtdW5lc2NhcGUt aW5uZXItZG91YmxlLXF1b3RlIChwb2ludC1tYXgpKQorICAgICAgICAgICAgKGNvbnMgKHBv aW50KSAocG9pbnQtbWF4KSkpCiAgICAgICAobGV0ICgobmFtZSAoaWYgKGVxIChjaGFyLWFm dGVyKSA/XCcpCiAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1wYXJzZS1saXRlcmFs LXF1b3RlKQogICAgICAgICAgICAgICAgICAgICAoZXNoZWxsLXBhcnNlLWRvdWJsZS1xdW90 ZSkpKSkKQEAgLTUwNiw3ICs1MDgsNyBAQCBlc2hlbGwtcGFyc2UtaW5kaWNlcwogCShpZiAo bm90IGVuZCkKIAkgICAgKHRocm93ICdlc2hlbGwtaW5jb21wbGV0ZSA/XFspCiAJICAoZm9y d2FyZC1jaGFyKQotICAgICAgICAgIChlc2hlbGwtd2l0aC10ZW1wLWNvbW1hbmQgKG9yIChl c2hlbGwtcGFyc2UtaW5uZXItZG91YmxlLXF1b3RlIGVuZCkKKyAgICAgICAgICAoZXNoZWxs LXdpdGgtdGVtcC1jb21tYW5kIChvciAoZXNoZWxsLXVuZXNjYXBlLWlubmVyLWRvdWJsZS1x dW90ZSBlbmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNv bnMgKHBvaW50KSBlbmQpKQogCSAgICAobGV0IChlc2hlbGwtZ2xvYi1mdW5jdGlvbiAoZXNo ZWxsLWN1cnJlbnQtcXVvdGVkIG5pbCkpCiAJICAgICAgKHNldHEgaW5kaWNlcyAoY29ucyAo ZXNoZWxsLXBhcnNlLWFyZ3VtZW50cwotLSAKMi4yNS4xCgo= --------------241B045E3E1B04B93A0AECA6--