From unknown Wed Aug 20 01:21:26 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#61221 <61221@debbugs.gnu.org> To: bug#61221 <61221@debbugs.gnu.org> Subject: Status: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell Reply-To: bug#61221 <61221@debbugs.gnu.org> Date: Wed, 20 Aug 2025 08:21:26 +0000 retitle 61221 30.0.50; [PATCH] Support completion of quoted variable refs i= n Eshell reassign 61221 emacs submitter 61221 Jim Porter severity 61221 normal tag 61221 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 01 21:28:19 2023 Received: (at submit) by debbugs.gnu.org; 2 Feb 2023 02:28:19 +0000 Received: from localhost ([127.0.0.1]:60247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNPKk-0002R7-B7 for submit@debbugs.gnu.org; Wed, 01 Feb 2023 21:28:19 -0500 Received: from lists.gnu.org ([209.51.188.17]:38246) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pNPKh-0002Qx-KJ for submit@debbugs.gnu.org; Wed, 01 Feb 2023 21:28:16 -0500 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 1pNPKh-0001FG-0v for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 21:28:15 -0500 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pNPKe-0005Dm-2c for bug-gnu-emacs@gnu.org; Wed, 01 Feb 2023 21:28:14 -0500 Received: by mail-pj1-x102d.google.com with SMTP id cq16-20020a17090af99000b0022c9791ac39so4201396pjb.4 for ; Wed, 01 Feb 2023 18:28:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:from:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=v4TAkTBC7EiTBDKPwUkYvD1Ez7vtuz3Rt9DLSPcoefs=; b=jz8gspR2nEl9VeamAaSTskuu/priKM6rM3Mxnh33oGDMl3duQY6FvzDkbU7T3uIl5N pRlPhsyckS76POOu+2cuvlHEsXiS9luaPraAIwv0s2wWXUtmRYTBqD5JaSPtPGfOFnel BjD5Tckuf4hnoorElE38zbqlQwlnlOa6ubTRm/OVNbCapDYazpdJCT2ma+uHzldNTzZq Jf6s23aYZ1GpH297a02hDPE/t29wpfZnzfnnDcSgy7EgvqR1JuU6Ep7qBlzczCWL3LwJ G54GqBFOpECoC+tnDxafW9vHN9WkOpRgut4lOXyeHIaf0OVDN4STIibQie3IC0q9Cl7D 5S+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:from:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=v4TAkTBC7EiTBDKPwUkYvD1Ez7vtuz3Rt9DLSPcoefs=; b=ktdnNSvWO5Cln8P90TGtn8HKFBsr2G6iZuDiHPNbfHbvjxhTojPW99JqsV90SpTBHN w4bE/uhMpvf5cDWHvv9mEFuoFX36eKwtlOWMhhp1r0RvphIpCX+gAcR6ahgZRiPbrL2a E9M10bb6ev0nX+HzR5jffTvxl5uJJbAA0OdUljjuHdG1B9jImdgDjed9P4ytvmdAVBK/ nBtm47DLgm3FMIPTybMEUydjKuMt4C3QktUZgqzDoQ6tw2niIc4HzH9nf3WKsXRkBI8p orie7UWGp8tQP43rAy9vL8q8gTDVdxpFJg4gqbB9QVbAQPUXINh0/zmh2XFngVeW4FVS /c8A== X-Gm-Message-State: AO0yUKUyRzuJGwS2WXDqU2+jScT8EE0OprA6/ZCRawlGt9Qg5ctZbHwv 0aFC9sek8/TbvIgHcBvFG8z5vWVKNNI= X-Google-Smtp-Source: AK7set/IwNJxKujLxr4FK1qDutrdXr/DMnUs9eYnLYl/JBwkkzh7Rk5LCmCLP12vOB4qhI/oorkkrQ== X-Received: by 2002:a17:90b:1894:b0:22b:f0d4:9e1e with SMTP id mn20-20020a17090b189400b0022bf0d49e1emr4956321pjb.8.1675304890100; Wed, 01 Feb 2023 18:28:10 -0800 (PST) Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id j191-20020a636ec8000000b00497c1399b38sm3992979pgc.78.2023.02.01.18.28.07 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 01 Feb 2023 18:28:08 -0800 (PST) Content-Type: multipart/mixed; boundary="------------uODCi6CUTo0NWzQRWlT80I5Q" Message-ID: <0e3cf425-be9d-4759-d024-ac07ccecba9c@gmail.com> Date: Wed, 1 Feb 2023 18:28:08 -0800 MIME-Version: 1.0 X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US From: Jim Porter Subject: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell To: bug-gnu-emacs@gnu.org Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=jporterbugs@gmail.com; helo=mail-pj1-x102d.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 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. --------------uODCi6CUTo0NWzQRWlT80I5Q Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Debbugs-Cc: monnier@iro.umontreal.ca Eshell lets you put quotes around variable names so that the parser can tell where the name ends, sort of like ${var} in other shells: ~ $ echo $'user-login-name'-suffix user-suffix ~ $ echo $"user-login-name"-suffix user-suffix However, you can't tab-complete variable names when you do this. Here's a fix. I also fixed a couple small issues with completing directory names where it would sometimes complete to "whatever/ ". That extra trailing space isn't helpful, since you'd have to delete it before typing in a subdir. Probably the most controversial part of this patch is in #0002, where I added another dynamic variable 'pcomplete-exit-function' that Pcomplete handlers can set to tell Pcomplete what to do after exiting a completion. Maybe it would be better to have handlers throw some special value for 'pcomplete-completions' that contains this info (sort of like the value that a 'completion-at-point-function' returns). I'm not sure what the best (and most-compatible) way to do this would be... --------------uODCi6CUTo0NWzQRWlT80I5Q Content-Type: text/plain; charset=UTF-8; name="0001-Throw-strings-as-the-values-for-eshell-incomplete.patch" Content-Disposition: attachment; filename*0="0001-Throw-strings-as-the-values-for-eshell-incomplete.patch" Content-Transfer-Encoding: base64 RnJvbSA2ZjUyYWRmNWMxYTE4M2JjN2U5ZDc5NDM4NDYyZGY2ODI4NTViZmQ2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNzo0ODozNyAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMS8zXSA7IFRocm93IHN0cmluZ3MgYXMgdGhlIHZhbHVlcyBmb3IgJ2VzaGVsbC1pbmNv bXBsZXRlJwoKVGhpcyBsZXRzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gY2FzZXMgbGlrZSAi J2ZvbyIgYW5kICIkJ2ZvbyIuCgoqIGxpc3AvZXNoZWxsL2VtLWNtcGwuZWwgKGVzaGVsbC1j b21wbGV0ZS1wYXJzZS1hcmd1bWVudHMpOiBVc2UKc3RyaW5ncyB3aGVuIGNoZWNraW5nIHRo ZSBkZWxpbWl0ZXIuCgoqIGxpc3AvZXNoZWxsL2VtLWdsb2IuZWwgKGVzaGVsbC1wYXJzZS1n bG9iLWNoYXJzKToKKiBsaXNwL2VzaGVsbC9lbS1wcmVkLmVsIChlc2hlbGwtcGFyc2UtYXJn LW1vZGlmaWVyKToKKiBsaXNwL2VzaGVsbC9lc2gtYXJnLmVsIChlc2hlbGwtcGFyc2UtYmFj a3NsYXNoKQooZXNoZWxsLXBhcnNlLWxpdGVyYWwtcXVvdGUsIGVzaGVsbC1wYXJzZS1kb3Vi bGUtcXVvdGUpCihlc2hlbGwtcGFyc2Utc3BlY2lhbC1yZWZlcmVuY2UpOgoqIGxpc3AvZXNo ZWxsL2VzaC1jbWQuZWwgKGVzaGVsbC1wYXJzZS1zdWJjb21tYW5kLWFyZ3VtZW50KQooZXNo ZWxsLXBhcnNlLWxpc3AtYXJndW1lbnQpOgoqIGxpc3AvZXNoZWxsL2VzaC12YXIgKGVzaGVs bC1wYXJzZS12YXJpYWJsZS1yZWYpCihlc2hlbGwtcGFyc2UtaW5kaWNlcyk6IFRocm93IHN0 cmluZ3MgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzLgoKKiBsaXNwL2VzaGVsbC9lc2gtbW9kZS5l bCAoZXNoZWxsLXBhcnNlLWNvbW1hbmQtaW5wdXQpOiBQcmludApkZWxpbWl0ZXIgYXMgYSBz dHJpbmcuCi0tLQogbGlzcC9lc2hlbGwvZW0tY21wbC5lbCAgfCAgNCArKy0tCiBsaXNwL2Vz aGVsbC9lbS1nbG9iLmVsICB8ICAyICstCiBsaXNwL2VzaGVsbC9lbS1wcmVkLmVsICB8ICAy ICstCiBsaXNwL2VzaGVsbC9lc2gtYXJnLmVsICB8ICA4ICsrKystLS0tCiBsaXNwL2VzaGVs bC9lc2gtY21kLmVsICB8ICA0ICsrLS0KIGxpc3AvZXNoZWxsL2VzaC1tb2RlLmVsIHwgIDIg Ky0KIGxpc3AvZXNoZWxsL2VzaC12YXIuZWwgIHwgMTggKysrKysrKysrKystLS0tLS0tCiA3 IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VtLWNtcGwuZWwgYi9saXNwL2VzaGVsbC9lbS1jbXBs LmVsCmluZGV4IGFjYmYyMDZhM2M2Li43ZjczOTIyZjM3MCAxMDA2NDQKLS0tIGEvbGlzcC9l c2hlbGwvZW0tY21wbC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1jbXBsLmVsCkBAIC0zMzIs MTAgKzMzMiwxMCBAQCBlc2hlbGwtY29tcGxldGUtcGFyc2UtYXJndW1lbnRzCiAJICAgICAg KGNhdGNoICdlc2hlbGwtaW5jb21wbGV0ZQogCQkoaWdub3JlCiAJCSAoc2V0cSBhcmdzIChl c2hlbGwtcGFyc2UtYXJndW1lbnRzIGJlZ2luIGVuZCkpKSkpCi0JKGNvbmQgKChtZW1xIChj YXIgZGVsaW0pICcoP1x7ID9cPCkpCisgICAgICAgIChjb25kICgobWVtYmVyIChjYXIgZGVs aW0pICcoInsiICIkeyIgIiQ8IikpCiAJICAgICAgIChzZXRxIGJlZ2luICgxKyAoY2FkciBk ZWxpbSkpCiAJCSAgICAgYXJncyAoZXNoZWxsLXBhcnNlLWFyZ3VtZW50cyBiZWdpbiBlbmQp KSkKLQkgICAgICAoKGVxIChjYXIgZGVsaW0pID9cKCkKKyAgICAgICAgICAgICAgKChtZW1i ZXIgKGNhciBkZWxpbSkgJygiKCIgIiQoIikpCiAJICAgICAgICh0aHJvdyAncGNvbXBsZXRl ZCAoZWxpc3AtY29tcGxldGlvbi1hdC1wb2ludCkpKQogCSAgICAgICh0CiAJICAgICAgIChl c2hlbGwtLXBjb21wbGV0ZS1pbnNlcnQtdGFiKSkpKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hl bGwvZW0tZ2xvYi5lbCBiL2xpc3AvZXNoZWxsL2VtLWdsb2IuZWwKaW5kZXggNzE2ZjVjMzJi ODcuLjFhYzI4OGVhMjI2IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS1nbG9iLmVsCisr KyBiL2xpc3AvZXNoZWxsL2VtLWdsb2IuZWwKQEAgLTE3MCw3ICsxNzAsNyBAQCBlc2hlbGwt cGFyc2UtZ2xvYi1jaGFycwogCSAgICAgICAoZW5kIChlc2hlbGwtZmluZC1kZWxpbWl0ZXIK IAkJICAgICBkZWxpbSAoaWYgKGVxIGRlbGltID9cWykgP1xdID9cKSkpKSkKIAkgIChpZiAo bm90IGVuZCkKLQkgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlIGRlbGltKQorICAg ICAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlIChjaGFyLXRvLXN0cmluZyBk ZWxpbSkpCiAJICAgIChpZiAoYW5kIChlc2hlbGwtdXNpbmctbW9kdWxlICdlc2hlbGwtcHJl ZCkKIAkJICAgICAoZXNoZWxsLWFyZy1kZWxpbWl0ZXIgKDErIGVuZCkpKQogCQkoaWdub3Jl IChnb3RvLWNoYXIgaGVyZSkpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS1wcmVkLmVs IGIvbGlzcC9lc2hlbGwvZW0tcHJlZC5lbAppbmRleCAxNGZhMjdhYmEwNi4uMmNjY2EwOTJi ODYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLXByZWQuZWwKKysrIGIvbGlzcC9lc2hl bGwvZW0tcHJlZC5lbApAQCAtMjkzLDcgKzI5Myw3IEBAIGVzaGVsbC1wYXJzZS1hcmctbW9k aWZpZXIKICAgICAoZm9yd2FyZC1jaGFyKQogICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5k LWRlbGltaXRlciA/XCggP1wpKSkpCiAgICAgICAoaWYgKG5vdCBlbmQpCi0JICAodGhyb3cg J2VzaGVsbC1pbmNvbXBsZXRlID9cKCkKKyAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNv bXBsZXRlICIoIikKIAkod2hlbiAoZXNoZWxsLWFyZy1kZWxpbWl0ZXIgKDErIGVuZCkpCiAJ ICAoc2F2ZS1yZXN0cmljdGlvbgogCSAgICAobmFycm93LXRvLXJlZ2lvbiAocG9pbnQpIGVu ZCkKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1hcmcuZWwgYi9saXNwL2VzaGVsbC9l c2gtYXJnLmVsCmluZGV4IDZjODgyNDcxYWVlLi5jYjBiMmUwOTM4YyAxMDA2NDQKLS0tIGEv bGlzcC9lc2hlbGwvZXNoLWFyZy5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtYXJnLmVsCkBA IC00MjEsNyArNDIxLDcgQEAgZXNoZWxsLXBhcnNlLWJhY2tzbGFzaAogYWZ0ZXIgYXJlIGJv dGggcmV0dXJuZWQuIgogICAod2hlbiAoZXEgKGNoYXItYWZ0ZXIpID9cXCkKICAgICAod2hl biAoZXNoZWxsLWxvb2tpbmctYXQtYmFja3NsYXNoLXJldHVybiAocG9pbnQpKQotCSh0aHJv dyAnZXNoZWxsLWluY29tcGxldGUgP1xcKSkKKyAgICAgICAgKHRocm93ICdlc2hlbGwtaW5j b21wbGV0ZSAiXFwiKSkKICAgICAoZm9yd2FyZC1jaGFyIDIpIDsgTW92ZSBvbmUgY2hhciBw YXN0IHRoZSBiYWNrc2xhc2guCiAgICAgKGxldCAoKHNwZWNpYWwtY2hhcnMgKGlmIGVzaGVs bC1jdXJyZW50LXF1b3RlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2hlbGwt c3BlY2lhbC1jaGFycy1pbnNpZGUtcXVvdGluZwpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIGVzaGVs bC1wYXJzZS1saXRlcmFsLXF1b3RlCiAgIChpZiAoZXEgKGNoYXItYWZ0ZXIpID9cJykKICAg ICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XCcgP1wnKSkpCiAJKGlm IChub3QgZW5kKQotCSAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cJykKKyAgICAg ICAgICAgICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgIiciKQogCSAgKGxldCAoKHN0cmlu ZyAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzICgxKyAocG9pbnQpKSBlbmQpKSkK IAkgICAgKGdvdG8tY2hhciAoMSsgZW5kKSkKIAkgICAgKHdoaWxlIChzdHJpbmctbWF0Y2gg IicnIiBzdHJpbmcpCkBAIC00NjAsNyArNDYwLDcgQEAgZXNoZWxsLXBhcnNlLWRvdWJsZS1x dW90ZQogICAgIChsZXQqICgoZW5kIChlc2hlbGwtZmluZC1kZWxpbWl0ZXIgP1wiID9cIiBu aWwgbmlsIHQpKQogCSAgIChlc2hlbGwtY3VycmVudC1xdW90ZWQgdCkpCiAgICAgICAoaWYg KG5vdCBlbmQpCi0JICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cIikKKyAgICAgICAg ICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlICJcIiIpCiAJKHByb2cxCiAJICAgIChzYXZl LXJlc3RyaWN0aW9uCiAJICAgICAgKGZvcndhcmQtY2hhcikKQEAgLTUxNCw3ICs1MTQsNyBA QCBlc2hlbGwtcGFyc2Utc3BlY2lhbC1yZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAg ICAgIHQpKSA7OyBidWZmZXItcCBpcyBub24tbmlsIGJ5IGRlZmF1bHQuCiAgICAgICAgICAg ICAoZW5kIChlc2hlbGwtZmluZC1kZWxpbWl0ZXIgP1w8ID9cPikpKQogICAgICAgICAod2hl biAobm90IGVuZCkKLSAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cPCkp CisgICAgICAgICAgKHRocm93ICdlc2hlbGwtaW5jb21wbGV0ZSAiIzwiKSkKICAgICAgICAg KGlmIChlc2hlbGwtYXJnLWRlbGltaXRlciAoMSsgZW5kKSkKICAgICAgICAgICAgIChwcm9n MQogICAgICAgICAgICAgICAgIChsaXN0IChpZiBidWZmZXItcCAnZ2V0LWJ1ZmZlci1jcmVh dGUgJ2dldC1wcm9jZXNzKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCBi L2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKaW5kZXggYjVmMWQ2MGZmMTguLjk3MmE2ZWRhODY4 IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtY21kLmVsCisrKyBiL2xpc3AvZXNoZWxs L2VzaC1jbWQuZWwKQEAgLTY4MSw3ICs2ODEsNyBAQCBlc2hlbGwtcGFyc2Utc3ViY29tbWFu ZC1hcmd1bWVudAogCSAgICAgICAobm90IChlcSAoY2hhci1hZnRlciAoMSsgKHBvaW50KSkp ID9cfSkpKSkKICAgICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XHsg P1x9KSkpCiAJKGlmIChub3QgZW5kKQotCSAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRl ID9ceykKKyAgICAgICAgICAgICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgInsiKQogCSAg KHdoZW4gKGVzaGVsbC1hcmctZGVsaW1pdGVyICgxKyBlbmQpKQogCSAgICAocHJvZzEKIAkJ YChlc2hlbGwtYXMtc3ViY29tbWFuZApAQCAtNjk4LDcgKzY5OCw3IEBAIGVzaGVsbC1wYXJz ZS1saXNwLWFyZ3VtZW50CiAJICAgICAgKGNvbmRpdGlvbi1jYXNlIG5pbAogCQkgIChyZWFk IChjdXJyZW50LWJ1ZmZlcikpCiAJCShlbmQtb2YtZmlsZQotCQkgKHRocm93ICdlc2hlbGwt aW5jb21wbGV0ZSA/XCgpKSkpKQorICAgICAgICAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1p bmNvbXBsZXRlICIoIikpKSkpCiAJKGlmIChlc2hlbGwtYXJnLWRlbGltaXRlcikKIAkgICAg YChlc2hlbGwtY29tbWFuZC10by12YWx1ZQogICAgICAgICAgICAgICAoZXNoZWxsLWxpc3At Y29tbWFuZCAocXVvdGUgLG9iaikpKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLW1v ZGUuZWwgYi9saXNwL2VzaGVsbC9lc2gtbW9kZS5lbAppbmRleCA1MDNkOWJhMWI2My4uZDNl OTgyMzYyMmYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1tb2RlLmVsCisrKyBiL2xp c3AvZXNoZWxsL2VzaC1tb2RlLmVsCkBAIC01NjcsNyArNTY3LDcgQEAgZXNoZWxsLXBhcnNl LWNvbW1hbmQtaW5wdXQKIAkJIChzZXRxIGNvbW1hbmQgKGVzaGVsbC1wYXJzZS1jb21tYW5k IChjb25zIGJlZyBlbmQpCiAJCQkJCQkgICAgIGFyZ3MgdCkpKSkpCiAJKGlnbm9yZQotCSAo bWVzc2FnZSAiRXhwZWN0aW5nIGNvbXBsZXRpb24gb2YgZGVsaW1pdGVyICVjIC4uLiIKKyAg ICAgICAgIChtZXNzYWdlICJFeHBlY3RpbmcgY29tcGxldGlvbiBvZiBkZWxpbWl0ZXIgJXMg Li4uIgogCQkgIChpZiAobGlzdHAgZGVsaW0pCiAJCSAgICAgIChjYXIgZGVsaW0pCiAJCSAg ICBkZWxpbSkpKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLXZhci5lbCBiL2xpc3Av ZXNoZWxsL2VzaC12YXIuZWwKaW5kZXggNjBhYWI5MmIzM2UuLmE1YmZiZjQyNTRkIDEwMDY0 NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VzaC12 YXIuZWwKQEAgLTUwMyw3ICs1MDMsNyBAQCBlc2hlbGwtcGFyc2UtdmFyaWFibGUtcmVmCiAg ICAoKGVxIChjaGFyLWFmdGVyKSA/eykKICAgICAobGV0ICgoZW5kIChlc2hlbGwtZmluZC1k ZWxpbWl0ZXIgP1x7ID9cfSkpKQogICAgICAgKGlmIChub3QgZW5kKQotICAgICAgICAgICh0 aHJvdyAnZXNoZWxsLWluY29tcGxldGUgP1x7KQorICAgICAgICAgICh0aHJvdyAnZXNoZWxs LWluY29tcGxldGUgIiR7IikKICAgICAgICAgKGZvcndhcmQtY2hhcikKICAgICAgICAgKHBy b2cxCiAgICAgICAgICAgICBgKGVzaGVsbC1hcHBseS1pbmRpY2VzCkBAIC01MjcsNyArNTI3 LDcgQEAgZXNoZWxsLXBhcnNlLXZhcmlhYmxlLXJlZgogICAgKChlcSAoY2hhci1hZnRlcikg P1w8KQogICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XDwgP1w+KSkp CiAgICAgICAoaWYgKG5vdCBlbmQpCi0gICAgICAgICAgKHRocm93ICdlc2hlbGwtaW5jb21w bGV0ZSA/XDwpCisgICAgICAgICAgKHRocm93ICdlc2hlbGwtaW5jb21wbGV0ZSAiJDwiKQog ICAgICAgICAobGV0KiAoKHRlbXAgKG1ha2UtdGVtcC1maWxlIHRlbXBvcmFyeS1maWxlLWRp cmVjdG9yeSkpCiAgICAgICAgICAgICAgICAoY21kIChjb25jYXQgKGJ1ZmZlci1zdWJzdHJp bmcgKDErIChwb2ludCkpIGVuZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID4g IiB0ZW1wKSkpCkBAIC01NjAsMTUgKzU2MCwxOSBAQCBlc2hlbGwtcGFyc2UtdmFyaWFibGUt cmVmCiAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudC1idWZmZXIpKSkpKQogICAg ICAgICAgIGluZGljZXMgLGVzaGVsbC1jdXJyZW50LXF1b3RlZCkKICAgICAgIChlbmQtb2Yt ZmlsZQotICAgICAgICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgP1woKSkpKQorICAgICAg ICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgIiQoIikpKSkKICAgICgobG9va2luZy1hdCAo cngtdG8tc3RyaW5nCiAgICAgICAgICAgICAgICAgIGAob3IgIiciICwoaWYgZXNoZWxsLWN1 cnJlbnQtcXVvdGVkICJcXFwiIiAiXCIiKSkpKQogICAgIChlc2hlbGwtd2l0aC10ZW1wLWNv bW1hbmQKICAgICAgICAgKG9yIChlc2hlbGwtdW5lc2NhcGUtaW5uZXItZG91YmxlLXF1b3Rl IChwb2ludC1tYXgpKQogICAgICAgICAgICAgKGNvbnMgKHBvaW50KSAocG9pbnQtbWF4KSkp Ci0gICAgICAobGV0ICgobmFtZSAoaWYgKGVxIChjaGFyLWFmdGVyKSA/XCcpCi0gICAgICAg ICAgICAgICAgICAgICAgKGVzaGVsbC1wYXJzZS1saXRlcmFsLXF1b3RlKQotICAgICAgICAg ICAgICAgICAgICAoZXNoZWxsLXBhcnNlLWRvdWJsZS1xdW90ZSkpKSkKKyAgICAgIChsZXQg KG5hbWUpCisgICAgICAgICh3aGVuLWxldCAoKGRlbGltCisgICAgICAgICAgICAgICAgICAg IChjYXRjaCAnZXNoZWxsLWluY29tcGxldGUKKyAgICAgICAgICAgICAgICAgICAgICAoaWdu b3JlIChzZXRxIG5hbWUgKGlmIChlcSAoY2hhci1hZnRlcikgP1wnKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1wYXJzZS1saXRlcmFs LXF1b3RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChl c2hlbGwtcGFyc2UtZG91YmxlLXF1b3RlKSkpKSkpKQorICAgICAgICAgICh0aHJvdyAnZXNo ZWxsLWluY29tcGxldGUgKGNvbmNhdCAiJCIgZGVsaW0pKSkKICAgICAgICAgKHdoZW4gbmFt ZQogICAgICAgICAgIGAoZXNoZWxsLWdldC12YXJpYWJsZSAsKGV2YWwgbmFtZSkgaW5kaWNl cyAsZXNoZWxsLWN1cnJlbnQtcXVvdGVkKSkpKSkKICAgICgoYXNzb2MgKGNoYXItdG8tc3Ry aW5nIChjaGFyLWFmdGVyKSkKQEAgLTU5Nyw3ICs2MDEsNyBAQCBlc2hlbGwtcGFyc2UtaW5k aWNlcwogICAgICh3aGlsZSAoZXEgKGNoYXItYWZ0ZXIpID9cWykKICAgICAgIChsZXQgKChl bmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XFsgP1xdKSkpCiAJKGlmIChub3QgZW5kKQot CSAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cWykKKyAgICAgICAgICAgICh0aHJv dyAnZXNoZWxsLWluY29tcGxldGUgIlsiKQogCSAgKGZvcndhcmQtY2hhcikKICAgICAgICAg ICAoZXNoZWxsLXdpdGgtdGVtcC1jb21tYW5kIChvciAoZXNoZWxsLXVuZXNjYXBlLWlubmVy LWRvdWJsZS1xdW90ZSBlbmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnMgKHBvaW50KSBlbmQpKQotLSAKMi4yNS4xCgo= --------------uODCi6CUTo0NWzQRWlT80I5Q Content-Type: text/plain; charset=UTF-8; name="0002-Add-support-for-completing-quoted-variables-in-Eshel.patch" Content-Disposition: attachment; filename*0="0002-Add-support-for-completing-quoted-variables-in-Eshel.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBmZWU1YTgxNjNkNjQ5YzU1ZjU2MWY2MzU4MmE2NGI5OTkxN2FhOGQyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNzo0ODo0MyAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMi8zXSBBZGQgc3VwcG9ydCBmb3IgY29tcGxldGluZyBxdW90ZWQgdmFyaWFibGVzIGlu IEVzaGVsbAogbGlrZSAkJ0ZPTycKClRoaXMgYWxzbyBhZGRzIHRoZSBhYmlsaXR5IGZvciBQ Y29tcGxldGUgaGFuZGxlcnMgdG8gc2V0IHRoZWlyIG93bgpleGl0IGZ1bmN0aW9ucyB0aGF0 IHdpbGwgZ2V0IGNhbGxlZCBhcyBhcHByb3ByaWF0ZS4KCiogbGlzcC9wY29tcGxldGUuZWwg KHBjb21wbGV0ZS1jb21wbGV0aW9ucy1hdC1wb2ludCk6IENoZWNrIGZvcgoncGNvbXBsZXRl LWV4aXQtZnVuY3Rpb24nIGFuZCBjYWxsIGl0IGlmIHByZXNlbnQuCgoqIGxpc3AvZXNoZWxs L2VtLWNtcGwuZWwgKGVzaGVsbC1jb21wbGV0ZS1wYXJzZS1hcmd1bWVudHMpOiBIYW5kbGUK cXVvdGVkIHZhcmlhYmxlcy4gIFdlIGFsc28gYnVpbGQgdGhlICdwb3NucycgbGlzdCBmcm9t IHJpZ2h0LXRvLWxlZnQKbm93LgoKKiBsaXNwL2VzaGVsbC9lc2gtdmFyLmVsIChlc2hlbGwt ZW52dmFyLW5hbWVzKTogRW5zdXJlIHRoYXQgdmFyaWFibGUKYWxpYXNlcyBhcmUgaW5jbHVk ZWQgaW4gdGhpcyBsaXN0LgooZXNoZWxsLWNvbXBsZXRlLXZhcmlhYmxlLXJlZmVyZW5jZSk6 IEhhbmRsZSBxdW90ZWQgdmFyaWFibGVzLgooZXNoZWxsLXZhcmlhYmxlcy1saXN0KTogSGFu ZGxlIHF1b3RlZCB2YXJpYWJsZXMgYW5kIHNldCB0aGUgZXhpdApmdW5jdGlvbiBvbiB0aGUg Y29tcGxldGlvbnMuCihlc2hlbGwtY29tcGxldGUtdmFyaWFibGUtcmVmLS1leGl0KTogTmV3 IGZ1bmN0aW9uLCBleHRyYWN0ZWQgZnJvbQonZXNoZWxsLXZhcmlhYmxlcy1saXN0Jy4KCiog dGVzdC9saXNwL2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVsCihlbS1jbXBsLXRlc3QvcXVvdGVk LXZhcmlhYmxlLXJlZi1jb21wbGV0aW9uKQooZW0tY21wbC10ZXN0L3ZhcmlhYmxlLXJlZi1j b21wbGV0aW9uL2RpcmVjdG9yeSk6IE5ldyB0ZXN0cy4KKGVtLWNtcGwtdGVzdC91c2VyLXJl Zi1jb21wbGV0aW9uKTogRml4IHR5cG8uCi0tLQogbGlzcC9lc2hlbGwvZW0tY21wbC5lbCAg ICAgICAgICAgIHwgMTkgKysrKystLS0tLQogbGlzcC9lc2hlbGwvZXNoLXZhci5lbCAgICAg ICAgICAgIHwgNjAgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogbGlzcC9wY29t cGxldGUuZWwgICAgICAgICAgICAgICAgIHwgMjkgKysrKysrKysrLS0tLS0tCiB0ZXN0L2xp c3AvZXNoZWxsL2VtLWNtcGwtdGVzdHMuZWwgfCAyNSArKysrKysrKysrKysrCiA0IGZpbGVz IGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2xpc3AvZXNoZWxsL2VtLWNtcGwuZWwgYi9saXNwL2VzaGVsbC9lbS1jbXBsLmVsCmlu ZGV4IDdmNzM5MjJmMzcwLi4zODBlY2QwYjkxZCAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwv ZW0tY21wbC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1jbXBsLmVsCkBAIC0zMTksOCArMzE5 LDcgQEAgZXNoZWxsLWNvbXBsZXRlLXBhcnNlLWFyZ3VtZW50cwogICAgIChlc2hlbGwtLXBj b21wbGV0ZS1pbnNlcnQtdGFiKSkKICAgKGxldCAoKGVuZCAocG9pbnQtbWFya2VyKSkKIAko YmVnaW4gKHNhdmUtZXhjdXJzaW9uIChiZWdpbm5pbmctb2YtbGluZSkgKHBvaW50KSkpCi0J KHBvc25zIChsaXN0IHQpKQotCWFyZ3MgZGVsaW0pCisJYXJncyBwb3NucyBkZWxpbSkKICAg ICAod2hlbiAoYW5kIHBjb21wbGV0ZS1hbGxvdy1tb2RpZmljYXRpb25zCiAJICAgICAgICht ZW1xIHRoaXMtY29tbWFuZCAnKHBjb21wbGV0ZS1leHBhbmQKIAkJCSAgICAgICAgICAgIHBj b21wbGV0ZS1leHBhbmQtYW5kLWNvbXBsZXRlKSkpCkBAIC0zMzUsMTggKzMzNCwyMiBAQCBl c2hlbGwtY29tcGxldGUtcGFyc2UtYXJndW1lbnRzCiAgICAgICAgIChjb25kICgobWVtYmVy IChjYXIgZGVsaW0pICcoInsiICIkeyIgIiQ8IikpCiAJICAgICAgIChzZXRxIGJlZ2luICgx KyAoY2FkciBkZWxpbSkpCiAJCSAgICAgYXJncyAoZXNoZWxsLXBhcnNlLWFyZ3VtZW50cyBi ZWdpbiBlbmQpKSkKKyAgICAgICAgICAgICAgKChtZW1iZXIgKGNhciBkZWxpbSkgJygiJCci ICIkXCIiKSkKKyAgICAgICAgICAgICAgIDs7IEFkZCB0aGUgKGluY29tcGxldGUpIGFyZ3Vt ZW50IHRvIG91ciBhcmd1bWVudHMsIGFuZAorICAgICAgICAgICAgICAgOzsgbm90ZSBpdHMg cG9zaXRpb24uCisgICAgICAgICAgICAgICAoc2V0cSBhcmdzIChhcHBlbmQgKG50aCAyIGRl bGltKSAobGlzdCAoY2FyIGRlbGltKSkpKQorICAgICAgICAgICAgICAgKHB1c2ggKC0gKG50 aCAxIGRlbGltKSAyKSBwb3NucykpCiAgICAgICAgICAgICAgICgobWVtYmVyIChjYXIgZGVs aW0pICcoIigiICIkKCIpKQogCSAgICAgICAodGhyb3cgJ3Bjb21wbGV0ZWQgKGVsaXNwLWNv bXBsZXRpb24tYXQtcG9pbnQpKSkKIAkgICAgICAodAogCSAgICAgICAoZXNoZWxsLS1wY29t cGxldGUtaW5zZXJ0LXRhYikpKSkKICAgICAod2hlbiAoZ2V0LXRleHQtcHJvcGVydHkgKDEt IGVuZCkgJ2NvbW1lbnQpCiAgICAgICAoZXNoZWxsLS1wY29tcGxldGUtaW5zZXJ0LXRhYikp Ci0gICAgKGxldCAoKHBvcyBiZWdpbikpCi0gICAgICAod2hpbGUgKDwgcG9zIGVuZCkKLQko aWYgKGdldC10ZXh0LXByb3BlcnR5IHBvcyAnYXJnLWJlZ2luKQotCSAgICAobmNvbmMgcG9z bnMgKGxpc3QgcG9zKSkpCi0JKHNldHEgcG9zICgxKyBwb3MpKSkpCi0gICAgKHNldHEgcG9z bnMgKGNkciBwb3NucykpCisgICAgKGxldCAoKHBvcyAoMS0gZW5kKSkpCisgICAgICAod2hp bGUgKD49IHBvcyBiZWdpbikKKyAgICAgICAgKHdoZW4gKGdldC10ZXh0LXByb3BlcnR5IHBv cyAnYXJnLWJlZ2luKQorICAgICAgICAgIChwdXNoIHBvcyBwb3NucykpCisgICAgICAgIChz ZXRxIHBvcyAoMS0gcG9zKSkpKQogICAgIChjbC1hc3NlcnQgKD0gKGxlbmd0aCBhcmdzKSAo bGVuZ3RoIHBvc25zKSkpCiAgICAgKGxldCAoKGEgYXJncykgKGkgMCkgbmV3LXN0YXJ0KQog ICAgICAgKHdoaWxlIGEKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwgYi9s aXNwL2VzaGVsbC9lc2gtdmFyLmVsCmluZGV4IGE1YmZiZjQyNTRkLi45NTI1NTllMGQxOCAx MDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLXZhci5lbAorKysgYi9saXNwL2VzaGVsbC9l c2gtdmFyLmVsCkBAIC00MzQsOSArNDM0LDE1IEBAIGVzaGVsbC1pbnNlcnQtZW52dmFyCiAK IChkZWZ1biBlc2hlbGwtZW52dmFyLW5hbWVzICgmb3B0aW9uYWwgZW52aXJvbm1lbnQpCiAg ICJSZXR1cm4gYSBsaXN0IG9mIGN1cnJlbnRseSB2aXNpYmxlIGVudmlyb25tZW50IHZhcmlh YmxlIG5hbWVzLiIKLSAgKG1hcGNhciAobGFtYmRhICh4KQotICAgICAgICAgICAgKHN1YnN0 cmluZyB4IDAgKHN0cmluZy1zZWFyY2ggIj0iIHgpKSkKLQkgIChvciBlbnZpcm9ubWVudCBw cm9jZXNzLWVudmlyb25tZW50KSkpCisgIChkZWxldGUtZHVwcworICAgKGFwcGVuZAorICAg IDs7IFJlYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzCisgICAgKG1hcGNhciAobGFtYmRhICh4 KQorICAgICAgICAgICAgICAoc3Vic3RyaW5nIHggMCAoc3RyaW5nLXNlYXJjaCAiPSIgeCkp KQorCSAgICAob3IgZW52aXJvbm1lbnQgcHJvY2Vzcy1lbnZpcm9ubWVudCkpCisgICAgOzsg RXNoZWxsIHZhcmlhYmxlIGFsaWFzZXMKKyAgICAobWFwY2FyIChsYW1iZGEgKHgpIChjYXIg eCkpCisgICAgICAgICAgICBlc2hlbGwtdmFyaWFibGUtYWxpYXNlcy1saXN0KSkpKQogCiAo ZGVmdW4gZXNoZWxsLWVudmlyb25tZW50LXZhcmlhYmxlcyAoKQogICAiUmV0dXJuIGEgYHBy b2Nlc3MtZW52aXJvbm1lbnQnLCBmdWxseSB1cGRhdGVkLgpAQCAtODIwLDMzICs4MjYsNDEg QEAgZXNoZWxsLWNvbXBsZXRlLXZhcmlhYmxlLXJlZmVyZW5jZQogICAobGV0ICgoYXJnIChw Y29tcGxldGUtYWN0dWFsLWFyZykpKQogICAgICh3aGVuIChzdHJpbmctbWF0Y2gKICAgICAg ICAgICAgKHJ4ICIkIiAoPyAob3IgIiMiICJAIikpCi0gICAgICAgICAgICAgICAoPyAoZ3Jv dXAgKHJlZ2V4cCBlc2hlbGwtdmFyaWFibGUtbmFtZS1yZWdleHApKSkKLSAgICAgICAgICAg ICAgIHN0cmluZy1lbmQpCisgICAgICAgICAgICAgICAoPyAob3IgKGdyb3VwLW4gMSAocmVn ZXhwIGVzaGVsbC12YXJpYWJsZS1uYW1lLXJlZ2V4cCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJpbmctZW5kKQorICAgICAgICAgICAgICAgICAgICAgIChzZXEgKGdy b3VwLW4gMiAob3IgIiciICJcIiIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdy b3VwLW4gMSAoKyBhbnljaGFyKSkpKSkpCiAgICAgICAgICAgIGFyZykKICAgICAgIChzZXRx IHBjb21wbGV0ZS1zdHViIChzdWJzdHJpbmcgYXJnIChtYXRjaC1iZWdpbm5pbmcgMSkpKQor ICAgICAgKHNldHEgcGNvbXBsZXRlLWV4aXQtZnVuY3Rpb24KKyAgICAgICAgICAgIChhcHBs eS1wYXJ0aWFsbHkgIydlc2hlbGwtY29tcGxldGUtdmFyaWFibGUtcmVmLS1leGl0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1zdHJpbmcgMiBhcmcpKSkKICAgICAg ICh0aHJvdyAncGNvbXBsZXRlLWNvbXBsZXRpb25zIChlc2hlbGwtdmFyaWFibGVzLWxpc3Qp KSkpKQogCiAoZGVmdW4gZXNoZWxsLXZhcmlhYmxlcy1saXN0ICgpCiAgICJHZW5lcmF0ZSBs aXN0IG9mIGFwcGxpY2FibGUgdmFyaWFibGVzLiIKLSAgKGxldCAoKGFyZ25hbWUgcGNvbXBs ZXRlLXN0dWIpCi0JY29tcGxldGlvbnMpCi0gICAgKGRvbGlzdCAoYWxpYXMgZXNoZWxsLXZh cmlhYmxlLWFsaWFzZXMtbGlzdCkKLSAgICAgIChpZiAoc3RyaW5nLW1hdGNoIChjb25jYXQg Il4iIGFyZ25hbWUpIChjYXIgYWxpYXMpKQotCSAgKHNldHEgY29tcGxldGlvbnMgKGNvbnMg KGNhciBhbGlhcykgY29tcGxldGlvbnMpKSkpCisgIChsZXQgKChhcmduYW1lIHBjb21wbGV0 ZS1zdHViKSkKICAgICAoc29ydAotICAgICAoYXBwZW5kCi0gICAgICAobWFwY2FyCi0gICAg ICAgKGxhbWJkYSAodmFybmFtZSkKLSAgICAgICAgIChsZXQgKCh2YWx1ZSAoZXNoZWxsLWdl dC12YXJpYWJsZSB2YXJuYW1lKSkpCi0gICAgICAgICAgIChpZiAoYW5kIHZhbHVlCi0gICAg ICAgICAgICAgICAgICAgIChzdHJpbmdwIHZhbHVlKQotICAgICAgICAgICAgICAgICAgICAo ZmlsZS1kaXJlY3RvcnktcCB2YWx1ZSkpCi0gICAgICAgICAgICAgICAoY29uY2F0IHZhcm5h bWUgIi8iKQotICAgICAgICAgICAgIHZhcm5hbWUpKSkKLSAgICAgICAoZXNoZWxsLWVudnZh ci1uYW1lcyAoZXNoZWxsLWVudmlyb25tZW50LXZhcmlhYmxlcykpKQotICAgICAgKGFsbC1j b21wbGV0aW9ucyBhcmduYW1lIG9iYXJyYXkgJ2JvdW5kcCkKLSAgICAgIGNvbXBsZXRpb25z KQotICAgICAnc3RyaW5nLWxlc3NwKSkpCisgICAgIChhcHBlbmQgKGVzaGVsbC1lbnZ2YXIt bmFtZXMpCisgICAgICAgICAgICAgKGFsbC1jb21wbGV0aW9ucyBhcmduYW1lIG9iYXJyYXkg J2JvdW5kcCkpCisgICAgICMnc3RyaW5nLWxlc3NwKSkpCisKKyhkZWZ1biBlc2hlbGwtY29t cGxldGUtdmFyaWFibGUtcmVmLS1leGl0IChkZWxpbWl0ZXIgdmFyaWFibGUgc3RhdHVzKQor ICAiQW4gZXhpdCBmdW5jdGlvbiBmb3IgY29tcGxldGluZyBFc2hlbGwgdmFyaWFibGUgcmVm ZXJlbmNlcy4KK0RFTElNSVRFUiBpcyBhIGRlbGltaXRlciB3cmFwcGluZyB0aGUgdmFyaWFi bGUgKCcgb3IgXCIpIG9yIG5pbC4KK1ZBUklBQkxFIGlzIHRoZSBuYW1lIG9mIHRoZSB2YXJp YWJsZSB0aGF0IHdhcyBqdXN0IGNvbXBsZXRlZC4KK1NUQVRVUyBpcyBhIHN5bWJvbCByZXBy ZXNlbnRpbmcgdGhlIHN0YXRlIG9mIHRoZSBjb21wbGV0aW9uLiIKKyAgKHdoZW4gKGVxIHN0 YXR1cyAnZmluaXNoZWQpCisgICAgKHdoZW4gZGVsaW1pdGVyCisgICAgICAoaWYgKGxvb2tp bmctYXQgKHJlZ2V4cC1xdW90ZSBkZWxpbWl0ZXIpKQorICAgICAgICAgIChnb3RvLWNoYXIg KG1hdGNoLWVuZCAwKSkKKyAgICAgICAgKGluc2VydCBkZWxpbWl0ZXIpKSkKKyAgICAobGV0 ICgobm9uLWVzc2VudGlhbCB0KQorICAgICAgICAgICh2YWx1ZSAoZXNoZWxsLWdldC12YXJp YWJsZSB2YXJpYWJsZSkpKQorICAgICAgKHdoZW4gKGFuZCAoc3RyaW5ncCB2YWx1ZSkgKGZp bGUtZGlyZWN0b3J5LXAgdmFsdWUpKQorICAgICAgICAoaW5zZXJ0ICIvIikKKyAgICAgICAg OzsgVGVsbCBQY29tcGxldGUgbm90IHRvIGluc2VydCBpdHMgb3duIHRlcm1pbmF0aW9uIHN0 cmluZy4KKyAgICAgICAgdCkpKSkKIAogKGRlZnVuIGVzaGVsbC1jb21wbGV0ZS12YXJpYWJs ZS1hc3NpZ25tZW50ICgpCiAgICJJZiB0aGVyZSBpcyBhIHZhcmlhYmxlIGFzc2lnbm1lbnQs IGFsbG93IGNvbXBsZXRpb24gb2YgZW50cmllcy4iCmRpZmYgLS1naXQgYS9saXNwL3Bjb21w bGV0ZS5lbCBiL2xpc3AvcGNvbXBsZXRlLmVsCmluZGV4IDFjYTdhMjEzMzYxLi5hZDUwNDkz YWMyOCAxMDA2NDQKLS0tIGEvbGlzcC9wY29tcGxldGUuZWwKKysrIGIvbGlzcC9wY29tcGxl dGUuZWwKQEAgLTM1Nyw2ICszNTcsNyBAQCBwY29tcGxldGUtYmVnaW5zCiAoZGVmdmFyIHBj b21wbGV0ZS1sYXN0IG5pbCkKIChkZWZ2YXIgcGNvbXBsZXRlLWluZGV4IG5pbCkKIChkZWZ2 YXIgcGNvbXBsZXRlLXN0dWIgbmlsKQorKGRlZnZhciBwY29tcGxldGUtZXhpdC1mdW5jdGlv biBuaWwpCiAoZGVmdmFyIHBjb21wbGV0ZS1zZWVuIG5pbCkKIChkZWZ2YXIgcGNvbXBsZXRl LW5vcm0tZnVuYyBuaWwpCiAKQEAgLTQwNiw2ICs0MDcsNyBAQCBwY29tcGxldGUtY29tcGxl dGlvbnMtYXQtcG9pbnQKICAgICAgICAgICAgIChpZiBwY29tcGxldGUtYWxsb3ctbW9kaWZp Y2F0aW9ucyBidWZmZXItcmVhZC1vbmx5IHQpKQogICAgICAgICAgICBwY29tcGxldGUtc2Vl biBwY29tcGxldGUtbm9ybS1mdW5jCiAgICAgICAgICAgIHBjb21wbGV0ZS1hcmdzIHBjb21w bGV0ZS1sYXN0IHBjb21wbGV0ZS1pbmRleAorICAgICAgICAgICBwY29tcGxldGUtZXhpdC1m dW5jdGlvbgogICAgICAgICAgICAocGNvbXBsZXRlLWF1dG9saXN0IHBjb21wbGV0ZS1hdXRv bGlzdCkKICAgICAgICAgICAgKHBjb21wbGV0ZS1zdWZmaXgtbGlzdCBwY29tcGxldGUtc3Vm Zml4LWxpc3QpCiAgICAgICAgICAgIDs7IEFwcGFyZW50bHkgdGhlIHZhcnMgYWJvdmUgYXJl IGdsb2JhbCB2YXJzIG1vZGlmaWVkIGJ5CkBAIC00OTQsMTYgKzQ5NiwyMyBAQCBwY29tcGxl dGUtY29tcGxldGlvbnMtYXQtcG9pbnQKICAgICAgICAgICAgICAgICAgICAgKGdldC10ZXh0 LXByb3BlcnR5IDAgJ3Bjb21wbGV0ZS1oZWxwIGNhbmQpKSkKICAgICAgICAgICAgICAgICA6 cHJlZGljYXRlIHByZWQKICAgICAgICAgICAgICAgICA6ZXhpdC1mdW5jdGlvbgotCQk7OyBJ ZiBjb21wbGV0aW9uIGlzIGZpbmlzaGVkLCBhZGQgYSB0ZXJtaW5hdGluZyBzcGFjZS4KLQkJ OzsgV2UgdXNlZCB0byBhbHNvIGRvIHRoaXMgaWYgU1RBVFVTIGlzIGBzb2xlJywgYnV0Ci0J CTs7IHRoYXQgZG9lcyBub3Qgd29yayByaWdodCB3aGVuIGNvbXBsZXRpb24gY3ljbGluZy4K LSAgICAgICAgICAgICAgICAodW5sZXNzICh6ZXJvcCAobGVuZ3RoIHBjb21wbGV0ZS10ZXJt aW5hdGlvbi1zdHJpbmcpKQotICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoX3Mgc3RhdHVz KQotICAgICAgICAgICAgICAgICAgICAod2hlbiAoZXEgc3RhdHVzICdmaW5pc2hlZCkKLSAg ICAgICAgICAgICAgICAgICAgICAoaWYgKGxvb2tpbmctYXQKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIChyZWdleHAtcXVvdGUgcGNvbXBsZXRlLXRlcm1pbmF0aW9uLXN0cmluZykp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWVuZCAwKSkK LSAgICAgICAgICAgICAgICAgICAgICAgIChpbnNlcnQgcGNvbXBsZXRlLXRlcm1pbmF0aW9u LXN0cmluZykpKSkpKSkpKSkpCisgICAgICAgICAgICAgICAgKHdoZW4gKG9yIHBjb21wbGV0 ZS1leGl0LWZ1bmN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgIChsZW5ndGg+IHBj b21wbGV0ZS10ZXJtaW5hdGlvbi1zdHJpbmcgMCkpCisgICAgICAgICAgICAgICAgICAobGV0 ICgoZXhpdC1mdW5jdGlvbiBwY29tcGxldGUtZXhpdC1mdW5jdGlvbikpCisgICAgICAgICAg ICAgICAgICAgIChsYW1iZGEgKHN0cmluZyBzdGF0dXMpCisgICAgICAgICAgICAgICAgICAg ICAgKGxldCAoKHRlcm1pbmF0ZS1wIHQpKQorICAgICAgICAgICAgICAgICAgICAgICAgKHdo ZW4gZXhpdC1mdW5jdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSB0ZXJt aW5hdGUtcCAobm90IChmdW5jYWxsIGV4aXQtZnVuY3Rpb24KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgc3RhdHVz KSkpKQorCQkgICAgICAgIDs7IElmIGNvbXBsZXRpb24gaXMgZmluaXNoZWQsIGFkZCBhIHRl cm1pbmF0aW5nCisJCSAgICAgICAgOzsgc3BhY2UuICBXZSB1c2VkIHRvIGFsc28gZG8gdGhp cyBpZiBTVEFUVVMgaXMKKwkJICAgICAgICA7OyBgc29sZScsIGJ1dCB0aGF0IGRvZXMgbm90 IHdvcmsgcmlnaHQgd2hlbgorCQkgICAgICAgIDs7IGNvbXBsZXRpb24gY3ljbGluZy4KKyAg ICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChhbmQgdGVybWluYXRlLXAgKGVxIHN0YXR1 cyAnZmluaXNoZWQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGxvb2tpbmct YXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVnZXhwLXF1b3RlIHBjb21w bGV0ZS10ZXJtaW5hdGlvbi1zdHJpbmcpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChpbnNlcnQgcGNvbXBsZXRlLXRlcm1pbmF0aW9uLXN0cmluZykpKSkpKSkpKSkpKSkK IAogIDs7IEkgZG9uJ3QgdGhpbmsgc3VjaCBjb21tYW5kcyBhcmUgdXNhYmxlIGJlZm9yZSBm aXJzdCBzZXR0aW5nIHVwIGJ1ZmZlci1sb2NhbAogIDs7IHZhcmlhYmxlcyB0byBwYXJzZSBh cmdzLCBzbyB0aGVyZSdzIG5vIHBvaW50IGF1dG9sb2FkaW5nIGl0LgpkaWZmIC0tZ2l0IGEv dGVzdC9saXNwL2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9l bS1jbXBsLXRlc3RzLmVsCmluZGV4IDEyYTE1NmZiYjM4Li4xZjhjNTcxYzQ0YyAxMDA2NDQK LS0tIGEvdGVzdC9saXNwL2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlz cC9lc2hlbGwvZW0tY21wbC10ZXN0cy5lbApAQCAtMTgzLDYgKzE4MywzMSBAQCBlbS1jbXBs LXRlc3QvdmFyaWFibGUtcmVmLWNvbXBsZXRpb24KICAgIChzaG91bGQgKGVxdWFsIChlc2hl bGwtaW5zZXJ0LWFuZC1jb21wbGV0ZSAiZWNobyAkc3lzdGVtLW5hbSIpCiAgICAgICAgICAg ICAgICAgICAiZWNobyAkc3lzdGVtLW5hbWUgIikpKSkKIAorKGVydC1kZWZ0ZXN0IGVtLWNt cGwtdGVzdC9xdW90ZWQtdmFyaWFibGUtcmVmLWNvbXBsZXRpb24gKCkKKyAgIlRlc3QgY29t cGxldGlvbiBvZiB2YXJpYWJsZSByZWZlcmVuY2VzIGxpa2UgXCIkJ3ZhcidcIi4KK1NlZSA8 bGlzcC9lc2hlbGwvZXNoLXZhci5lbD4uIgorICAod2l0aC10ZW1wLWVzaGVsbAorICAgKHNo b3VsZCAoZXF1YWwgKGVzaGVsbC1pbnNlcnQtYW5kLWNvbXBsZXRlICJlY2hvICQnc3lzdGVt LW5hbSIpCisgICAgICAgICAgICAgICAgICAiZWNobyAkJ3N5c3RlbS1uYW1lJyAiKSkpCisg ICh3aXRoLXRlbXAtZXNoZWxsCisgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWluc2VydC1h bmQtY29tcGxldGUgImVjaG8gJFwic3lzdGVtLW5hbSIpCisgICAgICAgICAgICAgICAgICAi ZWNobyAkXCJzeXN0ZW0tbmFtZVwiICIpKSkpCisKKyhlcnQtZGVmdGVzdCBlbS1jbXBsLXRl c3QvdmFyaWFibGUtcmVmLWNvbXBsZXRpb24vZGlyZWN0b3J5ICgpCisgICJUZXN0IGNvbXBs ZXRpb24gb2YgdmFyaWFibGUgcmVmZXJlbmNlcyB0aGF0IGV4cGFuZCB0byBkaXJlY3Rvcmll cy4KK1NlZSA8bGlzcC9lc2hlbGwvZXNoLXZhci5lbD4uIgorICAod2l0aC10ZW1wLWVzaGVs bAorICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1pbnNlcnQtYW5kLWNvbXBsZXRlICJlY2hv ICRQVyIpCisgICAgICAgICAgICAgICAgICAiZWNobyAkUFdELyIpKSkKKyAgKHdpdGgtdGVt cC1lc2hlbGwKKyAgIChsZXQgKChtaW5pYnVmZmVyLW1lc3NhZ2UtdGltZW91dCAwKQorICAg ICAgICAgKGluaGliaXQtbWVzc2FnZSB0KSkKKyAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1pbnNlcnQtYW5kLWNvbXBsZXRlICJlY2hvICRQV0QiKQorICAgICAgICAgICAgICAgICAg ICAiZWNobyAkUFdELyIpKSkpCisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAoc2hvdWxkIChl cXVhbCAoZXNoZWxsLWluc2VydC1hbmQtY29tcGxldGUgImVjaG8gJCdQVyIpCisgICAgICAg ICAgICAgICAgICAiZWNobyAkJ1BXRCcvIikpKSkKKwogKGVydC1kZWZ0ZXN0IGVtLWNtcGwt dGVzdC92YXJpYWJsZS1hc3NpZ24tY29tcGxldGlvbiAoKQogICAiVGVzdCBjb21wbGV0aW9u IG9mIHZhcmlhYmxlIGFzc2lnbm1lbnRzIGxpa2UgXCJ2YXI9dmFsdWVcIi4KIFNlZSA8bGlz cC9lc2hlbGwvZXNoLXZhci5lbD4uIgotLSAKMi4yNS4xCgo= --------------uODCi6CUTo0NWzQRWlT80I5Q Content-Type: text/plain; charset=UTF-8; name="0003-Don-t-add-a-space-after-the-trailing-slash-when-comp.patch" Content-Disposition: attachment; filename*0="0003-Don-t-add-a-space-after-the-trailing-slash-when-comp.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBhZDdkYmY3ZTQ1NWRjNmVkOTI2YjUxYTRiOTM2YTM0ZDUyZWIzNTAwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNzo0ODo0NyAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMy8zXSBEb24ndCBhZGQgYSBzcGFjZSBhZnRlciB0aGUgdHJhaWxpbmcgc2xhc2ggd2hl bgogY29tcGxldGluZyB+Rk9PIGluIEVzaGVsbAoKKiBsaXNwL2VzaGVsbC9lbS1kaXJzLmVs IChlc2hlbGwtY29tcGxldGUtdXNlci1yZWZlcmVuY2UpOiBTZXQgZXhpdApmdW5jdGlvbi4K KGVzaGVsbC1jb21wbGV0ZS11c2VyLXJlZi0tZXhpdCk6IE5ldyBmdW5jdGlvbi4KCiogdGVz dC9saXNwL2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVsCihlbS1jbXBsLXRlc3QvdXNlci1yZWYt Y29tcGxldGlvbik6IFVwZGF0ZSB0ZXN0LgotLS0KIGxpc3AvZXNoZWxsL2VtLWRpcnMuZWwg ICAgICAgICAgICB8IDE2ICsrKysrKysrKysrLS0tLS0KIHRlc3QvbGlzcC9lc2hlbGwvZW0t Y21wbC10ZXN0cy5lbCB8ICA1ICsrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZW0tZGly cy5lbCBiL2xpc3AvZXNoZWxsL2VtLWRpcnMuZWwKaW5kZXggMGQwMmI2NGIwODQuLmM2ZTM4 NGJlMzc0IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS1kaXJzLmVsCisrKyBiL2xpc3Av ZXNoZWxsL2VtLWRpcnMuZWwKQEAgLTI4MSwxNSArMjgxLDIxIEBAIGVzaGVsbC1jb21wbGV0 ZS11c2VyLXJlZmVyZW5jZQogICAobGV0ICgoYXJnIChwY29tcGxldGUtYWN0dWFsLWFyZykp KQogICAgICh3aGVuIChzdHJpbmctbWF0Y2ggIlxcYH5bYS16XSpcXCciIGFyZykKICAgICAg IChzZXRxIHBjb21wbGV0ZS1zdHViIChzdWJzdHJpbmcgYXJnIDEpCi0JICAgIHBjb21wbGV0 ZS1sYXN0LWNvbXBsZXRpb24tcmF3IHQpCisgICAgICAgICAgICBwY29tcGxldGUtbGFzdC1j b21wbGV0aW9uLXJhdyB0CisgICAgICAgICAgICBwY29tcGxldGUtZXhpdC1mdW5jdGlvbiAj J2VzaGVsbC1jb21wbGV0ZS11c2VyLXJlZi0tZXhpdCkKICAgICAgICh0aHJvdyAncGNvbXBs ZXRlLWNvbXBsZXRpb25zCiAJICAgICAocHJvZ24KIAkgICAgICAgKGVzaGVsbC1yZWFkLXVz ZXItbmFtZXMpCiAJICAgICAgIChwY29tcGxldGUtdW5pcXVpZnktbGlzdAotCQkobWFwY2Fy Ci0gICAgICAgICAgICAgICAgIChsYW1iZGEgKHVzZXIpCi0gICAgICAgICAgICAgICAgICAg KGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGNkciB1c2VyKSkpCi0JCSBlc2hlbGwtdXNlci1u YW1lcykpKSkpKSkKKyAgICAgICAgICAgICAgICAobWFwY2FyICMnY2RyIGVzaGVsbC11c2Vy LW5hbWVzKSkpKSkpKQorCisoZGVmdW4gZXNoZWxsLWNvbXBsZXRlLXVzZXItcmVmLS1leGl0 IChfIHN0YXR1cykKKyAgIkFuIGV4aXQgZnVuY3Rpb24gZm9yIGNvbXBsZXRpbmcgRXNoZWxs IHVzZXIgcmVmZXJlbmNlcy4KK1NUQVRVUyBpcyBhIHN5bWJvbCByZXByZXNlbnRpbmcgdGhl IHN0YXRlIG9mIHRoZSBjb21wbGV0aW9uLiIKKyAgKHdoZW4gKGVxIHN0YXR1cyAnZmluaXNo ZWQpCisgICAgKGluc2VydCAiLyIpCisgICAgOzsgVGVsbCBQY29tcGxldGUgbm90IHRvIGlu c2VydCBpdHMgb3duIHRlcm1pbmF0aW9uIHN0cmluZy4KKyAgICB0KSkKIAogKGRlZnVuIGVz aGVsbC9wd2QgKCZyZXN0IF9hcmdzKQogICAiQ2hhbmdlIG91dHB1dCBmcm9tIGBwd2QnIHRv IGJlIGNsZWFuZXIuIgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9lbS1jbXBsLXRl c3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVsCmluZGV4IDFmOGM1 NzFjNDRjLi5lY2FiNzMzMjgyMiAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VzaGVsbC9lbS1j bXBsLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZW0tY21wbC10ZXN0cy5lbApA QCAtMjE4LDE1ICsyMTgsMTQgQEAgZW0tY21wbC10ZXN0L3ZhcmlhYmxlLWFzc2lnbi1jb21w bGV0aW9uCiAgICAgICAgICAgICAgICAgICAgICJWQVI9ZmlsZS50eHQgIikpKSkpCiAKIChl cnQtZGVmdGVzdCBlbS1jbXBsLXRlc3QvdXNlci1yZWYtY29tcGxldGlvbiAoKQotICAiVGVz dCBjb21wbGV0ZWlvbiBvZiB1c2VyIHJlZmVyZW5jZXMgbGlrZSBcIn51c2VyXCIuCisgICJU ZXN0IGNvbXBsZXRpb24gb2YgdXNlciByZWZlcmVuY2VzIGxpa2UgXCJ+dXNlclwiLgogU2Vl IDxsaXNwL2VzaGVsbC9lbS1kaXJzLmVsPi4iCiAgICh1bndpbmQtcHJvdGVjdAogICAgICAg KHdpdGgtdGVtcC1lc2hlbGwKICAgICAgICAoY2wtbGV0ZiAoKChzeW1ib2wtZnVuY3Rpb24g J2VzaGVsbC1yZWFkLXVzZXItbmFtZXMpCiAgICAgICAgICAgICAgICAgICAobGFtYmRhICgp IChzZXRxIGVzaGVsbC11c2VyLW5hbWVzICcoKDEyMzQgLiAidXNlciIpKSkpKSkKLSAgICAg ICAgIDs7IEZJWE1FOiBTaG91bGQgdGhpcyByZWFsbHkgYWRkIGEgc3BhY2UgYXQgdGhlIGVu ZD8KICAgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtaW5zZXJ0LWFuZC1jb21wbGV0 ZSAiZWNobyB+dXMiKQotICAgICAgICAgICAgICAgICAgICAgICAgImVjaG8gfnVzZXIvICIp KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAiZWNobyB+dXNlci8iKSkpKQogICAgIDs7 IENsZWFyIHRoZSBjYWNoZWQgdXNlciBuYW1lcyB3ZSBzZXQgYWJvdmUuCiAgICAgKHNldHEg ZXNoZWxsLXVzZXItbmFtZXMgbmlsKSkpCiAKLS0gCjIuMjUuMQoK --------------uODCi6CUTo0NWzQRWlT80I5Q-- From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 05 10:33:54 2023 Received: (at 61221) by debbugs.gnu.org; 5 Feb 2023 15:33:54 +0000 Received: from localhost ([127.0.0.1]:46299 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pOh1e-0003Im-4m for submit@debbugs.gnu.org; Sun, 05 Feb 2023 10:33:54 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:45110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pOh1c-0003IW-04 for 61221@debbugs.gnu.org; Sun, 05 Feb 2023 10:33:52 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 27C3E440875; Sun, 5 Feb 2023 10:33:46 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B235F44085F; Sun, 5 Feb 2023 10:33:44 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1675611224; bh=viMrHeYemeLWhm4drsk1f96xDqTsVL9NEPVvL3imAXY=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=AA6GDQuJcBPwnQm1qBIZ5+gRYAlk2nwVxAo33M6TBKknseRcaQduPLKJYggmZ8JHw LN35cwnxRf23n5XsnNKYR33o5dbN1DOFjnX6XGXHnct9JHu5vXRVTcwj0j84J18xYa EqBxTEO+dqOlbfvIXpdTHTBTpri/GNqCr3iKwFOtRtrU85sx7j1lD1D8l0q3iIbOu5 pa/v4FP+L52ef/G3VM/d/xI33rBfauwF36VhJ9vbZ/GaZq+rMmsy8asHQJ+KHortH/ jv3/r79NKfADgsFSNHbrKytQiUPalrFaC3ydxC/5iYbsVSxgEhbs8n08+VvLuBYlB2 fzzhqWHY+DdCA== Received: from pastel (unknown [104.247.245.112]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 88472122476; Sun, 5 Feb 2023 10:33:44 -0500 (EST) From: Stefan Monnier To: Jim Porter Subject: Re: bug#61221: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell In-Reply-To: <0e3cf425-be9d-4759-d024-ac07ccecba9c@gmail.com> (Jim Porter's message of "Wed, 1 Feb 2023 18:28:08 -0800") Message-ID: References: <0e3cf425-be9d-4759-d024-ac07ccecba9c@gmail.com> Date: Sun, 05 Feb 2023 10:33:42 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 61221 Cc: 61221@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Probably the most controversial part of this patch is in #0002, where > I added another dynamic variable 'pcomplete-exit-function' that Pcomplete > handlers can set to tell Pcomplete what to do after exiting > a completion. Maybe it would be better to have handlers throw some special > value for 'pcomplete-completions' that contains this info (sort of like the > value that a 'completion-at-point-function' returns). I'm not sure what the > best (and most-compatible) way to do this would be... BTW, a low-tech way to get similar results is to change your completion table. Instead of having entries like user-login-name make it contains entries like: user-login-name" or user-login-name' or even 'user-login-name' [ assuming you change the `pcomplete-stub` so that it also contains the leading ' of course. ] Regarding `pcomplete-exit-function`: - It's ugly and I don't like it, but given the general design of the current Pcomplete API, I think it's OK. - Please add a good docstring to that variable (the fact that the other vars nearby don't have any is no excuse, instead it's a(nother) problem that should be fixed). - Maybe `pcomplete-exit-function` should override the default exit function (i.e. the handing of `pcomplete-termination-string`) rather than being added to it? E.g. we could start with `pcomplete-exit-function` bound to the default (the one that handles `pcomplete-termination-string`) and let the rest of the code modify it either with `setq` (to completely override) or `add-function`. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 23 01:42:19 2023 Received: (at 61221) by debbugs.gnu.org; 23 Feb 2023 06:42:19 +0000 Received: from localhost ([127.0.0.1]:60994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pV5J3-0005yI-Vv for submit@debbugs.gnu.org; Thu, 23 Feb 2023 01:42:19 -0500 Received: from mail-pl1-f180.google.com ([209.85.214.180]:36648) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pV5J0-0005y1-IY for 61221@debbugs.gnu.org; Thu, 23 Feb 2023 01:42:15 -0500 Received: by mail-pl1-f180.google.com with SMTP id ky4so12836473plb.3 for <61221@debbugs.gnu.org>; Wed, 22 Feb 2023 22:42:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=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=6d/XsO06L7t34vkFcx2vdJOY/gXZ6XzqB6VUZ/hvOdI=; b=V6XyA4q/kiiBoikc5zB0y8AvTK7ozXmMWLG+rZ8jJPQsV4Yg9w4ONzrCcYmonhxgww OyLt6qNW383M87GnnWV4WWUDJJAb7jmLfvmKxjSxKXQflaXwjzrKSBPPm7vM4Z4Huec0 CFPhMSmcYG1fYEEAC077nHUXrSD1171oRl4WCXsOHmPEYd6cAzmTCsRZl7WGMhqtm0ar qwgZBu/D1f5pcWsRNtmDhKlI+K//tLq+DC/p+YoEBNI/r2v9K3I1ccNDRFTStHAaTldL Uagjg83V3mYmsvM8BrMwa9FZoaaqq39uk9KOUUzl7Yx2ESY6xMLdPdKEeCtD73fP4ZYU vfwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=6d/XsO06L7t34vkFcx2vdJOY/gXZ6XzqB6VUZ/hvOdI=; b=meoV16ZZfYVrlJjQBjDjVA+b/buhMFxp6rwjKQETwUQK7X1KE9QM2DuzZ64ycikEBq cpbfQhiiF8qecRqc37JcWjglc+vgCvlSOxzXz/Rjr7Nw1h10WnD7DMfuDWB+4leOw3Ld XqrhhOO1emN/FdRWknE8a70cVujGDckvII5FL2oNt6QAVet0GzICKGmLTfojh59b10Iw C5BbcRJ97NHmf/ykknBXYkfw1vO4fSyFwKtPyJsT+KM8vp0AjjRc/5lZdA2yhoBApmU3 +E9Oe2PuDipsaEZtrsA+DfRbtcrK7XYDghJ9RNqVo9JItc+J2dom1m/8rdZOJRc6hlLu FZuw== X-Gm-Message-State: AO0yUKWILs++SfhajiSRCSXkB4yxqqQ6z0GfnCPDI18ukzNuU6oxB8Rm tQ3LNuF87o4kIh+U8enHpVU= X-Google-Smtp-Source: AK7set/pVWkxGJnmmRhWlmkTT6iseKYS5cNF09nvX0d6gQ2GNEiQrGlkoNLuQikkgpP3DOeChnzDEg== X-Received: by 2002:a17:90a:188:b0:237:3dfb:9095 with SMTP id 8-20020a17090a018800b002373dfb9095mr5423391pjc.6.1677134528689; Wed, 22 Feb 2023 22:42:08 -0800 (PST) Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id n9-20020a17090ade8900b00233db0db3dfsm5129262pjv.7.2023.02.22.22.42.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Feb 2023 22:42:07 -0800 (PST) Content-Type: multipart/mixed; boundary="------------NwyFTpomJ0MA52q6Kx9RuBdO" Message-ID: Date: Wed, 22 Feb 2023 22:42:07 -0800 MIME-Version: 1.0 Subject: Re: bug#61221: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell Content-Language: en-US To: Stefan Monnier References: <0e3cf425-be9d-4759-d024-ac07ccecba9c@gmail.com> From: Jim Porter In-Reply-To: X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 61221 Cc: 61221@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------NwyFTpomJ0MA52q6Kx9RuBdO Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/5/2023 7:33 AM, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > BTW, a low-tech way to get similar results is to change your completion > table. Instead of having entries like > > user-login-name > > make it contains entries like: > > user-login-name" ... I'd thought about this, but it gets a little uglier for more-complex cases like bug#53371, which wants to complete things like the "foo" in "#". > Regarding `pcomplete-exit-function`: > - It's ugly and I don't like it, but given the general design of the > current Pcomplete API, I think it's OK. Yeah, I'd rather do it by returning some structured object, but that would probably require some significant incompatible changes to pcomplete... > - Please add a good docstring to that variable (the fact that the other > vars nearby don't have any is no excuse, instead it's a(nother) > problem that should be fixed). Done. > - Maybe `pcomplete-exit-function` should override the default exit > function (i.e. the handing of `pcomplete-termination-string`) rather > than being added to it? > E.g. we could start with `pcomplete-exit-function` bound to the > default (the one that handles `pcomplete-termination-string`) and let > the rest of the code modify it either with `setq` (to completely > override) or `add-function`. I like this a lot better than my previous solution. Done. I also changed the last patch to return a programmed completion function that mimics "~user" completion in 'completion-file-name-table'. That seems like a more-consistent way to handle that case, since now Eshell "~user" completion works the same as completing any file name. --------------NwyFTpomJ0MA52q6Kx9RuBdO Content-Type: text/plain; charset=UTF-8; name="0001-Throw-strings-as-the-values-for-eshell-incomplete.patch" Content-Disposition: attachment; filename*0="0001-Throw-strings-as-the-values-for-eshell-incomplete.patch" Content-Transfer-Encoding: base64 RnJvbSAxODdhOWNmYTJhOGU3Yzc4ZWI2YmFjMzM4Nzc4MzI1NzQxZWUwNDU3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNzo0ODozNyAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMS8zXSA7IFRocm93IHN0cmluZ3MgYXMgdGhlIHZhbHVlcyBmb3IgJ2VzaGVsbC1pbmNv bXBsZXRlJwoKVGhpcyBsZXRzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gY2FzZXMgbGlrZSAi J2ZvbyIgYW5kICIkJ2ZvbyIuCgoqIGxpc3AvZXNoZWxsL2VtLWNtcGwuZWwgKGVzaGVsbC1j b21wbGV0ZS1wYXJzZS1hcmd1bWVudHMpOiBVc2UKc3RyaW5ncyB3aGVuIGNoZWNraW5nIHRo ZSBkZWxpbWl0ZXIuCgoqIGxpc3AvZXNoZWxsL2VtLWdsb2IuZWwgKGVzaGVsbC1wYXJzZS1n bG9iLWNoYXJzKToKKiBsaXNwL2VzaGVsbC9lbS1wcmVkLmVsIChlc2hlbGwtcGFyc2UtYXJn LW1vZGlmaWVyKToKKiBsaXNwL2VzaGVsbC9lc2gtYXJnLmVsIChlc2hlbGwtcGFyc2UtYmFj a3NsYXNoKQooZXNoZWxsLXBhcnNlLWxpdGVyYWwtcXVvdGUsIGVzaGVsbC1wYXJzZS1kb3Vi bGUtcXVvdGUpCihlc2hlbGwtcGFyc2Utc3BlY2lhbC1yZWZlcmVuY2UpOgoqIGxpc3AvZXNo ZWxsL2VzaC1jbWQuZWwgKGVzaGVsbC1wYXJzZS1zdWJjb21tYW5kLWFyZ3VtZW50KQooZXNo ZWxsLXBhcnNlLWxpc3AtYXJndW1lbnQpOgoqIGxpc3AvZXNoZWxsL2VzaC12YXIgKGVzaGVs bC1wYXJzZS12YXJpYWJsZS1yZWYpCihlc2hlbGwtcGFyc2UtaW5kaWNlcyk6IFRocm93IHN0 cmluZ3MgaW5zdGVhZCBvZiBjaGFyYWN0ZXJzLgoKKiBsaXNwL2VzaGVsbC9lc2gtbW9kZS5l bCAoZXNoZWxsLXBhcnNlLWNvbW1hbmQtaW5wdXQpOiBQcmludApkZWxpbWl0ZXIgYXMgYSBz dHJpbmcuCi0tLQogbGlzcC9lc2hlbGwvZW0tY21wbC5lbCAgfCAgNCArKy0tCiBsaXNwL2Vz aGVsbC9lbS1nbG9iLmVsICB8ICAyICstCiBsaXNwL2VzaGVsbC9lbS1wcmVkLmVsICB8ICAy ICstCiBsaXNwL2VzaGVsbC9lc2gtYXJnLmVsICB8ICA4ICsrKystLS0tCiBsaXNwL2VzaGVs bC9lc2gtY21kLmVsICB8ICA0ICsrLS0KIGxpc3AvZXNoZWxsL2VzaC1tb2RlLmVsIHwgIDIg Ky0KIGxpc3AvZXNoZWxsL2VzaC12YXIuZWwgIHwgMTggKysrKysrKysrKystLS0tLS0tCiA3 IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VtLWNtcGwuZWwgYi9saXNwL2VzaGVsbC9lbS1jbXBs LmVsCmluZGV4IGFmOGFjNDI3OGYxLi41NjI1YzUzZGM5YiAxMDA2NDQKLS0tIGEvbGlzcC9l c2hlbGwvZW0tY21wbC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1jbXBsLmVsCkBAIC0zMzAs MTAgKzMzMCwxMCBAQCBlc2hlbGwtY29tcGxldGUtcGFyc2UtYXJndW1lbnRzCiAJICAgICAg KGNhdGNoICdlc2hlbGwtaW5jb21wbGV0ZQogCQkoaWdub3JlCiAJCSAoc2V0cSBhcmdzIChl c2hlbGwtcGFyc2UtYXJndW1lbnRzIGJlZ2luIGVuZCkpKSkpCi0JKGNvbmQgKChtZW1xIChj YXIgZGVsaW0pICcoP1x7ID9cPCkpCisgICAgICAgIChjb25kICgobWVtYmVyIChjYXIgZGVs aW0pICcoInsiICIkeyIgIiQ8IikpCiAJICAgICAgIChzZXRxIGJlZ2luICgxKyAoY2FkciBk ZWxpbSkpCiAJCSAgICAgYXJncyAoZXNoZWxsLXBhcnNlLWFyZ3VtZW50cyBiZWdpbiBlbmQp KSkKLQkgICAgICAoKGVxIChjYXIgZGVsaW0pID9cKCkKKyAgICAgICAgICAgICAgKChtZW1i ZXIgKGNhciBkZWxpbSkgJygiKCIgIiQoIikpCiAJICAgICAgICh0aHJvdyAncGNvbXBsZXRl ZCAoZWxpc3AtY29tcGxldGlvbi1hdC1wb2ludCkpKQogCSAgICAgICh0CiAJICAgICAgIChl c2hlbGwtLXBjb21wbGV0ZS1pbnNlcnQtdGFiKSkpKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hl bGwvZW0tZ2xvYi5lbCBiL2xpc3AvZXNoZWxsL2VtLWdsb2IuZWwKaW5kZXggYzczNjBmYjI0 NmUuLjhhMmJhMTNiMmFkIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lbS1nbG9iLmVsCisr KyBiL2xpc3AvZXNoZWxsL2VtLWdsb2IuZWwKQEAgLTE3MSw3ICsxNzEsNyBAQCBlc2hlbGwt cGFyc2UtZ2xvYi1jaGFycwogCSAgICAgICAoZW5kIChlc2hlbGwtZmluZC1kZWxpbWl0ZXIK IAkJICAgICBkZWxpbSAoaWYgKGVxIGRlbGltID9cWykgP1xdID9cKSkpKSkKIAkgIChpZiAo bm90IGVuZCkKLQkgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlIGRlbGltKQorICAg ICAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlIChjaGFyLXRvLXN0cmluZyBk ZWxpbSkpCiAJICAgIChpZiAoYW5kIChlc2hlbGwtdXNpbmctbW9kdWxlICdlc2hlbGwtcHJl ZCkKIAkJICAgICAoZXNoZWxsLWFyZy1kZWxpbWl0ZXIgKDErIGVuZCkpKQogCQkoaWdub3Jl IChnb3RvLWNoYXIgaGVyZSkpCmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lbS1wcmVkLmVs IGIvbGlzcC9lc2hlbGwvZW0tcHJlZC5lbAppbmRleCAxNGZhMjdhYmEwNi4uMmNjY2EwOTJi ODYgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLXByZWQuZWwKKysrIGIvbGlzcC9lc2hl bGwvZW0tcHJlZC5lbApAQCAtMjkzLDcgKzI5Myw3IEBAIGVzaGVsbC1wYXJzZS1hcmctbW9k aWZpZXIKICAgICAoZm9yd2FyZC1jaGFyKQogICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5k LWRlbGltaXRlciA/XCggP1wpKSkpCiAgICAgICAoaWYgKG5vdCBlbmQpCi0JICAodGhyb3cg J2VzaGVsbC1pbmNvbXBsZXRlID9cKCkKKyAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNv bXBsZXRlICIoIikKIAkod2hlbiAoZXNoZWxsLWFyZy1kZWxpbWl0ZXIgKDErIGVuZCkpCiAJ ICAoc2F2ZS1yZXN0cmljdGlvbgogCSAgICAobmFycm93LXRvLXJlZ2lvbiAocG9pbnQpIGVu ZCkKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1hcmcuZWwgYi9saXNwL2VzaGVsbC9l c2gtYXJnLmVsCmluZGV4IDZjODgyNDcxYWVlLi5jYjBiMmUwOTM4YyAxMDA2NDQKLS0tIGEv bGlzcC9lc2hlbGwvZXNoLWFyZy5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtYXJnLmVsCkBA IC00MjEsNyArNDIxLDcgQEAgZXNoZWxsLXBhcnNlLWJhY2tzbGFzaAogYWZ0ZXIgYXJlIGJv dGggcmV0dXJuZWQuIgogICAod2hlbiAoZXEgKGNoYXItYWZ0ZXIpID9cXCkKICAgICAod2hl biAoZXNoZWxsLWxvb2tpbmctYXQtYmFja3NsYXNoLXJldHVybiAocG9pbnQpKQotCSh0aHJv dyAnZXNoZWxsLWluY29tcGxldGUgP1xcKSkKKyAgICAgICAgKHRocm93ICdlc2hlbGwtaW5j b21wbGV0ZSAiXFwiKSkKICAgICAoZm9yd2FyZC1jaGFyIDIpIDsgTW92ZSBvbmUgY2hhciBw YXN0IHRoZSBiYWNrc2xhc2guCiAgICAgKGxldCAoKHNwZWNpYWwtY2hhcnMgKGlmIGVzaGVs bC1jdXJyZW50LXF1b3RlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc2hlbGwt c3BlY2lhbC1jaGFycy1pbnNpZGUtcXVvdGluZwpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIGVzaGVs bC1wYXJzZS1saXRlcmFsLXF1b3RlCiAgIChpZiAoZXEgKGNoYXItYWZ0ZXIpID9cJykKICAg ICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XCcgP1wnKSkpCiAJKGlm IChub3QgZW5kKQotCSAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cJykKKyAgICAg ICAgICAgICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgIiciKQogCSAgKGxldCAoKHN0cmlu ZyAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzICgxKyAocG9pbnQpKSBlbmQpKSkK IAkgICAgKGdvdG8tY2hhciAoMSsgZW5kKSkKIAkgICAgKHdoaWxlIChzdHJpbmctbWF0Y2gg IicnIiBzdHJpbmcpCkBAIC00NjAsNyArNDYwLDcgQEAgZXNoZWxsLXBhcnNlLWRvdWJsZS1x dW90ZQogICAgIChsZXQqICgoZW5kIChlc2hlbGwtZmluZC1kZWxpbWl0ZXIgP1wiID9cIiBu aWwgbmlsIHQpKQogCSAgIChlc2hlbGwtY3VycmVudC1xdW90ZWQgdCkpCiAgICAgICAoaWYg KG5vdCBlbmQpCi0JICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cIikKKyAgICAgICAg ICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlICJcIiIpCiAJKHByb2cxCiAJICAgIChzYXZl LXJlc3RyaWN0aW9uCiAJICAgICAgKGZvcndhcmQtY2hhcikKQEAgLTUxNCw3ICs1MTQsNyBA QCBlc2hlbGwtcGFyc2Utc3BlY2lhbC1yZWZlcmVuY2UKICAgICAgICAgICAgICAgICAgICAg ICAgIHQpKSA7OyBidWZmZXItcCBpcyBub24tbmlsIGJ5IGRlZmF1bHQuCiAgICAgICAgICAg ICAoZW5kIChlc2hlbGwtZmluZC1kZWxpbWl0ZXIgP1w8ID9cPikpKQogICAgICAgICAod2hl biAobm90IGVuZCkKLSAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cPCkp CisgICAgICAgICAgKHRocm93ICdlc2hlbGwtaW5jb21wbGV0ZSAiIzwiKSkKICAgICAgICAg KGlmIChlc2hlbGwtYXJnLWRlbGltaXRlciAoMSsgZW5kKSkKICAgICAgICAgICAgIChwcm9n MQogICAgICAgICAgICAgICAgIChsaXN0IChpZiBidWZmZXItcCAnZ2V0LWJ1ZmZlci1jcmVh dGUgJ2dldC1wcm9jZXNzKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCBi L2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKaW5kZXggZWZjNDZmMTBjOTYuLmQ2MDk3MTE0MDJh IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtY21kLmVsCisrKyBiL2xpc3AvZXNoZWxs L2VzaC1jbWQuZWwKQEAgLTY4MSw3ICs2ODEsNyBAQCBlc2hlbGwtcGFyc2Utc3ViY29tbWFu ZC1hcmd1bWVudAogCSAgICAgICAobm90IChlcSAoY2hhci1hZnRlciAoMSsgKHBvaW50KSkp ID9cfSkpKSkKICAgICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XHsg P1x9KSkpCiAJKGlmIChub3QgZW5kKQotCSAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRl ID9ceykKKyAgICAgICAgICAgICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgInsiKQogCSAg KHdoZW4gKGVzaGVsbC1hcmctZGVsaW1pdGVyICgxKyBlbmQpKQogCSAgICAocHJvZzEKIAkJ YChlc2hlbGwtYXMtc3ViY29tbWFuZApAQCAtNjk4LDcgKzY5OCw3IEBAIGVzaGVsbC1wYXJz ZS1saXNwLWFyZ3VtZW50CiAJICAgICAgKGNvbmRpdGlvbi1jYXNlIG5pbAogCQkgIChyZWFk IChjdXJyZW50LWJ1ZmZlcikpCiAJCShlbmQtb2YtZmlsZQotCQkgKHRocm93ICdlc2hlbGwt aW5jb21wbGV0ZSA/XCgpKSkpKQorICAgICAgICAgICAgICAgICAodGhyb3cgJ2VzaGVsbC1p bmNvbXBsZXRlICIoIikpKSkpCiAJKGlmIChlc2hlbGwtYXJnLWRlbGltaXRlcikKIAkgICAg YChlc2hlbGwtY29tbWFuZC10by12YWx1ZQogICAgICAgICAgICAgICAoZXNoZWxsLWxpc3At Y29tbWFuZCAocXVvdGUgLG9iaikpKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLW1v ZGUuZWwgYi9saXNwL2VzaGVsbC9lc2gtbW9kZS5lbAppbmRleCBiM2NkZTQ3MjcxMy4uMGMz ODFkYmI4NmEgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1tb2RlLmVsCisrKyBiL2xp c3AvZXNoZWxsL2VzaC1tb2RlLmVsCkBAIC01ODAsNyArNTgwLDcgQEAgZXNoZWxsLXBhcnNl LWNvbW1hbmQtaW5wdXQKIAkJIChzZXRxIGNvbW1hbmQgKGVzaGVsbC1wYXJzZS1jb21tYW5k IChjb25zIGJlZyBlbmQpCiAJCQkJCQkgICAgIGFyZ3MgdCkpKSkpCiAJKGlnbm9yZQotCSAo bWVzc2FnZSAiRXhwZWN0aW5nIGNvbXBsZXRpb24gb2YgZGVsaW1pdGVyICVjIC4uLiIKKyAg ICAgICAgIChtZXNzYWdlICJFeHBlY3RpbmcgY29tcGxldGlvbiBvZiBkZWxpbWl0ZXIgJXMg Li4uIgogCQkgIChpZiAobGlzdHAgZGVsaW0pCiAJCSAgICAgIChjYXIgZGVsaW0pCiAJCSAg ICBkZWxpbSkpKQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLXZhci5lbCBiL2xpc3Av ZXNoZWxsL2VzaC12YXIuZWwKaW5kZXggNjBhYWI5MmIzM2UuLmE1YmZiZjQyNTRkIDEwMDY0 NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VzaC12 YXIuZWwKQEAgLTUwMyw3ICs1MDMsNyBAQCBlc2hlbGwtcGFyc2UtdmFyaWFibGUtcmVmCiAg ICAoKGVxIChjaGFyLWFmdGVyKSA/eykKICAgICAobGV0ICgoZW5kIChlc2hlbGwtZmluZC1k ZWxpbWl0ZXIgP1x7ID9cfSkpKQogICAgICAgKGlmIChub3QgZW5kKQotICAgICAgICAgICh0 aHJvdyAnZXNoZWxsLWluY29tcGxldGUgP1x7KQorICAgICAgICAgICh0aHJvdyAnZXNoZWxs LWluY29tcGxldGUgIiR7IikKICAgICAgICAgKGZvcndhcmQtY2hhcikKICAgICAgICAgKHBy b2cxCiAgICAgICAgICAgICBgKGVzaGVsbC1hcHBseS1pbmRpY2VzCkBAIC01MjcsNyArNTI3 LDcgQEAgZXNoZWxsLXBhcnNlLXZhcmlhYmxlLXJlZgogICAgKChlcSAoY2hhci1hZnRlcikg P1w8KQogICAgIChsZXQgKChlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XDwgP1w+KSkp CiAgICAgICAoaWYgKG5vdCBlbmQpCi0gICAgICAgICAgKHRocm93ICdlc2hlbGwtaW5jb21w bGV0ZSA/XDwpCisgICAgICAgICAgKHRocm93ICdlc2hlbGwtaW5jb21wbGV0ZSAiJDwiKQog ICAgICAgICAobGV0KiAoKHRlbXAgKG1ha2UtdGVtcC1maWxlIHRlbXBvcmFyeS1maWxlLWRp cmVjdG9yeSkpCiAgICAgICAgICAgICAgICAoY21kIChjb25jYXQgKGJ1ZmZlci1zdWJzdHJp bmcgKDErIChwb2ludCkpIGVuZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiID4g IiB0ZW1wKSkpCkBAIC01NjAsMTUgKzU2MCwxOSBAQCBlc2hlbGwtcGFyc2UtdmFyaWFibGUt cmVmCiAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudC1idWZmZXIpKSkpKQogICAg ICAgICAgIGluZGljZXMgLGVzaGVsbC1jdXJyZW50LXF1b3RlZCkKICAgICAgIChlbmQtb2Yt ZmlsZQotICAgICAgICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgP1woKSkpKQorICAgICAg ICh0aHJvdyAnZXNoZWxsLWluY29tcGxldGUgIiQoIikpKSkKICAgICgobG9va2luZy1hdCAo cngtdG8tc3RyaW5nCiAgICAgICAgICAgICAgICAgIGAob3IgIiciICwoaWYgZXNoZWxsLWN1 cnJlbnQtcXVvdGVkICJcXFwiIiAiXCIiKSkpKQogICAgIChlc2hlbGwtd2l0aC10ZW1wLWNv bW1hbmQKICAgICAgICAgKG9yIChlc2hlbGwtdW5lc2NhcGUtaW5uZXItZG91YmxlLXF1b3Rl IChwb2ludC1tYXgpKQogICAgICAgICAgICAgKGNvbnMgKHBvaW50KSAocG9pbnQtbWF4KSkp Ci0gICAgICAobGV0ICgobmFtZSAoaWYgKGVxIChjaGFyLWFmdGVyKSA/XCcpCi0gICAgICAg ICAgICAgICAgICAgICAgKGVzaGVsbC1wYXJzZS1saXRlcmFsLXF1b3RlKQotICAgICAgICAg ICAgICAgICAgICAoZXNoZWxsLXBhcnNlLWRvdWJsZS1xdW90ZSkpKSkKKyAgICAgIChsZXQg KG5hbWUpCisgICAgICAgICh3aGVuLWxldCAoKGRlbGltCisgICAgICAgICAgICAgICAgICAg IChjYXRjaCAnZXNoZWxsLWluY29tcGxldGUKKyAgICAgICAgICAgICAgICAgICAgICAoaWdu b3JlIChzZXRxIG5hbWUgKGlmIChlcSAoY2hhci1hZnRlcikgP1wnKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1wYXJzZS1saXRlcmFs LXF1b3RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChl c2hlbGwtcGFyc2UtZG91YmxlLXF1b3RlKSkpKSkpKQorICAgICAgICAgICh0aHJvdyAnZXNo ZWxsLWluY29tcGxldGUgKGNvbmNhdCAiJCIgZGVsaW0pKSkKICAgICAgICAgKHdoZW4gbmFt ZQogICAgICAgICAgIGAoZXNoZWxsLWdldC12YXJpYWJsZSAsKGV2YWwgbmFtZSkgaW5kaWNl cyAsZXNoZWxsLWN1cnJlbnQtcXVvdGVkKSkpKSkKICAgICgoYXNzb2MgKGNoYXItdG8tc3Ry aW5nIChjaGFyLWFmdGVyKSkKQEAgLTU5Nyw3ICs2MDEsNyBAQCBlc2hlbGwtcGFyc2UtaW5k aWNlcwogICAgICh3aGlsZSAoZXEgKGNoYXItYWZ0ZXIpID9cWykKICAgICAgIChsZXQgKChl bmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciA/XFsgP1xdKSkpCiAJKGlmIChub3QgZW5kKQot CSAgICAodGhyb3cgJ2VzaGVsbC1pbmNvbXBsZXRlID9cWykKKyAgICAgICAgICAgICh0aHJv dyAnZXNoZWxsLWluY29tcGxldGUgIlsiKQogCSAgKGZvcndhcmQtY2hhcikKICAgICAgICAg ICAoZXNoZWxsLXdpdGgtdGVtcC1jb21tYW5kIChvciAoZXNoZWxsLXVuZXNjYXBlLWlubmVy LWRvdWJsZS1xdW90ZSBlbmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnMgKHBvaW50KSBlbmQpKQotLSAKMi4yNS4xCgo= --------------NwyFTpomJ0MA52q6Kx9RuBdO Content-Type: text/plain; charset=UTF-8; name="0002-Add-support-for-completing-quoted-variables-in-Eshel.patch" Content-Disposition: attachment; filename*0="0002-Add-support-for-completing-quoted-variables-in-Eshel.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyNGY4Yjk0ODc2ZTZjZGM2MzY5YzBjNzQ3ZDJjZTRmZWJkM2FhNGVhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNzo0ODo0MyAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMi8zXSBBZGQgc3VwcG9ydCBmb3IgY29tcGxldGluZyBxdW90ZWQgdmFyaWFibGVzIGlu IEVzaGVsbAogbGlrZSAkJ0ZPTycKClRoaXMgYWxzbyBhZGRzIHRoZSBhYmlsaXR5IGZvciBQ Y29tcGxldGUgaGFuZGxlcnMgdG8gc2V0IHRoZWlyIG93bgpleGl0IGZ1bmN0aW9ucyB0aGF0 IHdpbGwgZ2V0IGNhbGxlZCBhcyBhcHByb3ByaWF0ZS4KCiogbGlzcC9wY29tcGxldGUuZWwg KHBjb21wbGV0ZS1kZWZhdWx0LWV4aXQtZnVuY3Rpb24pOiBOZXcgZnVuY3Rpb24uCihwY29t cGxldGUtZXhpdC1mdW5jdGlvbik6IE5ldyB2YXJpYWJsZS4uLgoocGNvbXBsZXRlLWNvbXBs ZXRpb25zLWF0LXBvaW50KTogLi4uIGxldC1iaW5kIGFuZCB1c2UgaXQuCgoqIGxpc3AvZXNo ZWxsL2VtLWNtcGwuZWwgKGVzaGVsbC1jb21wbGV0ZS1wYXJzZS1hcmd1bWVudHMpOiBIYW5k bGUKcXVvdGVkIHZhcmlhYmxlcy4gIFdlIGFsc28gYnVpbGQgdGhlICdwb3NucycgbGlzdCBm cm9tIHJpZ2h0LXRvLWxlZnQKbm93LgoKKiBsaXNwL2VzaGVsbC9lc2gtdmFyLmVsIChlc2hl bGwtZW52dmFyLW5hbWVzKTogRW5zdXJlIHRoYXQgdmFyaWFibGUKYWxpYXNlcyBhcmUgaW5j bHVkZWQgaW4gdGhpcyBsaXN0LgooZXNoZWxsLWNvbXBsZXRlLXZhcmlhYmxlLXJlZmVyZW5j ZSk6IEhhbmRsZSBxdW90ZWQgdmFyaWFibGVzIGFuZCBzZXQKdGhlIGV4aXQgZnVuY3Rpb24g b24gdGhlIGNvbXBsZXRpb25zLgooZXNoZWxsLXZhcmlhYmxlcy1saXN0KTogU2ltcGxpZnku ICBXZSBub3cgYWRkIHRoZSB0cmFpbGluZyBzbGFzaCBmb3IKZGlyZWN0b3JpZXMgaW4gdGhl IGV4aXQgZnVuY3Rpb24gaW5zaWRlCidlc2hlbGwtY29tcGxldGUtdmFyaWFibGUtcmVmZXJl bmNlJy4KCiogdGVzdC9saXNwL2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVsCihlbS1jbXBsLXRl c3QvcXVvdGVkLXZhcmlhYmxlLXJlZi1jb21wbGV0aW9uKQooZW0tY21wbC10ZXN0L3Zhcmlh YmxlLXJlZi1jb21wbGV0aW9uL2RpcmVjdG9yeSk6IE5ldyB0ZXN0cy4KLS0tCiBsaXNwL2Vz aGVsbC9lbS1jbXBsLmVsICAgICAgICAgICAgfCAxOSArKysrKystLS0tCiBsaXNwL2VzaGVs bC9lc2gtdmFyLmVsICAgICAgICAgICAgfCA2MyArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tCiBsaXNwL3Bjb21wbGV0ZS5lbCAgICAgICAgICAgICAgICAgfCAzOCArKysrKysr KysrKysrKy0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VtLWNtcGwtdGVzdHMuZWwgfCAyNSAr KysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDQzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VtLWNtcGwuZWwgYi9saXNw L2VzaGVsbC9lbS1jbXBsLmVsCmluZGV4IDU2MjVjNTNkYzliLi41ZGZkMTBkNmU0YyAxMDA2 NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0tY21wbC5lbAorKysgYi9saXNwL2VzaGVsbC9lbS1j bXBsLmVsCkBAIC0zMTcsOCArMzE3LDcgQEAgZXNoZWxsLWNvbXBsZXRlLXBhcnNlLWFyZ3Vt ZW50cwogICAgIChlc2hlbGwtLXBjb21wbGV0ZS1pbnNlcnQtdGFiKSkKICAgKGxldCAoKGVu ZCAocG9pbnQtbWFya2VyKSkKIAkoYmVnaW4gKHNhdmUtZXhjdXJzaW9uIChiZWdpbm5pbmct b2YtbGluZSkgKHBvaW50KSkpCi0JKHBvc25zIChsaXN0IHQpKQotCWFyZ3MgZGVsaW0pCisJ YXJncyBwb3NucyBkZWxpbSkKICAgICAod2hlbiAoYW5kIHBjb21wbGV0ZS1hbGxvdy1tb2Rp ZmljYXRpb25zCiAJICAgICAgIChtZW1xIHRoaXMtY29tbWFuZCAnKHBjb21wbGV0ZS1leHBh bmQKIAkJCSAgICAgICAgICAgIHBjb21wbGV0ZS1leHBhbmQtYW5kLWNvbXBsZXRlKSkpCkBA IC0zMzMsMTggKzMzMiwyMiBAQCBlc2hlbGwtY29tcGxldGUtcGFyc2UtYXJndW1lbnRzCiAg ICAgICAgIChjb25kICgobWVtYmVyIChjYXIgZGVsaW0pICcoInsiICIkeyIgIiQ8IikpCiAJ ICAgICAgIChzZXRxIGJlZ2luICgxKyAoY2FkciBkZWxpbSkpCiAJCSAgICAgYXJncyAoZXNo ZWxsLXBhcnNlLWFyZ3VtZW50cyBiZWdpbiBlbmQpKSkKKyAgICAgICAgICAgICAgKChtZW1i ZXIgKGNhciBkZWxpbSkgJygiJCciICIkXCIiKSkKKyAgICAgICAgICAgICAgIDs7IEFkZCB0 aGUgKGluY29tcGxldGUpIGFyZ3VtZW50IHRvIG91ciBhcmd1bWVudHMsIGFuZAorICAgICAg ICAgICAgICAgOzsgbm90ZSBpdHMgcG9zaXRpb24uCisgICAgICAgICAgICAgICAoc2V0cSBh cmdzIChhcHBlbmQgKG50aCAyIGRlbGltKSAobGlzdCAoY2FyIGRlbGltKSkpKQorICAgICAg ICAgICAgICAgKHB1c2ggKC0gKG50aCAxIGRlbGltKSAyKSBwb3NucykpCiAgICAgICAgICAg ICAgICgobWVtYmVyIChjYXIgZGVsaW0pICcoIigiICIkKCIpKQogCSAgICAgICAodGhyb3cg J3Bjb21wbGV0ZWQgKGVsaXNwLWNvbXBsZXRpb24tYXQtcG9pbnQpKSkKIAkgICAgICAodAog CSAgICAgICAoZXNoZWxsLS1wY29tcGxldGUtaW5zZXJ0LXRhYikpKSkKICAgICAod2hlbiAo Z2V0LXRleHQtcHJvcGVydHkgKDEtIGVuZCkgJ2NvbW1lbnQpCiAgICAgICAoZXNoZWxsLS1w Y29tcGxldGUtaW5zZXJ0LXRhYikpCi0gICAgKGxldCAoKHBvcyBiZWdpbikpCi0gICAgICAo d2hpbGUgKDwgcG9zIGVuZCkKLQkoaWYgKGdldC10ZXh0LXByb3BlcnR5IHBvcyAnYXJnLWJl Z2luKQotCSAgICAobmNvbmMgcG9zbnMgKGxpc3QgcG9zKSkpCi0JKHNldHEgcG9zICgxKyBw b3MpKSkpCi0gICAgKHNldHEgcG9zbnMgKGNkciBwb3NucykpCisgICAgKGxldCAoKHBvcyAo MS0gZW5kKSkpCisgICAgICAod2hpbGUgKD49IHBvcyBiZWdpbikKKyAgICAgICAgKHdoZW4g KGdldC10ZXh0LXByb3BlcnR5IHBvcyAnYXJnLWJlZ2luKQorICAgICAgICAgIChwdXNoIHBv cyBwb3NucykpCisgICAgICAgIChzZXRxIHBvcyAoMS0gcG9zKSkpKQogICAgIChjbC1hc3Nl cnQgKD0gKGxlbmd0aCBhcmdzKSAobGVuZ3RoIHBvc25zKSkpCiAgICAgKGxldCAoKGEgYXJn cykgKGkgMCkgbmV3LXN0YXJ0KQogICAgICAgKHdoaWxlIGEKZGlmZiAtLWdpdCBhL2xpc3Av ZXNoZWxsL2VzaC12YXIuZWwgYi9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCmluZGV4IGE1YmZi ZjQyNTRkLi5lOGU4Y2ZiMzliNCAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZXNoLXZhci5l bAorKysgYi9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCkBAIC00MzQsOSArNDM0LDE1IEBAIGVz aGVsbC1pbnNlcnQtZW52dmFyCiAKIChkZWZ1biBlc2hlbGwtZW52dmFyLW5hbWVzICgmb3B0 aW9uYWwgZW52aXJvbm1lbnQpCiAgICJSZXR1cm4gYSBsaXN0IG9mIGN1cnJlbnRseSB2aXNp YmxlIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVzLiIKLSAgKG1hcGNhciAobGFtYmRhICh4 KQotICAgICAgICAgICAgKHN1YnN0cmluZyB4IDAgKHN0cmluZy1zZWFyY2ggIj0iIHgpKSkK LQkgIChvciBlbnZpcm9ubWVudCBwcm9jZXNzLWVudmlyb25tZW50KSkpCisgIChkZWxldGUt ZHVwcworICAgKGFwcGVuZAorICAgIDs7IFJlYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzCisg ICAgKG1hcGNhciAobGFtYmRhICh4KQorICAgICAgICAgICAgICAoc3Vic3RyaW5nIHggMCAo c3RyaW5nLXNlYXJjaCAiPSIgeCkpKQorCSAgICAob3IgZW52aXJvbm1lbnQgcHJvY2Vzcy1l bnZpcm9ubWVudCkpCisgICAgOzsgRXNoZWxsIHZhcmlhYmxlIGFsaWFzZXMKKyAgICAobWFw Y2FyIChsYW1iZGEgKHgpIChjYXIgeCkpCisgICAgICAgICAgICBlc2hlbGwtdmFyaWFibGUt YWxpYXNlcy1saXN0KSkpKQogCiAoZGVmdW4gZXNoZWxsLWVudmlyb25tZW50LXZhcmlhYmxl cyAoKQogICAiUmV0dXJuIGEgYHByb2Nlc3MtZW52aXJvbm1lbnQnLCBmdWxseSB1cGRhdGVk LgpAQCAtODE3LDM2ICs4MjMsNDMgQEAgZXNoZWxsLWluZGV4LXZhbHVlCiAKIChkZWZ1biBl c2hlbGwtY29tcGxldGUtdmFyaWFibGUtcmVmZXJlbmNlICgpCiAgICJJZiB0aGVyZSBpcyBh IHZhcmlhYmxlIHJlZmVyZW5jZSwgY29tcGxldGUgaXQuIgotICAobGV0ICgoYXJnIChwY29t cGxldGUtYWN0dWFsLWFyZykpKQorICAobGV0ICgoYXJnIChwY29tcGxldGUtYWN0dWFsLWFy ZykpCisgICAgICAgIGRlbGltaXRlcikKICAgICAod2hlbiAoc3RyaW5nLW1hdGNoCiAgICAg ICAgICAgIChyeCAiJCIgKD8gKG9yICIjIiAiQCIpKQotICAgICAgICAgICAgICAgKD8gKGdy b3VwIChyZWdleHAgZXNoZWxsLXZhcmlhYmxlLW5hbWUtcmVnZXhwKSkpCi0gICAgICAgICAg ICAgICBzdHJpbmctZW5kKQorICAgICAgICAgICAgICAgKD8gKG9yIChncm91cC1uIDEgKHJl Z2V4cCBlc2hlbGwtdmFyaWFibGUtbmFtZS1yZWdleHApCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyaW5nLWVuZCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2VxIChn cm91cC1uIDIgKG9yICInIiAiXCIiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChn cm91cC1uIDEgKCsgYW55Y2hhcikpKSkpKQogICAgICAgICAgICBhcmcpCi0gICAgICAoc2V0 cSBwY29tcGxldGUtc3R1YiAoc3Vic3RyaW5nIGFyZyAobWF0Y2gtYmVnaW5uaW5nIDEpKSkK KyAgICAgIChzZXRxIHBjb21wbGV0ZS1zdHViIChzdWJzdHJpbmcgYXJnIChtYXRjaC1iZWdp bm5pbmcgMSkpCisgICAgICAgICAgICBkZWxpbWl0ZXIgKG1hdGNoLXN0cmluZyAyIGFyZykp CisgICAgICA7OyBXaGVuIGZpbmlzaGVkIHdpdGggY29tcGxldGlvbiwgaW5zZXJ0IHRoZSB0 cmFpbGluZyBkZWxpbWl0ZXIsCisgICAgICA7OyBpZiBhbnksIGFuZCBhZGQgYSB0cmFpbGlu ZyBzbGFzaCBpZiB0aGUgdmFyaWFibGUgcmVmZXJzIHRvIGEKKyAgICAgIDs7IGRpcmVjdG9y eS4KKyAgICAgIChhZGQtZnVuY3Rpb24KKyAgICAgICA6YmVmb3JlLXVudGlsICh2YXIgcGNv bXBsZXRlLWV4aXQtZnVuY3Rpb24pCisgICAgICAgKGxhbWJkYSAodmFyaWFibGUgc3RhdHVz KQorICAgICAgICAgKHdoZW4gKGVxIHN0YXR1cyAnZmluaXNoZWQpCisgICAgICAgICAgICh3 aGVuIGRlbGltaXRlcgorICAgICAgICAgICAgIChpZiAobG9va2luZy1hdCAocmVnZXhwLXF1 b3RlIGRlbGltaXRlcikpCisgICAgICAgICAgICAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWVu ZCAwKSkKKyAgICAgICAgICAgICAgIChpbnNlcnQgZGVsaW1pdGVyKSkpCisgICAgICAgICAg IChsZXQgKChub24tZXNzZW50aWFsIHQpCisgICAgICAgICAgICAgICAgICh2YWx1ZSAoZXNo ZWxsLWdldC12YXJpYWJsZSB2YXJpYWJsZSkpKQorICAgICAgICAgICAgICh3aGVuIChhbmQg KHN0cmluZ3AgdmFsdWUpIChmaWxlLWRpcmVjdG9yeS1wIHZhbHVlKSkKKyAgICAgICAgICAg ICAgIChpbnNlcnQgIi8iKQorICAgICAgICAgICAgICAgOzsgVGVsbCBQY29tcGxldGUgbm90 IHRvIGluc2VydCBpdHMgb3duIHRlcm1pbmF0aW9uIHN0cmluZy4KKyAgICAgICAgICAgICAg IHQpKSkpKQogICAgICAgKHRocm93ICdwY29tcGxldGUtY29tcGxldGlvbnMgKGVzaGVsbC12 YXJpYWJsZXMtbGlzdCkpKSkpCiAKIChkZWZ1biBlc2hlbGwtdmFyaWFibGVzLWxpc3QgKCkK ICAgIkdlbmVyYXRlIGxpc3Qgb2YgYXBwbGljYWJsZSB2YXJpYWJsZXMuIgotICAobGV0ICgo YXJnbmFtZSBwY29tcGxldGUtc3R1YikKLQljb21wbGV0aW9ucykKLSAgICAoZG9saXN0IChh bGlhcyBlc2hlbGwtdmFyaWFibGUtYWxpYXNlcy1saXN0KQotICAgICAgKGlmIChzdHJpbmct bWF0Y2ggKGNvbmNhdCAiXiIgYXJnbmFtZSkgKGNhciBhbGlhcykpCi0JICAoc2V0cSBjb21w bGV0aW9ucyAoY29ucyAoY2FyIGFsaWFzKSBjb21wbGV0aW9ucykpKSkKKyAgKGxldCAoKGFy Z25hbWUgcGNvbXBsZXRlLXN0dWIpKQogICAgIChzb3J0Ci0gICAgIChhcHBlbmQKLSAgICAg IChtYXBjYXIKLSAgICAgICAobGFtYmRhICh2YXJuYW1lKQotICAgICAgICAgKGxldCAoKHZh bHVlIChlc2hlbGwtZ2V0LXZhcmlhYmxlIHZhcm5hbWUpKSkKLSAgICAgICAgICAgKGlmIChh bmQgdmFsdWUKLSAgICAgICAgICAgICAgICAgICAgKHN0cmluZ3AgdmFsdWUpCi0gICAgICAg ICAgICAgICAgICAgIChmaWxlLWRpcmVjdG9yeS1wIHZhbHVlKSkKLSAgICAgICAgICAgICAg IChjb25jYXQgdmFybmFtZSAiLyIpCi0gICAgICAgICAgICAgdmFybmFtZSkpKQotICAgICAg IChlc2hlbGwtZW52dmFyLW5hbWVzIChlc2hlbGwtZW52aXJvbm1lbnQtdmFyaWFibGVzKSkp Ci0gICAgICAoYWxsLWNvbXBsZXRpb25zIGFyZ25hbWUgb2JhcnJheSAnYm91bmRwKQotICAg ICAgY29tcGxldGlvbnMpCi0gICAgICdzdHJpbmctbGVzc3ApKSkKKyAgICAgKGFwcGVuZCAo ZXNoZWxsLWVudnZhci1uYW1lcykKKyAgICAgICAgICAgICAoYWxsLWNvbXBsZXRpb25zIGFy Z25hbWUgb2JhcnJheSAnYm91bmRwKSkKKyAgICAgIydzdHJpbmctbGVzc3ApKSkKIAogKGRl ZnVuIGVzaGVsbC1jb21wbGV0ZS12YXJpYWJsZS1hc3NpZ25tZW50ICgpCiAgICJJZiB0aGVy ZSBpcyBhIHZhcmlhYmxlIGFzc2lnbm1lbnQsIGFsbG93IGNvbXBsZXRpb24gb2YgZW50cmll cy4iCmRpZmYgLS1naXQgYS9saXNwL3Bjb21wbGV0ZS5lbCBiL2xpc3AvcGNvbXBsZXRlLmVs CmluZGV4IDFjYTdhMjEzMzYxLi4zNmY2OGYxYWY1NyAxMDA2NDQKLS0tIGEvbGlzcC9wY29t cGxldGUuZWwKKysrIGIvbGlzcC9wY29tcGxldGUuZWwKQEAgLTM2Miw2ICszNjIsMzIgQEAg cGNvbXBsZXRlLW5vcm0tZnVuYwogCiA7OzsgVXNlciBGdW5jdGlvbnM6CiAKKyhkZWZ1biBw Y29tcGxldGUtZGVmYXVsdC1leGl0LWZ1bmN0aW9uIChfcyBzdGF0dXMpCisgICJUaGUgZGVm YXVsdCBleGl0IGZ1bmN0aW9uIHRvIHVzZSBpbiBgcGNvbXBsZXRlLWNvbXBsZXRpb25zLWF0 LXBvaW50Jy4KK1RoaXMganVzdCBhZGRzIGBwY29tcGxldGUtdGVybWluYXRpb24tc3RyaW5n JyBhZnRlciB0aGUKK2NvbXBsZXRpb24gaWYgU1RBVFVTIGlzIGBmaW5pc2hlZCcuIgorICAo dW5sZXNzICh6ZXJvcCAobGVuZ3RoIHBjb21wbGV0ZS10ZXJtaW5hdGlvbi1zdHJpbmcpKQor ICAgICh3aGVuIChlcSBzdGF0dXMgJ2ZpbmlzaGVkKQorICAgICAgKGlmIChsb29raW5nLWF0 CisgICAgICAgICAgIChyZWdleHAtcXVvdGUgcGNvbXBsZXRlLXRlcm1pbmF0aW9uLXN0cmlu ZykpCisgICAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtZW5kIDApKQorICAgICAgICAoaW5z ZXJ0IHBjb21wbGV0ZS10ZXJtaW5hdGlvbi1zdHJpbmcpKSkpKQorCisoZGVmdmFyIHBjb21w bGV0ZS1leGl0LWZ1bmN0aW9uICMncGNvbXBsZXRlLWRlZmF1bHQtZXhpdC1mdW5jdGlvbgor ICAiVGhlIGV4aXQgZnVuY3Rpb24gdG8gY2FsbCBpbiBgcGNvbXBsZXRlLWNvbXBsZXRpb25z LWF0LXBvaW50Jy4KKworVGhpcyB2YXJpYWJsZSBpcyBsZXQtYm91bmQgaW4gYHBjb21wbGV0 ZS1jb21wbGV0aW9ucy1hdC1wb2ludCcsCitzbyB5b3UgY2FuIG1vZGlmeSBvciBhZHZpc2Ug aXQgaW4gb3JkZXIgdG8gYWRqdXN0IHRoZSBiZWhhdmlvcgorZm9yIGEgc3BlY2lmaWMgY29t cGxldGlvbi4gIEZvciBleGFtcGxlLCB5b3UgbWlnaHQgZG8gdGhlCitmb2xsb3dpbmcgaW4g YSBgcGNvbXBsZXRlLXRyeS1maXJzdC1ob29rJyBmdW5jdGlvbiB0byBpbnNlcnQgYQordHJh aWxpbmcgc2xhc2ggYWZ0ZXIgYSBjb21wbGV0aW9uOgorCisgIChhZGQtZnVuY3Rpb24KKyAg IDpiZWZvcmUgKHZhciBwY29tcGxldGUtZXhpdC1mdW5jdGlvbikKKyAgIChsYW1iZGEgKF8g c3RhdHVzKQorICAgICAod2hlbiAoZXEgc3RhdHVzIFxcPSdmaW5pc2hlZCkKKyAgICAgICAo aW5zZXJ0IFwiL1wiKSkpKSIpCisKIDs7OyBBbHRlcm5hdGl2ZSBmcm9udC1lbmQgdXNpbmcg dGhlIHN0YW5kYXJkIGNvbXBsZXRpb24gZmFjaWxpdGllcy4KIAogOzsgVGhlIHdheSBwY29t cGxldGUtcGFyc2UtYXJndW1lbnRzIGFuZCBwY29tcGxldGUtc3R1YiB3b3JrIG9ubHkKQEAg LTQwNiw2ICs0MzIsNyBAQCBwY29tcGxldGUtY29tcGxldGlvbnMtYXQtcG9pbnQKICAgICAg ICAgICAgIChpZiBwY29tcGxldGUtYWxsb3ctbW9kaWZpY2F0aW9ucyBidWZmZXItcmVhZC1v bmx5IHQpKQogICAgICAgICAgICBwY29tcGxldGUtc2VlbiBwY29tcGxldGUtbm9ybS1mdW5j CiAgICAgICAgICAgIHBjb21wbGV0ZS1hcmdzIHBjb21wbGV0ZS1sYXN0IHBjb21wbGV0ZS1p bmRleAorICAgICAgICAgICAocGNvbXBsZXRlLWV4aXQtZnVuY3Rpb24gcGNvbXBsZXRlLWV4 aXQtZnVuY3Rpb24pCiAgICAgICAgICAgIChwY29tcGxldGUtYXV0b2xpc3QgcGNvbXBsZXRl LWF1dG9saXN0KQogICAgICAgICAgICAocGNvbXBsZXRlLXN1ZmZpeC1saXN0IHBjb21wbGV0 ZS1zdWZmaXgtbGlzdCkKICAgICAgICAgICAgOzsgQXBwYXJlbnRseSB0aGUgdmFycyBhYm92 ZSBhcmUgZ2xvYmFsIHZhcnMgbW9kaWZpZWQgYnkKQEAgLTQ5NCwxNiArNTIxLDcgQEAgcGNv bXBsZXRlLWNvbXBsZXRpb25zLWF0LXBvaW50CiAgICAgICAgICAgICAgICAgICAgIChnZXQt dGV4dC1wcm9wZXJ0eSAwICdwY29tcGxldGUtaGVscCBjYW5kKSkpCiAgICAgICAgICAgICAg ICAgOnByZWRpY2F0ZSBwcmVkCiAgICAgICAgICAgICAgICAgOmV4aXQtZnVuY3Rpb24KLQkJ OzsgSWYgY29tcGxldGlvbiBpcyBmaW5pc2hlZCwgYWRkIGEgdGVybWluYXRpbmcgc3BhY2Uu Ci0JCTs7IFdlIHVzZWQgdG8gYWxzbyBkbyB0aGlzIGlmIFNUQVRVUyBpcyBgc29sZScsIGJ1 dAotCQk7OyB0aGF0IGRvZXMgbm90IHdvcmsgcmlnaHQgd2hlbiBjb21wbGV0aW9uIGN5Y2xp bmcuCi0gICAgICAgICAgICAgICAgKHVubGVzcyAoemVyb3AgKGxlbmd0aCBwY29tcGxldGUt dGVybWluYXRpb24tc3RyaW5nKSkKLSAgICAgICAgICAgICAgICAgIChsYW1iZGEgKF9zIHN0 YXR1cykKLSAgICAgICAgICAgICAgICAgICAgKHdoZW4gKGVxIHN0YXR1cyAnZmluaXNoZWQp Ci0gICAgICAgICAgICAgICAgICAgICAgKGlmIChsb29raW5nLWF0Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAocmVnZXhwLXF1b3RlIHBjb21wbGV0ZS10ZXJtaW5hdGlvbi1zdHJp bmcpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAoZ290by1jaGFyIChtYXRjaC1lbmQg MCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAoaW5zZXJ0IHBjb21wbGV0ZS10ZXJtaW5h dGlvbi1zdHJpbmcpKSkpKSkpKSkpKQorICAgICAgICAgICAgICAgIHBjb21wbGV0ZS1leGl0 LWZ1bmN0aW9uKSkpKSkpCiAKICA7OyBJIGRvbid0IHRoaW5rIHN1Y2ggY29tbWFuZHMgYXJl IHVzYWJsZSBiZWZvcmUgZmlyc3Qgc2V0dGluZyB1cCBidWZmZXItbG9jYWwKICA7OyB2YXJp YWJsZXMgdG8gcGFyc2UgYXJncywgc28gdGhlcmUncyBubyBwb2ludCBhdXRvbG9hZGluZyBp dC4KZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZW0tY21wbC10ZXN0cy5lbCBiL3Rl c3QvbGlzcC9lc2hlbGwvZW0tY21wbC10ZXN0cy5lbAppbmRleCAxMmExNTZmYmIzOC4uMWY4 YzU3MWM0NGMgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwvZW0tY21wbC10ZXN0cy5l bAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VtLWNtcGwtdGVzdHMuZWwKQEAgLTE4Myw2ICsx ODMsMzEgQEAgZW0tY21wbC10ZXN0L3ZhcmlhYmxlLXJlZi1jb21wbGV0aW9uCiAgICAoc2hv dWxkIChlcXVhbCAoZXNoZWxsLWluc2VydC1hbmQtY29tcGxldGUgImVjaG8gJHN5c3RlbS1u YW0iKQogICAgICAgICAgICAgICAgICAgImVjaG8gJHN5c3RlbS1uYW1lICIpKSkpCiAKKyhl cnQtZGVmdGVzdCBlbS1jbXBsLXRlc3QvcXVvdGVkLXZhcmlhYmxlLXJlZi1jb21wbGV0aW9u ICgpCisgICJUZXN0IGNvbXBsZXRpb24gb2YgdmFyaWFibGUgcmVmZXJlbmNlcyBsaWtlIFwi JCd2YXInXCIuCitTZWUgPGxpc3AvZXNoZWxsL2VzaC12YXIuZWw+LiIKKyAgKHdpdGgtdGVt cC1lc2hlbGwKKyAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtaW5zZXJ0LWFuZC1jb21wbGV0 ZSAiZWNobyAkJ3N5c3RlbS1uYW0iKQorICAgICAgICAgICAgICAgICAgImVjaG8gJCdzeXN0 ZW0tbmFtZScgIikpKQorICAod2l0aC10ZW1wLWVzaGVsbAorICAgKHNob3VsZCAoZXF1YWwg KGVzaGVsbC1pbnNlcnQtYW5kLWNvbXBsZXRlICJlY2hvICRcInN5c3RlbS1uYW0iKQorICAg ICAgICAgICAgICAgICAgImVjaG8gJFwic3lzdGVtLW5hbWVcIiAiKSkpKQorCisoZXJ0LWRl ZnRlc3QgZW0tY21wbC10ZXN0L3ZhcmlhYmxlLXJlZi1jb21wbGV0aW9uL2RpcmVjdG9yeSAo KQorICAiVGVzdCBjb21wbGV0aW9uIG9mIHZhcmlhYmxlIHJlZmVyZW5jZXMgdGhhdCBleHBh bmQgdG8gZGlyZWN0b3JpZXMuCitTZWUgPGxpc3AvZXNoZWxsL2VzaC12YXIuZWw+LiIKKyAg KHdpdGgtdGVtcC1lc2hlbGwKKyAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtaW5zZXJ0LWFu ZC1jb21wbGV0ZSAiZWNobyAkUFciKQorICAgICAgICAgICAgICAgICAgImVjaG8gJFBXRC8i KSkpCisgICh3aXRoLXRlbXAtZXNoZWxsCisgICAobGV0ICgobWluaWJ1ZmZlci1tZXNzYWdl LXRpbWVvdXQgMCkKKyAgICAgICAgIChpbmhpYml0LW1lc3NhZ2UgdCkpCisgICAgIChzaG91 bGQgKGVxdWFsIChlc2hlbGwtaW5zZXJ0LWFuZC1jb21wbGV0ZSAiZWNobyAkUFdEIikKKyAg ICAgICAgICAgICAgICAgICAgImVjaG8gJFBXRC8iKSkpKQorICAod2l0aC10ZW1wLWVzaGVs bAorICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1pbnNlcnQtYW5kLWNvbXBsZXRlICJlY2hv ICQnUFciKQorICAgICAgICAgICAgICAgICAgImVjaG8gJCdQV0QnLyIpKSkpCisKIChlcnQt ZGVmdGVzdCBlbS1jbXBsLXRlc3QvdmFyaWFibGUtYXNzaWduLWNvbXBsZXRpb24gKCkKICAg IlRlc3QgY29tcGxldGlvbiBvZiB2YXJpYWJsZSBhc3NpZ25tZW50cyBsaWtlIFwidmFyPXZh bHVlXCIuCiBTZWUgPGxpc3AvZXNoZWxsL2VzaC12YXIuZWw+LiIKLS0gCjIuMjUuMQoK --------------NwyFTpomJ0MA52q6Kx9RuBdO Content-Type: text/plain; charset=UTF-8; name="0003-Don-t-add-a-space-after-the-trailing-slash-when-comp.patch" Content-Disposition: attachment; filename*0="0003-Don-t-add-a-space-after-the-trailing-slash-when-comp.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjMTkxYWY1ZGMyODZlZmQzZDNiOGE4ZDY2ZWUyODBkMTdlZjk5ODUzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNzo0ODo0NyAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMy8zXSBEb24ndCBhZGQgYSBzcGFjZSBhZnRlciB0aGUgdHJhaWxpbmcgc2xhc2ggd2hl bgogY29tcGxldGluZyB+VVNFUiBpbiBFc2hlbGwKClRoaXMgcHJvdmlkZXMgYSBwcm9ncmFt bWVkIGNvbXBsZXRpb24gZnVuY3Rpb24gdGhhdCB3b3JrcyBzaW1pbGFybHkgdG8KflVTRVIg Y29tcGxldGlvbiBpbiAnY29tcGxldGlvbi1maWxlLW5hbWUtdGFibGUnLgoKKiBsaXNwL2Vz aGVsbC9lbS1kaXJzLmVsIChlc2hlbGwtY29tcGxldGUtdXNlci1yZWZlcmVuY2UpOiBUaHJv dyBhCnByb2dyYW1tZWQgY29tcGxldGlvbiBmdW5jdGlvbi4KCiogdGVzdC9saXNwL2VzaGVs bC9lbS1jbXBsLXRlc3RzLmVsCihlbS1jbXBsLXRlc3QvdXNlci1yZWYtY29tcGxldGlvbik6 IFVwZGF0ZSB0ZXN0LgotLS0KIGxpc3AvZXNoZWxsL2VtLWRpcnMuZWwgICAgICAgICAgICB8 IDM3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIHRlc3QvbGlzcC9lc2hlbGwv ZW0tY21wbC10ZXN0cy5lbCB8ICA1ICsrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDMwIGluc2Vy dGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2Vt LWRpcnMuZWwgYi9saXNwL2VzaGVsbC9lbS1kaXJzLmVsCmluZGV4IDBkMDJiNjRiMDg0Li42 MmQzN2U4ZjlmZSAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0tZGlycy5lbAorKysgYi9s aXNwL2VzaGVsbC9lbS1kaXJzLmVsCkBAIC0yODEsMTUgKzI4MSwzNCBAQCBlc2hlbGwtY29t cGxldGUtdXNlci1yZWZlcmVuY2UKICAgKGxldCAoKGFyZyAocGNvbXBsZXRlLWFjdHVhbC1h cmcpKSkKICAgICAod2hlbiAoc3RyaW5nLW1hdGNoICJcXGB+W2Etel0qXFwnIiBhcmcpCiAg ICAgICAoc2V0cSBwY29tcGxldGUtc3R1YiAoc3Vic3RyaW5nIGFyZyAxKQotCSAgICBwY29t cGxldGUtbGFzdC1jb21wbGV0aW9uLXJhdyB0KQotICAgICAgKHRocm93ICdwY29tcGxldGUt Y29tcGxldGlvbnMKLQkgICAgIChwcm9nbgotCSAgICAgICAoZXNoZWxsLXJlYWQtdXNlci1u YW1lcykKLQkgICAgICAgKHBjb21wbGV0ZS11bmlxdWlmeS1saXN0Ci0JCShtYXBjYXIKLSAg ICAgICAgICAgICAgICAgKGxhbWJkYSAodXNlcikKLSAgICAgICAgICAgICAgICAgICAoZmls ZS1uYW1lLWFzLWRpcmVjdG9yeSAoY2RyIHVzZXIpKSkKLQkJIGVzaGVsbC11c2VyLW5hbWVz KSkpKSkpKQorICAgICAgICAgICAgcGNvbXBsZXRlLWxhc3QtY29tcGxldGlvbi1yYXcgdCkK KyAgICAgICAgICAgIDs7IHBjb21wbGV0ZS1leGl0LWZ1bmN0aW9uICMnZXNoZWxsLWNvbXBs ZXRlLXVzZXItcmVmLS1leGl0KQorICAgICAgKGVzaGVsbC1yZWFkLXVzZXItbmFtZXMpCisg ICAgICAobGV0ICgobmFtZXMgKHBjb21wbGV0ZS11bmlxdWlmeS1saXN0CisgICAgICAgICAg ICAgICAgICAgIChtYXBjYXIgKGxhbWJkYSAodXNlcikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5IChjZHIgdXNlcikpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVzaGVsbC11c2VyLW5hbWVzKSkpKQorICAgICAgICAo dGhyb3cgJ3Bjb21wbGV0ZS1jb21wbGV0aW9ucworICAgICAgICAgICAgICAgOzsgUHJvdmlk ZSBhIHByb2dyYW1tZWQgY29tcGxldGlvbiB0YWJsZS4gIFRoaXMgd29ya3MKKyAgICAgICAg ICAgICAgIDs7IGp1c3QgbGlrZSBjb21wbGV0aW5nIG92ZXIgdGhlIGxpc3Qgb2YgbmFtZXMs IGV4Y2VwdAorICAgICAgICAgICAgICAgOzsgaXQgYWx3YXlzIHJldHVybnMgdGhlIGNvbXBs ZXRlZCBzdHJpbmcsIG5ldmVyIGB0Jy4KKyAgICAgICAgICAgICAgIDs7IFRoYXQncyBiZWNh dXNlIHRoaXMgaXMgb25seSBjb21wbGV0aW5nIGEgZGlyZWN0b3J5CisgICAgICAgICAgICAg ICA7OyBuYW1lLCBhbmQgc28gdGhlIGNvbXBsZXRpb24gaXNuJ3QgYWN0dWFsbHkgZmluaXNo ZWQKKyAgICAgICAgICAgICAgIDs7IHlldC4KKyAgICAgICAgICAgICAgIChsYW1iZGEgKHN0 cmluZyBwcmVkIGFjdGlvbikKKyAgICAgICAgICAgICAgICAgKHBjYXNlIGFjdGlvbgorICAg ICAgICAgICAgICAgICAgICgnbmlsICAgICAgICAgICAgICAgICAgOyB0cnktY29tcGxldGlv bgorICAgICAgICAgICAgICAgICAgICAobGV0ICgocmVzdWx0ICh0cnktY29tcGxldGlvbiBz dHJpbmcgbmFtZXMgcHJlZCkpKQorICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgcmVz dWx0IHQpIHN0cmluZyByZXN1bHQpKSkKKyAgICAgICAgICAgICAgICAgICAoJ3QgICAgICAg ICAgICAgICAgICAgIDsgYWxsLWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgIChh bGwtY29tcGxldGlvbnMgc3RyaW5nIG5hbWVzIHByZWQpKQorICAgICAgICAgICAgICAgICAg ICgnbGFtYmRhICAgICAgICAgICAgICAgOyB0ZXN0LWNvbXBsZXRpb24KKyAgICAgICAgICAg ICAgICAgICAgIChsZXQgKChyZXN1bHQgKHRlc3QtY29tcGxldGlvbiBzdHJpbmcgbmFtZXMg cHJlZCkpKQorICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHJlc3VsdCB0KSBzdHJp bmcgcmVzdWx0KSkpCisgICAgICAgICAgICAgICAgICAgKCdtZXRhZGF0YQorICAgICAgICAg ICAgICAgICAgICAnKG1ldGFkYXRhIChjYXRlZ29yeSAuIGZpbGUpKSkKKyAgICAgICAgICAg ICAgICAgICAoYChib3VuZGFyaWVzIC4gLHN1ZmZpeCkKKyAgICAgICAgICAgICAgICAgICAg YChib3VuZGFyaWVzIDAgLiAsKHN0cmluZy1zZWFyY2ggIi8iIHN1ZmZpeCkpKSkpKSkpKSkK IAogKGRlZnVuIGVzaGVsbC9wd2QgKCZyZXN0IF9hcmdzKQogICAiQ2hhbmdlIG91dHB1dCBm cm9tIGBwd2QnIHRvIGJlIGNsZWFuZXIuIgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVs bC9lbS1jbXBsLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVs CmluZGV4IDFmOGM1NzFjNDRjLi5lY2FiNzMzMjgyMiAxMDA2NDQKLS0tIGEvdGVzdC9saXNw L2VzaGVsbC9lbS1jbXBsLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZW0tY21w bC10ZXN0cy5lbApAQCAtMjE4LDE1ICsyMTgsMTQgQEAgZW0tY21wbC10ZXN0L3ZhcmlhYmxl LWFzc2lnbi1jb21wbGV0aW9uCiAgICAgICAgICAgICAgICAgICAgICJWQVI9ZmlsZS50eHQg IikpKSkpCiAKIChlcnQtZGVmdGVzdCBlbS1jbXBsLXRlc3QvdXNlci1yZWYtY29tcGxldGlv biAoKQotICAiVGVzdCBjb21wbGV0ZWlvbiBvZiB1c2VyIHJlZmVyZW5jZXMgbGlrZSBcIn51 c2VyXCIuCisgICJUZXN0IGNvbXBsZXRpb24gb2YgdXNlciByZWZlcmVuY2VzIGxpa2UgXCJ+ dXNlclwiLgogU2VlIDxsaXNwL2VzaGVsbC9lbS1kaXJzLmVsPi4iCiAgICh1bndpbmQtcHJv dGVjdAogICAgICAgKHdpdGgtdGVtcC1lc2hlbGwKICAgICAgICAoY2wtbGV0ZiAoKChzeW1i b2wtZnVuY3Rpb24gJ2VzaGVsbC1yZWFkLXVzZXItbmFtZXMpCiAgICAgICAgICAgICAgICAg ICAobGFtYmRhICgpIChzZXRxIGVzaGVsbC11c2VyLW5hbWVzICcoKDEyMzQgLiAidXNlciIp KSkpKSkKLSAgICAgICAgIDs7IEZJWE1FOiBTaG91bGQgdGhpcyByZWFsbHkgYWRkIGEgc3Bh Y2UgYXQgdGhlIGVuZD8KICAgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtaW5zZXJ0 LWFuZC1jb21wbGV0ZSAiZWNobyB+dXMiKQotICAgICAgICAgICAgICAgICAgICAgICAgImVj aG8gfnVzZXIvICIpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAiZWNobyB+dXNlci8i KSkpKQogICAgIDs7IENsZWFyIHRoZSBjYWNoZWQgdXNlciBuYW1lcyB3ZSBzZXQgYWJvdmUu CiAgICAgKHNldHEgZXNoZWxsLXVzZXItbmFtZXMgbmlsKSkpCiAKLS0gCjIuMjUuMQoK --------------NwyFTpomJ0MA52q6Kx9RuBdO-- From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 23 13:12:17 2023 Received: (at 61221) by debbugs.gnu.org; 23 Feb 2023 18:12:17 +0000 Received: from localhost ([127.0.0.1]:35261 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVG4m-000789-Lg for submit@debbugs.gnu.org; Thu, 23 Feb 2023 13:12:17 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:62350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVG4k-00077u-Cr for 61221@debbugs.gnu.org; Thu, 23 Feb 2023 13:12:15 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id CFAE0809A6; Thu, 23 Feb 2023 13:02:08 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 501CA800AE; Thu, 23 Feb 2023 13:02:07 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1677175327; bh=2FJWQRlOdQDlvecwz3vs9BnXmoAVaS8HKCTc4g6Znbg=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=mYg/kRa/8gZTN9/Xya8gNsL1+/TtTEKOaP2FO3WI+OHwhyE/VfqEQx5bKVWXUCcP+ 09an4vfY2mx1ivilstXYynIOakj2c0Bvcaw+7SYBdsJxHtzGp2UlHb8GdGmAq1VIHZ Lz8Z8lv5DVNfcjE60kFyAF6ceO1I4satL/sLAVPSiyl/lvX/oFV+HaEziDaJ0qVWq5 3TZ6V6p+mHwcIY1Dr83K1PCdIw9hMGq7QC5pwu3B6+FIFJI9CVzyObrJndL3dUzUcx 0inbtWsWuxbxoXbgJ8pAVQhqd695FCZMZ+zqNePowpAqzabU4SWopsT4++r2paGqU8 R1SR6LeQ2xAow== Received: from pastel (unknown [216.154.34.24]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2A1A012128F; Thu, 23 Feb 2023 13:02:07 -0500 (EST) From: Stefan Monnier To: Jim Porter Subject: Re: bug#61221: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell In-Reply-To: (Jim Porter's message of "Wed, 22 Feb 2023 22:42:07 -0800") Message-ID: References: <0e3cf425-be9d-4759-d024-ac07ccecba9c@gmail.com> Date: Thu, 23 Feb 2023 13:02:06 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.043 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 61221 Cc: 61221@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) The patches look good, feel free to push, AFAIC. Some minor comments below. Stefan > diff --git a/lisp/eshell/esh-var.el b/lisp/eshell/esh-var.el > index a5bfbf4254d..e8e8cfb39b4 100644 > --- a/lisp/eshell/esh-var.el > +++ b/lisp/eshell/esh-var.el > @@ -434,9 +434,15 @@ eshell-insert-envvar > > (defun eshell-envvar-names (&optional environment) > "Return a list of currently visible environment variable names." > - (mapcar (lambda (x) > - (substring x 0 (string-search "=" x))) > - (or environment process-environment))) > + (delete-dups > + (append > + ;; Real environment variables > + (mapcar (lambda (x) > + (substring x 0 (string-search "=" x))) > + (or environment process-environment)) > + ;; Eshell variable aliases > + (mapcar (lambda (x) (car x)) Aka (mapcar #'car > @@ -817,36 +823,43 @@ eshell-index-value > > (defun eshell-complete-variable-reference () > "If there is a variable reference, complete it." > - (let ((arg (pcomplete-actual-arg))) > + (let ((arg (pcomplete-actual-arg)) > + delimiter) > (when (string-match > (rx "$" (? (or "#" "@")) > - (? (group (regexp eshell-variable-name-regexp))) > - string-end) > + (? (or (group-n 1 (regexp eshell-variable-name-regexp) > + string-end) > + (seq (group-n 2 (or "'" "\"")) > + (group-n 1 (+ anychar)))))) > arg) > - (setq pcomplete-stub (substring arg (match-beginning 1))) > + (setq pcomplete-stub (substring arg (match-beginning 1)) > + delimiter (match-string 2 arg)) You could let-bind `delimiter` here instead of let-binding it earlier and then `setq`ing it here. Better for karma and marginally more efficient (avoids the creation of a `cons` cell to contain the value of the var). > + (append (eshell-envvar-names) > + (all-completions argname obarray 'boundp)) > + #'string-lessp))) Since you use #' for `string-lessp`, it would make sense to use #' for `boundp` as well :-) > + ('lambda ; test-completion > + (let ((result (test-completion string names pred))) > + (if (eq result t) string result))) Hmm... why not just always return `result`? Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 23 17:12:04 2023 Received: (at 61221-done) by debbugs.gnu.org; 23 Feb 2023 22:12:04 +0000 Received: from localhost ([127.0.0.1]:35505 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVJop-00055T-NB for submit@debbugs.gnu.org; Thu, 23 Feb 2023 17:12:04 -0500 Received: from mail-pl1-f182.google.com ([209.85.214.182]:35465) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVJoo-00054v-Ix for 61221-done@debbugs.gnu.org; Thu, 23 Feb 2023 17:12:03 -0500 Received: by mail-pl1-f182.google.com with SMTP id e9so9702465plh.2 for <61221-done@debbugs.gnu.org>; Thu, 23 Feb 2023 14:12:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=zoMzDtDAXM8XYbLcrl99dcQNWGcnDWPO4chCeYeM3f8=; b=cevjaITIQcglSgfAsCOZkykPRJlYyFege5Bn1D7wv+cqqCccgLbhpEvZvcElqG7PNt I7/QMfxFK8C4QU1G/q1l33V6u4ITMad1tHCpHZqyapPPbzqCNcTa/0uSR7AEe5ZJZ2Wk 6tnW4bZD99eKicpXrPvQOzOZqlDI9O1UDZs2u+ASX4JkA5MdAXIYTmEKZ8qNBQISiV65 Pop5TTgfFuku2qqgQM2nTk74S1Q47BDdigCAx30oJOiZKoSBdMpRFW6/a+88nPFBZCsq JcbkIG6J66qYsMkyPyiAoI3qGPMpMtS+syOQD+/PYYTIT5YG/Q+3PD7iN2Mehkt9qWE3 5awA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=zoMzDtDAXM8XYbLcrl99dcQNWGcnDWPO4chCeYeM3f8=; b=obBYCi18LjuHv0rKXS26VN36FZosJoxWub7iy/p4PmTj+XXwRFXg4R95h6cp3ryby4 1JqWe+S/lcfZSryh9/EzjJlK+ZdEZAzEM4s/Ks/yqO350sf9o2fm3BzlPdOIeXGyECKF 2GrIqgzZwnpvBC3lDFjPkIxtxuPC6tN1RuRuHt7Lv4GrI6Cruehp7nVxWtwn2JDgOa34 kDG9VFeqh7CWRgCAPMm035I9hlaYmBl+2+aBx/L0wKMcffAy+jjxf3ugSbaPpA8q1M1p RaXtJI5t3T1EuRDF/yypGSPkftkStOth+Fq8gIFjkR2td9xLDdnQfD+K5XjH/2rM6qMc ed5g== X-Gm-Message-State: AO0yUKUlsT3ygr4w04rIXsN06pMwELmmg9rPw4t6Tx0f9nGLgVKunGwv 0ho8TYlmVufsfRhSja7e1Ps= X-Google-Smtp-Source: AK7set9nHrNR3k5NrCxDJO+Go2z9YrsYU/dCD1YKJJo7DfPIDdDBZKWCOeYUG+83MUFs54aTi6Pmig== X-Received: by 2002:a17:90b:1e02:b0:233:af77:c075 with SMTP id pg2-20020a17090b1e0200b00233af77c075mr14019750pjb.36.1677190316420; Thu, 23 Feb 2023 14:11:56 -0800 (PST) Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id r13-20020a17090a690d00b002309279baf8sm165902pjj.43.2023.02.23.14.11.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 23 Feb 2023 14:11:55 -0800 (PST) Message-ID: Date: Thu, 23 Feb 2023 14:11:54 -0800 MIME-Version: 1.0 Subject: Re: bug#61221: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell Content-Language: en-US To: Stefan Monnier References: <0e3cf425-be9d-4759-d024-ac07ccecba9c@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: 61221-done Cc: 61221-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 2/23/2023 10:02 AM, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: > The patches look good, feel free to push, AFAIC. Thanks, merged as 9d48c9844b. >> + (mapcar (lambda (x) (car x)) > > Aka (mapcar #'car Fixed. >> + (setq pcomplete-stub (substring arg (match-beginning 1)) >> + delimiter (match-string 2 arg)) > > You could let-bind `delimiter` here instead of let-binding it earlier > and then `setq`ing it here. Better for karma and marginally more > efficient (avoids the creation of a `cons` cell to contain the value of > the var). Done. >> + (append (eshell-envvar-names) >> + (all-completions argname obarray 'boundp)) >> + #'string-lessp))) > > Since you use #' for `string-lessp`, it would make sense to use #' for > `boundp` as well :-) Fixed. >> + ('lambda ; test-completion >> + (let ((result (test-completion string names pred))) >> + (if (eq result t) string result))) > > Hmm... why not just always return `result`? As I understand it, returning 't' means "there is just one matching completion, and the match is exact"[1], but in this case, that's not really true: after completing "~user/" there are still more matching completions (the contents of the user's home directory). This is really just trying to match what happens when calling 'completion-file-name-table': (completion-file-name-table "~user/" nil nil) => "~user/" (try-completion "~user/" '("~user/") nil) => t So if we get 't' from 'try-completion', we "downgrade" that to the original string. [1] https://www.gnu.org/software/emacs/manual/html_node/elisp/Basic-Completion.html From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 23 17:39:12 2023 Received: (at 61221-done) by debbugs.gnu.org; 23 Feb 2023 22:39:12 +0000 Received: from localhost ([127.0.0.1]:35532 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVKF6-0005py-41 for submit@debbugs.gnu.org; Thu, 23 Feb 2023 17:39:12 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:60647) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVKF4-0005pj-Q2 for 61221-done@debbugs.gnu.org; Thu, 23 Feb 2023 17:39:11 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id E87891000C4; Thu, 23 Feb 2023 17:39:04 -0500 (EST) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 5F59F1000BE; Thu, 23 Feb 2023 17:39:03 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1677191943; bh=6otv6AJUx1BoMoOeiNb5x3o3rOaD1POt4gimIvY5W48=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=PSoGQXGBgajDZKsn2ErPej0XsINTAgqkgSDvinJqKTvKBiyQLnDMhYo2eo6/UOvm/ FI1++G8BnA+AcHSZjelib9LxhvuZXY1BC8eQxWNApxpgRjIexhYgL4eG/4HJqiI7xk 57jmpvypCa/T5TTIEPCn+X0aes+L4GSDVQEvQ+NigAga+f8a1/Z21jsz5F+fL6/omt Dkgf779oh902vBm2+sZSRigB43rlBVd433HKwlFFh5huHFWfIx30knCRYXmV39YWB4 zB3TAIz8RN31AMbqRdhiqvAHd/3wJtvyMM5diU1Rrab3lqcfaLalFxgc+sJYjgzz2K tAFT9ikjZxG2Q== Received: from pastel (unknown [216.154.34.24]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 32352123236; Thu, 23 Feb 2023 17:39:03 -0500 (EST) From: Stefan Monnier To: Jim Porter Subject: Re: bug#61221: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell In-Reply-To: (Jim Porter's message of "Thu, 23 Feb 2023 14:11:54 -0800") Message-ID: References: <0e3cf425-be9d-4759-d024-ac07ccecba9c@gmail.com> Date: Thu, 23 Feb 2023 17:39:02 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.064 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 61221-done Cc: 61221-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: -3.3 (---) >>> + ('lambda ; test-completion >>> + (let ((result (test-completion string names pred))) >>> + (if (eq result t) string result))) >> Hmm... why not just always return `result`? > > As I understand it, returning 't' means "there is just one matching > completion, and the match is exact"[1], but in this case, that's not really > true: after completing "~user/" there are still more matching completions > (the contents of the user's home directory). What you describe is for `try-completion`, not `test-completion`. > This is really just trying to match what happens when calling > 'completion-file-name-table': > > (completion-file-name-table "~user/" nil nil) > => "~user/" > > (try-completion "~user/" '("~user/") nil) > => t The `action` arg is not `lambda` is these examples. Stefan From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 23 18:17:45 2023 Received: (at 61221-done) by debbugs.gnu.org; 23 Feb 2023 23:17:45 +0000 Received: from localhost ([127.0.0.1]:35588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVKqO-0006s9-Sg for submit@debbugs.gnu.org; Thu, 23 Feb 2023 18:17:45 -0500 Received: from mail-pj1-f51.google.com ([209.85.216.51]:45925) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pVKqM-0006rw-Se for 61221-done@debbugs.gnu.org; Thu, 23 Feb 2023 18:17:43 -0500 Received: by mail-pj1-f51.google.com with SMTP id gi3-20020a17090b110300b0023762f642dcso905390pjb.4 for <61221-done@debbugs.gnu.org>; Thu, 23 Feb 2023 15:17:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=Oye/GGm2cjb8qFWja5QM1vvqJJ3vuqWr6pBHPKXbHXs=; b=oL9vYOUuf1qfMxfvCUfBi7LF9Pt5kRh0a2ArZLgVhVhgkSk/5PUAPsC33FhoE8e6ZH 19YJdUeqNjxoyPBsMz1aWeudDNSUUfajuNHXENCt7qT6CtqH3ZtS9j1Pc60LqR8yFTW8 DxrnKk2AK58d5yAh+y4YS4eAhfbrinwDZfTRPooGZQCxi5mrA5E53NMObwE3ga5LmeLp h8p6BABB/wGwRR4TzEdISivIPOZc5k8xnhddxcw226Pt1c/91h/b0tcJv/6ouQ55R2Kw c6qErfzz3ovBL/EYwriO0roXrE0JQc1pvKFjb3CxrzgH4hzs/941ONzdGLo48XRdTIDW slkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=Oye/GGm2cjb8qFWja5QM1vvqJJ3vuqWr6pBHPKXbHXs=; b=6IuuIidGtjl3OuXG17T/HmQuncaxN6o5eOUaeoRI4gMR0w6FYlpmyrIp0ioSPTcEYo U+js1wLUX2FXr4ILg7NDqsyZ5SRGE07qH7k4vm4lU49coiH50mYU6J/9KHev980u94r9 z++me07Y/v5KQrcNvfWJTZopb+bgUdcIGmfXCgrrRkDExSzL5h4cT6bVd6RxWant2AFk BK9bwVDSQJW1z+5WnMcbEogUOl8+xSXfdHce3gijw9EFl3HV32PEMqzNvG+pIDWwS3KT AnL7tdi0maaUcQ/q1CN3J5qej9+6RPSOITqB8tIWRJxcX9FgC7VAfnV69LaUMyOXcRxw hr+g== X-Gm-Message-State: AO0yUKWjy6FuPcPr8uV0ZDkLU18S2GWtAH15goQY3hXzxb78eU3EN73m NuJgXqS9c0V26CAuOGp3H7s= X-Google-Smtp-Source: AK7set+68VFS2ceEKqb1HkClXbuzc9o0jR/TXfAvMp5VQfWuXM46cZ84+DtyTyDHP0KvY5Ewk8tClw== X-Received: by 2002:a05:6a20:144f:b0:cb:ef77:3f1d with SMTP id a15-20020a056a20144f00b000cbef773f1dmr6886689pzi.21.1677194256593; Thu, 23 Feb 2023 15:17:36 -0800 (PST) Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id a19-20020a62e213000000b005a817ff3903sm3621446pfi.3.2023.02.23.15.17.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 23 Feb 2023 15:17:36 -0800 (PST) Message-ID: <615ca0ad-c715-0f2f-898b-d6db009189c1@gmail.com> Date: Thu, 23 Feb 2023 15:17:35 -0800 MIME-Version: 1.0 Subject: Re: bug#61221: 30.0.50; [PATCH] Support completion of quoted variable refs in Eshell Content-Language: en-US To: Stefan Monnier References: <0e3cf425-be9d-4759-d024-ac07ccecba9c@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: 61221-done Cc: 61221-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 2/23/2023 2:39 PM, Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote: >> As I understand it, returning 't' means "there is just one matching >> completion, and the match is exact"[1], but in this case, that's not really >> true: after completing "~user/" there are still more matching completions >> (the contents of the user's home directory). > > What you describe is for `try-completion`, not `test-completion`. > >> This is really just trying to match what happens when calling >> 'completion-file-name-table': >> >> (completion-file-name-table "~user/" nil nil) >> => "~user/" >> >> (try-completion "~user/" '("~user/") nil) >> => t > > The `action` arg is not `lambda` is these examples. Ohhh. I totally missed that part. Pushed a fix as 0a361fd91a. Thanks again for finding my mistakes. From unknown Wed Aug 20 01:21:26 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 24 Mar 2023 11:24:07 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator