From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.bugs Subject: bug#46627: [PATCH] Add new help command 'describe-command' Date: Fri, 19 Feb 2021 22:10:58 -0600 Message-ID: References: <835z2o4fes.fsf@gnu.org> <83pn0v257d.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000974baf05bbbcc13f" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36456"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, 46627@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 20 05:12:14 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lDJcs-0009NK-4b for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 20 Feb 2021 05:12:14 +0100 Original-Received: from localhost ([::1]:51648 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lDJcq-0004YQ-M4 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 19 Feb 2021 23:12:12 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45860) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lDJcg-0004Y8-Om for bug-gnu-emacs@gnu.org; Fri, 19 Feb 2021 23:12:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39203) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lDJcg-0000Xz-GW for bug-gnu-emacs@gnu.org; Fri, 19 Feb 2021 23:12:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lDJcg-00084Y-Ai for bug-gnu-emacs@gnu.org; Fri, 19 Feb 2021 23:12:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 20 Feb 2021 04:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46627 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 46627-submit@debbugs.gnu.org id=B46627.161379426930964 (code B ref 46627); Sat, 20 Feb 2021 04:12:02 +0000 Original-Received: (at 46627) by debbugs.gnu.org; 20 Feb 2021 04:11:09 +0000 Original-Received: from localhost ([127.0.0.1]:50749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lDJbo-00083L-EJ for submit@debbugs.gnu.org; Fri, 19 Feb 2021 23:11:09 -0500 Original-Received: from mail-pl1-f175.google.com ([209.85.214.175]:38177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lDJbl-00082p-FK for 46627@debbugs.gnu.org; Fri, 19 Feb 2021 23:11:07 -0500 Original-Received: by mail-pl1-f175.google.com with SMTP id f8so4467184plg.5 for <46627@debbugs.gnu.org>; Fri, 19 Feb 2021 20:11:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=5m9CIro2HT9iyIQmVTR0wEcp6bdqJc7LuSBiJ3I1mqY=; b=L8pojnA5uqUNZrA5uTV/r2zgREXSobUdBV2okUeIUk8HZmWqkLk6+JP6yuuUyv7CSK ysKsxCOGCzgvqhriGfBsxS1TCE5IgJsrYrI/8IrUYZA0snK4MXEMLrjCU3EP26UxWHiR t5cUziuo0R7kwtlLr1IXBmczLcBEL2rXL2MDWUEWPkQNZ6QQFaOrSQkUP76YiSwJlCe5 Qiyi0Fo4WI4wD6OyqBKhh5sW+670am5odwTXzByT2Ilvsy6H3S9PflYkGgrS9kUr87z2 4idraA5EAkKkUVA55y/A4B7oaVMACcnkx9pzAZv6JXxJ9Ki1VIEs62+0bCnP6+Ftzphn NmPQ== X-Gm-Message-State: AOAM531hFBzuhPFSZ4p0c4lyfzF88Fvxkq3pxbo1KNzzsZ6XxVG+MU9/ gIt9HfJ5tK+ff7Ki7wp5lagzGkIPJ8TMJ1rX82g= X-Google-Smtp-Source: ABdhPJwloGVDVTCeIrfstR73gVZWSu/gv3HlvrTvK/ABI/10Yl09nQwHa1zBVVeYh95WNSLEvLNRAJZghax8kCPJ0Pg= X-Received: by 2002:a17:903:31c4:b029:e1:8840:8ab9 with SMTP id v4-20020a17090331c4b02900e188408ab9mr4933225ple.70.1613794259706; Fri, 19 Feb 2021 20:10:59 -0800 (PST) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 19 Feb 2021 22:10:58 -0600 In-Reply-To: <83pn0v257d.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:200393 Archived-At: --000000000000974baf05bbbcc13f Content-Type: text/plain; charset="UTF-8" Eli Zaretskii writes: > Please remember this when we discuss use of functions in user-level > features, such as values for user options. Yes, I actually mostly agree with you on that point already. Thank you for your very helpful comments. I tried fixing them in the attached patch. >> +@code{make-vector} properly, type @kbd{C-h f make-vector >> +@key{RET}}. > > When a long text in |@kbd (or any other Texinfo markup) is near a > line's end, it is better to wrap it in @w{..}, so that it won't be > broken in half by the end of line. I tried wrapping it in @w{..} but I wasn't able to get it to avoid line breaks. Perhaps I'm doing something wrong, but I tried fixing these cases manually for now. >> + (unless (and fn (symbolp fn)) >> + (user-error "You didn't specify a function symbol")) >> + (unless (or (fboundp fn) (get fn 'function-documentation)) >> + (user-error "Symbol's function definition is void: %s" fn)) > > These messages say "function" regardless of whether the user typed > "C-h x" or "C-h f". Is that optimal? Hmm, good point. I made an attempt at making this more user-friendly and less technical in the attached patch by introducing two new messages: 1. "You didn't specify a valid command name" 2. "No such command: %s" WDYT? Hmm, but now that I'm testing this, I'm not sure how to arrive at these messages from `C-h x'. I just get a "no match" message for anything that is not a valid command name. So can you reach this only from Lisp or something? Should the more technical explanations therefore stay? --000000000000974baf05bbbcc13f Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Add-new-help-command-describe-command.patch" Content-Disposition: attachment; filename="0001-Add-new-help-command-describe-command.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 49e841fb3c448bbd_0.1 RnJvbSA2YTU3MGJlYjM0ZDIyZjQyOGY5MmJkMTg5OWRlYzU1YjYzOTQwZThiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogRnJpLCAxOSBGZWIgMjAyMSAxODoyMToyMyArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBu ZXcgaGVscCBjb21tYW5kICdkZXNjcmliZS1jb21tYW5kJwoKKiBsaXNwL2hlbHAtZm5zLmVsIChk ZXNjcmliZS1jb21tYW5kKTogTmV3IGNvbW1hbmQuCihoZWxwLWZucy0tZGVzY3JpYmUtZnVuY3Rp b24tb3ItY29tbWFuZC1wcm9tcHQpOiBOZXcgaGVscGVyCmZ1bmN0aW9uIHRvIHByb21wdCBmb3Ig YSBmdW5jdGlvbiBvciBmdW5jdGlvbi4KKGRlc2NyaWJlLWZ1bmN0aW9uKTogVXNlIGFib3ZlIG5l dyBoZWxwZXIgZnVuY3Rpb24uCgoqIGxpc3AvaGVscC5lbCAoaGVscC1tYXApOiBCaW5kIGFib3Zl IG5ldyBjb21tYW5kIHRvIGBDLWggeCcuCihoZWxwLWZvci1oZWxwLWludGVybmFsKTogQWRkIHRo aXMgbmV3IGJpbmRpbmcgdG8gdGhlIGhlbHAgc3VtbWFyeS4KKiBsaXNwL21lbnUtYmFyLmVsICht ZW51LWJhci1kZXNjcmliZS1tZW51KTogQWRkIHRoZSBuZXcgY29tbWFuZCB0bwp0aGUgaGVscCBt ZW51LgoKKiBkb2MvZW1hY3MvaGVscC50ZXhpIChIZWxwIFN1bW1hcnksIE5hbWUgSGVscCk6IERv Y3VtZW50CidkZXNjcmliZS1mdW5jdGlvbicsIGFuZCB1cGRhdGUgZG9jdW1lbnRhdGlvbiBvbiAn ZGVzY3JpYmUtY29tbWFuZCcuCiogZXRjL3R1dG9yaWFscy9UVVRPUklBTDogQ2hhbmdlIHJlZmVy ZW5jZSBmcm9tICdkZXNjcmliZS1mdW5jdGlvbicgdG8KJ2Rlc2NyaWJlLWNvbW1hbmQnLgotLS0K IGRvYy9lbWFjcy9oZWxwLnRleGkgICAgfCA0NyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLQogZXRjL05FV1MgICAgICAgICAgICAgICB8ICA0ICsrKwogZXRjL3R1dG9yaWFscy9UVVRP UklBTCB8ICA2ICsrLS0KIGxpc3AvaGVscC1mbnMuZWwgICAgICAgfCA2MiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIGxpc3AvaGVscC5lbCAgICAgICAgICAgfCAg NCArKy0KIGxpc3AvbWVudS1iYXIuZWwgICAgICAgfCAgMyArKwogNiBmaWxlcyBjaGFuZ2VkLCA4 MiBpbnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvZW1hY3Mv aGVscC50ZXhpIGIvZG9jL2VtYWNzL2hlbHAudGV4aQppbmRleCA4MWNkZWI0YmU1Li4xZDBhNjVi OGIxIDEwMDY0NAotLS0gYS9kb2MvZW1hY3MvaGVscC50ZXhpCisrKyBiL2RvYy9lbWFjcy9oZWxw LnRleGkKQEAgLTEwNyw4ICsxMDcsOCBAQCBIZWxwIFN1bW1hcnkKIChAY29kZXt2aWV3LWVjaG8t YXJlYS1tZXNzYWdlc30pLiAgQHhyZWZ7TWlzYyBIZWxwfS4KIEBpdGVtIEMtaCBmIEB2YXJ7ZnVu Y3Rpb259IEBrZXl7UkVUfQogRGlzcGxheSBkb2N1bWVudGF0aW9uIG9uIHRoZSBMaXNwIGZ1bmN0 aW9uIG5hbWVkIEB2YXJ7ZnVuY3Rpb259Ci0oQGNvZGV7ZGVzY3JpYmUtZnVuY3Rpb259KS4gIFNp bmNlIGNvbW1hbmRzIGFyZSBMaXNwIGZ1bmN0aW9ucywKLXRoaXMgd29ya3MgZm9yIGNvbW1hbmRz IHRvby4gIEB4cmVme05hbWUgSGVscH0uCisoQGNvZGV7ZGVzY3JpYmUtZnVuY3Rpb259KS4gIFNp bmNlIGNvbW1hbmRzIGFyZSBMaXNwIGZ1bmN0aW9ucywgdGhpcword29ya3MgZm9yIGNvbW1hbmRz IHRvbywgYnV0IHlvdSBjYW4gYWxzbyB1c2UgQGNvZGV7Qy1oIHh9LiAgQHhyZWZ7TmFtZSBIZWxw fS4KIEBpdGVtIEMtaCBoCiBEaXNwbGF5IHRoZSBAZmlsZXtIRUxMT30gZmlsZSwgd2hpY2ggc2hv d3MgZXhhbXBsZXMgb2YgdmFyaW91cyBjaGFyYWN0ZXIKIHNldHMuCkBAIC0xNTQsNiArMTU0LDkg QEAgSGVscCBTdW1tYXJ5CiBAaXRlbSBDLWggdyBAdmFye2NvbW1hbmR9IEBrZXl7UkVUfQogU2hv dyB3aGljaCBrZXlzIHJ1biB0aGUgY29tbWFuZCBuYW1lZCBAdmFye2NvbW1hbmR9IChAY29kZXt3 aGVyZS1pc30pLgogQHhyZWZ7S2V5IEhlbHB9LgorQGl0ZW0gQy1oIHggQHZhcntjb21tYW5kfSBA a2V5e1JFVH0KK0Rpc3BsYXkgZG9jdW1lbnRhdGlvbiBvbiB0aGUgbmFtZWQgQHZhcntjb21tYW5k fQorKEBjb2Rle2Rlc2NyaWJlLWNvbW1hbmR9KS4gIEB4cmVme05hbWUgSGVscH0uCiBAaXRlbSBD LWggQyBAdmFye2NvZGluZ30gQGtleXtSRVR9CiBEZXNjcmliZSB0aGUgY29kaW5nIHN5c3RlbSBA dmFye2NvZGluZ30KIChAY29kZXtkZXNjcmliZS1jb2Rpbmctc3lzdGVtfSkuICBAeHJlZntDb2Rp bmcgU3lzdGVtc30uCkBAIC0yMzMsNDAgKzIzNiw0MCBAQCBLZXkgSGVscAogQG5vZGUgTmFtZSBI ZWxwCiBAc2VjdGlvbiBIZWxwIGJ5IENvbW1hbmQgb3IgVmFyaWFibGUgTmFtZQogCi1Aa2luZGV4 IEMtaCBmCi1AZmluZGV4IGRlc2NyaWJlLWZ1bmN0aW9uCi0gIEBrYmR7Qy1oIGYgQHZhcntmdW5j dGlvbn0gQGtleXtSRVR9fSAoQGNvZGV7ZGVzY3JpYmUtZnVuY3Rpb259KQotZGlzcGxheXMgdGhl IGRvY3VtZW50YXRpb24gb2YgTGlzcCBmdW5jdGlvbiBAdmFye2Z1bmN0aW9ufSwgaW4gYQotd2lu ZG93LiAgU2luY2UgY29tbWFuZHMgYXJlIExpc3AgZnVuY3Rpb25zLCB5b3UgY2FuIHVzZSB0aGlz IG1ldGhvZCB0bwotdmlldyB0aGUgZG9jdW1lbnRhdGlvbiBvZiBhbnkgY29tbWFuZCB3aG9zZSBu YW1lIHlvdSBrbm93LiAgRm9yCi1leGFtcGxlLAorQGtpbmRleCBDLWggeAorQGZpbmRleCBkZXNj cmliZS1jb21tYW5kCisgIEBrYmR7Qy1oIHggQHZhcntjb21tYW5kfSBAa2V5e1JFVH19IChAY29k ZXtkZXNjcmliZS1jb21tYW5kfSkKK2Rpc3BsYXlzIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBu YW1lZCBAdmFye2NvbW1hbmR9LCBpbiBhCit3aW5kb3cuICBGb3IgZXhhbXBsZSwKIAogQGV4YW1w bGUKLUMtaCBmIGF1dG8tZmlsbC1tb2RlIEBrZXl7UkVUfQorQy1oIHggYXV0by1maWxsLW1vZGUg QGtleXtSRVR9CiBAZW5kIGV4YW1wbGUKIAogQG5vaW5kZW50Ci1kaXNwbGF5cyB0aGUgZG9jdW1l bnRhdGlvbiBvZiBAY29kZXthdXRvLWZpbGwtbW9kZX0uICBUaGlzIGlzIHRoZSBvbmx5Ci13YXkg dG8gZ2V0IHRoZSBkb2N1bWVudGF0aW9uIG9mIGEgY29tbWFuZCB0aGF0IGlzIG5vdCBib3VuZCB0 byBhbnkga2V5CitkaXNwbGF5cyB0aGUgZG9jdW1lbnRhdGlvbiBvZiBAY29kZXthdXRvLWZpbGwt bW9kZX0uICBUaGlzIGlzIGhvdyB5b3UKK3dvdWxkIGdldCB0aGUgZG9jdW1lbnRhdGlvbiBvZiBh IGNvbW1hbmQgdGhhdCBpcyBub3QgYm91bmQgdG8gYW55IGtleQogKG9uZSB3aGljaCB5b3Ugd291 bGQgbm9ybWFsbHkgcnVuIHVzaW5nIEBrYmR7TS14fSkuCiAKLSAgQGtiZHtDLWggZn0gaXMgYWxz byB1c2VmdWwgZm9yIExpc3AgZnVuY3Rpb25zIHRoYXQgeW91IHVzZSBpbiBhIExpc3AKLXByb2dy YW0uICBGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUganVzdCB3cml0dGVuIHRoZSBleHByZXNzaW9u CitAa2luZGV4IEMtaCBmCitAZmluZGV4IGRlc2NyaWJlLWZ1bmN0aW9uCisgIEBrYmR7Qy1oIGYg QHZhcntmdW5jdGlvbn0gQGtleXtSRVR9fSAoQGNvZGV7ZGVzY3JpYmUtZnVuY3Rpb259KQorZGlz cGxheXMgdGhlIGRvY3VtZW50YXRpb24gb2YgTGlzcCBAdmFye2Z1bmN0aW9ufS4gIFRoaXMgY29t bWFuZCBpcworaW50ZW5kZWQgZm9yIExpc3AgZnVuY3Rpb25zIHRoYXQgeW91IHVzZSBpbiBhIExp c3AgcHJvZ3JhbS4gIEZvcgorZXhhbXBsZSwgaWYgeW91IGhhdmUganVzdCB3cml0dGVuIHRoZSBl eHByZXNzaW9uCiBAY29kZXsobWFrZS12ZWN0b3IgbGVuKX0gYW5kIHdhbnQgdG8gY2hlY2sgdGhh dCB5b3UgYXJlIHVzaW5nCiBAY29kZXttYWtlLXZlY3Rvcn0gcHJvcGVybHksIHR5cGUgQGtiZHtD LWggZiBtYWtlLXZlY3RvciBAa2V5e1JFVH19LgotQmVjYXVzZSBAa2Jke0MtaCBmfSBhbGxvd3Mg YWxsIGZ1bmN0aW9uIG5hbWVzLCBub3QganVzdCBjb21tYW5kIG5hbWVzLAoteW91IG1heSBmaW5k IHRoYXQgc29tZSBvZiB5b3VyIGZhdm9yaXRlIGNvbXBsZXRpb24gYWJicmV2aWF0aW9ucyB0aGF0 Ci13b3JrIGluIEBrYmR7TS14fSBkb24ndCB3b3JrIGluIEBrYmR7Qy1oIGZ9LiAgQW4gYWJicmV2 aWF0aW9uIHRoYXQgaXMKLXVuaXF1ZSBhbW9uZyBjb21tYW5kIG5hbWVzIG1heSBub3QgYmUgdW5p cXVlIGFtb25nIGFsbCBmdW5jdGlvbiBuYW1lcy4KK0FkZGl0aW9uYWxseSwgc2luY2UgYWxsIGNv bW1hbmRzIGFyZSBMaXNwIGZ1bmN0aW9ucywgeW91IGNhbiBhbHNvIHVzZQordGhpcyBjb21tYW5k IHRvIHZpZXcgdGhlIGRvY3VtZW50YXRpb24gb2YgYW55IGNvbW1hbmQuCiAKICAgSWYgeW91IHR5 cGUgQGtiZHtDLWggZiBAa2V5e1JFVH19LCBpdCBkZXNjcmliZXMgdGhlIGZ1bmN0aW9uIGNhbGxl ZAogYnkgdGhlIGlubmVybW9zdCBMaXNwIGV4cHJlc3Npb24gaW4gdGhlIGJ1ZmZlciBhcm91bmQg cG9pbnQsCiBAZW1waHtwcm92aWRlZH0gdGhhdCBmdW5jdGlvbiBuYW1lIGlzIGEgdmFsaWQsIGRl ZmluZWQgTGlzcCBmdW5jdGlvbi4KIChUaGF0IG5hbWUgYXBwZWFycyBhcyB0aGUgZGVmYXVsdCB3 aGlsZSB5b3UgZW50ZXIgdGhlIGFyZ3VtZW50LikgIEZvcgotZXhhbXBsZSwgaWYgcG9pbnQgaXMg bG9jYXRlZCBmb2xsb3dpbmcgdGhlIHRleHQgQHNhbXB7KG1ha2UtdmVjdG9yCi0oY2FyIHgpfSwg dGhlIGlubmVybW9zdCBsaXN0IGNvbnRhaW5pbmcgcG9pbnQgaXMgdGhlIG9uZSB0aGF0IHN0YXJ0 cwotd2l0aCBAc2FtcHsobWFrZS12ZWN0b3J9LCBzbyBAa2Jke0MtaCBmIEBrZXl7UkVUfX0gZGVz Y3JpYmVzIHRoZQotZnVuY3Rpb24gQGNvZGV7bWFrZS12ZWN0b3J9LgorZXhhbXBsZSwgaWYgcG9p bnQgaXMgbG9jYXRlZCBmb2xsb3dpbmcgdGhlIHRleHQKK0BzYW1weyhtYWtlLXZlY3RvciAoY2Fy IHgpfSwgdGhlIGlubmVybW9zdCBsaXN0IGNvbnRhaW5pbmcgcG9pbnQgaXMKK3RoZSBvbmUgdGhh dCBzdGFydHMgd2l0aCBAc2FtcHsobWFrZS12ZWN0b3J9LCBzbyBAa2Jke0MtaCBmIEBrZXl7UkVU fX0KK2Rlc2NyaWJlcyB0aGUgZnVuY3Rpb24gQGNvZGV7bWFrZS12ZWN0b3J9LgogCiAgIEBrYmR7 Qy1oIGZ9IGlzIGFsc28gdXNlZnVsIGp1c3QgdG8gdmVyaWZ5IHRoYXQgeW91IHNwZWxsZWQgYQog ZnVuY3Rpb24gbmFtZSBjb3JyZWN0bHkuICBJZiB0aGUgbWluaWJ1ZmZlciBwcm9tcHQgZm9yIEBr YmR7Qy1oIGZ9CmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IGVlOGE2OGEy NTkuLjlmODRmYzZjNzIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC04 NTcsNiArODU3LDEwIEBAIHNraXBwZWQuCiAtLS0KICoqKiAnZycgKCdyZXZlcnQtYnVmZmVyJykg aW4gJ2hlbHAtbW9kZScgbm8gbG9uZ2VyIHJlcXVpcmVzIGNvbmZpcm1hdGlvbi4KIAorKioqIE5l dyBjb21tYW5kICdkZXNjcmliZS1jb21tYW5kJyBzaG93cyBoZWxwIGZvciBhIGNvbW1hbmQuCitU aGlzIGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgJ2Rlc2NyaWJlLWZ1bmN0aW9uJyB0aGF0IGRlc2Ny aWJlcyBhbnkKK2Z1bmN0aW9uLiAgSXQgaXMgZ2xvYmFsbHkgYm91bmQgdG8gYEMtaCB4Jy4KKwog KysrCiAqKiogTmV3IGNvbW1hbmQgJ2Rlc2NyaWJlLWtleW1hcCcgZGVzY3JpYmVzIGtleWJpbmRp bmdzIGluIGEga2V5bWFwLgogCmRpZmYgLS1naXQgYS9ldGMvdHV0b3JpYWxzL1RVVE9SSUFMIGIv ZXRjL3R1dG9yaWFscy9UVVRPUklBTAppbmRleCA2MTk0ZTU1ZWEzLi5kY2RiNjFmMjNlIDEwMDY0 NAotLS0gYS9ldGMvdHV0b3JpYWxzL1RVVE9SSUFMCisrKyBiL2V0Yy90dXRvcmlhbHMvVFVUT1JJ QUwKQEAgLTEwMzgsMTAgKzEwMzgsMTAgQEAgdGhlbiB0eXBlIEMteCAxLgogCiBIZXJlIGFyZSBz b21lIG90aGVyIHVzZWZ1bCBDLWggb3B0aW9uczoKIAotICAgQy1oIGYJRGVzY3JpYmUgYSBmdW5j dGlvbi4gIFlvdSB0eXBlIGluIHRoZSBuYW1lIG9mIHRoZQotCQlmdW5jdGlvbi4KKyAgIEMtaCB4 CURlc2NyaWJlIGEgY29tbWFuZC4gIFlvdSB0eXBlIGluIHRoZSBuYW1lIG9mIHRoZQorCQljb21t YW5kLgogCi0+PiBUcnkgdHlwaW5nIEMtaCBmIHByZXZpb3VzLWxpbmUgPFJldHVybj4uCis+PiBU cnkgdHlwaW5nIEMtaCB4IHByZXZpb3VzLWxpbmUgPFJldHVybj4uCiAgICBUaGlzIGRpc3BsYXlz IGFsbCB0aGUgaW5mb3JtYXRpb24gRW1hY3MgaGFzIGFib3V0IHRoZQogICAgZnVuY3Rpb24gd2hp Y2ggaW1wbGVtZW50cyB0aGUgQy1wIGNvbW1hbmQuCiAKZGlmZiAtLWdpdCBhL2xpc3AvaGVscC1m bnMuZWwgYi9saXNwL2hlbHAtZm5zLmVsCmluZGV4IGNlYjZiYzA5MDEuLjA0M2M5ODk5NDYgMTAw NjQ0Ci0tLSBhL2xpc3AvaGVscC1mbnMuZWwKKysrIGIvbGlzcC9oZWxwLWZucy5lbApAQCAtMTc0 LDI2ICsxNzQsNDcgQEAgZGVzY3JpYmUtZnVuY3Rpb24tb3JpZy1idWZmZXIKIEZ1bmN0aW9ucyBv biBgaGVscC1mbnMtZGVzY3JpYmUtZnVuY3Rpb24tZnVuY3Rpb25zJyBjYW4gdXNlIHRoaXMKIHRv IGdldCBidWZmZXItbG9jYWwgdmFsdWVzLiIpCiAKKyhkZWZ1biBoZWxwLWZucy0tZGVzY3JpYmUt ZnVuY3Rpb24tb3ItY29tbWFuZC1wcm9tcHQgKCZvcHRpb25hbCB3YW50LWNvbW1hbmQpCisgICJQ cm9tcHQgZm9yIGEgZnVuY3Rpb24gZnJvbSBgZGVzY3JpYmUtZnVuY3Rpb24nIG9yIGBkZXNjcmli ZS1jb21tYW5kJy4KK0lmIG9wdGlvbmFsIGFyZ3VtZW50IFdBTlQtQ09NTUFORCBpcyBub24tbmls LCBwcm9tcHQgZm9yIGFuCitpbnRlcmFjdGl2ZSBjb21tYW5kLiIKKyAgKGxldCogKChmbiAoaWYg d2FudC1jb21tYW5kCisgICAgICAgICAgICAgICAgIChjYWFyIGNvbW1hbmQtaGlzdG9yeSkKKyAg ICAgICAgICAgICAgIChmdW5jdGlvbi1jYWxsZWQtYXQtcG9pbnQpKSkKKyAgICAgICAgIChwcm9t cHQgKGZvcm1hdC1wcm9tcHQgKGlmIHdhbnQtY29tbWFuZAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIkRlc2NyaWJlIGNvbW1hbmQiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIkRlc2NyaWJlIGZ1bmN0aW9uIikKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZm4pKQorICAgICAgICAgKGVuYWJsZS1yZWN1cnNpdmUtbWluaWJ1ZmZlcnMgdCkK KyAgICAgICAgICh2YWwgKGNvbXBsZXRpbmctcmVhZAorICAgICAgICAgICAgICAgcHJvbXB0Cisg ICAgICAgICAgICAgICAjJ2hlbHAtLXN5bWJvbC1jb21wbGV0aW9uLXRhYmxlCisgICAgICAgICAg ICAgICAobGFtYmRhIChmKSAoaWYgd2FudC1jb21tYW5kCisgICAgICAgICAgICAgICAgICAgICAg ICAgIChjb21tYW5kcCBmKQorICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChmYm91bmRwIGYp IChnZXQgZiAnZnVuY3Rpb24tZG9jdW1lbnRhdGlvbikpKSkKKyAgICAgICAgICAgICAgIHQgbmls IG5pbAorICAgICAgICAgICAgICAgKGFuZCBmbiAoc3ltYm9sLW5hbWUgZm4pKSkpKQorICAgICh1 bmxlc3MgKGVxdWFsIHZhbCAiIikKKyAgICAgIChzZXRxIGZuIChpbnRlcm4gdmFsKSkpCisgICAg OzsgVGhlc2UgZXJyb3IgbWVzc2FnZXMgYXJlIGludGVuZGVkIHRvIGJlIGxlc3MgdGVjaG5pY2Fs IGZvciB0aGUKKyAgICA7OyBgZGVzY3JpYmUtY29tbWFuZCcgY2FzZSwgYXMgdGhleSBhcmUgZGly ZWN0ZWQgYXQgdXNlcnMgdGhhdCBhcmUKKyAgICA7OyBub3QgbmVjZXNzYXJpbHkgRUxpc3AgcHJv Z3JhbW1lcnMuCisgICAgKHVubGVzcyAoYW5kIGZuIChzeW1ib2xwIGZuKSkKKyAgICAgICh1c2Vy LWVycm9yIChpZiB3YW50LWNvbW1hbmQKKyAgICAgICAgICAgICAgICAgICAgICAiWW91IGRpZG4n dCBzcGVjaWZ5IGEgdmFsaWQgY29tbWFuZCBuYW1lIgorICAgICAgICAgICAgICAgICAgICAiWW91 IGRpZG4ndCBzcGVjaWZ5IGEgZnVuY3Rpb24gc3ltYm9sIikpKQorICAgICh1bmxlc3MgKG9yIChm Ym91bmRwIGZuKSAoZ2V0IGZuICdmdW5jdGlvbi1kb2N1bWVudGF0aW9uKSkKKyAgICAgICh1c2Vy LWVycm9yIChpZiB3YW50LWNvbW1hbmQKKyAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VjaCBj b21tYW5kOiAlcyIKKyAgICAgICAgICAgICAgICAgICAgIlN5bWJvbCdzIGZ1bmN0aW9uIGRlZmlu aXRpb24gaXMgdm9pZDogJXMiKQorICAgICAgICAgICAgICAgICAgZm4pKQorICAgIChsaXN0IGZu KSkpCisKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gZGVzY3JpYmUtZnVuY3Rpb24gKGZ1bmN0aW9u KQogICAiRGlzcGxheSB0aGUgZnVsbCBkb2N1bWVudGF0aW9uIG9mIEZVTkNUSU9OIChhIHN5bWJv bCkuCiBXaGVuIGNhbGxlZCBmcm9tIGxpc3AsIEZVTkNUSU9OIG1heSBhbHNvIGJlIGEgZnVuY3Rp b24gb2JqZWN0LiIKLSAgKGludGVyYWN0aXZlCi0gICAobGV0KiAoKGZuIChmdW5jdGlvbi1jYWxs ZWQtYXQtcG9pbnQpKQotICAgICAgICAgIChlbmFibGUtcmVjdXJzaXZlLW1pbmlidWZmZXJzIHQp Ci0gICAgICAgICAgKHZhbCAoY29tcGxldGluZy1yZWFkCi0gICAgICAgICAgICAgICAgKGZvcm1h dC1wcm9tcHQgIkRlc2NyaWJlIGZ1bmN0aW9uIiBmbikKLSAgICAgICAgICAgICAgICAjJ2hlbHAt LXN5bWJvbC1jb21wbGV0aW9uLXRhYmxlCi0gICAgICAgICAgICAgICAgKGxhbWJkYSAoZikgKG9y IChmYm91bmRwIGYpIChnZXQgZiAnZnVuY3Rpb24tZG9jdW1lbnRhdGlvbikpKQotICAgICAgICAg ICAgICAgIHQgbmlsIG5pbAotICAgICAgICAgICAgICAgIChhbmQgZm4gKHN5bWJvbC1uYW1lIGZu KSkpKSkKLSAgICAgKHVubGVzcyAoZXF1YWwgdmFsICIiKQotICAgICAgIChzZXRxIGZuIChpbnRl cm4gdmFsKSkpCi0gICAgICh1bmxlc3MgKGFuZCBmbiAoc3ltYm9scCBmbikpCi0gICAgICAgKHVz ZXItZXJyb3IgIllvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZ1bmN0aW9uIHN5bWJvbCIpKQotICAgICAo dW5sZXNzIChvciAoZmJvdW5kcCBmbikgKGdldCBmbiAnZnVuY3Rpb24tZG9jdW1lbnRhdGlvbikp Ci0gICAgICAgKHVzZXItZXJyb3IgIlN5bWJvbCdzIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgdm9p ZDogJXMiIGZuKSkKLSAgICAgKGxpc3QgZm4pKSkKKyAgKGludGVyYWN0aXZlIChoZWxwLWZucy0t ZGVzY3JpYmUtZnVuY3Rpb24tb3ItY29tbWFuZC1wcm9tcHQpKQogCiAgIDs7IFdlIHNhdmUgZGVz Y3JpYmUtZnVuY3Rpb24tb3JpZy1idWZmZXIgb24gdGhlIGhlbHAgeHJlZiBzdGFjaywgc28KICAg OzsgaXQgaXMgcmVzdG9yZWQgYnkgdGhlIGJhY2svZm9yd2FyZCBidXR0b25zLiAgJ2hlbHAtYnVm ZmVyJwpAQCAtMjIzLDkgKzI0NCwxNCBAQCBkZXNjcmliZS1mdW5jdGlvbgogICAgICAgICAoZGVz Y3JpYmUtZnVuY3Rpb24tMSBmdW5jdGlvbikKICAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIg c3RhbmRhcmQtb3V0cHV0CiAgICAgICAgICAgOzsgUmV0dXJuIHRoZSB0ZXh0IHdlIGRpc3BsYXll ZC4KLSAgICAgICAgICAoYnVmZmVyLXN0cmluZykpKSkKLSAgICApKQorICAgICAgICAgIChidWZm ZXItc3RyaW5nKSkpKSkpCiAKKzs7OyMjI2F1dG9sb2FkCisoZGVmdW4gZGVzY3JpYmUtY29tbWFu ZCAoY29tbWFuZCkKKyAgIkRpc3BsYXkgdGhlIGZ1bGwgZG9jdW1lbnRhdGlvbiBvZiBDT01NQU5E IChhIHN5bWJvbCkuCitXaGVuIGNhbGxlZCBmcm9tIGxpc3AsIENPTU1BTkQgbWF5IGFsc28gYmUg YSBmdW5jdGlvbiBvYmplY3QuIgorICAoaW50ZXJhY3RpdmUgKGhlbHAtZm5zLS1kZXNjcmliZS1m dW5jdGlvbi1vci1jb21tYW5kLXByb21wdCAnaXMtY29tbWFuZCkpCisgIChkZXNjcmliZS1mdW5j dGlvbiBjb21tYW5kKSkKIAogOzsgQ291bGQgYmUgdGhpcywgaWYgd2UgbWFrZSBzeW1ib2wtZmls ZSBkbyB0aGUgd29yayBiZWxvdy4KIDs7IChkZWZ1biBoZWxwLUMtZmlsZS1uYW1lIChzdWJyLW9y LXZhciBraW5kKQpkaWZmIC0tZ2l0IGEvbGlzcC9oZWxwLmVsIGIvbGlzcC9oZWxwLmVsCmluZGV4 IDA4NGU5NDE1NDkuLmRhZWNhMmI0MDYgMTAwNjQ0Ci0tLSBhL2xpc3AvaGVscC5lbAorKysgYi9s aXNwL2hlbHAuZWwKQEAgLTEwNiw2ICsxMDYsNyBAQCBoZWxwLW1hcAogICAgIChkZWZpbmUta2V5 IG1hcCAidCIgJ2hlbHAtd2l0aC10dXRvcmlhbCkKICAgICAoZGVmaW5lLWtleSBtYXAgInciICd3 aGVyZS1pcykKICAgICAoZGVmaW5lLWtleSBtYXAgInYiICdkZXNjcmliZS12YXJpYWJsZSkKKyAg ICAoZGVmaW5lLWtleSBtYXAgIngiICdkZXNjcmliZS1jb21tYW5kKQogICAgIChkZWZpbmUta2V5 IG1hcCAicSIgJ2hlbHAtcXVpdCkKICAgICBtYXApCiAgICJLZXltYXAgZm9yIGNoYXJhY3RlcnMg Zm9sbG93aW5nIHRoZSBIZWxwIGtleS4iKQpAQCAtMTkyLDcgKzE5Myw3IEBAICdoZWxwCiAoZGVm YWxpYXMgJ2hlbHAtZm9yLWhlbHAgJ2hlbHAtZm9yLWhlbHAtaW50ZXJuYWwpCiA7OyBJdCBjYW4n dCBmaW5kIHRoaXMsIGJ1dCBub2JvZHkgd2lsbCBsb29rLgogKG1ha2UtaGVscC1zY3JlZW4gaGVs cC1mb3ItaGVscC1pbnRlcm5hbAotICAocHVyZWNvcHkgIlR5cGUgYSBoZWxwIG9wdGlvbjogW2Fi Y0NkZWZGZ2lJa0tsTG1ucHJzdHZ3Ll0gQy1bY2RlZm1ub3B0d10gb3IgPyIpCisgIChwdXJlY29w eSAiVHlwZSBhIGhlbHAgb3B0aW9uOiBbYWJjQ2RlZkZnaUlrS2xMbW5wcnN0dnd4Ll0gQy1bY2Rl Zm1ub3B0d10gb3IgPyIpCiAgIDs7IERvbid0IHB1cmVjb3B5IHRoaXMgb25lLCBiZWNhdXNlIGl0 J3Mgbm90IGV2YWx1YXRlZCAoaXQncwogICA7OyBkaXJlY3RseSB1c2VkIGFzIGEgZG9jc3RyaW5n IGluIGEgZnVuY3Rpb24gZGVmaW5pdGlvbiwgc28gaXQnbGwKICAgOzsgYmUgbW92ZWQgdG8gdGhl IERPQyBmaWxlIGFueXdheTogbm8gbmVlZCBmb3IgcHVyZWNvcHlpbmcgaXQpLgpAQCAtMjMxLDYg KzIzMiw3IEBAICdoZWxwLWZvci1oZWxwCiB0ICAgICAgICAgICBTdGFydCB0aGUgRW1hY3MgbGVh cm4tYnktZG9pbmcgdHV0b3JpYWwuCiB2IFZBUklBQkxFICBEaXNwbGF5IHRoZSBnaXZlbiB2YXJp YWJsZSdzIGRvY3VtZW50YXRpb24gYW5kIHZhbHVlLgogdyBDT01NQU5EICAgRGlzcGxheSB3aGlj aCBrZXlzdHJva2VzIGludm9rZSB0aGUgZ2l2ZW4gY29tbWFuZCAod2hlcmUtaXMpLgoreCBDT01N QU5EICAgRGlzcGxheSBkb2N1bWVudGF0aW9uIGZvciB0aGUgZ2l2ZW4gY29tbWFuZC4KIC4gICAg ICAgICAgIERpc3BsYXkgYW55IGF2YWlsYWJsZSBsb2NhbCBoZWxwIGF0IHBvaW50IGluIHRoZSBl Y2hvIGFyZWEuCiAKIEMtYSAgICAgICAgIEluZm9ybWF0aW9uIGFib3V0IEVtYWNzLgpkaWZmIC0t Z2l0IGEvbGlzcC9tZW51LWJhci5lbCBiL2xpc3AvbWVudS1iYXIuZWwKaW5kZXggMTMzZGY2NWNi Yy4uMGU2MzRjYzRhMCAxMDA2NDQKLS0tIGEvbGlzcC9tZW51LWJhci5lbAorKysgYi9saXNwL21l bnUtYmFyLmVsCkBAIC0xODgyLDYgKzE4ODIsOSBAQCBtZW51LWJhci1kZXNjcmliZS1tZW51CiAg ICAgKGJpbmRpbmdzLS1kZWZpbmUta2V5IG1lbnUgW2Rlc2NyaWJlLWZ1bmN0aW9uXQogICAgICAg JyhtZW51LWl0ZW0gIkRlc2NyaWJlIEZ1bmN0aW9uLi4uIiBkZXNjcmliZS1mdW5jdGlvbgogICAg ICAgICAgICAgICAgICAgOmhlbHAgIkRpc3BsYXkgZG9jdW1lbnRhdGlvbiBvZiBmdW5jdGlvbi9j b21tYW5kIikpCisgICAgKGJpbmRpbmdzLS1kZWZpbmUta2V5IG1lbnUgW2Rlc2NyaWJlLWNvbW1h bmRdCisgICAgICAnKG1lbnUtaXRlbSAiRGVzY3JpYmUgQ29tbWFuZC4uLiIgZGVzY3JpYmUtY29t bWFuZAorICAgICAgICAgICAgICAgICAgOmhlbHAgIkRpc3BsYXkgZG9jdW1lbnRhdGlvbiBvZiBj b21tYW5kIikpCiAgICAgKGJpbmRpbmdzLS1kZWZpbmUta2V5IG1lbnUgW3Nob3J0ZG9jLWRpc3Bs YXktZ3JvdXBdCiAgICAgICAnKG1lbnUtaXRlbSAiRnVuY3Rpb24gR3JvdXAgT3ZlcnZpZXcuLi4i IHNob3J0ZG9jLWRpc3BsYXktZ3JvdXAKICAgICAgICAgICAgICAgICAgIDpoZWxwICJEaXNwbGF5 IGEgZnVuY3Rpb24gb3ZlcnZpZXcgZm9yIGEgc3BlY2lmaWMgdG9waWMiKSkKLS0gCjIuMzAuMAoK --000000000000974baf05bbbcc13f--