From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 28 01:56:21 2016 Received: (at submit) by debbugs.gnu.org; 28 Nov 2016 06:56:21 +0000 Received: from localhost ([127.0.0.1]:44123 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBFrQ-0005ql-Tr for submit@debbugs.gnu.org; Mon, 28 Nov 2016 01:56:21 -0500 Received: from eggs.gnu.org ([208.118.235.92]:46906) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBFrO-0005qY-4Z for submit@debbugs.gnu.org; Mon, 28 Nov 2016 01:56:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cBFrG-000563-6b for submit@debbugs.gnu.org; Mon, 28 Nov 2016 01:56:12 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, HTML_MESSAGE,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:48608) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cBFrG-00055x-2g for submit@debbugs.gnu.org; Mon, 28 Nov 2016 01:56:10 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37866) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cBFrD-0007yB-36 for bug-gnu-emacs@gnu.org; Mon, 28 Nov 2016 01:56:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cBFr8-00053w-4b for bug-gnu-emacs@gnu.org; Mon, 28 Nov 2016 01:56:07 -0500 Received: from mail-io0-f195.google.com ([209.85.223.195]:35895) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cBFr7-00053J-SX for bug-gnu-emacs@gnu.org; Mon, 28 Nov 2016 01:56:02 -0500 Received: by mail-io0-f195.google.com with SMTP id k19so20890516iod.3 for ; Sun, 27 Nov 2016 22:56:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to:cc; bh=GFR4DEiy2vl+ncG/nW5+EtmQ61i7Ry7RwSLw02BPUKU=; b=STu0+daleYZ/mK0csHBVGYLRTO3+Z7Tqk3maFLRcvv5uwXBO+DAinITwlzJgUmTPoV YOi06Bj0ppvdL07WuBikckgsl4LXaKqvGH+0+pLvwDsH2fPW9rTi52O10sKVz4ZsCp1p +E5GfhTZb5u8MOap+OVyvW8w+NnnjFfhalbBTGkqRndq4kLEeotnge0ixXlFBqhzCWuc VpyQ07BuChT8hynZ3gJnplEJwavz9q4H7Sk6oUqkpFtiFv9paQSK4xvBfM9v+gVuk4dq +M3HtDArVnXBsO66Lu/KHJ7rodtBEGTu9QVSWuEuZoeMFHRrA/WpCd3xX/GBtHHi3bLM R3Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to:cc; bh=GFR4DEiy2vl+ncG/nW5+EtmQ61i7Ry7RwSLw02BPUKU=; b=GKmWE60LX0rrKk3+78hvjSKR7PnqxtLDwE/KNKLd6cKAe/NN3bXYjJRspAuB86l6Fm f19MUYZrPJkp8wbTCl5umlpZXPexw9EpsiY355JF3PfwlI/MysSmp6yyfkXpflZcAdKI BK4ZpEwkCCSmoHrQieNQDRYW15/dAnxiMfIQpbgrgMXZlbnqMKldgwEvEPxIC0NDf+HO e02JwGY1SC3OuCj9lbLYnQK1jnl5XhpjuA4QXCy8V5f2KD4qGta3os9YRLBKzBFRPmi3 KieG7HB9GCg3f3AfbgwUoEdthk2Ipf8SB6upahfzuC7epek7JLlY4Od0/K+sBidC7YTQ bbXA== X-Gm-Message-State: AKaTC03lwiu5u9TY3sEM+5/3xsv+/qyMPNG/nk7Ya8I1um84iKsCpkUB2vGq0NOI+Cpa18rvhranyNVMOmNSEA== X-Received: by 10.36.5.80 with SMTP id 77mr16752171itl.90.1480316100545; Sun, 27 Nov 2016 22:55:00 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.12.35 with HTTP; Sun, 27 Nov 2016 22:54:39 -0800 (PST) From: Christopher Genovese Date: Mon, 28 Nov 2016 01:54:39 -0500 X-Google-Sender-Auth: n_N5jMaHTlhUIYtTa6lFSzN12Hs Message-ID: Subject: ibuffer bug when saving existing filter, with patches To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=001a1143d830543794054256f3c7 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit Cc: Tino Calancha 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: -4.0 (----) --001a1143d830543794054256f3c7 Content-Type: multipart/alternative; boundary=001a1143d83054378f054256f3c5 --001a1143d83054378f054256f3c5 Content-Type: text/plain; charset=UTF-8 Hello, In at least Emacs 25+, the function 'ibuffer-save-filters' handles saving existing filters and new filters inconsistently. Specifically, at the following point in the original function: (ibuffer-aif (assoc name ibuffer-saved-filters) (setcdr it filters) (push (list name filters) ibuffer-saved-filters)) the setcdr (existing filters) and the push (new filters) save different formats for the variable, with the latter having an extra layer of parentheses. As a specific example of failure, using the current default value of 'ibuffer-saved-filters' (("gnus" ((or (mode . message-mode) (mode . mail-mode) (mode . gnus-group-mode) (mode . gnus-summary-mode) (mode . gnus-article-mode)))) ("programming" ((or (mode . emacs-lisp-mode) (mode . cperl-mode) (mode . c-mode) (mode . java-mode) (mode . idl-mode) (mode . lisp-mode))))) and doing (ibuffer-save-filters "foo" '((name . "foo") (derived-mode . text-mode))) (ibuffer-save-filters "gnus" '((filename . ".") (or (derived-mode . prog-mode) (mode . "compilation-mode")))) gives the following incorrect value for `ibuffer-saved-filters' (("foo" ((name . "foo") (derived-mode . text-mode))) ("gnus" (filename . ".") (or (derived-mode . prog-mode) (mode . "compilation-mode"))) ("programming" ((or (mode . emacs-lisp-mode) (mode . cperl-mode) (mode . c-mode) (mode . java-mode) (mode . idl-mode) (mode . lisp-mode))))) because the "foo" and "gnus" entries have different formats, the latter not consistent with later code to access it (e.g., in 'ibuffer-included-in-filter-p-1' and 'ibuffer-decompose-filter'). There are two immediate paths for fixing this: 1. Change the setcdr to add the extra level of nesting. 2. Change the format of 'ibuffer-saved-filters' to remove the level of testing, change the push (list->cons) and the later accesses (cadr->cdr). The first is very simple, but the extra level of nesting is unsightly, inconsistent with the structure of filter groups, and mildly annoying when writing filters by hand. The second is fairly simple, requiring only a few more small changes, but introduces the complication of changing an existing variable's format. (For what it's worth, I prefer the second.) I have attached a patch file with patches for three commits as follows: 1/3: The very simple fix corresponding to choice 1 above. 2/3: The simple fix corresponding to choice 2 above. 3/3: Some extra support added for handling the change in format for 'ibuffer-saved-filters'. Let me know if you need any further information. Thanks, Chris --001a1143d83054378f054256f3c5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+SGVsbG8sPGJyPjxicj5JbiBhdCBsZWFzdCBFbWFjcyAyNSssIHRoZSBm dW5jdGlvbiAmIzM5O2lidWZmZXItc2F2ZS1maWx0ZXJzJiMzOTsgPGJyPmhhbmRsZXMgc2F2aW5n IGV4aXN0aW5nIGZpbHRlcnMgYW5kIG5ldyBmaWx0ZXJzIGluY29uc2lzdGVudGx5LiA8YnI+U3Bl Y2lmaWNhbGx5LCBhdCB0aGUgZm9sbG93aW5nIHBvaW50IGluIHRoZSBvcmlnaW5hbCBmdW5jdGlv bjo8YnI+PGJyPsKgIChpYnVmZmVyLWFpZiAoYXNzb2MgbmFtZSBpYnVmZmVyLXNhdmVkLWZpbHRl cnMpPGJyPsKgwqDCoMKgwqAgKHNldGNkciBpdCBmaWx0ZXJzKTxicj7CoMKgwqAgKHB1c2ggKGxp c3QgbmFtZSBmaWx0ZXJzKSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKTxicj48YnI+dGhlIHNldGNk ciAoZXhpc3RpbmcgZmlsdGVycykgYW5kIHRoZSBwdXNoIChuZXcgZmlsdGVycyk8YnI+c2F2ZSBk aWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHZhcmlhYmxlLCB3aXRoIHRoZSBsYXR0ZXI8YnI+aGF2 aW5nIGFuIGV4dHJhIGxheWVyIG9mIHBhcmVudGhlc2VzLjxicj48YnI+QXMgYSBzcGVjaWZpYyBl eGFtcGxlIG9mIGZhaWx1cmUsIHVzaW5nIHRoZSBjdXJyZW50IGRlZmF1bHQ8YnI+dmFsdWUgb2Yg JiMzOTtpYnVmZmVyLXNhdmVkLWZpbHRlcnMmIzM5Ozxicj48YnI+wqDCoMKgwqDCoMKgwqAgKCgm cXVvdDtnbnVzJnF1b3Q7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoCAoKG9yPGJyPsKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKG1vZGUgLiBtZXNzYWdlLW1vZGUpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKG1vZGUgLiBtYWlsLW1vZGUpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1vZGUgLiBn bnVzLWdyb3VwLW1vZGUpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1vZGUgLiBnbnVzLXN1 bW1hcnktbW9kZSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobW9kZSAuIGdudXMtYXJ0aWNs ZS1tb2RlKSkpKTxicj7CoMKgwqDCoMKgwqDCoMKgICgmcXVvdDtwcm9ncmFtbWluZyZxdW90Ozxi cj7CoMKgwqDCoMKgwqDCoMKgwqAgKChvcjxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtb2Rl IC4gZW1hY3MtbGlzcC1tb2RlKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtb2RlIC4gY3Bl cmwtbW9kZSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobW9kZSAuIGMtbW9kZSk8YnI+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAobW9kZSAuIGphdmEtbW9kZSk8YnI+wqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAobW9kZSAuIGlkbC1tb2RlKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtb2Rl IC4gbGlzcC1tb2RlKSkpKSk8YnI+PGJyPmFuZCBkb2luZzxicj48YnI+wqDCoCAoaWJ1ZmZlci1z YXZlLWZpbHRlcnMgJnF1b3Q7Zm9vJnF1b3Q7ICYjMzk7KChuYW1lIC4gJnF1b3Q7Zm9vJnF1b3Q7 KSAoZGVyaXZlZC1tb2RlIC4gdGV4dC1tb2RlKSkpPGJyPsKgwqAgKGlidWZmZXItc2F2ZS1maWx0 ZXJzICZxdW90O2dudXMmcXVvdDsgJiMzOTsoKGZpbGVuYW1lIC4gJnF1b3Q7LiZxdW90Oyk8YnI+ wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIChvciAoZGVyaXZlZC1tb2RlIC4gcHJvZy1tb2RlKTxicj7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAobW9kZSAuICZxdW90O2NvbXBpbGF0aW9uLW1vZGUmcXVvdDspKSkpPGJyPjxicj5naXZl cyB0aGUgZm9sbG93aW5nIGluY29ycmVjdCB2YWx1ZSBmb3IgYGlidWZmZXItc2F2ZWQtZmlsdGVy cyYjMzk7PGJyPjxicj7CoMKgwqDCoMKgwqDCoCAoKCZxdW90O2ZvbyZxdW90Ozxicj7CoMKgwqDC oMKgwqDCoMKgwqAgKChuYW1lIC4gJnF1b3Q7Zm9vJnF1b3Q7KTxicj7CoMKgwqDCoMKgwqDCoMKg wqDCoCAoZGVyaXZlZC1tb2RlIC4gdGV4dC1tb2RlKSkpPGJyPsKgwqDCoMKgwqDCoMKgwqAgKCZx dW90O2dudXMmcXVvdDs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIChmaWxlbmFtZSAuICZxdW90Oy4m cXVvdDspPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCAob3I8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqAg KGRlcml2ZWQtbW9kZSAuIHByb2ctbW9kZSk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqAgKG1vZGUg LiAmcXVvdDtjb21waWxhdGlvbi1tb2RlJnF1b3Q7KSkpPGJyPsKgwqDCoMKgwqDCoMKgwqAgKCZx dW90O3Byb2dyYW1taW5nJnF1b3Q7PGJyPsKgwqDCoMKgwqDCoMKgwqDCoCAoKG9yPGJyPsKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKG1vZGUgLiBlbWFjcy1saXNwLW1vZGUpPGJyPsKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKG1vZGUgLiBjcGVybC1tb2RlKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IChtb2RlIC4gYy1tb2RlKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtb2RlIC4gamF2YS1t b2RlKTxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChtb2RlIC4gaWRsLW1vZGUpPGJyPsKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKG1vZGUgLiBsaXNwLW1vZGUpKSkpKTxicj48YnI+YmVjYXVzZSB0 aGUgJnF1b3Q7Zm9vJnF1b3Q7IGFuZCAmcXVvdDtnbnVzJnF1b3Q7IGVudHJpZXMgaGF2ZSBkaWZm ZXJlbnQgZm9ybWF0cyw8YnI+dGhlIGxhdHRlciBub3QgY29uc2lzdGVudCB3aXRoIGxhdGVyIGNv ZGUgdG8gYWNjZXNzIGl0PGJyPihlLmcuLCBpbiAmIzM5O2lidWZmZXItaW5jbHVkZWQtaW4tZmls dGVyLXAtMSYjMzk7IGFuZCAmIzM5O2lidWZmZXItZGVjb21wb3NlLWZpbHRlciYjMzk7KS48YnI+ PGJyPlRoZXJlIGFyZSB0d28gaW1tZWRpYXRlIHBhdGhzIGZvciBmaXhpbmcgdGhpczo8YnI+PGJy PsKgIDEuIENoYW5nZSB0aGUgc2V0Y2RyIHRvIGFkZCB0aGUgZXh0cmEgbGV2ZWwgb2YgbmVzdGlu Zy48YnI+wqAgMi4gQ2hhbmdlIHRoZSBmb3JtYXQgb2YgJiMzOTtpYnVmZmVyLXNhdmVkLWZpbHRl cnMmIzM5OyB0byByZW1vdmU8YnI+wqDCoMKgwqAgdGhlIGxldmVsIG9mIHRlc3RpbmcsIGNoYW5n ZSB0aGUgcHVzaCAobGlzdC0mZ3Q7Y29ucykgYW5kPGJyPsKgwqDCoMKgIHRoZSBsYXRlciBhY2Nl c3NlcyAoY2Fkci0mZ3Q7Y2RyKS48YnI+PGJyPlRoZSBmaXJzdCBpcyB2ZXJ5IHNpbXBsZSwgYnV0 IHRoZSBleHRyYSBsZXZlbCBvZiBuZXN0aW5nPGJyPmlzIHVuc2lnaHRseSwgaW5jb25zaXN0ZW50 IHdpdGggdGhlIHN0cnVjdHVyZSBvZiBmaWx0ZXIgZ3JvdXBzLDxicj5hbmQgbWlsZGx5IGFubm95 aW5nIHdoZW4gd3JpdGluZyBmaWx0ZXJzIGJ5IGhhbmQuwqAgVGhlPGJyPnNlY29uZCBpcyBmYWly bHkgc2ltcGxlLCByZXF1aXJpbmcgb25seSBhIGZldyBtb3JlIHNtYWxsIGNoYW5nZXMsPGJyPmJ1 dCBpbnRyb2R1Y2VzIHRoZSBjb21wbGljYXRpb24gb2YgY2hhbmdpbmcgYW4gZXhpc3Rpbmc8YnI+ dmFyaWFibGUmIzM5O3MgZm9ybWF0LiAoRm9yIHdoYXQgaXQmIzM5O3Mgd29ydGgsIEkgcHJlZmVy IHRoZSBzZWNvbmQuKTxicj48YnI+SSBoYXZlIGF0dGFjaGVkIGEgcGF0Y2ggZmlsZSB3aXRoIHBh dGNoZXMgZm9yIHRocmVlIGNvbW1pdHM8YnI+YXMgZm9sbG93czo8YnI+PGJyPsKgIDEvMzogVGhl IHZlcnkgc2ltcGxlIGZpeCBjb3JyZXNwb25kaW5nIHRvIGNob2ljZSAxIGFib3ZlLjxicj7CoCAy LzM6IFRoZSBzaW1wbGUgZml4IGNvcnJlc3BvbmRpbmcgdG8gY2hvaWNlIDIgYWJvdmUuPGJyPsKg IDMvMzogU29tZSBleHRyYSBzdXBwb3J0IGFkZGVkIGZvciBoYW5kbGluZyB0aGUgY2hhbmdlPGJy PsKgwqDCoMKgwqDCoCBpbiBmb3JtYXQgZm9yICYjMzk7aWJ1ZmZlci1zYXZlZC1maWx0ZXJzJiMz OTsuIDxicj48YnI+TGV0IG1lIGtub3cgaWYgeW91IG5lZWQgYW55IGZ1cnRoZXIgaW5mb3JtYXRp b24uPGJyPjxicj5UaGFua3MsIENocmlzPGJyPjxicj48YnI+PC9kaXY+DQo= --001a1143d83054378f054256f3c5-- --001a1143d830543794054256f3c7 Content-Type: text/x-diff; charset=US-ASCII; name="ibuffer-saved-filters-bug.patch" Content-Disposition: attachment; filename="ibuffer-saved-filters-bug.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iw1pxebm0 RnJvbSAwMWU0MTAyN2FiZjI3ZjhmY2EwMWY3ZTRiNmZlYWQ1NWMwMzJiMWVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hyaXN0b3BoZXIgUi4gR2Vub3Zlc2UiIDxnZW5vdmVzZUBj bXUuZWR1PgpEYXRlOiBTdW4sIDI3IE5vdiAyMDE2IDIzOjM0OjUwIC0wNTAwClN1YmplY3Q6IFtQ QVRDSCAxLzNdIGlidWZmZXI6IG9uZSBwb3NzaWJsZSBmaXggZm9yIGJ1ZyB3aGVuIHNhdmluZyBl eGlzdGluZwogZmlsdGVyCgpUaGUgZnVuY3Rpb24gJ2lidWZmZXItc2F2ZS1maWx0ZXJzJyBoYW5k bGVzIHNhdmluZyBleGlzdGluZwpmaWx0ZXJzIGFuZCBuZXcgZmlsdGVycyBpbmNvbnNpc3RlbnRs eS4gU3BlY2lmaWNhbGx5LAphdCB0aGUgZm9sbG93aW5nIHBvaW50IGluIHRoZSBvcmlnaW5hbCBm dW5jdGlvbjoKCiAgKGlidWZmZXItYWlmIChhc3NvYyBuYW1lIGlidWZmZXItc2F2ZWQtZmlsdGVy cykKICAgICAgKHNldGNkciBpdCBmaWx0ZXJzKQogICAgKHB1c2ggKGxpc3QgbmFtZSBmaWx0ZXJz KSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKQoKdGhlIHNldGNkciAoZXhpc3RpbmcgZmlsdGVycykg YW5kIHRoZSBwdXNoIChuZXcgZmlsdGVycykKc2F2ZSBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhl IHZhcmlhYmxlLCB3aXRoIHRoZSBsYXR0ZXIKaGF2aW5nIGFuIGV4dHJhIGxheWVyIG9mIHBhcmVu dGhlc2VzLgoKQXMgYSBzcGVjaWZpYyBleGFtcGxlIG9mIGZhaWx1cmUsIHVzaW5nIHRoZSBjdXJy ZW50IGRlZmF1bHQKdmFsdWUgb2YgJ2lidWZmZXItc2F2ZWQtZmlsdGVycycKCiAgICAgICAgKCgi Z251cyIKICAgICAgICAgICgob3IKICAgICAgICAgICAgKG1vZGUgLiBtZXNzYWdlLW1vZGUpCiAg ICAgICAgICAgIChtb2RlIC4gbWFpbC1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGdudXMtZ3Jv dXAtbW9kZSkKICAgICAgICAgICAgKG1vZGUgLiBnbnVzLXN1bW1hcnktbW9kZSkKICAgICAgICAg ICAgKG1vZGUgLiBnbnVzLWFydGljbGUtbW9kZSkpKSkKICAgICAgICAgKCJwcm9ncmFtbWluZyIK ICAgICAgICAgICgob3IKICAgICAgICAgICAgKG1vZGUgLiBlbWFjcy1saXNwLW1vZGUpCiAgICAg ICAgICAgIChtb2RlIC4gY3BlcmwtbW9kZSkKICAgICAgICAgICAgKG1vZGUgLiBjLW1vZGUpCiAg ICAgICAgICAgIChtb2RlIC4gamF2YS1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGlkbC1tb2Rl KQogICAgICAgICAgICAobW9kZSAuIGxpc3AtbW9kZSkpKSkpCgphbmQgZG9pbmcKCiAgIChpYnVm ZmVyLXNhdmUtZmlsdGVycyAiZm9vIiAnKChuYW1lIC4gImZvbyIpIChkZXJpdmVkLW1vZGUgLiB0 ZXh0LW1vZGUpKSkKICAgKGlidWZmZXItc2F2ZS1maWx0ZXJzICJnbnVzIiAnKChmaWxlbmFtZSAu ICIuIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoZGVyaXZlZC1tb2Rl IC4gcHJvZy1tb2RlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2Rl IC4gImNvbXBpbGF0aW9uLW1vZGUiKSkpKQoKZ2l2ZXMgdGhlIGZvbGxvd2luZyBpbmNvcnJlY3Qg dmFsdWUgZm9yIGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnCgogICAgICAgICgoImZvbyIKICAgICAg ICAgICgobmFtZSAuICJmb28iKQogICAgICAgICAgIChkZXJpdmVkLW1vZGUgLiB0ZXh0LW1vZGUp KSkKICAgICAgICAgKCJnbnVzIgogICAgICAgICAgKGZpbGVuYW1lIC4gIi4iKQogICAgICAgICAg KG9yCiAgICAgICAgICAgKGRlcml2ZWQtbW9kZSAuIHByb2ctbW9kZSkKICAgICAgICAgICAobW9k ZSAuICJjb21waWxhdGlvbi1tb2RlIikpKQogICAgICAgICAoInByb2dyYW1taW5nIgogICAgICAg ICAgKChvcgogICAgICAgICAgICAobW9kZSAuIGVtYWNzLWxpc3AtbW9kZSkKICAgICAgICAgICAg KG1vZGUgLiBjcGVybC1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGMtbW9kZSkKICAgICAgICAg ICAgKG1vZGUgLiBqYXZhLW1vZGUpCiAgICAgICAgICAgIChtb2RlIC4gaWRsLW1vZGUpCiAgICAg ICAgICAgIChtb2RlIC4gbGlzcC1tb2RlKSkpKSkKCmJlY2F1c2UgdGhlICJmb28iIGFuZCAiZ251 cyIgZW50cmllcyBoYXZlIGRpZmZlcmVudCBmb3JtYXRzLAp0aGUgbGF0dGVyIG5vdCBjb25zaXN0 ZW50IHdpdGggbGF0ZXIgY29kZSB0byBhY2Nlc3MgaXQKKGUuZy4sIGluICdpYnVmZmVyLWluY2x1 ZGVkLWluLWZpbHRlci1wLTEnIGFuZCAnaWJ1ZmZlci1kZWNvbXBvc2UtZmlsdGVyJykuCgpUaGVy ZSBhcmUgdHdvIGltbWVkaWF0ZSBwYXRocyBmb3IgZml4aW5nIHRoaXM6CgogIDEuIENoYW5nZSB0 aGUgc2V0Y2RyIHRvIGFkZCB0aGUgZXh0cmEgbGV2ZWwgb2YgbmVzdGluZy4KICAyLiBDaGFuZ2Ug dGhlIGZvcm1hdCBvZiAnaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyB0byByZW1vdmUKICAgICB0aGUg bGV2ZWwgb2YgdGVzdGluZywgY2hhbmdlIHRoZSBwdXNoIChsaXN0LT5jb25zKSBhbmQKICAgICB0 aGUgbGF0ZXIgYWNjZXNzZXMgKGNhZHItPmNkcikuCgpUaGUgZmlyc3QgaXMgdmVyeSBzaW1wbGUs IGJ1dCB0aGUgZXh0cmEgbGV2ZWwgb2YgbmVzdGluZwppcyB1bnNpZ2h0bHksIGluY29uc2lzdGVu dCB3aXRoIHRoZSBzdHJ1Y3R1cmUgb2YgZmlsdGVyIGdyb3VwcywKYW5kIG1pbGRseSBhbm5veWlu ZyB3aGVuIHdyaXRpbmcgZmlsdGVycyBieSBoYW5kLiAgVGhlCnNlY29uZCBpcyBmYWlybHkgc2lt cGxlLCByZXF1aXJpbmcgb25seSBhIGZldyBtb3JlIHNtYWxsIGNoYW5nZXMsCmJ1dCBpbnRyb2R1 Y2VzIHRoZSBjb21wbGljYXRpb24gb2YgY2hhbmdpbmcgYW4gZXhpc3RpbmcKdmFyaWFibGUncyBm b3JtYXQuIEZvciB3aGF0IGl0J3Mgd29ydGgsIEkgcHJlZmVyIHRoZSBzZWNvbmQuCgpUaGlzIGNv bW1pdCB0YWtlcyB0aGUgZmlyc3QgY2hvaWNlLgoKQ2hhbmdlIExvZzoKCjIwMTYtMTEtMjcgQ2hy aXN0b3BoZXIgUi4gR2Vub3Zlc2UgIDxnZW5vdmVzZUBjbXUuZWR1PgoKKiBsaXNwL2lidWYtZXh0 LmVsIChpYnVmZmVyLXNhdmUtZmlsdGVycyk6IGFkZGVkIGV4dHJhCmxldmVsIG9mIG5lc3Rpbmcg d2hlbiBzYXZpbmcgZmlsdGVyIHRvIGFuIGV4aXN0aW5nIG5hbWUuCi0tLQogbGlzcC9pYnVmLWV4 dC5lbCB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2xpc3AvaWJ1Zi1leHQuZWwgYi9saXNwL2lidWYtZXh0LmVsCmluZGV4 IDVlZjA3NDYuLjEwMzIzMmMgMTAwNjQ0Ci0tLSBhL2xpc3AvaWJ1Zi1leHQuZWwKKysrIGIvbGlz cC9pYnVmLWV4dC5lbApAQCAtOTM1LDcgKzkzNSw3IEBAIEludGVyYWN0aXZlbHksIHByb21wdCBm b3IgTkFNRSwgYW5kIHVzZSB0aGUgY3VycmVudCBmaWx0ZXJzLiIKICAgICAgIChyZWFkLWZyb20t bWluaWJ1ZmZlciAiU2F2ZSBjdXJyZW50IGZpbHRlcnMgYXM6ICIpCiAgICAgICBpYnVmZmVyLWZp bHRlcmluZy1xdWFsaWZpZXJzKSkpCiAgIChpYnVmZmVyLWFpZiAoYXNzb2MgbmFtZSBpYnVmZmVy LXNhdmVkLWZpbHRlcnMpCi0gICAgICAoc2V0Y2RyIGl0IGZpbHRlcnMpCisgICAgICAoc2V0Y2Ry IGl0IChsaXN0IGZpbHRlcnMpKQogICAgIChwdXNoIChsaXN0IG5hbWUgZmlsdGVycykgaWJ1ZmZl ci1zYXZlZC1maWx0ZXJzKSkKICAgKGlidWZmZXItbWF5YmUtc2F2ZS1zdHVmZikpCiAKLS0gCjIu MTAuMAoKCkZyb20gMDc5MTgyMGUwZmYzNjY1YjQ0N2VhMTc0YjRiOTE1YTM2ZGMzZWNlZCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkNocmlzdG9waGVyIFIuIEdlbm92ZXNlIiA8Z2Vu b3Zlc2VAY211LmVkdT4KRGF0ZTogTW9uLCAyOCBOb3YgMjAxNiAwMDozMzozNiAtMDUwMApTdWJq ZWN0OiBbUEFUQ0ggMi8zXSBpYnVmZmVyOiBhbm90aGVyIGZpeCBmb3IgYnVnIHdoZW4gc2F2aW5n IGFuIGV4aXN0aW5nCiBmaWx0ZXIKCkFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0 LCB0aGUgZnVuY3Rpb24gJ2lidWZmZXItc2F2ZS1maWx0ZXJzJwpoYW5kbGVzIHNhdmluZyBleGlz dGluZyBmaWx0ZXJzIGFuZCBuZXcgZmlsdGVycyBpbmNvbnNpc3RlbnRseSwKYW5kIHRoZXJlIGFy ZSB0d28gcGF0aHMgdG8gZml4aW5nIHRoZSBwcm9ibGVtLgoKVGhlIHByZXZpb3VzIGNvbW1pdCBm aXhlZCB0aGUgcHJvYmxlbSB3aGlsZSBtYWludGFpbmluZyB0aGUgZm9ybWF0IG9mCnRoZSB2YXJp YWJsZSAnaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyB3aXRoIGl0cyBleHRyYSBsZXZlbCBvZiBuZXN0 aW5nLgoKVGhpcyBjb21taXQgaW5zdGVhZCB0YWtlcyB0aGUgc2Vjb25kIHBhdGg6IHJlbW92aW5n IHRoZSBleHRyYSBsZXZlbCBvZgpuZXN0aW5nIGZyb20gdGhlIHNhdmVkIGZpbHRlciBmb3JtYXQu CgpDaGFuZ2UgTG9nOgoKMjAxNi0xMS0yNyBDaHJpc3RvcGhlciBSLiBHZW5vdmVzZSAgPGdlbm92 ZXNlQGNtdS5lZHU+CgoqIGxpc3AvaWJ1Zi1leHQuZWwgKGlidWZmZXItc2F2ZWQtZmlsdGVycyk6 IHJlbW92ZWQgZXh0cmEKbmVzdGluZyBsZXZlbCBpbiB0aGUgYWxpc3QgdmFsdWVzIGFuZCB1cGRh dGVkIGRvY3N0cmluZy4KKGlidWZmZXItc2F2ZS1maWx0ZXJzKTogcmVtb3ZlZCBleHRyYSBsZXZl bCBvZiBuZXN0aW5nCmluIHNhdmVkIGZpbHRlciBhbGlzdCB2YWx1ZXMgd2hlbiBzYXZpbmcgbmV3 IGZpbHRlcnMuCihpYnVmZmVyLWluY2x1ZGVkLWluLWZpbHRlci1wKTogY2hhbmdlZCBhY2Nlc3Mg b2Ygc2F2ZWQKZmlsdGVyIGRhdGEgKGNhZHItPmNkcikgdG8gYWNjb3VudCBmb3IgcmVkdWNlZCBu ZXN0aW5nLgooaWJ1ZmZlci1kZWNvbXBvc2UtZmlsdGVyKTogY2hhbmdlZCBhY2Nlc3Mgb2Ygc2F2 ZWQKZmlsdGVyIGRhdGEgKGNhZHItPmNkcikgdG8gYWNjb3VudCBmb3IgcmVkdWNlZCBuZXN0aW5n LgotLS0KIGxpc3AvaWJ1Zi1leHQuZWwgfCA2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlv bnMoKyksIDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvaWJ1Zi1leHQuZWwgYi9s aXNwL2lidWYtZXh0LmVsCmluZGV4IDEwMzIzMmMuLmU0YTdkZmEgMTAwNjQ0Ci0tLSBhL2xpc3Av aWJ1Zi1leHQuZWwKKysrIGIvbGlzcC9pYnVmLWV4dC5lbApAQCAtMTIwLDI4ICsxMjAsMzIgQEAg QnVmZmVycyB3aG9zZSBtYWpvciBtb2RlIGlzIGluIHRoaXMgbGlzdCwgYXJlIG5vdCBzZWFyY2hl ZC4iCiAoZGVmdmFyIGlidWZmZXItYXV0by1idWZmZXJzLWNoYW5nZWQgbmlsKQogCiAoZGVmY3Vz dG9tIGlidWZmZXItc2F2ZWQtZmlsdGVycyAnKCgiZ251cyIKLQkJCQkgICAgKChvciAobW9kZSAu IG1lc3NhZ2UtbW9kZSkKLQkJCQkJIChtb2RlIC4gbWFpbC1tb2RlKQotCQkJCQkgKG1vZGUgLiBn bnVzLWdyb3VwLW1vZGUpCi0JCQkJCSAobW9kZSAuIGdudXMtc3VtbWFyeS1tb2RlKQotCQkJCQkg KG1vZGUgLiBnbnVzLWFydGljbGUtbW9kZSkpKSkKLQkJCQkgICAoInByb2dyYW1taW5nIgotCQkJ CSAgICAoKG9yIChtb2RlIC4gZW1hY3MtbGlzcC1tb2RlKQotCQkJCQkgKG1vZGUgLiBjcGVybC1t b2RlKQotCQkJCQkgKG1vZGUgLiBjLW1vZGUpCi0JCQkJCSAobW9kZSAuIGphdmEtbW9kZSkKLQkJ CQkJIChtb2RlIC4gaWRsLW1vZGUpCi0JCQkJCSAobW9kZSAuIGxpc3AtbW9kZSkpKSkpCi0KLSAg IkFuIGFsaXN0IG9mIGZpbHRlciBxdWFsaWZpZXJzIHRvIHN3aXRjaCBiZXR3ZWVuLgotCi1UaGlz IHZhcmlhYmxlIHNob3VsZCBsb29rIGxpa2UgKChcIlNUUklOR1wiIFFVQUxJRklFUlMpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChcIlNUUklOR1wiIFFVQUxJRklFUlMpIC4uLiks IHdoZXJlCi1RVUFMSUZJRVJTIGlzIGEgbGlzdCBvZiB0aGUgc2FtZSBmb3JtIGFzCi1gaWJ1ZmZl ci1maWx0ZXJpbmctcXVhbGlmaWVycycuCi1TZWUgYWxzbyB0aGUgdmFyaWFibGVzIGBpYnVmZmVy LWZpbHRlcmluZy1xdWFsaWZpZXJzJywKLWBpYnVmZmVyLWZpbHRlcmluZy1hbGlzdCcsIGFuZCB0 aGUgZnVuY3Rpb25zCi1gaWJ1ZmZlci1zd2l0Y2gtdG8tc2F2ZWQtZmlsdGVycycsIGBpYnVmZmVy LXNhdmUtZmlsdGVycycuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9y IChtb2RlIC4gbWVzc2FnZS1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChtb2RlIC4gbWFpbC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChtb2RlIC4gZ251cy1ncm91cC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChtb2RlIC4gZ251cy1zdW1tYXJ5LW1vZGUpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGUgLiBnbnVzLWFydGljbGUtbW9kZSkp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInByb2dyYW1taW5nIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChtb2RlIC4gZW1hY3MtbGlzcC1t b2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4gY3Bl cmwtbW9kZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSAu IGMtbW9kZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSAu IGphdmEtbW9kZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9k ZSAuIGlkbC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICht b2RlIC4gbGlzcC1tb2RlKSkpKQorCisgICJBbiBhbGlzdCBtYXBwaW5nIHNhdmVkIGZpbHRlciBu YW1lcyB0byBmaWx0ZXIgc3BlY2lmaWNhdGlvbnMuCisKK0VhY2ggZWxlbWVudCBzaG91bGQgbG9v ayBsaWtlIChcIk5BTUVcIiAuIEZJTFRFUi1MSVNUKSwgd2hlcmUKK0ZJTFRFUi1MSVNUIGhhcyB0 aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgdGhlIHZhcmlhYmxlCitgaWJ1ZmZlci1maWx0ZXJpbmctcXVh bGlmaWVycycsIHdoaWNoIHNlZS4gVGhlIGZpbHRlcnMgZGVmaW5lZAoraGVyZSBhcmUgam9pbmVk IHdpdGggYW4gaW1wbGljaXQgbG9naWNhbCBgYW5kJyBhbmQgYXNzb2NpYXRlZAord2l0aCBOQU1F LiBUaGUgY29tYmluZWQgc3BlY2lmaWNhdGlvbiBjYW4gYmUgdXNlZCBieSBuYW1lIGluCitvdGhl ciBmaWx0ZXIgc3BlY2lmaWNhdGlvbnMgdmlhIHRoZSBgc2F2ZWQnIHF1YWxpZmllciAoYWdhaW4s IHNlZQorYGlidWZmZXItZmlsdGVyaW5nLXF1YWxpZmllcnMnKS4gVGhleSBjYW4gYWxzbyBiZSBz d2l0Y2hlZCB0byBieQorbmFtZSAoc2VlIHRoZSBmdW5jdGlvbnMgYGlidWZmZXItc3dpdGNoLXRv LXNhdmVkLWZpbHRlcnMnIGFuZAorYGlidWZmZXItc2F2ZS1maWx0ZXJzJykuIFRoZSB2YXJpYWJs ZSBgaWJ1ZmZlci1zYXZlLXdpdGgtY3VzdG9tJworYWZmZWN0cyBob3cgdGhpcyBpbmZvcm1hdGlv biBpcyBzYXZlZCBmb3IgZnV0dXJlIHNlc3Npb25zLiBUaGlzCit2YXJpYWJsZSBjYW4gYmUgc2V0 IGRpcmVjdGx5IGZyb20gbGlzcCBjb2RlLiIKICAgOnR5cGUgJyhyZXBlYXQgc2V4cCkKICAgOmdy b3VwICdpYnVmZmVyKQogCkBAIC01MzUsMTMgKzUzOSwxMSBAQCBUbyBldmFsdWF0ZSBhIGZvcm0g d2l0aG91dCB2aWV3aW5nIHRoZSBidWZmZXIsIHNlZSBgaWJ1ZmZlci1kby1ldmFsJy4iCiAJCQkg ICAoaWJ1ZmZlci1pbmNsdWRlZC1pbi1maWx0ZXItcCBidWYgeCkpCiAJCSAgICAgICAoY2RyIGZp bHRlcikpKSkKICAgICAgIChgc2F2ZWQKLSAgICAgICAobGV0ICgoZGF0YQotCSAgICAgIChhc3Nv YyAoY2RyIGZpbHRlcikKLQkJICAgICBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKSkKKyAgICAgICAo bGV0ICgoZGF0YSAoYXNzb2MgKGNkciBmaWx0ZXIpIGlidWZmZXItc2F2ZWQtZmlsdGVycykpKQog CSAodW5sZXNzIGRhdGEKIAkgICAoaWJ1ZmZlci1maWx0ZXItZGlzYWJsZSB0KQogCSAgIChlcnJv ciAiVW5rbm93biBzYXZlZCBmaWx0ZXIgJXMiIChjZHIgZmlsdGVyKSkpCi0JIChpYnVmZmVyLWlu Y2x1ZGVkLWluLWZpbHRlcnMtcCBidWYgKGNhZHIgZGF0YSkpKSkKKwkgKGlidWZmZXItaW5jbHVk ZWQtaW4tZmlsdGVycy1wIGJ1ZiAoY2RyIGRhdGEpKSkpCiAgICAgICAoXwogICAgICAgIChwY2Fz ZS1sZXQgKChgKCxfdHlwZSAsX2Rlc2MgLGZ1bmMpCiAgICAgICAgICAgICAgICAgICAgIChhc3Nx IChjYXIgZmlsdGVyKSBpYnVmZmVyLWZpbHRlcmluZy1hbGlzdCkpKQpAQCAtODQ5LDE1ICs4NTEs MTIgQEAgdHVybmVkIGludG8gdHdvIHNlcGFyYXRlIGZpbHRlcnMgW25hbWU6IGZvb10gYW5kIFtt b2RlOiBiYXItbW9kZV0uIgogCQkJCQkgIChjZHIgbGltKQogCQkJCQkgIGlidWZmZXItZmlsdGVy aW5nLXF1YWxpZmllcnMpKSkKICAgICAgIChgc2F2ZWQKLSAgICAgICAobGV0ICgoZGF0YQotCSAg ICAgIChhc3NvYyAoY2RyIGxpbSkKLQkJICAgICBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKSkKKyAg ICAgICAobGV0ICgoZGF0YSAoYXNzb2MgKGNkciBsaW0pIGlidWZmZXItc2F2ZWQtZmlsdGVycykp KQogCSAodW5sZXNzIGRhdGEKIAkgICAoaWJ1ZmZlci1maWx0ZXItZGlzYWJsZSkKIAkgICAoZXJy b3IgIlVua25vd24gc2F2ZWQgZmlsdGVyICVzIiAoY2RyIGxpbSkpKQotCSAoc2V0cSBpYnVmZmVy LWZpbHRlcmluZy1xdWFsaWZpZXJzIChhcHBlbmQKLQkJCQkJICAgIChjYWRyIGRhdGEpCi0JCQkJ CSAgICBpYnVmZmVyLWZpbHRlcmluZy1xdWFsaWZpZXJzKSkpKQorCSAoc2V0cSBpYnVmZmVyLWZp bHRlcmluZy1xdWFsaWZpZXJzCisgICAgICAgICAgICAgICAoYXBwZW5kIChjZHIgZGF0YSkgaWJ1 ZmZlci1maWx0ZXJpbmctcXVhbGlmaWVycykpKSkKICAgICAgIChgbm90CiAgICAgICAgKHB1c2gg KGNkciBsaW0pCiAJICAgICBpYnVmZmVyLWZpbHRlcmluZy1xdWFsaWZpZXJzKSkKQEAgLTkzNSw4 ICs5MzQsOCBAQCBJbnRlcmFjdGl2ZWx5LCBwcm9tcHQgZm9yIE5BTUUsIGFuZCB1c2UgdGhlIGN1 cnJlbnQgZmlsdGVycy4iCiAgICAgICAocmVhZC1mcm9tLW1pbmlidWZmZXIgIlNhdmUgY3VycmVu dCBmaWx0ZXJzIGFzOiAiKQogICAgICAgaWJ1ZmZlci1maWx0ZXJpbmctcXVhbGlmaWVycykpKQog ICAoaWJ1ZmZlci1haWYgKGFzc29jIG5hbWUgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKQotICAgICAg KHNldGNkciBpdCAobGlzdCBmaWx0ZXJzKSkKLSAgICAocHVzaCAobGlzdCBuYW1lIGZpbHRlcnMp IGlidWZmZXItc2F2ZWQtZmlsdGVycykpCisgICAgICAoc2V0Y2RyIGl0IGZpbHRlcnMpCisgICAg KHB1c2ggKGNvbnMgbmFtZSBmaWx0ZXJzKSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKQogICAoaWJ1 ZmZlci1tYXliZS1zYXZlLXN0dWZmKSkKIAogOzs7IyMjYXV0b2xvYWQKLS0gCjIuMTAuMAoKCkZy b20gYWVlMWMzY2RkNDdkYjljMGRhMmEyZjlkMWMzYTUzYzQwYTgxY2ZkZSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogIkNocmlzdG9waGVyIFIuIEdlbm92ZXNlIiA8Z2Vub3Zlc2VAY211 LmVkdT4KRGF0ZTogTW9uLCAyOCBOb3YgMjAxNiAwMToyOTowNCAtMDUwMApTdWJqZWN0OiBbUEFU Q0ggMy8zXSBpYnVmZmVyOiBhZGRlZCBzdXBwb3J0IGZvciBzYXZlZCBmaWx0ZXIgZm9ybWF0IGNo YW5nZSBhbmQKIHRlc3QKCkFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0LCBvbmUg Zml4IHRvIHRoZQppbmNvbnNpc3RlbmN5IGluICdpYnVmZmVyLXNhdmUtZmlsdGVycycgaW52b2x2 ZXMgc2ltcGxpZnlpbmcKdGhlIGZvcm1hdCBvZiAnaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyB0byBy ZWR1Y2UgdGhlIGV4dHJhCm5lc3RpbmcgbGV2ZWwuIFRoaXMgYWRkcyBzb21lIHN1cHBvcnQgZm9y IHRoaXMgdHJhbnNpdGlvbiwKaW5jbHVkaW5nIGEgY3VzdG9taXplIHNldHRlciB0byB0cmFuc3Bh cmVudGx5IHVwZGF0ZSBvbGQKZm9ybWF0IHZhbHVlcyBhbmQgYSBjb21tYW5kIHRvIGNoZWNrIGFu ZCByZXBhaXIgdGhlIHNhdmVkCnZhbHVlcyBpZiBkZXNpcmVkLgoKQWxzbyBhZGRlZCBhIHRlc3Qg b2YgJ2lidWZmZXItc2F2ZS1maWx0ZXInLgoKQ2hhbmdlIExvZzoKCjIwMTYtMTEtMjcgQ2hyaXN0 b3BoZXIgUi4gR2Vub3Zlc2UgIDxnZW5vdmVzZUBjbXUuZWR1PgoKKiBsaXNwL2lidWYtZXh0LmVs IChpYnVmZmVyLXNhdmVkLWZpbHRlcnMpOiBhZGRlZCBtb3JlIGFjY3VyYXRlCmN1c3RvbWl6YXRp b24gdHlwZSBhbmQgdHJhbnNwYXJlbnQgc2V0dGVyIHRvIGFkanVzdCBvbGQtZm9ybWF0CnZhbHVl cy4KKGlidWZmZXItdXBkYXRlLXNhdmVkLWZpbHRlcnMtZm9ybWF0KTogdXBkYXRlcyBvbGQtZm9y bWF0CmZvciBzYXZlZCBidWZmZXIgZGF0YSB0byBuZXcgZm9ybWF0IHdpdGggcmVkdWNlZCBuZXN0 aW5nIGxldmVsLgooaWJ1ZmZlci1yZXBhaXItc2F2ZWQtZmlsdGVycyk6IG5ldyBjb21tYW5kIHRv IGNoZWNrIGFuZApyZXBhaXIgc2F2ZWQgZmlsdGVycyBmb3JtYXQuCihpYnVmZmVyLW9sZC1zYXZl ZC1maWx0ZXJzLXdhcm5pbmcpOiBuZXcgdmFyaWFibGUgd2l0aApjbGlja2FibGUgbWVzc2FnZSB3 aXRoIHJlcGFpciBvcHRpb25zIHRvIGJlIGRpc3BsYXllZAphcyBhIHdhcm5pbmcgaWYgJ2lidWZm ZXItcmVwYWlyLXNhdmVkLWZpbHRlcnMnIGRldGVjdHMKYSBmb3JtYXQgbWlzbWF0Y2guCiogdGVz dC9saXNwL2lidWZmZXItdGVzdHMuZWwgKGlidWZmZXItc2F2ZS1maWx0ZXJzKTogYWRkZWQKYSB0 ZXN0IHRoYXQgZmlsdGVycyBhcmUgc2F2ZWQgaW4gdGhlIHByb3BlciBmb3JtYXQuCi0tLQogbGlz cC9pYnVmLWV4dC5lbCAgICAgICAgICAgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCiB0ZXN0L2xpc3AvaWJ1ZmZlci10ZXN0cy5lbCB8IDI5ICsrKysr KysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTE1IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9saXNwL2lidWYtZXh0LmVsIGIvbGlzcC9pYnVmLWV4dC5lbApp bmRleCBlNGE3ZGZhLi4xZDc5NzI5IDEwMDY0NAotLS0gYS9saXNwL2lidWYtZXh0LmVsCisrKyBi L2xpc3AvaWJ1Zi1leHQuZWwKQEAgLTExOSw2ICsxMTksMjYgQEAgQnVmZmVycyB3aG9zZSBtYWpv ciBtb2RlIGlzIGluIHRoaXMgbGlzdCwgYXJlIG5vdCBzZWFyY2hlZC4iCiAKIChkZWZ2YXIgaWJ1 ZmZlci1hdXRvLWJ1ZmZlcnMtY2hhbmdlZCBuaWwpCiAKKyhkZWZ1biBpYnVmZmVyLXVwZGF0ZS1z YXZlZC1maWx0ZXJzLWZvcm1hdCAoZmlsdGVycykKKyAgIlRyYW5zZm9ybXMgYWxpc3QgZnJvbSBv bGQgdG8gbmV3IGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnIGZvcm1hdC4KKworU3BlY2lmaWNhbGx5 LCBjb252ZXJ0cyBvbGQtZm9ybWF0IGFsaXN0IHdpdGggdmFsdWVzIG9mIHRoZQorZm9ybSAoU1RS SU5HIChGSUxURVItU1BFQ1MuLi4pKSB0byBhbGlzdCB3aXRoIHZhbHVlcyBvZiB0aGUKK2Zvcm0g KFNUUklORyBGSUxURVItU1BFQ1MuLi4pLCB3aGVyZSBlYWNoIGZpbHRlciBzcGVjIHNob3VsZCBi ZSBhCitjb25zIGNlbGwgd2l0aCBhIHN5bWJvbCBpbiB0aGUgY2FyLiBBbnkgZWxlbWVudHMgaW4g dGhlIGxhdHRlcgorZm9ybSBhcmUga2VwdCBhcyBpcy4KKworUmV0dXJucyAoT0xELUZPUk1BVC1E RVRFQ1RFRD8gLiBVUERBVEVELVNBVkVELUZJTFRFUlMtTElTVCkuIgorICAod2hlbiBmaWx0ZXJz CisgICAgKGxldCogKChvbGQtZm9ybWF0LWRldGVjdGVkIG5pbCkKKyAgICAgICAgICAgKGZpeC1m aWx0ZXIgKGxhbWJkYSAoZmlsdGVyLXNwZWMpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGlm IChzeW1ib2xwIChjYXIgKGNhZHIgZmlsdGVyLXNwZWMpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZmlsdGVyLXNwZWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIG9s ZC1mb3JtYXQtZGV0ZWN0ZWQgdCkgOyBzaWRlLWVmZmVjdAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnMgKGNhciBmaWx0ZXItc3BlYykgKGNhZHIgZmlsdGVyLXNwZWMpKSkpKQorICAg ICAgICAgICAoZml4ZWQgKG1hcGNhciBmaXgtZmlsdGVyIGZpbHRlcnMpKSkKKyAgICAgIChjb25z IG9sZC1mb3JtYXQtZGV0ZWN0ZWQgZml4ZWQpKSkpCisKIChkZWZjdXN0b20gaWJ1ZmZlci1zYXZl ZC1maWx0ZXJzICcoKCJnbnVzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG9yIChtb2RlIC4gbWVzc2FnZS1tb2RlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChtb2RlIC4gbWFpbC1tb2RlKQpAQCAtMTQ2LDkgKzE2Niw3NCBAQCBuYW1lIChz ZWUgdGhlIGZ1bmN0aW9ucyBgaWJ1ZmZlci1zd2l0Y2gtdG8tc2F2ZWQtZmlsdGVycycgYW5kCiBg aWJ1ZmZlci1zYXZlLWZpbHRlcnMnKS4gVGhlIHZhcmlhYmxlIGBpYnVmZmVyLXNhdmUtd2l0aC1j dXN0b20nCiBhZmZlY3RzIGhvdyB0aGlzIGluZm9ybWF0aW9uIGlzIHNhdmVkIGZvciBmdXR1cmUg c2Vzc2lvbnMuIFRoaXMKIHZhcmlhYmxlIGNhbiBiZSBzZXQgZGlyZWN0bHkgZnJvbSBsaXNwIGNv ZGUuIgotICA6dHlwZSAnKHJlcGVhdCBzZXhwKQorICA6dHlwZSAnKGFsaXN0IDprZXktdHlwZSAo c3RyaW5nIDp0YWcgIkZpbHRlciBuYW1lIikKKyAgICAgICAgICAgICAgICA6dmFsdWUtdHlwZSAo cmVwZWF0IDp0YWcgIkZpbHRlciBzcGVjaWZpY2F0aW9uIiBzZXhwKSkKKyAgOnNldCAobGFtYmRh IChzeW1ib2wgdmFsdWUpCisgICAgICAgICA7OyBKdXN0IHNldC1kZWZhdWx0IGJ1dCB1cGRhdGUg bGVnYWN5IG9sZC1zdHlsZSBmb3JtYXQKKyAgICAgICAgIChzZXQtZGVmYXVsdCBzeW1ib2wgKGNk ciAoaWJ1ZmZlci11cGRhdGUtc2F2ZWQtZmlsdGVycy1mb3JtYXQgdmFsdWUpKSkpCiAgIDpncm91 cCAnaWJ1ZmZlcikKIAorKGRlZnZhciBpYnVmZmVyLW9sZC1zYXZlZC1maWx0ZXJzLXdhcm5pbmcK KyAgKGNvbmNhdCAiRGVwcmVjYXRlZCBmb3JtYXQgZGV0ZWN0ZWQgZm9yIHZhcmlhYmxlIGBpYnVm ZmVyLXNhdmVkLWZpbHRlcnMnLgorCitUaGUgZm9ybWF0IGhhcyBiZWVuIHJlcGFpcmVkIGFuZCB0 aGUgdmFyaWFibGUgbW9kaWZpZWQgYWNjb3JkaW5nbHkuCitZb3UgY2FuIHNhdmUgdGhlIGN1cnJl bnQgdmFsdWUgdGhyb3VnaCB0aGUgY3VzdG9taXplIHN5c3RlbSBieQorZWl0aGVyIGNsaWNraW5n IG9yIGhpdHRpbmcgcmV0dXJuICIKKyAgICAgICAgICAobWFrZS10ZXh0LWJ1dHRvbgorICAgICAg ICAgICAiaGVyZSIgbmlsCisgICAgICAgICAgICdmYWNlICcoOndlaWdodCBib2xkIDppbmhlcml0 IGJ1dHRvbikKKyAgICAgICAgICAgJ21vdXNlLWZhY2UgJyg6d2VpZ2h0IG5vcm1hbCA6YmFja2dy b3VuZCAiZ3JheTUwIiA6aW5oZXJpdCBidXR0b24pCisgICAgICAgICAgICdmb2xsb3ctbGluayB0 CisgICAgICAgICAgICdoZWxwLWVjaG8gIkNsaWNrIG9yIFJFVDogc2F2ZSBuZXcgdmFsdWUgaW4g Y3VzdG9taXplIgorICAgICAgICAgICAnYWN0aW9uIChsYW1iZGEgKGIpCisgICAgICAgICAgICAg ICAgICAgICAoaWYgKG5vdCAoZmJvdW5kcCAnY3VzdG9taXplLXNhdmUtdmFyaWFibGUpKQorICAg ICAgICAgICAgICAgICAgICAgICAgIChtZXNzYWdlICJDdXN0b21pemUgbm90IGF2YWlsYWJsZTsg dmFsdWUgbm90IHNhdmVkIikKKyAgICAgICAgICAgICAgICAgICAgICAgKGN1c3RvbWl6ZS1zYXZl LXZhcmlhYmxlICdpYnVmZmVyLXNhdmVkLWZpbHRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlidWZmZXItc2F2ZWQtZmlsdGVycykKKyAgICAgICAg ICAgICAgICAgICAgICAgKG1lc3NhZ2UgIlNhdmVkIHVwZGF0ZWQgaWJ1ZmZlci1zYXZlZC1maWx0 ZXJzLiIpKSkpCisgICAgICAgICAgIi4gU2VlIGJlbG93IGZvcgorYW4gZXhwbGFuYXRpb24gYW5k IGFsdGVybmF0aXZlIHdheXMgdG8gc2F2ZSB0aGUgcmVwYWlyZWQgdmFsdWUuCisKK0V4cGxhbmF0 aW9uOiBGb3IgdGhlIGxpc3QgdmFyaWFibGUgYGlidWZmZXItc2F2ZWQtZmlsdGVycycsCitlbGVt ZW50cyBvZiB0aGUgZm9ybSAoU1RSSU5HIChGSUxURVItU1BFQ1MuLi4pKSBhcmUgZGVwcmVjYXRl ZAorYW5kIHNob3VsZCBpbnN0ZWFkIGhhdmUgdGhlIGZvcm0gKFNUUklORyBGSUxURVItU1BFQ1Mu Li4pLCB3aGVyZQorZWFjaCBmaWx0ZXIgc3BlYyBpcyBhIGNvbnMgY2VsbCB3aXRoIGEgc3ltYm9s IGluIHRoZSBjYXIuIFNlZQorYGlidWZmZXItc2F2ZWQtZmlsdGVycycgZm9yIGRldGFpbHMuIFRo ZSByZXBhaXJlZCB2YWx1ZSBmaXhlcwordGhpcyBmb3JtYXQgd2l0aG91dCBjaGFuZ2luZyB0aGUg bWVhbmluZyBvZiB0aGUgc2F2ZWQgZmlsdGVycy4KKworQWx0ZXJuYXRpdmUgd2F5cyB0byBzYXZl IHRoZSByZXBhaXJlZCB2YWx1ZToKKworICAxLiBEbyBNLXggY3VzdG9taXplLXZhcmlhYmxlIGFu ZCBlbnRlcmluZyBgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJworICAgICB3aGVuIHByb21wdGVkLgor CisgIDIuIFNldCB0aGUgdXBkYXRlZCB2YWx1ZSBtYW51YWxseSBieSBjb3B5aW5nIHRoZQorICAg ICBmb2xsb3dpbmcgZW1hY3MtbGlzcCBmb3JtIHRvIHlvdXIgZW1hY3MgaW5pdCBmaWxlLgorCisl cworIikpCisKKyhkZWZ1biBpYnVmZmVyLXJlcGFpci1zYXZlZC1maWx0ZXJzICgpCisgICJVcGRh dGVzIGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnIHRvIGl0cyBuZXctc3R5bGUgZm9ybWF0LCBpZiBu ZWVkZWQuCisKK0lmIHRoaXMgbGlzdCBoYXMgYW55IGVsZW1lbnRzIG9mIHRoZSBvbGQtc3R5bGUg Zm9ybWF0LCBhCitkZXByZWNhdGlvbiB3YXJuaW5nIGlzIHJhaXNlZCwgd2l0aCBhIGJ1dHRvbiBh bGxvd2luZyBwZXJzaXN0ZW50Cit1cGRhdGUuIEFueSB1cGRhdGVkIGZpbHRlcnMgcmV0YWluIHRo ZWlyIG1lYW5pbmcgaW4gdGhlIG5ldworZm9ybWF0LiBTZWUgYGlidWZmZXItdXBkYXRlLXNhdmVk LWZpbHRlcnMtZm9ybWF0JyBhbmQKK2BpYnVmZmVyLXNhdmVkLWZpbHRlcnMnIGZvciBkZXRhaWxz IG9mIHRoZSBvbGQgYW5kIG5ldyBmb3JtYXRzLiIKKyAgKGludGVyYWN0aXZlKQorICAod2hlbiAo YW5kIChib3VuZHAgJ2lidWZmZXItc2F2ZWQtZmlsdGVycykgaWJ1ZmZlci1zYXZlZC1maWx0ZXJz KQorICAgIChsZXQgKChmaXhlZCAoaWJ1ZmZlci11cGRhdGUtc2F2ZWQtZmlsdGVycy1mb3JtYXQg aWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSkpCisgICAgICAocHJvZzEKKyAgICAgICAgICAoc2V0cSBp YnVmZmVyLXNhdmVkLWZpbHRlcnMgKGNkciBmaXhlZCkpCisgICAgICAgICh3aGVuLWxldCAob2xk LWZvcm1hdC1kZXRlY3RlZD8gKGNhciBmaXhlZCkpCisgICAgICAgICAgKGxldCAoKHdhcm5pbmct c2VyaWVzIHQpCisgICAgICAgICAgICAgICAgKHVwZGF0ZWQtZm9ybQorICAgICAgICAgICAgICAg ICAod2l0aC1vdXRwdXQtdG8tc3RyaW5nCisgICAgICAgICAgICAgICAgICAgKHBwIGAoc2V0cSBp YnVmZmVyLXNhdmVkLWZpbHRlcnMgJyxpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKSkpKQorICAgICAg ICAgICAgKGRpc3BsYXktd2FybmluZworICAgICAgICAgICAgICdpYnVmZmVyCisgICAgICAgICAg ICAgKGZvcm1hdCBpYnVmZmVyLW9sZC1zYXZlZC1maWx0ZXJzLXdhcm5pbmcgdXBkYXRlZC1mb3Jt KSkpKSkpKSkKKwogKGRlZnZhciBpYnVmZmVyLWZpbHRlcmluZy1xdWFsaWZpZXJzIG5pbAogICAi QSBsaXN0IGxpa2UgKFNZTUJPTCAuIFFVQUxJRklFUikgd2hpY2ggZmlsdGVycyB0aGUgY3VycmVu dCBidWZmZXIgbGlzdC4KIFNlZSBhbHNvIGBpYnVmZmVyLWZpbHRlcmluZy1hbGlzdCcuIikKZGlm ZiAtLWdpdCBhL3Rlc3QvbGlzcC9pYnVmZmVyLXRlc3RzLmVsIGIvdGVzdC9saXNwL2lidWZmZXIt dGVzdHMuZWwKaW5kZXggM2E0ZGVmMy4uNmQ1MTg3YSAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2li dWZmZXItdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2lidWZmZXItdGVzdHMuZWwKQEAgLTY2LDUg KzY2LDM0IEBACiAgICAgICAobWFwYyAobGFtYmRhIChidWYpICh3aGVuIChidWZmZXItbGl2ZS1w IGJ1ZikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2lsbC1idWZmZXIgYnVmKSkpIChs aXN0IGJ1ZjEgYnVmMikpKSkpCiAKKyhlcnQtZGVmdGVzdCBpYnVmZmVyLXNhdmUtZmlsdGVycyAo KQorICAiVGVzdHMgdGhhdCBgaWJ1ZmZlci1zYXZlLWZpbHRlcnMnIHNhdmVzIGluIHRoZSBwcm9w ZXIgZm9ybWF0LiIKKyAgKHNraXAtdW5sZXNzIChmZWF0dXJlcCAnaWJ1Zi1leHQpKQorICAobGV0 ICgoaWJ1ZmZlci1zYXZlLXdpdGgtY3VzdG9tIG5pbCkKKyAgICAgICAgKGlidWZmZXItc2F2ZWQt ZmlsdGVycyBuaWwpCisgICAgICAgICh0ZXN0MSAnKChtb2RlIC4gb3JnLW1vZGUpCisgICAgICAg ICAgICAgICAgIChvciAoc2l6ZS1ndCAuIDEwMDAwKQorICAgICAgICAgICAgICAgICAgICAgKGFu ZCAobm90IChzdGFycmVkLW5hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoZGlyZWN0 b3J5IC4gIlw8b3JnXD4iKSkpKSkKKyAgICAgICAgKHRlc3QyICcoKG9yIChtb2RlIC4gZW1hY3Mt bGlzcC1tb2RlKSAoZmlsZS1leHRlbnNpb24gLiAiZWxjPyIpCisgICAgICAgICAgICAgICAgICAg ICAoYW5kIChzdGFycmVkLW5hbWUpIChuYW1lIC4gImVsaXNwIikpCisgICAgICAgICAgICAgICAg ICAgICAobW9kZSAuIGxpc3AtaW50ZXJhY3Rpb24tbW9kZSkpKSkKKyAgICAgICAgKHRlc3QzICco KHNpemUtbHQgLiAxMDApIChkZXJpdmVkLW1vZGUgLiBwcm9nLW1vZGUpCisgICAgICAgICAgICAg ICAgIChvciAoZmlsZW5hbWUgLiAic2NyYXRjaCIpCisgICAgICAgICAgICAgICAgICAgICAoZmls ZW5hbWUgLiAiYm9ueiIpCisgICAgICAgICAgICAgICAgICAgICAoZmlsZW5hbWUgLiAidGVtcCIp KSkpKQorICAgIChpYnVmZmVyLXNhdmUtZmlsdGVycyAidGVzdDEiIHRlc3QxKQorICAgIChzaG91 bGQgKGVxdWFsIChjYXIgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSAoY29ucyAidGVzdDEiIHRlc3Qx KSkpCisgICAgKGlidWZmZXItc2F2ZS1maWx0ZXJzICJ0ZXN0MiIgdGVzdDIpCisgICAgKHNob3Vs ZCAoZXF1YWwgKGNhciBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpIChjb25zICJ0ZXN0MiIgdGVzdDIp KSkKKyAgICAoc2hvdWxkIChlcXVhbCAoY2FkciBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpIChjb25z ICJ0ZXN0MSIgdGVzdDEpKSkKKyAgICAoaWJ1ZmZlci1zYXZlLWZpbHRlcnMgInRlc3QzIiB0ZXN0 MykKKyAgICAoc2hvdWxkIChlcXVhbCAoY2FyIGlidWZmZXItc2F2ZWQtZmlsdGVycykgKGNvbnMg InRlc3QzIiB0ZXN0MykpKQorICAgIChzaG91bGQgKGVxdWFsIChjYWRyIGlidWZmZXItc2F2ZWQt ZmlsdGVycykgKGNvbnMgInRlc3QyIiB0ZXN0MikpKQorICAgIChzaG91bGQgKGVxdWFsIChjYXIg KGNkZHIgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSkgKGNvbnMgInRlc3QxIiB0ZXN0MSkpKQorICAg IChzaG91bGQgKGVxdWFsIChjZHIgKGFzc29jICJ0ZXN0MSIgaWJ1ZmZlci1zYXZlZC1maWx0ZXJz KSkgdGVzdDEpKQorICAgIChzaG91bGQgKGVxdWFsIChjZHIgKGFzc29jICJ0ZXN0MiIgaWJ1ZmZl ci1zYXZlZC1maWx0ZXJzKSkgdGVzdDIpKQorICAgIChzaG91bGQgKGVxdWFsIChjZHIgKGFzc29j ICJ0ZXN0MyIgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSkgdGVzdDMpKSkpCisKIChwcm92aWRlICdp YnVmZmVyLXRlc3RzKQogOzsgaWJ1ZmZlci10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMTAuMAoK --001a1143d830543794054256f3c7-- From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 29 10:07:05 2016 Received: (at 25049) by debbugs.gnu.org; 29 Nov 2016 15:07:05 +0000 Received: from localhost ([127.0.0.1]:46275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBjzt-0005v0-07 for submit@debbugs.gnu.org; Tue, 29 Nov 2016 10:07:05 -0500 Received: from mail-pg0-f52.google.com ([74.125.83.52]:36721) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBjzr-0005uO-Ip for 25049@debbugs.gnu.org; Tue, 29 Nov 2016 10:07:04 -0500 Received: by mail-pg0-f52.google.com with SMTP id f188so70182573pgc.3 for <25049@debbugs.gnu.org>; Tue, 29 Nov 2016 07:07:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=8f2Fpo4cCtbkaaLg8Cvumc/Bq/tqH9JTmjT0SjLdnyQ=; b=yD2bIE1+8xOMD6QzIJe0M3vumyomBJ5fhPEYyRAVooCgwfyefHuG48D+5f1H0xypdk nZnR9CRp+O2S2VCRN+anRDx+odmTNcXG0cjJpb1GUHoEKW1qRzXJNXVQuGoEm84IK99u r70lAMdU1W8EtAx/AbA3Iw9csRY5jTXoqA6qH3cBCajAtb4aD9cjbs9lznUYcXxjNyht EY66uWpRZ5Jz1lWAwRUugMzTrIqOteuH3mLbsZVbPGYH88e20q8hG+k3N/SbmbF72Yr+ hME2zGgf5/i0GYm0CW8wgt02qBfSt4Ww/FVUTJ1ghBjrauaxGnrsCRwwN0zDbL7AV251 Q/hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=8f2Fpo4cCtbkaaLg8Cvumc/Bq/tqH9JTmjT0SjLdnyQ=; b=kIljbyoARpJuX3tYTdPt0RFwnI8E9rpmhZZIOSngWyyk+TXg7Vkkrd5keU799877tJ D2d24nCA1U+w0oWCrcKIlv2HWDBQm4N265RtsNtIq77tbJrhRw5QVvytiET/dD20SY7O 3kjA1MLjCmJnilm7OKf8biXcECnfOTlFIqdTF9Oq40b83Aumla6QCxTYZjYgZj95Wvrz 1h4S1cyIJVvLir4pQUaeOj/AaNa1UVFPNt391q+JTZ4Z6/dulgC6s2/a33Dp8ys/YopK EfzgsSWfS/Ism9QJCNmaxLjGnwEl2AVSBTnwlA9NhGMbBOgrTaixMpYMeg3Wb7ANI60I Z7eg== X-Gm-Message-State: AKaTC03ykYbrG+JcwOvc/2YmhHuJ85WgGNr8+Lz6vGC3VikS8kSj8uL9n7FP+54PsYbp9g== X-Received: by 10.99.188.2 with SMTP id q2mr50372312pge.34.1480432017866; Tue, 29 Nov 2016 07:06:57 -0800 (PST) Received: from calancha-pc (177.192.218.133.dy.bbexcite.jp. [133.218.192.177]) by smtp.gmail.com with ESMTPSA id x2sm79860314pfx.65.2016.11.29.07.06.56 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 Nov 2016 07:06:57 -0800 (PST) From: Tino Calancha To: 25049@debbugs.gnu.org Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches References: Date: Wed, 30 Nov 2016 00:06:43 +0900 In-Reply-To: (Christopher Genovese's message of "Mon, 28 Nov 2016 01:54:39 -0500") Message-ID: <8737ianx4s.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 25049 Cc: Christopher Genovese , tino.calancha@gmail.com 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: -0.0 (/) Christopher Genovese writes: > In at least Emacs 25+, the function 'ibuffer-save-filters' > handles saving existing filters and new filters inconsistently. Thank you for the bug report and the extensive analysis! Below i add some comments. > There are two immediate paths for fixing this: > > 1. Change the setcdr to add the extra level of nesting. > 2. Change the format of 'ibuffer-saved-filters' to remove > the level of testing, change the push (list->cons) and > the later accesses (cadr->cdr). > > The first is very simple, but the extra level of nesting > is unsightly, inconsistent with the structure of filter groups, > and mildly annoying when writing filters by hand. The > second is fairly simple, requiring only a few more small changes, > but introduces the complication of changing an existing > variable's format. (For what it's worth, I prefer the second.) I also prefer the larger fix 2. > I have attached a patch file with patches for three commits 1) (eval-when-compiler (require 'subr-x)) is missing 2) We might want to add :version "26.1" into `ibuffer-saved-filter' definition. 3) When `ibuffer-old-saved-filters-warning' is shown i miss that the buffer displaying it has the key binding `TAB' for `forward-button'. It might be a smarter way to do this, but i just put the buffer in help-mode as follows: @@ -11,12 +11,15 @@ (let ((fixed (ibuffer-update-saved-filters-format ibuffer-saved-filters))) (prog1 (setq ibuffer-saved-filters (cdr fixed)) - (when-let (old-format-detected? (car fixed)) + (when-let ((old-format-detected? (car fixed)) + (buffer-name "*Warnings*")) + (with-current-buffer (get-buffer-create buffer-name) + (help-mode)) (let ((warning-series t) (updated-form (with-output-to-string (pp `(setq ibuffer-saved-filters ',ibuffer-saved-filters))))) (display-warning 'ibuffer - (format ibuffer-old-saved-filters-warning updated-form)))))))) - + (format ibuffer-old-saved-filters-warning updated-form)) + nil buffer-name)))))) 4) [minor comment] It's not very common in Emacs to call a var `old-format-detected?'. Adding 'p' instead of '?' or even not suffix at all looks more usual. 5) >* lisp/ibuf-ext.el (ibuffer-saved-filters): removed extra ^^^^^^^ >nesting level in the alist values and updated docstring. >(ibuffer-save-filters): removed extra level of nesting ^^^^^^^ >in saved filter alist values when saving new filters. Please, start sentences in capital letters. Imperative form verb is prefered than pasive. removed extra nesting --> Remove extra nesting Thank you Tino From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 29 11:09:56 2016 Received: (at 25049) by debbugs.gnu.org; 29 Nov 2016 16:09:56 +0000 Received: from localhost ([127.0.0.1]:46303 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBkyi-0007o2-Gd for submit@debbugs.gnu.org; Tue, 29 Nov 2016 11:09:56 -0500 Received: from mail-io0-f182.google.com ([209.85.223.182]:35829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBkyh-0007nn-1q for 25049@debbugs.gnu.org; Tue, 29 Nov 2016 11:09:55 -0500 Received: by mail-io0-f182.google.com with SMTP id a124so297178803ioe.2 for <25049@debbugs.gnu.org>; Tue, 29 Nov 2016 08:09:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=2KkuvpX7u51wNHKKh9kOAj+QJwbwmnUR8oSv147lsqU=; b=cCFpfKuY4D7vVvAQN8dhpnalYM0DrPs63quyIBAy/9m8EYoHG0kIRc0jvEKPZP6msT PDcmggm6uwPaEcG4kQiNyuLkmPF9Udi3eOKEh+FttBNDtLZWS6c7jo6c6vnmyyMy1wsn /o2uyEAmlpg0MYXZ7KIiTl4pkM9ufNuQbALCTabccegVRBBM7Rd3p/gCvwBog9C/3s9a uXoHbmg0jLtKiDLKeRaShGVymovwdfqPzBI/sH8yHME0C0FD5ukv5G8cAqakcZz3lOWR W+E2qUw5A98GkvR7/jfmAtFjsBpuLh0yETxB2Ehl072UEFkYGxcWBOaIa/Bzqfh8RsQA jCkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=2KkuvpX7u51wNHKKh9kOAj+QJwbwmnUR8oSv147lsqU=; b=BbbgHIZTcATgDFwh+bIFo1OrQXz1Yg4IrB5BBgNYvJAOKa0XYslqlC55DrDHhkW3zr obUWXIcDAs+UNDRxFYTXQ+aq/VRXVzeNkXXzjUfhlqOCHHf+br3bcoyL+6YemKa4D6xp 8WwL7fWxFxLp96WnWLDZ+FkYp5Uv0UOzt+yFN1o2TjaaJPsPniFCoHUW6wwzfMcjqeuk /BjQQjdWR0+mLMjfiQPUYAPQmDlwbPMD+FFZK5gQ9ODuKayEzqhpez0SYdpjhk2o0S2F vTFhhKDH03g9l5qMc2u1Ttkq5c8L3W/DAOEJ1xlkQ03vvz8xnuqwRyXz0iySOkogNbnr svLg== X-Gm-Message-State: AKaTC02yG12M/Ya5HKeqaJqzr/554iheskMRUnw69IJMSzl/ejN1zJP49msukUDAqaisCKMaHKePFeXryvDr4w== X-Received: by 10.107.165.139 with SMTP id o133mr22757548ioe.42.1480435789336; Tue, 29 Nov 2016 08:09:49 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.59.143 with HTTP; Tue, 29 Nov 2016 08:09:28 -0800 (PST) In-Reply-To: <8737ianx4s.fsf@gmail.com> References: <8737ianx4s.fsf@gmail.com> From: Christopher Genovese Date: Tue, 29 Nov 2016 11:09:28 -0500 X-Google-Sender-Auth: rG7QmIvPgCd97Ahy3mYIjVCcC5o Message-ID: Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches To: Tino Calancha Content-Type: multipart/alternative; boundary=001a1141f18c5614b8054272d185 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 25049 Cc: 25049@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: 0.0 (/) --001a1141f18c5614b8054272d185 Content-Type: text/plain; charset=UTF-8 > 1) (eval-when-compiler (require 'subr-x)) is missing Ah, sorry. I went back to master and then added in the changes, but I missed that this time. Thanks. > 3) When `ibuffer-old-saved-filters-warning' is shown i miss > that the buffer displaying it has the key binding > `TAB' for `forward-button'. > It might be a smarter way to do this, but i just put the buffer > in help-mode as follows: That works for me. > 4) [minor comment] It's not very common in Emacs to > call a var `old-format-detected?'. Adding 'p' instead > of '?' or even not suffix at all looks more usual. OK, makes sense. I had thought of the -p convention as being for predicate functions, and I do like the readability of the '?'. But I get it. > 5) > Please, start sentences in capital letters. Imperative > form verb is prefered than pasive. Understood. Do you want me to submit a new patch with these changes? (And I know owe you new patches for the other changes, which I have not forgotten. I'm just a bit behind but hope to submit those today.) Thanks again, Chris On Tue, Nov 29, 2016 at 10:06 AM, Tino Calancha wrote: > Christopher Genovese writes: > > > > In at least Emacs 25+, the function 'ibuffer-save-filters' > > handles saving existing filters and new filters inconsistently. > Thank you for the bug report and the extensive analysis! > Below i add some comments. > > > There are two immediate paths for fixing this: > > > > 1. Change the setcdr to add the extra level of nesting. > > 2. Change the format of 'ibuffer-saved-filters' to remove > > the level of testing, change the push (list->cons) and > > the later accesses (cadr->cdr). > > > > The first is very simple, but the extra level of nesting > > is unsightly, inconsistent with the structure of filter groups, > > and mildly annoying when writing filters by hand. The > > second is fairly simple, requiring only a few more small changes, > > but introduces the complication of changing an existing > > variable's format. (For what it's worth, I prefer the second.) > I also prefer the larger fix 2. > > > I have attached a patch file with patches for three commits > > 1) (eval-when-compiler (require 'subr-x)) is missing > > 2) We might want to add :version "26.1" into > `ibuffer-saved-filter' definition. > > 3) When `ibuffer-old-saved-filters-warning' is shown i miss > that the buffer displaying it has the key binding > `TAB' for `forward-button'. > It might be a smarter way to do this, but i just put the buffer > in help-mode as follows: > > @@ -11,12 +11,15 @@ > (let ((fixed (ibuffer-update-saved-filters-format > ibuffer-saved-filters))) > (prog1 > (setq ibuffer-saved-filters (cdr fixed)) > - (when-let (old-format-detected? (car fixed)) > + (when-let ((old-format-detected? (car fixed)) > + (buffer-name "*Warnings*")) > + (with-current-buffer (get-buffer-create buffer-name) > + (help-mode)) > (let ((warning-series t) > (updated-form > (with-output-to-string > (pp `(setq ibuffer-saved-filters > ',ibuffer-saved-filters))))) > (display-warning > 'ibuffer > - (format ibuffer-old-saved-filters-warning > updated-form)))))))) > - > + (format ibuffer-old-saved-filters-warning updated-form)) > + nil buffer-name)))))) > > 4) [minor comment] It's not very common in Emacs to > call a var `old-format-detected?'. Adding 'p' instead > of '?' or even not suffix at all looks more usual. > > 5) > >* lisp/ibuf-ext.el (ibuffer-saved-filters): removed extra > ^^^^^^^ > >nesting level in the alist values and updated docstring. > >(ibuffer-save-filters): removed extra level of nesting > ^^^^^^^ > >in saved filter alist values when saving new filters. > Please, start sentences in capital letters. Imperative > form verb is prefered than pasive. > > removed extra nesting --> Remove extra nesting > > Thank you > Tino > --001a1141f18c5614b8054272d185 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
> 1) (eval-when-compiler = (require 'subr-x)) is missing

Ah, sorry. I went back= to master and then added in the changes,
but I missed that this t= ime.=C2=A0 Thanks.

> 3) When `ibuffer-old-saved-filters-warn= ing' is shown i miss
>=C2=A0 =C2=A0 that the buffer displaying it= has the key binding
>=C2=A0 =C2=A0 `TAB' for `forward-button'= ;.
>=C2=A0 =C2=A0 It might be a smarter way to do this, but i just pu= t the buffer
>=C2=A0 =C2=A0 in help-mode as follows:

That works for me.

> 4) [minor comment] It's not= very common in Emacs to
> call a var `old-format-detected?'.=C2=A0 Adding 'p' instea= d
> of '?' or even not suffix at all looks more usual.
OK, makes sense. I had thought of the -p convention
as bein= g for predicate functions, and I do like the
readability of t= he '?'.=C2=A0 But I get it.

> 5)
> Please, start sentences in capital letters.=C2=A0 Imper= ative
> form verb is prefered than pasive.

Understood.


Do you want me to submit a new patch with t= hese changes?

(And I know owe you new patches for the oth= er changes, which I have
not forgotten. I'm just a bit be= hind but hope to submit those
today.)

Thank= s again, Chris


<= br>
On Tue, Nov 29, 2016 at 10:06 AM, Tino Calanc= ha <tino.calancha@gmail.com> wrote:
Christopher Genovese <genovese@cmu.edu> writes:


> In at least Emacs 25+, the function 'ibuffer-save-filters'
> handles saving existing filters and new filters inconsistently.
Thank you for the bug report and the extensive analysis!
Below i add some comments.

> There are two immediate paths for fixing this:
>
>=C2=A0 =C2=A01. Change the setcdr to add the extra level of nesting. >=C2=A0 =C2=A02. Change the format of 'ibuffer-saved-filters' to= remove
>=C2=A0 =C2=A0 =C2=A0 the level of testing, change the push (list->co= ns) and
>=C2=A0 =C2=A0 =C2=A0 the later accesses (cadr->cdr).
>
> The first is very simple, but the extra level of nesting
> is unsightly, inconsistent with the structure of filter groups,
> and mildly annoying when writing filters by hand.=C2=A0 The
> second is fairly simple, requiring only a few more small changes,
> but introduces the complication of changing an existing
> variable's format. (For what it's worth, I prefer the second.)=
I also prefer the larger fix 2.

> I have attached a patch file with patches for three commits

1) (eval-when-compiler (require 'subr-x)) is missing

2) We might want to add :version "26.1" into
=C2=A0 =C2=A0`ibuffer-saved-filter' definition.

3) When `ibuffer-old-saved-filters-warning' is shown i miss
=C2=A0 =C2=A0that the buffer displaying it has the key binding
=C2=A0 =C2=A0`TAB' for `forward-button'.
=C2=A0 =C2=A0It might be a smarter way to do this, but i just put the buffe= r
=C2=A0 =C2=A0in help-mode as follows:

@@ -11,12 +11,15 @@
=C2=A0 =C2=A0 =C2=A0(let ((fixed (ibuffer-update-saved-filters-format = ibuffer-saved-filters)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0(prog1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq ibuffer-saved-filters (cdr f= ixed))
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 (when-let (old-format-detected? (car fixed)) +=C2=A0 =C2=A0 =C2=A0 =C2=A0 (when-let ((old-format-detected? (car fixed))<= br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(buff= er-name "*Warnings*"))
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (with-current-buffer (get-buffer-create= buffer-name)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (help-mode))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((warning-series t)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(updated-form=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (with-output= -to-string
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (pp `= (setq ibuffer-saved-filters ',ibuffer-saved-filters)))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(display-warning
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 'ibuffer
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(format ibuffer-old-saved-= filters-warning updated-form))))))))
-
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(format ibuffer-old-saved-= filters-warning updated-form))
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 nil buffer-name))))))

4) [minor comment] It's not very common in Emacs to
call a var `old-format-detected?'.=C2=A0 Adding 'p' instead
of '?' or even not suffix at all looks more usual.

5)
>* lisp/ibuf-ext.el (ibuffer-saved-filters): removed extra
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0^^^^^^^
>nesting level in the alist values and updated docstring.
>(ibuffer-save-filters): removed extra level of nesting
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0^^^^^^^
>in saved filter alist values when saving new filters.
Please, start sentences in capital letters.=C2=A0 Imperative
form verb is prefered than pasive.

removed extra nesting --> Remove extra nesting

Thank you
Tino

--001a1141f18c5614b8054272d185-- From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 29 18:49:36 2016 Received: (at 25049) by debbugs.gnu.org; 29 Nov 2016 23:49:36 +0000 Received: from localhost ([127.0.0.1]:46634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBs9Y-0005NN-AT for submit@debbugs.gnu.org; Tue, 29 Nov 2016 18:49:36 -0500 Received: from mail-pg0-f45.google.com ([74.125.83.45]:36141) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBs9W-0005NB-Rj for 25049@debbugs.gnu.org; Tue, 29 Nov 2016 18:49:35 -0500 Received: by mail-pg0-f45.google.com with SMTP id f188so74435363pgc.3 for <25049@debbugs.gnu.org>; Tue, 29 Nov 2016 15:49:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=qWKTffFv2XN6O6s7sXqI3sjuz3KS/3WJnvUVZeaxyQs=; b=ros7rs9hQB2g+CA96h8PYNalIyOeE5aggDC2HK5zz38s0MnitOGyMlJzQsQOf90P8y c58Lve9S7T5xtmZE3gs4PtlPUhZe9ZMMrC3lb4OvMSjbG+rSY82bXinTzEaAdl+a9+L6 kr4904w9wkQJCa+Db2daAQURXSMdLUFt6mnavo3fXBhaozZ/2pCY7ZSmv4PvAPUiElou UYOABpNF2g7q0XL9AWqKtjqTV1uT0A9BevhOhEo/8rU6CAhasSAoTv5zLZ4jCLQJ/NLu yiGo439VORdauPVI8XGOp8qzWGWWpTvGTybmyOw2MihwEO0VKJGB0UHRZ5oa2qL3SASZ v4iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=qWKTffFv2XN6O6s7sXqI3sjuz3KS/3WJnvUVZeaxyQs=; b=YQiO7B6gzutnk9s7JINRQrrzkUoRXNo746qgmG2k3D7NdjsuTl1xiawOU1e45uSKc0 AKr7jDLzFGLhT5OihIINabi/eeGjc+/E3ZSkQk1HfAqmcHJNN/NHUzsgDfc3SV/KOvBL RAoNE2Honx78QsdFH2w+xetbV4FBxCnwXcwhIQlirHls4mCoSuUGyCpShqy4s9S6esFy r/hjgcSEIaDttyoYe+FZUA4iVoR5XMe6WXuX4c3UHWhA0pyLFIUSLQOicdgWnj5zcK1y zp1aGQOJT4BWqiG1LvmUGiUFPrhol7eirssQtMntBXHHgK7kHaUeIJNVvGL6DUobRCGt 4Rnw== X-Gm-Message-State: AKaTC00cOU+wD6IQRUd5TaMbKvzZylYFlq8cCzcF7WJP4pdw2TzpKCT0DLmqnqu4CTkO0w== X-Received: by 10.99.175.69 with SMTP id s5mr54198728pgo.6.1480463369143; Tue, 29 Nov 2016 15:49:29 -0800 (PST) Received: from calancha-pc (177.192.218.133.dy.bbexcite.jp. [133.218.192.177]) by smtp.gmail.com with ESMTPSA id s197sm79823548pgc.38.2016.11.29.15.49.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 Nov 2016 15:49:28 -0800 (PST) From: Tino Calancha To: Christopher Genovese Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches References: <8737ianx4s.fsf@gmail.com> Date: Wed, 30 Nov 2016 08:49:22 +0900 In-Reply-To: (Christopher Genovese's message of "Tue, 29 Nov 2016 11:09:28 -0500") Message-ID: <8737i9etj1.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 25049 Cc: 25049@debbugs.gnu.org, tino.calancha@gmail.com 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: -0.0 (/) Christopher Genovese writes: > Do you want me to submit a new patch with these changes? It would be useful. Someone other than me may try this patch without reading all the bug report, and repeat some of my comments. Once we update the patch we can wait like 1 week; if we don't get further comments after that week, then it's OK for me to push the fix to master branch. Thank you From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 00:14:31 2016 Received: (at 25049) by debbugs.gnu.org; 30 Nov 2016 05:14:31 +0000 Received: from localhost ([127.0.0.1]:46761 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBxDz-0006Cx-4z for submit@debbugs.gnu.org; Wed, 30 Nov 2016 00:14:31 -0500 Received: from mail-io0-f180.google.com ([209.85.223.180]:35209) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cBxDx-0006Ck-9Q for 25049@debbugs.gnu.org; Wed, 30 Nov 2016 00:14:30 -0500 Received: by mail-io0-f180.google.com with SMTP id a124so330331689ioe.2 for <25049@debbugs.gnu.org>; Tue, 29 Nov 2016 21:14:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=71S4OYgu+iDXmvTderfkcoUxA1BCrIPAAehLsRTzCfk=; b=BTYSGHX7FlbLFEjJ8gFBAHD0GBzp4qVecWQBf2+FSuu3QChubJgF4/KRBJw6E6IDo9 PIbPLoCqqQu8T6JmNL3PGlcjgXPWIyuvJpfIglIcQMeDUnNbmt84cLVEt/2NjDoB84Jz 6si3TLlGEc0CDLbx7fJBoTGGzArI7b19zK8fPtriAg8uFqDLWCrGfnUr6whVmiBX0MKa 6l4zwWM9vq7fZtERmxHOx2zfZR6D8kRWzXUUJF6iJC5h2ASVbj0KEosZJ1E5Ojvpgnp8 er30T/jGOSAjvEt5kogJtwsp/ZyPuQFElcbALVl8kQrL845HsDiO4qfERm0FfLY4jf7C IB/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=71S4OYgu+iDXmvTderfkcoUxA1BCrIPAAehLsRTzCfk=; b=hQer3D1plThoFQlx225OBsg8kwS310dv0arjWtTl8wjDZpCC3Sf19tecM8uF8g8/dO 8onJ3sKRQKGgKK7FJuZkg+L+KmJkWtEF57a2L5MMByPoQa4w5wZkii3cbOtgz4xraAhA czh74dOEYC0wR1SpIZF0D/D+vLDO0i6k1pQrLYuNH75liDPh7a2WxYz+kUbf553QXSMW aOCKgDEorL7El8dqath6nxEl6fmgkP2oyIJOX6QyIq6vTQ0iGVCjj5QDmRdXph3nOtZJ Vv9NPxnHYfUf6ZKk0tr0Q7FSdl20XarZTujQIBGGXS5ArDIjEiv8AfY41rMbKBE331i0 Tlpw== X-Gm-Message-State: AKaTC03Nz6XJTj0NGG4HIGuUdH3W0cb7LyNPTdAUOJQjZXw/dZ0c49/peHWytBhNY8UmlQO+TMgwAxBX3mUdYw== X-Received: by 10.36.23.131 with SMTP id 125mr26746297ith.82.1480482863655; Tue, 29 Nov 2016 21:14:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.59.143 with HTTP; Tue, 29 Nov 2016 21:14:03 -0800 (PST) In-Reply-To: <8737i9etj1.fsf@gmail.com> References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> From: Christopher Genovese Date: Wed, 30 Nov 2016 00:14:03 -0500 X-Google-Sender-Auth: KndCKFYakDoV5CkiDD5-3PIf19k Message-ID: Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches To: Tino Calancha Content-Type: multipart/mixed; boundary=001a1144641e2f674d05427dc781 X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 25049 Cc: 25049@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: 0.5 (/) --001a1144641e2f674d05427dc781 Content-Type: multipart/alternative; boundary=001a1144641e2f674505427dc77f --001a1144641e2f674505427dc77f Content-Type: text/plain; charset=UTF-8 I've attached a modified patch file that includes all your suggested changes. I did some squashing and editing, so this patch has the same three parts as before, with properly formatted Change Logs in each. Let me know if you think anything else is needed. Thanks, Chris On Tue, Nov 29, 2016 at 6:49 PM, Tino Calancha wrote: > Christopher Genovese writes: > > > Do you want me to submit a new patch with these changes? > It would be useful. Someone other than me may try this patch > without reading all the bug report, and repeat some of my comments. > > Once we update the patch we can wait like 1 week; if we don't > get further comments after that week, then it's OK for me to push > the fix to master branch. > > Thank you > --001a1144641e2f674505427dc77f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
I've attached a modified patch file tha= t includes
all your suggested changes.=C2=A0 I did some squashing<= br>
and editing, so this patch has the same three parts
= as before, with properly formatted Change Logs in
each.
Let me know if you think anything else is needed.

Thanks, Chris


On Tue, Nov 29, 2016 at 6:49 PM, Tino Calancha <tino.calancha@gmail.com> wrote:
Christopher Genovese <genovese@cmu.edu> writes:

> Do you want me to submit a new patch with these changes?
It would be useful.=C2=A0 Someone other than me may try this patch without reading all the bug report, and repeat some of my comments.

Once we update the patch we can wait like 1 week; if we don't
get further comments after that week, then it's OK for me to push
the fix to master branch.

Thank you

--001a1144641e2f674505427dc77f-- --001a1144641e2f674d05427dc781 Content-Type: text/x-diff; charset=US-ASCII; name="ibuffer-saved-filters-bug-clean.patch" Content-Disposition: attachment; filename="ibuffer-saved-filters-bug-clean.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iw4h8avf0 RnJvbSA1M2VmYjYyYjZiZGRiNDBiNWJmNDYwYzJjYzZiZGM4YjI5NGIyN2U5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hyaXN0b3BoZXIgUi4gR2Vub3Zlc2UiIDxnZW5vdmVzZUBj bXUuZWR1PgpEYXRlOiBTdW4sIDI3IE5vdiAyMDE2IDIzOjM0OjUwIC0wNTAwClN1YmplY3Q6IFtQ QVRDSCAxLzNdIGlidWZmZXI6IG9uZSBwb3NzaWJsZSBmaXggZm9yIGJ1ZyB3aGVuIHNhdmluZyBl eGlzdGluZwogZmlsdGVyCgpUaGUgZnVuY3Rpb24gJ2lidWZmZXItc2F2ZS1maWx0ZXJzJyBoYW5k bGVzIHNhdmluZyBleGlzdGluZwpmaWx0ZXJzIGFuZCBuZXcgZmlsdGVycyBpbmNvbnNpc3RlbnRs eS4gU3BlY2lmaWNhbGx5LAphdCB0aGUgZm9sbG93aW5nIHBvaW50IGluIHRoZSBvcmlnaW5hbCBm dW5jdGlvbjoKCiAgKGlidWZmZXItYWlmIChhc3NvYyBuYW1lIGlidWZmZXItc2F2ZWQtZmlsdGVy cykKICAgICAgKHNldGNkciBpdCBmaWx0ZXJzKQogICAgKHB1c2ggKGxpc3QgbmFtZSBmaWx0ZXJz KSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKQoKdGhlIHNldGNkciAoZXhpc3RpbmcgZmlsdGVycykg YW5kIHRoZSBwdXNoIChuZXcgZmlsdGVycykKc2F2ZSBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhl IHZhcmlhYmxlLCB3aXRoIHRoZSBsYXR0ZXIKaGF2aW5nIGFuIGV4dHJhIGxheWVyIG9mIHBhcmVu dGhlc2VzLgoKQXMgYSBzcGVjaWZpYyBleGFtcGxlIG9mIGZhaWx1cmUsIHVzaW5nIHRoZSBjdXJy ZW50IGRlZmF1bHQKdmFsdWUgb2YgJ2lidWZmZXItc2F2ZWQtZmlsdGVycycKCiAgICAgICAgKCgi Z251cyIKICAgICAgICAgICgob3IKICAgICAgICAgICAgKG1vZGUgLiBtZXNzYWdlLW1vZGUpCiAg ICAgICAgICAgIChtb2RlIC4gbWFpbC1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGdudXMtZ3Jv dXAtbW9kZSkKICAgICAgICAgICAgKG1vZGUgLiBnbnVzLXN1bW1hcnktbW9kZSkKICAgICAgICAg ICAgKG1vZGUgLiBnbnVzLWFydGljbGUtbW9kZSkpKSkKICAgICAgICAgKCJwcm9ncmFtbWluZyIK ICAgICAgICAgICgob3IKICAgICAgICAgICAgKG1vZGUgLiBlbWFjcy1saXNwLW1vZGUpCiAgICAg ICAgICAgIChtb2RlIC4gY3BlcmwtbW9kZSkKICAgICAgICAgICAgKG1vZGUgLiBjLW1vZGUpCiAg ICAgICAgICAgIChtb2RlIC4gamF2YS1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGlkbC1tb2Rl KQogICAgICAgICAgICAobW9kZSAuIGxpc3AtbW9kZSkpKSkpCgphbmQgZG9pbmcKCiAgIChpYnVm ZmVyLXNhdmUtZmlsdGVycyAiZm9vIiAnKChuYW1lIC4gImZvbyIpIChkZXJpdmVkLW1vZGUgLiB0 ZXh0LW1vZGUpKSkKICAgKGlidWZmZXItc2F2ZS1maWx0ZXJzICJnbnVzIiAnKChmaWxlbmFtZSAu ICIuIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoZGVyaXZlZC1tb2Rl IC4gcHJvZy1tb2RlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2Rl IC4gImNvbXBpbGF0aW9uLW1vZGUiKSkpKQoKZ2l2ZXMgdGhlIGZvbGxvd2luZyBpbmNvcnJlY3Qg dmFsdWUgZm9yIGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnCgogICAgICAgICgoImZvbyIKICAgICAg ICAgICgobmFtZSAuICJmb28iKQogICAgICAgICAgIChkZXJpdmVkLW1vZGUgLiB0ZXh0LW1vZGUp KSkKICAgICAgICAgKCJnbnVzIgogICAgICAgICAgKGZpbGVuYW1lIC4gIi4iKQogICAgICAgICAg KG9yCiAgICAgICAgICAgKGRlcml2ZWQtbW9kZSAuIHByb2ctbW9kZSkKICAgICAgICAgICAobW9k ZSAuICJjb21waWxhdGlvbi1tb2RlIikpKQogICAgICAgICAoInByb2dyYW1taW5nIgogICAgICAg ICAgKChvcgogICAgICAgICAgICAobW9kZSAuIGVtYWNzLWxpc3AtbW9kZSkKICAgICAgICAgICAg KG1vZGUgLiBjcGVybC1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGMtbW9kZSkKICAgICAgICAg ICAgKG1vZGUgLiBqYXZhLW1vZGUpCiAgICAgICAgICAgIChtb2RlIC4gaWRsLW1vZGUpCiAgICAg ICAgICAgIChtb2RlIC4gbGlzcC1tb2RlKSkpKSkKCmJlY2F1c2UgdGhlICJmb28iIGFuZCAiZ251 cyIgZW50cmllcyBoYXZlIGRpZmZlcmVudCBmb3JtYXRzLAp0aGUgbGF0dGVyIG5vdCBjb25zaXN0 ZW50IHdpdGggbGF0ZXIgY29kZSB0byBhY2Nlc3MgaXQKKGUuZy4sIGluICdpYnVmZmVyLWluY2x1 ZGVkLWluLWZpbHRlci1wLTEnIGFuZCAnaWJ1ZmZlci1kZWNvbXBvc2UtZmlsdGVyJykuCgpUaGVy ZSBhcmUgdHdvIGltbWVkaWF0ZSBwYXRocyBmb3IgZml4aW5nIHRoaXM6CgogIDEuIENoYW5nZSB0 aGUgc2V0Y2RyIHRvIGFkZCB0aGUgZXh0cmEgbGV2ZWwgb2YgbmVzdGluZy4KICAyLiBDaGFuZ2Ug dGhlIGZvcm1hdCBvZiAnaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyB0byByZW1vdmUKICAgICB0aGUg bGV2ZWwgb2YgdGVzdGluZywgY2hhbmdlIHRoZSBwdXNoIChsaXN0LT5jb25zKSBhbmQKICAgICB0 aGUgbGF0ZXIgYWNjZXNzZXMgKGNhZHItPmNkcikuCgpUaGUgZmlyc3QgaXMgdmVyeSBzaW1wbGUs IGJ1dCB0aGUgZXh0cmEgbGV2ZWwgb2YgbmVzdGluZwppcyB1bnNpZ2h0bHksIGluY29uc2lzdGVu dCB3aXRoIHRoZSBzdHJ1Y3R1cmUgb2YgZmlsdGVyIGdyb3VwcywKYW5kIG1pbGRseSBhbm5veWlu ZyB3aGVuIHdyaXRpbmcgZmlsdGVycyBieSBoYW5kLiAgVGhlCnNlY29uZCBpcyBmYWlybHkgc2lt cGxlLCByZXF1aXJpbmcgb25seSBhIGZldyBtb3JlIHNtYWxsIGNoYW5nZXMsCmJ1dCBpbnRyb2R1 Y2VzIHRoZSBjb21wbGljYXRpb24gb2YgY2hhbmdpbmcgYW4gZXhpc3RpbmcKdmFyaWFibGUncyBm b3JtYXQuIEZvciB3aGF0IGl0J3Mgd29ydGgsIEkgcHJlZmVyIHRoZSBzZWNvbmQuCgpUaGlzIGNv bW1pdCB0YWtlcyB0aGUgZmlyc3QgY2hvaWNlLgoKQ2hhbmdlIExvZzoKCjIwMTYtMTEtMjcgQ2hy aXN0b3BoZXIgUi4gR2Vub3Zlc2UgIDxnZW5vdmVzZUBjbXUuZWR1PgoKKiBsaXNwL2lidWYtZXh0 LmVsIChpYnVmZmVyLXNhdmUtZmlsdGVycyk6IEFkZCBleHRyYQpsZXZlbCBvZiBuZXN0aW5nIHdo ZW4gc2F2aW5nIGZpbHRlciB0byBhbiBleGlzdGluZyBuYW1lLgotLS0KIGxpc3AvaWJ1Zi1leHQu ZWwgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9saXNwL2lidWYtZXh0LmVsIGIvbGlzcC9pYnVmLWV4dC5lbAppbmRleCA1 ZWYwNzQ2Li4xMDMyMzJjIDEwMDY0NAotLS0gYS9saXNwL2lidWYtZXh0LmVsCisrKyBiL2xpc3Av aWJ1Zi1leHQuZWwKQEAgLTkzNSw3ICs5MzUsNyBAQCBJbnRlcmFjdGl2ZWx5LCBwcm9tcHQgZm9y IE5BTUUsIGFuZCB1c2UgdGhlIGN1cnJlbnQgZmlsdGVycy4iCiAgICAgICAocmVhZC1mcm9tLW1p bmlidWZmZXIgIlNhdmUgY3VycmVudCBmaWx0ZXJzIGFzOiAiKQogICAgICAgaWJ1ZmZlci1maWx0 ZXJpbmctcXVhbGlmaWVycykpKQogICAoaWJ1ZmZlci1haWYgKGFzc29jIG5hbWUgaWJ1ZmZlci1z YXZlZC1maWx0ZXJzKQotICAgICAgKHNldGNkciBpdCBmaWx0ZXJzKQorICAgICAgKHNldGNkciBp dCAobGlzdCBmaWx0ZXJzKSkKICAgICAocHVzaCAobGlzdCBuYW1lIGZpbHRlcnMpIGlidWZmZXIt c2F2ZWQtZmlsdGVycykpCiAgIChpYnVmZmVyLW1heWJlLXNhdmUtc3R1ZmYpKQogCi0tIAoyLjEw LjAKCgpGcm9tIGRkNTdkZmZjZWMwMDMwODYxYzRmYjk1MzQwZmJjMDgxZDIzM2U1YzIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJDaHJpc3RvcGhlciBSLiBHZW5vdmVzZSIgPGdlbm92 ZXNlQGNtdS5lZHU+CkRhdGU6IE1vbiwgMjggTm92IDIwMTYgMDA6MzM6MzYgLTA1MDAKU3ViamVj dDogW1BBVENIIDIvM10gaWJ1ZmZlcjogYW5vdGhlciBmaXggZm9yIGJ1ZyB3aGVuIHNhdmluZyBh biBleGlzdGluZwogZmlsdGVyCgpBcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCwg dGhlIGZ1bmN0aW9uICdpYnVmZmVyLXNhdmUtZmlsdGVycycKaGFuZGxlcyBzYXZpbmcgZXhpc3Rp bmcgZmlsdGVycyBhbmQgbmV3IGZpbHRlcnMgaW5jb25zaXN0ZW50bHksCmFuZCB0aGVyZSBhcmUg dHdvIHBhdGhzIHRvIGZpeGluZyB0aGUgcHJvYmxlbS4KClRoZSBwcmV2aW91cyBjb21taXQgZml4 ZWQgdGhlIHByb2JsZW0gd2hpbGUgbWFpbnRhaW5pbmcgdGhlIGZvcm1hdCBvZgp0aGUgdmFyaWFi bGUgJ2lidWZmZXItc2F2ZWQtZmlsdGVycycgd2l0aCBpdHMgZXh0cmEgbGV2ZWwgb2YgbmVzdGlu Zy4KClRoaXMgY29tbWl0IGluc3RlYWQgdGFrZXMgdGhlIHNlY29uZCBwYXRoOiByZW1vdmluZyB0 aGUgZXh0cmEgbGV2ZWwgb2YKbmVzdGluZyBmcm9tIHRoZSBzYXZlZCBmaWx0ZXIgZm9ybWF0LgoK Q2hhbmdlIExvZzoKCjIwMTYtMTEtMjcgQ2hyaXN0b3BoZXIgUi4gR2Vub3Zlc2UgIDxnZW5vdmVz ZUBjbXUuZWR1PgoKKiBsaXNwL2lidWYtZXh0LmVsIChpYnVmZmVyLXNhdmVkLWZpbHRlcnMpOiBS ZW1vdmUgZXh0cmEKbmVzdGluZyBsZXZlbCBpbiB0aGUgYWxpc3QgdmFsdWVzIGFuZCB1cGRhdGVk IGRvY3N0cmluZy4KKGlidWZmZXItc2F2ZS1maWx0ZXJzKTogUmVtb3ZlIGV4dHJhIGxldmVsIG9m IG5lc3RpbmcKaW4gc2F2ZWQgZmlsdGVyIGFsaXN0IHZhbHVlcyB3aGVuIHNhdmluZyBuZXcgZmls dGVycy4KKGlidWZmZXItaW5jbHVkZWQtaW4tZmlsdGVyLXApOiBDaGFuZ2UgYWNjZXNzIG9mIHNh dmVkCmZpbHRlciBkYXRhIChjYWRyLT5jZHIpIHRvIGFjY291bnQgZm9yIHJlZHVjZWQgbmVzdGlu Zy4KKGlidWZmZXItZGVjb21wb3NlLWZpbHRlcik6IENoYW5nZSBhY2Nlc3Mgb2Ygc2F2ZWQKZmls dGVyIGRhdGEgKGNhZHItPmNkcikgdG8gYWNjb3VudCBmb3IgcmVkdWNlZCBuZXN0aW5nLgotLS0K IGxpc3AvaWJ1Zi1leHQuZWwgfCA2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyks IDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvaWJ1Zi1leHQuZWwgYi9saXNwL2li dWYtZXh0LmVsCmluZGV4IDEwMzIzMmMuLmU0YTdkZmEgMTAwNjQ0Ci0tLSBhL2xpc3AvaWJ1Zi1l eHQuZWwKKysrIGIvbGlzcC9pYnVmLWV4dC5lbApAQCAtMTIwLDI4ICsxMjAsMzIgQEAgQnVmZmVy cyB3aG9zZSBtYWpvciBtb2RlIGlzIGluIHRoaXMgbGlzdCwgYXJlIG5vdCBzZWFyY2hlZC4iCiAo ZGVmdmFyIGlidWZmZXItYXV0by1idWZmZXJzLWNoYW5nZWQgbmlsKQogCiAoZGVmY3VzdG9tIGli dWZmZXItc2F2ZWQtZmlsdGVycyAnKCgiZ251cyIKLQkJCQkgICAgKChvciAobW9kZSAuIG1lc3Nh Z2UtbW9kZSkKLQkJCQkJIChtb2RlIC4gbWFpbC1tb2RlKQotCQkJCQkgKG1vZGUgLiBnbnVzLWdy b3VwLW1vZGUpCi0JCQkJCSAobW9kZSAuIGdudXMtc3VtbWFyeS1tb2RlKQotCQkJCQkgKG1vZGUg LiBnbnVzLWFydGljbGUtbW9kZSkpKSkKLQkJCQkgICAoInByb2dyYW1taW5nIgotCQkJCSAgICAo KG9yIChtb2RlIC4gZW1hY3MtbGlzcC1tb2RlKQotCQkJCQkgKG1vZGUgLiBjcGVybC1tb2RlKQot CQkJCQkgKG1vZGUgLiBjLW1vZGUpCi0JCQkJCSAobW9kZSAuIGphdmEtbW9kZSkKLQkJCQkJICht b2RlIC4gaWRsLW1vZGUpCi0JCQkJCSAobW9kZSAuIGxpc3AtbW9kZSkpKSkpCi0KLSAgIkFuIGFs aXN0IG9mIGZpbHRlciBxdWFsaWZpZXJzIHRvIHN3aXRjaCBiZXR3ZWVuLgotCi1UaGlzIHZhcmlh YmxlIHNob3VsZCBsb29rIGxpa2UgKChcIlNUUklOR1wiIFFVQUxJRklFUlMpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChcIlNUUklOR1wiIFFVQUxJRklFUlMpIC4uLiksIHdoZXJl Ci1RVUFMSUZJRVJTIGlzIGEgbGlzdCBvZiB0aGUgc2FtZSBmb3JtIGFzCi1gaWJ1ZmZlci1maWx0 ZXJpbmctcXVhbGlmaWVycycuCi1TZWUgYWxzbyB0aGUgdmFyaWFibGVzIGBpYnVmZmVyLWZpbHRl cmluZy1xdWFsaWZpZXJzJywKLWBpYnVmZmVyLWZpbHRlcmluZy1hbGlzdCcsIGFuZCB0aGUgZnVu Y3Rpb25zCi1gaWJ1ZmZlci1zd2l0Y2gtdG8tc2F2ZWQtZmlsdGVycycsIGBpYnVmZmVyLXNhdmUt ZmlsdGVycycuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChtb2Rl IC4gbWVzc2FnZS1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChtb2RlIC4gbWFpbC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChtb2RlIC4gZ251cy1ncm91cC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChtb2RlIC4gZ251cy1zdW1tYXJ5LW1vZGUpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGUgLiBnbnVzLWFydGljbGUtbW9kZSkpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInByb2dyYW1taW5nIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9yIChtb2RlIC4gZW1hY3MtbGlzcC1tb2RlKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4gY3BlcmwtbW9k ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSAuIGMtbW9k ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSAuIGphdmEt bW9kZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSAuIGlk bC1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4g bGlzcC1tb2RlKSkpKQorCisgICJBbiBhbGlzdCBtYXBwaW5nIHNhdmVkIGZpbHRlciBuYW1lcyB0 byBmaWx0ZXIgc3BlY2lmaWNhdGlvbnMuCisKK0VhY2ggZWxlbWVudCBzaG91bGQgbG9vayBsaWtl IChcIk5BTUVcIiAuIEZJTFRFUi1MSVNUKSwgd2hlcmUKK0ZJTFRFUi1MSVNUIGhhcyB0aGUgc2Ft ZSBzdHJ1Y3R1cmUgYXMgdGhlIHZhcmlhYmxlCitgaWJ1ZmZlci1maWx0ZXJpbmctcXVhbGlmaWVy cycsIHdoaWNoIHNlZS4gVGhlIGZpbHRlcnMgZGVmaW5lZAoraGVyZSBhcmUgam9pbmVkIHdpdGgg YW4gaW1wbGljaXQgbG9naWNhbCBgYW5kJyBhbmQgYXNzb2NpYXRlZAord2l0aCBOQU1FLiBUaGUg Y29tYmluZWQgc3BlY2lmaWNhdGlvbiBjYW4gYmUgdXNlZCBieSBuYW1lIGluCitvdGhlciBmaWx0 ZXIgc3BlY2lmaWNhdGlvbnMgdmlhIHRoZSBgc2F2ZWQnIHF1YWxpZmllciAoYWdhaW4sIHNlZQor YGlidWZmZXItZmlsdGVyaW5nLXF1YWxpZmllcnMnKS4gVGhleSBjYW4gYWxzbyBiZSBzd2l0Y2hl ZCB0byBieQorbmFtZSAoc2VlIHRoZSBmdW5jdGlvbnMgYGlidWZmZXItc3dpdGNoLXRvLXNhdmVk LWZpbHRlcnMnIGFuZAorYGlidWZmZXItc2F2ZS1maWx0ZXJzJykuIFRoZSB2YXJpYWJsZSBgaWJ1 ZmZlci1zYXZlLXdpdGgtY3VzdG9tJworYWZmZWN0cyBob3cgdGhpcyBpbmZvcm1hdGlvbiBpcyBz YXZlZCBmb3IgZnV0dXJlIHNlc3Npb25zLiBUaGlzCit2YXJpYWJsZSBjYW4gYmUgc2V0IGRpcmVj dGx5IGZyb20gbGlzcCBjb2RlLiIKICAgOnR5cGUgJyhyZXBlYXQgc2V4cCkKICAgOmdyb3VwICdp YnVmZmVyKQogCkBAIC01MzUsMTMgKzUzOSwxMSBAQCBUbyBldmFsdWF0ZSBhIGZvcm0gd2l0aG91 dCB2aWV3aW5nIHRoZSBidWZmZXIsIHNlZSBgaWJ1ZmZlci1kby1ldmFsJy4iCiAJCQkgICAoaWJ1 ZmZlci1pbmNsdWRlZC1pbi1maWx0ZXItcCBidWYgeCkpCiAJCSAgICAgICAoY2RyIGZpbHRlcikp KSkKICAgICAgIChgc2F2ZWQKLSAgICAgICAobGV0ICgoZGF0YQotCSAgICAgIChhc3NvYyAoY2Ry IGZpbHRlcikKLQkJICAgICBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKSkKKyAgICAgICAobGV0ICgo ZGF0YSAoYXNzb2MgKGNkciBmaWx0ZXIpIGlidWZmZXItc2F2ZWQtZmlsdGVycykpKQogCSAodW5s ZXNzIGRhdGEKIAkgICAoaWJ1ZmZlci1maWx0ZXItZGlzYWJsZSB0KQogCSAgIChlcnJvciAiVW5r bm93biBzYXZlZCBmaWx0ZXIgJXMiIChjZHIgZmlsdGVyKSkpCi0JIChpYnVmZmVyLWluY2x1ZGVk LWluLWZpbHRlcnMtcCBidWYgKGNhZHIgZGF0YSkpKSkKKwkgKGlidWZmZXItaW5jbHVkZWQtaW4t ZmlsdGVycy1wIGJ1ZiAoY2RyIGRhdGEpKSkpCiAgICAgICAoXwogICAgICAgIChwY2FzZS1sZXQg KChgKCxfdHlwZSAsX2Rlc2MgLGZ1bmMpCiAgICAgICAgICAgICAgICAgICAgIChhc3NxIChjYXIg ZmlsdGVyKSBpYnVmZmVyLWZpbHRlcmluZy1hbGlzdCkpKQpAQCAtODQ5LDE1ICs4NTEsMTIgQEAg dHVybmVkIGludG8gdHdvIHNlcGFyYXRlIGZpbHRlcnMgW25hbWU6IGZvb10gYW5kIFttb2RlOiBi YXItbW9kZV0uIgogCQkJCQkgIChjZHIgbGltKQogCQkJCQkgIGlidWZmZXItZmlsdGVyaW5nLXF1 YWxpZmllcnMpKSkKICAgICAgIChgc2F2ZWQKLSAgICAgICAobGV0ICgoZGF0YQotCSAgICAgIChh c3NvYyAoY2RyIGxpbSkKLQkJICAgICBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKSkKKyAgICAgICAo bGV0ICgoZGF0YSAoYXNzb2MgKGNkciBsaW0pIGlidWZmZXItc2F2ZWQtZmlsdGVycykpKQogCSAo dW5sZXNzIGRhdGEKIAkgICAoaWJ1ZmZlci1maWx0ZXItZGlzYWJsZSkKIAkgICAoZXJyb3IgIlVu a25vd24gc2F2ZWQgZmlsdGVyICVzIiAoY2RyIGxpbSkpKQotCSAoc2V0cSBpYnVmZmVyLWZpbHRl cmluZy1xdWFsaWZpZXJzIChhcHBlbmQKLQkJCQkJICAgIChjYWRyIGRhdGEpCi0JCQkJCSAgICBp YnVmZmVyLWZpbHRlcmluZy1xdWFsaWZpZXJzKSkpKQorCSAoc2V0cSBpYnVmZmVyLWZpbHRlcmlu Zy1xdWFsaWZpZXJzCisgICAgICAgICAgICAgICAoYXBwZW5kIChjZHIgZGF0YSkgaWJ1ZmZlci1m aWx0ZXJpbmctcXVhbGlmaWVycykpKSkKICAgICAgIChgbm90CiAgICAgICAgKHB1c2ggKGNkciBs aW0pCiAJICAgICBpYnVmZmVyLWZpbHRlcmluZy1xdWFsaWZpZXJzKSkKQEAgLTkzNSw4ICs5MzQs OCBAQCBJbnRlcmFjdGl2ZWx5LCBwcm9tcHQgZm9yIE5BTUUsIGFuZCB1c2UgdGhlIGN1cnJlbnQg ZmlsdGVycy4iCiAgICAgICAocmVhZC1mcm9tLW1pbmlidWZmZXIgIlNhdmUgY3VycmVudCBmaWx0 ZXJzIGFzOiAiKQogICAgICAgaWJ1ZmZlci1maWx0ZXJpbmctcXVhbGlmaWVycykpKQogICAoaWJ1 ZmZlci1haWYgKGFzc29jIG5hbWUgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKQotICAgICAgKHNldGNk ciBpdCAobGlzdCBmaWx0ZXJzKSkKLSAgICAocHVzaCAobGlzdCBuYW1lIGZpbHRlcnMpIGlidWZm ZXItc2F2ZWQtZmlsdGVycykpCisgICAgICAoc2V0Y2RyIGl0IGZpbHRlcnMpCisgICAgKHB1c2gg KGNvbnMgbmFtZSBmaWx0ZXJzKSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKQogICAoaWJ1ZmZlci1t YXliZS1zYXZlLXN0dWZmKSkKIAogOzs7IyMjYXV0b2xvYWQKLS0gCjIuMTAuMAoKCkZyb20gMmQ4 YjAwNDRkZWFmMDU3MGVkYmI5N2ZkNjM1MTk4NTc2OTZmZGUwNyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogIkNocmlzdG9waGVyIFIuIEdlbm92ZXNlIiA8Z2Vub3Zlc2VAY211LmVkdT4K RGF0ZTogTW9uLCAyOCBOb3YgMjAxNiAwMToyOTowNCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMy8z XSBpYnVmZmVyOiBhZGQgc3VwcG9ydCBmb3Igc2F2ZWQgZmlsdGVyIGZvcm1hdCBjaGFuZ2UgYW5k CiB0ZXN0CgpBcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCwgb25lIGZpeCB0byB0 aGUKaW5jb25zaXN0ZW5jeSBpbiAnaWJ1ZmZlci1zYXZlLWZpbHRlcnMnIGludm9sdmVzIHNpbXBs aWZ5aW5nCnRoZSBmb3JtYXQgb2YgJ2lidWZmZXItc2F2ZWQtZmlsdGVycycgdG8gcmVkdWNlIHRo ZSBleHRyYQpuZXN0aW5nIGxldmVsLiBUaGlzIGFkZHMgc29tZSBzdXBwb3J0IGZvciB0aGlzIHRy YW5zaXRpb24sCmluY2x1ZGluZyBhIGN1c3RvbWl6ZSBzZXR0ZXIgdG8gdHJhbnNwYXJlbnRseSB1 cGRhdGUgb2xkCmZvcm1hdCB2YWx1ZXMgYW5kIGEgY29tbWFuZCB0byBjaGVjayBhbmQgcmVwYWly IHRoZSBzYXZlZAp2YWx1ZXMgaWYgZGVzaXJlZC4KClRoaXMgYWxzbyBhZGRzIGEgdGVzdCBvZiAn aWJ1ZmZlci1zYXZlLWZpbHRlcicuCgpDaGFuZ2UgTG9nOgoKMjAxNi0xMS0yNyBDaHJpc3RvcGhl ciBSLiBHZW5vdmVzZSAgPGdlbm92ZXNlQGNtdS5lZHU+CgoqIGxpc3AvaWJ1Zi1leHQuZWwgKGli dWZmZXItc2F2ZWQtZmlsdGVycyk6IEFkZCBtb3JlIGFjY3VyYXRlCmN1c3RvbWl6YXRpb24gdHlw ZSBhbmQgdHJhbnNwYXJlbnQgc2V0dGVyIHRvIGFkanVzdCBvbGQtZm9ybWF0CnZhbHVlcy4KKGli dWZmZXItdXBkYXRlLXNhdmVkLWZpbHRlcnMtZm9ybWF0KTogVXBkYXRlIG9sZC1mb3JtYXQKZm9y IHNhdmVkIGJ1ZmZlciBkYXRhIHRvIG5ldyBmb3JtYXQgd2l0aCByZWR1Y2VkIG5lc3RpbmcgbGV2 ZWwuCihpYnVmZmVyLXJlcGFpci1zYXZlZC1maWx0ZXJzKTogQWRkIG5ldyBjb21tYW5kIHRvIGNo ZWNrIGFuZApyZXBhaXIgc2F2ZWQgZmlsdGVycyBmb3JtYXQuCihpYnVmZmVyLW9sZC1zYXZlZC1m aWx0ZXJzLXdhcm5pbmcpOiBBZGQgbmV3IHZhcmlhYmxlIHdpdGgKY2xpY2thYmxlIG1lc3NhZ2Ug d2l0aCByZXBhaXIgb3B0aW9ucyB0byBiZSBkaXNwbGF5ZWQKYXMgYSB3YXJuaW5nIGlmICdpYnVm ZmVyLXJlcGFpci1zYXZlZC1maWx0ZXJzJyBkZXRlY3RzCmEgZm9ybWF0IG1pc21hdGNoLgoqIHRl c3QvbGlzcC9pYnVmZmVyLXRlc3RzLmVsIChpYnVmZmVyLXNhdmUtZmlsdGVycyk6IEFkZAphIHRl c3QgdGhhdCBmaWx0ZXJzIGFyZSBzYXZlZCBpbiB0aGUgcHJvcGVyIGZvcm1hdC4KLS0tCiBsaXNw L2lidWYtZXh0LmVsICAgICAgICAgICB8IDk1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0KIHRlc3QvbGlzcC9pYnVmZmVyLXRlc3RzLmVsIHwgMjkgKysrKysr KysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTIyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9pYnVmLWV4dC5lbCBiL2xpc3AvaWJ1Zi1leHQuZWwKaW5k ZXggZTRhN2RmYS4uM2ZhNDdjMCAxMDA2NDQKLS0tIGEvbGlzcC9pYnVmLWV4dC5lbAorKysgYi9s aXNwL2lidWYtZXh0LmVsCkBAIC0zNSw3ICszNSw4IEBACiAKIChldmFsLXdoZW4tY29tcGlsZQog ICAocmVxdWlyZSAnaWJ1Zi1tYWNzKQotICAocmVxdWlyZSAnY2wtbGliKSkKKyAgKHJlcXVpcmUg J2NsLWxpYikKKyAgKHJlcXVpcmUgJ3N1YnIteCkpCiAKIDs7OyBVdGlsaXR5IGZ1bmN0aW9ucwog KGRlZnVuIGlidWZmZXItZGVsZXRlLWFsaXN0IChrZXkgYWxpc3QpCkBAIC0xMTksNiArMTIwLDI2 IEBAIEJ1ZmZlcnMgd2hvc2UgbWFqb3IgbW9kZSBpcyBpbiB0aGlzIGxpc3QsIGFyZSBub3Qgc2Vh cmNoZWQuIgogCiAoZGVmdmFyIGlidWZmZXItYXV0by1idWZmZXJzLWNoYW5nZWQgbmlsKQogCiso ZGVmdW4gaWJ1ZmZlci11cGRhdGUtc2F2ZWQtZmlsdGVycy1mb3JtYXQgKGZpbHRlcnMpCisgICJU cmFuc2Zvcm1zIGFsaXN0IGZyb20gb2xkIHRvIG5ldyBgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyBm b3JtYXQuCisKK1NwZWNpZmljYWxseSwgY29udmVydHMgb2xkLWZvcm1hdCBhbGlzdCB3aXRoIHZh bHVlcyBvZiB0aGUKK2Zvcm0gKFNUUklORyAoRklMVEVSLVNQRUNTLi4uKSkgdG8gYWxpc3Qgd2l0 aCB2YWx1ZXMgb2YgdGhlCitmb3JtIChTVFJJTkcgRklMVEVSLVNQRUNTLi4uKSwgd2hlcmUgZWFj aCBmaWx0ZXIgc3BlYyBzaG91bGQgYmUgYQorY29ucyBjZWxsIHdpdGggYSBzeW1ib2wgaW4gdGhl IGNhci4gQW55IGVsZW1lbnRzIGluIHRoZSBsYXR0ZXIKK2Zvcm0gYXJlIGtlcHQgYXMgaXMuCisK K1JldHVybnMgKE9MRC1GT1JNQVQtREVURUNURUQgLiBVUERBVEVELVNBVkVELUZJTFRFUlMtTElT VCkuIgorICAod2hlbiBmaWx0ZXJzCisgICAgKGxldCogKChvbGQtZm9ybWF0LWRldGVjdGVkIG5p bCkKKyAgICAgICAgICAgKGZpeC1maWx0ZXIgKGxhbWJkYSAoZmlsdGVyLXNwZWMpCisgICAgICAg ICAgICAgICAgICAgICAgICAgKGlmIChzeW1ib2xwIChjYXIgKGNhZHIgZmlsdGVyLXNwZWMpKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLXNwZWMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIChzZXRxIG9sZC1mb3JtYXQtZGV0ZWN0ZWQgdCkgOyBzaWRlLWVmZmVjdAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgKGNhciBmaWx0ZXItc3BlYykgKGNhZHIg ZmlsdGVyLXNwZWMpKSkpKQorICAgICAgICAgICAoZml4ZWQgKG1hcGNhciBmaXgtZmlsdGVyIGZp bHRlcnMpKSkKKyAgICAgIChjb25zIG9sZC1mb3JtYXQtZGV0ZWN0ZWQgZml4ZWQpKSkpCisKIChk ZWZjdXN0b20gaWJ1ZmZlci1zYXZlZC1maWx0ZXJzICcoKCJnbnVzIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKG9yIChtb2RlIC4gbWVzc2FnZS1tb2RlKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4gbWFpbC1tb2RlKQpAQCAtMTQ2 LDkgKzE2Nyw3OSBAQCBuYW1lIChzZWUgdGhlIGZ1bmN0aW9ucyBgaWJ1ZmZlci1zd2l0Y2gtdG8t c2F2ZWQtZmlsdGVycycgYW5kCiBgaWJ1ZmZlci1zYXZlLWZpbHRlcnMnKS4gVGhlIHZhcmlhYmxl IGBpYnVmZmVyLXNhdmUtd2l0aC1jdXN0b20nCiBhZmZlY3RzIGhvdyB0aGlzIGluZm9ybWF0aW9u IGlzIHNhdmVkIGZvciBmdXR1cmUgc2Vzc2lvbnMuIFRoaXMKIHZhcmlhYmxlIGNhbiBiZSBzZXQg ZGlyZWN0bHkgZnJvbSBsaXNwIGNvZGUuIgotICA6dHlwZSAnKHJlcGVhdCBzZXhwKQorICA6dmVy c2lvbiAiMjYuMSIKKyAgOnR5cGUgJyhhbGlzdCA6a2V5LXR5cGUgKHN0cmluZyA6dGFnICJGaWx0 ZXIgbmFtZSIpCisgICAgICAgICAgICAgICAgOnZhbHVlLXR5cGUgKHJlcGVhdCA6dGFnICJGaWx0 ZXIgc3BlY2lmaWNhdGlvbiIgc2V4cCkpCisgIDpzZXQgKGxhbWJkYSAoc3ltYm9sIHZhbHVlKQor ICAgICAgICAgOzsgSnVzdCBzZXQtZGVmYXVsdCBidXQgdXBkYXRlIGxlZ2FjeSBvbGQtc3R5bGUg Zm9ybWF0CisgICAgICAgICAoc2V0LWRlZmF1bHQgc3ltYm9sIChjZHIgKGlidWZmZXItdXBkYXRl LXNhdmVkLWZpbHRlcnMtZm9ybWF0IHZhbHVlKSkpKQogICA6Z3JvdXAgJ2lidWZmZXIpCiAKKyhk ZWZ2YXIgaWJ1ZmZlci1vbGQtc2F2ZWQtZmlsdGVycy13YXJuaW5nCisgIChjb25jYXQgIkRlcHJl Y2F0ZWQgZm9ybWF0IGRldGVjdGVkIGZvciB2YXJpYWJsZSBgaWJ1ZmZlci1zYXZlZC1maWx0ZXJz Jy4KKworVGhlIGZvcm1hdCBoYXMgYmVlbiByZXBhaXJlZCBhbmQgdGhlIHZhcmlhYmxlIG1vZGlm aWVkIGFjY29yZGluZ2x5LgorWW91IGNhbiBzYXZlIHRoZSBjdXJyZW50IHZhbHVlIHRocm91Z2gg dGhlIGN1c3RvbWl6ZSBzeXN0ZW0gYnkKK2VpdGhlciBjbGlja2luZyBvciBoaXR0aW5nIHJldHVy biAiCisgICAgICAgICAgKG1ha2UtdGV4dC1idXR0b24KKyAgICAgICAgICAgImhlcmUiIG5pbAor ICAgICAgICAgICAnZmFjZSAnKDp3ZWlnaHQgYm9sZCA6aW5oZXJpdCBidXR0b24pCisgICAgICAg ICAgICdtb3VzZS1mYWNlICcoOndlaWdodCBub3JtYWwgOmJhY2tncm91bmQgImdyYXk1MCIgOmlu aGVyaXQgYnV0dG9uKQorICAgICAgICAgICAnZm9sbG93LWxpbmsgdAorICAgICAgICAgICAnaGVs cC1lY2hvICJDbGljayBvciBSRVQ6IHNhdmUgbmV3IHZhbHVlIGluIGN1c3RvbWl6ZSIKKyAgICAg ICAgICAgJ2FjdGlvbiAobGFtYmRhIChiKQorICAgICAgICAgICAgICAgICAgICAgKGlmIChub3Qg KGZib3VuZHAgJ2N1c3RvbWl6ZS1zYXZlLXZhcmlhYmxlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAobWVzc2FnZSAiQ3VzdG9taXplIG5vdCBhdmFpbGFibGU7IHZhbHVlIG5vdCBzYXZlZCIp CisgICAgICAgICAgICAgICAgICAgICAgIChjdXN0b21pemUtc2F2ZS12YXJpYWJsZSAnaWJ1ZmZl ci1zYXZlZC1maWx0ZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpCisgICAgICAgICAgICAgICAgICAgICAgICht ZXNzYWdlICJTYXZlZCB1cGRhdGVkIGlidWZmZXItc2F2ZWQtZmlsdGVycy4iKSkpKQorICAgICAg ICAgICIuIFNlZSBiZWxvdyBmb3IKK2FuIGV4cGxhbmF0aW9uIGFuZCBhbHRlcm5hdGl2ZSB3YXlz IHRvIHNhdmUgdGhlIHJlcGFpcmVkIHZhbHVlLgorCitFeHBsYW5hdGlvbjogRm9yIHRoZSBsaXN0 IHZhcmlhYmxlIGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnLAorZWxlbWVudHMgb2YgdGhlIGZvcm0g KFNUUklORyAoRklMVEVSLVNQRUNTLi4uKSkgYXJlIGRlcHJlY2F0ZWQKK2FuZCBzaG91bGQgaW5z dGVhZCBoYXZlIHRoZSBmb3JtIChTVFJJTkcgRklMVEVSLVNQRUNTLi4uKSwgd2hlcmUKK2VhY2gg ZmlsdGVyIHNwZWMgaXMgYSBjb25zIGNlbGwgd2l0aCBhIHN5bWJvbCBpbiB0aGUgY2FyLiBTZWUK K2BpYnVmZmVyLXNhdmVkLWZpbHRlcnMnIGZvciBkZXRhaWxzLiBUaGUgcmVwYWlyZWQgdmFsdWUg Zml4ZXMKK3RoaXMgZm9ybWF0IHdpdGhvdXQgY2hhbmdpbmcgdGhlIG1lYW5pbmcgb2YgdGhlIHNh dmVkIGZpbHRlcnMuCisKK0FsdGVybmF0aXZlIHdheXMgdG8gc2F2ZSB0aGUgcmVwYWlyZWQgdmFs dWU6CisKKyAgMS4gRG8gTS14IGN1c3RvbWl6ZS12YXJpYWJsZSBhbmQgZW50ZXJpbmcgYGlidWZm ZXItc2F2ZWQtZmlsdGVycycKKyAgICAgd2hlbiBwcm9tcHRlZC4KKworICAyLiBTZXQgdGhlIHVw ZGF0ZWQgdmFsdWUgbWFudWFsbHkgYnkgY29weWluZyB0aGUKKyAgICAgZm9sbG93aW5nIGVtYWNz LWxpc3AgZm9ybSB0byB5b3VyIGVtYWNzIGluaXQgZmlsZS4KKworJXMKKyIpKQorCisoZGVmdW4g aWJ1ZmZlci1yZXBhaXItc2F2ZWQtZmlsdGVycyAoKQorICAiVXBkYXRlcyBgaWJ1ZmZlci1zYXZl ZC1maWx0ZXJzJyB0byBpdHMgbmV3LXN0eWxlIGZvcm1hdCwgaWYgbmVlZGVkLgorCitJZiB0aGlz IGxpc3QgaGFzIGFueSBlbGVtZW50cyBvZiB0aGUgb2xkLXN0eWxlIGZvcm1hdCwgYQorZGVwcmVj YXRpb24gd2FybmluZyBpcyByYWlzZWQsIHdpdGggYSBidXR0b24gYWxsb3dpbmcgcGVyc2lzdGVu dAordXBkYXRlLiBBbnkgdXBkYXRlZCBmaWx0ZXJzIHJldGFpbiB0aGVpciBtZWFuaW5nIGluIHRo ZSBuZXcKK2Zvcm1hdC4gU2VlIGBpYnVmZmVyLXVwZGF0ZS1zYXZlZC1maWx0ZXJzLWZvcm1hdCcg YW5kCitgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyBmb3IgZGV0YWlscyBvZiB0aGUgb2xkIGFuZCBu ZXcgZm9ybWF0cy4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKHdoZW4gKGFuZCAoYm91bmRwICdpYnVm ZmVyLXNhdmVkLWZpbHRlcnMpIGlidWZmZXItc2F2ZWQtZmlsdGVycykKKyAgICAobGV0ICgoZml4 ZWQgKGlidWZmZXItdXBkYXRlLXNhdmVkLWZpbHRlcnMtZm9ybWF0IGlidWZmZXItc2F2ZWQtZmls dGVycykpKQorICAgICAgKHByb2cxCisgICAgICAgICAgKHNldHEgaWJ1ZmZlci1zYXZlZC1maWx0 ZXJzIChjZHIgZml4ZWQpKQorICAgICAgICAod2hlbi1sZXQgKChvbGQtZm9ybWF0LWRldGVjdGVk IChjYXIgZml4ZWQpKQorICAgICAgICAgICAgICAgICAgICh3YXJuaW5nLWJ1ZmZlci1uYW1lICIq V2FybmluZ3MqIikpCisgICAgICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgKGdldC1idWZmZXIt Y3JlYXRlIHdhcm5pbmctYnVmZmVyLW5hbWUpCisgICAgICAgICAgICAoaGVscC1tb2RlKSkKKyAg ICAgICAgICAobGV0ICgod2FybmluZy1zZXJpZXMgdCkKKyAgICAgICAgICAgICAgICAodXBkYXRl ZC1mb3JtCisgICAgICAgICAgICAgICAgICh3aXRoLW91dHB1dC10by1zdHJpbmcKKyAgICAgICAg ICAgICAgICAgICAocHAgYChzZXRxIGlidWZmZXItc2F2ZWQtZmlsdGVycyAnLGlidWZmZXItc2F2 ZWQtZmlsdGVycykpKSkpCisgICAgICAgICAgICAoZGlzcGxheS13YXJuaW5nCisgICAgICAgICAg ICAgJ2lidWZmZXIKKyAgICAgICAgICAgICAoZm9ybWF0IGlidWZmZXItb2xkLXNhdmVkLWZpbHRl cnMtd2FybmluZyB1cGRhdGVkLWZvcm0pCisgICAgICAgICAgICAgbmlsIHdhcm5pbmctYnVmZmVy LW5hbWUpKSkpKSkpCisKIChkZWZ2YXIgaWJ1ZmZlci1maWx0ZXJpbmctcXVhbGlmaWVycyBuaWwK ICAgIkEgbGlzdCBsaWtlIChTWU1CT0wgLiBRVUFMSUZJRVIpIHdoaWNoIGZpbHRlcnMgdGhlIGN1 cnJlbnQgYnVmZmVyIGxpc3QuCiBTZWUgYWxzbyBgaWJ1ZmZlci1maWx0ZXJpbmctYWxpc3QnLiIp CmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvaWJ1ZmZlci10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9pYnVm ZmVyLXRlc3RzLmVsCmluZGV4IDNhNGRlZjMuLjZkNTE4N2EgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlz cC9pYnVmZmVyLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9pYnVmZmVyLXRlc3RzLmVsCkBAIC02 Niw1ICs2NiwzNCBAQAogICAgICAgKG1hcGMgKGxhbWJkYSAoYnVmKSAod2hlbiAoYnVmZmVyLWxp dmUtcCBidWYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtpbGwtYnVmZmVyIGJ1Zikp KSAobGlzdCBidWYxIGJ1ZjIpKSkpKQogCisoZXJ0LWRlZnRlc3QgaWJ1ZmZlci1zYXZlLWZpbHRl cnMgKCkKKyAgIlRlc3RzIHRoYXQgYGlidWZmZXItc2F2ZS1maWx0ZXJzJyBzYXZlcyBpbiB0aGUg cHJvcGVyIGZvcm1hdC4iCisgIChza2lwLXVubGVzcyAoZmVhdHVyZXAgJ2lidWYtZXh0KSkKKyAg KGxldCAoKGlidWZmZXItc2F2ZS13aXRoLWN1c3RvbSBuaWwpCisgICAgICAgIChpYnVmZmVyLXNh dmVkLWZpbHRlcnMgbmlsKQorICAgICAgICAodGVzdDEgJygobW9kZSAuIG9yZy1tb2RlKQorICAg ICAgICAgICAgICAgICAob3IgKHNpemUtZ3QgLiAxMDAwMCkKKyAgICAgICAgICAgICAgICAgICAg IChhbmQgKG5vdCAoc3RhcnJlZC1uYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGRp cmVjdG9yeSAuICJcPG9yZ1w+IikpKSkpCisgICAgICAgICh0ZXN0MiAnKChvciAobW9kZSAuIGVt YWNzLWxpc3AtbW9kZSkgKGZpbGUtZXh0ZW5zaW9uIC4gImVsYz8iKQorICAgICAgICAgICAgICAg ICAgICAgKGFuZCAoc3RhcnJlZC1uYW1lKSAobmFtZSAuICJlbGlzcCIpKQorICAgICAgICAgICAg ICAgICAgICAgKG1vZGUgLiBsaXNwLWludGVyYWN0aW9uLW1vZGUpKSkpCisgICAgICAgICh0ZXN0 MyAnKChzaXplLWx0IC4gMTAwKSAoZGVyaXZlZC1tb2RlIC4gcHJvZy1tb2RlKQorICAgICAgICAg ICAgICAgICAob3IgKGZpbGVuYW1lIC4gInNjcmF0Y2giKQorICAgICAgICAgICAgICAgICAgICAg KGZpbGVuYW1lIC4gImJvbnoiKQorICAgICAgICAgICAgICAgICAgICAgKGZpbGVuYW1lIC4gInRl bXAiKSkpKSkKKyAgICAoaWJ1ZmZlci1zYXZlLWZpbHRlcnMgInRlc3QxIiB0ZXN0MSkKKyAgICAo c2hvdWxkIChlcXVhbCAoY2FyIGlidWZmZXItc2F2ZWQtZmlsdGVycykgKGNvbnMgInRlc3QxIiB0 ZXN0MSkpKQorICAgIChpYnVmZmVyLXNhdmUtZmlsdGVycyAidGVzdDIiIHRlc3QyKQorICAgIChz aG91bGQgKGVxdWFsIChjYXIgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSAoY29ucyAidGVzdDIiIHRl c3QyKSkpCisgICAgKHNob3VsZCAoZXF1YWwgKGNhZHIgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSAo Y29ucyAidGVzdDEiIHRlc3QxKSkpCisgICAgKGlidWZmZXItc2F2ZS1maWx0ZXJzICJ0ZXN0MyIg dGVzdDMpCisgICAgKHNob3VsZCAoZXF1YWwgKGNhciBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpIChj b25zICJ0ZXN0MyIgdGVzdDMpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoY2FkciBpYnVmZmVyLXNh dmVkLWZpbHRlcnMpIChjb25zICJ0ZXN0MiIgdGVzdDIpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAo Y2FyIChjZGRyIGlidWZmZXItc2F2ZWQtZmlsdGVycykpIChjb25zICJ0ZXN0MSIgdGVzdDEpKSkK KyAgICAoc2hvdWxkIChlcXVhbCAoY2RyIChhc3NvYyAidGVzdDEiIGlidWZmZXItc2F2ZWQtZmls dGVycykpIHRlc3QxKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoY2RyIChhc3NvYyAidGVzdDIiIGli dWZmZXItc2F2ZWQtZmlsdGVycykpIHRlc3QyKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoY2RyIChh c3NvYyAidGVzdDMiIGlidWZmZXItc2F2ZWQtZmlsdGVycykpIHRlc3QzKSkpKQorCiAocHJvdmlk ZSAnaWJ1ZmZlci10ZXN0cykKIDs7IGlidWZmZXItdGVzdHMuZWwgZW5kcyBoZXJlCi0tIAoyLjEw LjAKCg== --001a1144641e2f674d05427dc781-- From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 02:03:07 2016 Received: (at 25049) by debbugs.gnu.org; 30 Nov 2016 07:03:07 +0000 Received: from localhost ([127.0.0.1]:46868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cByv4-0000VP-SY for submit@debbugs.gnu.org; Wed, 30 Nov 2016 02:03:07 -0500 Received: from mail-pg0-f46.google.com ([74.125.83.46]:33993) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cByv2-0000Uv-Vd for 25049@debbugs.gnu.org; Wed, 30 Nov 2016 02:03:05 -0500 Received: by mail-pg0-f46.google.com with SMTP id x23so78937606pgx.1 for <25049@debbugs.gnu.org>; Tue, 29 Nov 2016 23:03:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=cta0RWx04r1lx4MxIRglMdhHCxRrV8HNkWsggS/eBR4=; b=BzArurPClUyc3RwhTNqL63OMBB6Og2Ung7mrIIVbaB6QLFNBI5Tpz/8xQfzWotq5lA NHtfTRSrx3ntBrDCGptlYjexa624lOgmqZd8U1x3ByFmYAxXnZZw/kIu8IpD214Hoojo 3mAdvdZHZRDJ2aouYml6uX04Hj4Psv1MonP++9N5kg6tHziiyG9qHrYtlUaZC5ifxpBo bu/ct6BYPklSr+9lWbtRQOWfP9SRc6hWr7puQF6NDC6L2nqcVQ78x3xcub/0gl19Ptv5 ioWpP/ctf8E6Q+QQWid8MXb++Vuf8YxxQ2iD7147As+LruNzNwzq40i213fpCvUV5U0U YPgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=cta0RWx04r1lx4MxIRglMdhHCxRrV8HNkWsggS/eBR4=; b=iCOaIqIouddsC87GMfmd/65NDP0bbuivkboDUx383DPpizq4OcvmeAnqg9TPHFfySO rphy/U0hAmZUT8jHzTSCZdlE9Agf4PgsT8XT2v+Lq3vIfPeRe+0VsoR9SLnMKFZCdBCw pErrsz/W4kMIZDxmpQTZqeRLmUg86ng97LSJLvz83FUhZJn4ZkG4YZ4Bsa7pl4W2GHDU qfiQjOdwv6n3FOoZEsW+CXljoTWH2Q0arCfTFh+DB5RF83XBQqVmRsA7LiXRVg7fJ5J2 0CjnqWxlbOfGXw/9LMJkgLv/zb46e6zKwUOUT+lMR9YoEF962n/xqdZTB8sOUb46x5qN UTyg== X-Gm-Message-State: AKaTC02n1g65Eu8Fw19JOfUUS0HJaPQgZgY/xHF7NUV75GqDms/EvoTAZL0Kc3DuW9RQ1Q== X-Received: by 10.98.80.9 with SMTP id e9mr31469476pfb.13.1480489378844; Tue, 29 Nov 2016 23:02:58 -0800 (PST) Received: from calancha-pc (MAR89-125.kek.jp. [130.87.89.125]) by smtp.gmail.com with ESMTPSA id t184sm81978712pgt.36.2016.11.29.23.02.57 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 29 Nov 2016 23:02:58 -0800 (PST) From: Tino Calancha To: Christopher Genovese Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> Date: Wed, 30 Nov 2016 16:02:53 +0900 In-Reply-To: (Christopher Genovese's message of "Wed, 30 Nov 2016 00:14:03 -0500") Message-ID: <87d1hd8n6q.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 25049 Cc: 25049@debbugs.gnu.org, tino.calancha@gmail.com 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: 0.5 (/) Christopher Genovese writes: > I've attached a modified patch file that includes > all your suggested changes. I did some squashing > and editing, so this patch has the same three parts > as before, with properly formatted Change Logs in > each. Thank you very much fr your prompt replay! I) + 'follow-link t + 'help-echo "Click or RET: save new value in customize" + 'action (lambda (b) + (if (not (fboundp 'customize-save-variable)) + (message "Customize not available; value not saved") + (customize-save-variable 'ibuffer-saved-filters + ibuffer-saved-filters) + (message "Saved updated ibuffer-saved-filters.")))) The lambda form above doesn't use its 'b' argument, so i have dropped it. II) I see you define `ibuffer-update-saved-filters-format' right before than `ibuffer-saved-filters', because this defcustom use that function to set its default. In the other hand `ibuffer-repair-saved-filters' isn't used by any defcustom so i moved out after the variable definitions. If we don't get further comments to address in 1 week, then let's push this fix to the master branch. Thank you Tino From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 09:06:25 2016 Received: (at 25049) by debbugs.gnu.org; 30 Nov 2016 14:06:25 +0000 Received: from localhost ([127.0.0.1]:47087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC5Wi-0007Hk-UY for submit@debbugs.gnu.org; Wed, 30 Nov 2016 09:06:25 -0500 Received: from mail-io0-f178.google.com ([209.85.223.178]:35691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC5Wh-0007HY-2B for 25049@debbugs.gnu.org; Wed, 30 Nov 2016 09:06:23 -0500 Received: by mail-io0-f178.google.com with SMTP id a124so349589242ioe.2 for <25049@debbugs.gnu.org>; Wed, 30 Nov 2016 06:06:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=2IX+mfo7JNhdhbA4winTd1zoJ2KkRzBQv2cqW2JbyaE=; b=OLwAPjVkET/NrkqfsYQyyFb+1ZyxhVsfdlrTZp3Fc6SvwaVo34KL4J7W1r2P8+kUJ+ Q0LxZeXJBVWHkpiuRvfBADZWhqYpPhhMul6l0Z/8YgVPw4wnnC4oDIiRQkL6XmHwX/gk jcBljQbuz+hhgEHrn3p6o2Niq3XxN8/cycxj1671lHKUeTuNDn3NP3D05cv+7BW27jAV km+a2JHc5hWCCm3ZLAXCwibWseAlmyb1CZvtvbZcrmeLg+3bx0t+ev+XdcG1RbisPA60 JXltH09XSA4jTbayKPBFfBywWm7ZGCYd+9vNMCOIoVhaFaMww+RoUuKjLZvQGj6vPvnA +iJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=2IX+mfo7JNhdhbA4winTd1zoJ2KkRzBQv2cqW2JbyaE=; b=Ii7FFtUxTJrNK4SLG3ZjNrrRFu0PaE0GXrCe2kFDqzxRwSOOLuWNbHXHR3piYeldwr XYSNDt9OQwIi18Lk/cZ1TCx8w1TJ19tuXjb+w8zabruVObVRUs3j2IGYE9TvOF03lc8f vRL8HQxcoGHtmDtFu7EFXEmUwuB+yRaJE25kKgBFjnJ/QCYglmJHOnc7V7XeaVegFeNc RIVRZbb0H6HzP/cgoYp3LsU6ipcjaJqXiBZkw2hMj99VA7FOc1RJpXyQ0kxuclbAv7fz EDTl+Sxtrb/j3e5fWTGRaulbiVs9zm/lRKAylF5/pI6kOWkpmZqTvEO3skrjxgKuvqeR nggQ== X-Gm-Message-State: AKaTC00LrLVEsRfa+3N/92rxEbnJSda31CDrt2/CB6HAcoHym3yHOWzbWAc8PDZfC9j6gg== X-Received: by 10.36.90.80 with SMTP id v77mr28739529ita.73.1480514777274; Wed, 30 Nov 2016 06:06:17 -0800 (PST) Received: from zony ([45.2.7.65]) by smtp.googlemail.com with ESMTPSA id l3sm2689908iti.3.2016.11.30.06.06.15 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 30 Nov 2016 06:06:16 -0800 (PST) From: npostavs@users.sourceforge.net To: Tino Calancha Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> <87d1hd8n6q.fsf@gmail.com> Date: Wed, 30 Nov 2016 09:07:13 -0500 In-Reply-To: <87d1hd8n6q.fsf@gmail.com> (Tino Calancha's message of "Wed, 30 Nov 2016 16:02:53 +0900") Message-ID: <87twapgiy6.fsf@users.sourceforge.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 25049 Cc: Christopher Genovese , 25049@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: 0.5 (/) Tino Calancha writes: > Christopher Genovese writes: > >> I've attached a modified patch file that includes >> all your suggested changes. I did some squashing >> and editing, so this patch has the same three parts >> as before, with properly formatted Change Logs in >> each. You don't need the "Change Log: 2016-11-27 Christopher R. Genovese " part, that information is extracted automatically from the commit metadata. > Thank you very much fr your prompt replay! > > I) > + 'follow-link t > + 'help-echo "Click or RET: save new value in customize" > + 'action (lambda (b) > + (if (not (fboundp 'customize-save-variable)) > + (message "Customize not available; value not saved") > + (customize-save-variable 'ibuffer-saved-filters > + ibuffer-saved-filters) > + (message "Saved updated ibuffer-saved-filters.")))) > The lambda form above doesn't use its 'b' argument, so i have dropped > it. By "drop" I hope you meant "replaced it with `_'". The action function receives 1 argument, so it has to accept it. > > If we don't get further comments to address in 1 week, then let's > push this fix to the master branch. I don't really agree with this switching *Warnings* to help-mode. First, it's out of place for a particular warning to start manipulating the *Warnings* buffer like that. And second, it would make more sense to have a warnings-mode, that could provide more specialized bindings (e.g., ignore warning at point). But that's a subject for another thread. I don't think this patch should do anything about it. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 10:03:51 2016 Received: (at 25049) by debbugs.gnu.org; 30 Nov 2016 15:03:51 +0000 Received: from localhost ([127.0.0.1]:47639 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC6QI-0000K7-KB for submit@debbugs.gnu.org; Wed, 30 Nov 2016 10:03:51 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:35679) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC6QH-0000Ju-F4 for 25049@debbugs.gnu.org; Wed, 30 Nov 2016 10:03:50 -0500 Received: by mail-pg0-f66.google.com with SMTP id p66so1576068pga.2 for <25049@debbugs.gnu.org>; Wed, 30 Nov 2016 07:03:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=I5J0MyK9p+C/uNZWK6IwqUHsGTQMdMhwYonyf18bM28=; b=ucNKBQVf04+a94PPRqZ0C2VH1W+V2YezCrVgZsEZZ9oKdUyb7hZGxr8hV01LzFBYlN oY+ctelwTjWWIT8vtYG2etG8fN8333AhR8gch+8sk3ET+LOWStKBxGKmgMMc7VAe949c 9X3WpLMe8Jf4M80IbDXh0JMEP4D6GtQwhJ7nTaexJhDOZmVcqjYQWYdPeZf2HtJfKGni 5dVgf/ta+jqCu9dZ9EbDx+qdJR5eZ5wyrc03cjDx4SuuXGSxdwoXnj2osrchL6tDTn/P qLrxGfpsN3Y6sPjBzMG9QiEwC1gVU26kGFaAIKviRScpo0Cf55wuJCirAULpkdQqr2cb IMag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=I5J0MyK9p+C/uNZWK6IwqUHsGTQMdMhwYonyf18bM28=; b=ByuArU4JdV0+Rl60/Arg/zuxSqBISscKLFtWW9DWQrGrI+r5MVDITcOvMp/T6Bri6t YC7gs7/bOjH7ty6MsgZZ1LzSw8CFB2bn4kz8HdFUMTfKvpSZ99lO7q+p0LD/cU8ByhDt 7e9eivuGT1iuURQeOM+xWzjuY/vk7TQhU7FuxDIUdPtO2vDyjj/6WLCfkA7kXJ2yBqjp b+icslYVjxwDQz7ck804zDPt/OTRQV/oDMaTz6hl0A6uNmAIOEo/T06jmurD04cFUum7 nciZeKHkJzV1pf8ciqIGDJQLNuNfUJ3EqlUMeht/JSahgxb4/p4OGNd1wCJHtTDv1vzT 8LoA== X-Gm-Message-State: AKaTC02OiPCWXxkxH1IG/h/a1T5YVhNRZJamz33tQB1SpXTJmzh3lanv4GQqn9Twdqrm0w== X-Received: by 10.99.241.21 with SMTP id f21mr60653844pgi.110.1480518223462; Wed, 30 Nov 2016 07:03:43 -0800 (PST) Received: from calancha-pc (177.192.218.133.dy.bbexcite.jp. [133.218.192.177]) by smtp.gmail.com with ESMTPSA id c2sm103654862pfl.66.2016.11.30.07.03.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 30 Nov 2016 07:03:42 -0800 (PST) From: Tino Calancha To: npostavs@users.sourceforge.net Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> <87d1hd8n6q.fsf@gmail.com> <87twapgiy6.fsf@users.sourceforge.net> Date: Thu, 01 Dec 2016 00:03:37 +0900 In-Reply-To: <87twapgiy6.fsf@users.sourceforge.net> (npostavs's message of "Wed, 30 Nov 2016 09:07:13 -0500") Message-ID: <87d1hdf1rq.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 25049 Cc: Christopher Genovese , 25049@debbugs.gnu.org, Tino Calancha 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: 0.5 (/) npostavs@users.sourceforge.net writes: Hi Noa, thanks for your time reading the report and for bringing those points! > Tino Calancha writes: > >> Christopher Genovese writes: >> >>> I've attached a modified patch file that includes >>> all your suggested changes. I did some squashing >>> and editing, so this patch has the same three parts >>> as before, with properly formatted Change Logs in >>> each. > > You don't need the "Change Log: 2016-11-27 Christopher R. Genovese > " part, that information is extracted automatically > from the commit metadata. See the below patch. It doesn't include ChangeLog in the commit message. >> Thank you very much fr your prompt replay! >> >> I) >> + 'follow-link t >> + 'help-echo "Click or RET: save new value in customize" >> + 'action (lambda (b) >> + (if (not (fboundp 'customize-save-variable)) >> + (message "Customize not available; value not saved") >> + (customize-save-variable 'ibuffer-saved-filters >> + ibuffer-saved-filters) >> + (message "Saved updated ibuffer-saved-filters.")))) >> The lambda form above doesn't use its 'b' argument, so i have dropped >> it. > > By "drop" I hope you meant "replaced it with `_'". The action function > receives 1 argument, so it has to accept it Thank you, i didn't know that. I updated to 'action (lambda (_b) > I don't really agree with this switching *Warnings* to help-mode. > First, it's out of place for a particular warning to start manipulating > the *Warnings* buffer like that. And second, it would make more sense > to have a warnings-mode, that could provide more specialized bindings > (e.g., ignore warning at point). But that's a subject for another > thread. I don't think this patch should do anything about it. OK. I switched back to the OP version, i.e., without `help-mode' in the buffer displaying the warning. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >From b01ef57f393d24e3ed81630b8dfa69e19a9e6f98 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Wed, 30 Nov 2016 23:49:53 +0900 Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra nesting level; add transparent setter to adjust old-format values; update doc string. (ibuffer-save-filters): Remove extra level of nesting in ibuffer-saved-filters values when saving new filters (Bug#25049). (ibuffer-old-saved-filters-warning): New variable with clickable message with repair options to be displayed as a warning if 'ibuffer-repair-saved-filters' detects a format mismatch. (ibuffer-repair-saved-filters): Add new command to check and repair saved filters format. (ibuffer-included-in-filter-p, ibuffer-decompose-filter): Change access of saved filter data (cadr->cdr) to account for reduced nesting. * test/lisp/ibuffer-tests.el (ibuffer-save-filters): New test; check that filters are saved in the proper format. --- lisp/ibuf-ext.el | 156 +++++++++++++++++++++++++++++++++++---------- test/lisp/ibuffer-tests.el | 29 +++++++++ 2 files changed, 150 insertions(+), 35 deletions(-) diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 5ef0746..dbaafa6 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -35,7 +35,8 @@ (eval-when-compile (require 'ibuf-macs) - (require 'cl-lib)) + (require 'cl-lib) + (require 'subr-x)) ;;; Utility functions (defun ibuffer-delete-alist (key alist) @@ -119,32 +120,100 @@ ibuffer-tmp-show-regexps (defvar ibuffer-auto-buffers-changed nil) -(defcustom ibuffer-saved-filters '(("gnus" - ((or (mode . message-mode) - (mode . mail-mode) - (mode . gnus-group-mode) - (mode . gnus-summary-mode) - (mode . gnus-article-mode)))) - ("programming" - ((or (mode . emacs-lisp-mode) - (mode . cperl-mode) - (mode . c-mode) - (mode . java-mode) - (mode . idl-mode) - (mode . lisp-mode))))) - - "An alist of filter qualifiers to switch between. +(defun ibuffer-update-saved-filters-format (filters) + "Transforms alist from old to new `ibuffer-saved-filters' format. + +Specifically, converts old-format alist with values of the +form (STRING (FILTER-SPECS...)) to alist with values of the +form (STRING FILTER-SPECS...), where each filter spec should be a +cons cell with a symbol in the car. Any elements in the latter +form are kept as is. + +Returns (OLD-FORMAT-DETECTED . UPDATED-SAVED-FILTERS-LIST)." + (when filters + (let* ((old-format-detected nil) + (fix-filter (lambda (filter-spec) + (if (symbolp (car (cadr filter-spec))) + filter-spec + (setq old-format-detected t) ; side-effect + (cons (car filter-spec) (cadr filter-spec))))) + (fixed (mapcar fix-filter filters))) + (cons old-format-detected fixed)))) -This variable should look like ((\"STRING\" QUALIFIERS) - (\"STRING\" QUALIFIERS) ...), where -QUALIFIERS is a list of the same form as -`ibuffer-filtering-qualifiers'. -See also the variables `ibuffer-filtering-qualifiers', -`ibuffer-filtering-alist', and the functions -`ibuffer-switch-to-saved-filters', `ibuffer-save-filters'." - :type '(repeat sexp) +(defcustom ibuffer-saved-filters '(("gnus" + (or (mode . message-mode) + (mode . mail-mode) + (mode . gnus-group-mode) + (mode . gnus-summary-mode) + (mode . gnus-article-mode))) + ("programming" + (or (mode . emacs-lisp-mode) + (mode . cperl-mode) + (mode . c-mode) + (mode . java-mode) + (mode . idl-mode) + (mode . lisp-mode)))) + + "An alist mapping saved filter names to filter specifications. + +Each element should look like (\"NAME\" . FILTER-LIST), where +FILTER-LIST has the same structure as the variable +`ibuffer-filtering-qualifiers', which see. The filters defined +here are joined with an implicit logical `and' and associated +with NAME. The combined specification can be used by name in +other filter specifications via the `saved' qualifier (again, see +`ibuffer-filtering-qualifiers'). They can also be switched to by +name (see the functions `ibuffer-switch-to-saved-filters' and +`ibuffer-save-filters'). The variable `ibuffer-save-with-custom' +affects how this information is saved for future sessions. This +variable can be set directly from lisp code." + :version "26.1" + :type '(alist :key-type (string :tag "Filter name") + :value-type (repeat :tag "Filter specification" sexp)) + :set (lambda (symbol value) + ;; Just set-default but update legacy old-style format + (set-default symbol (cdr (ibuffer-update-saved-filters-format value)))) :group 'ibuffer) +(defvar ibuffer-old-saved-filters-warning + (concat "Deprecated format detected for variable `ibuffer-saved-filters'. + +The format has been repaired and the variable modified accordingly. +You can save the current value through the customize system by +either clicking or hitting return " + (make-text-button + "here" nil + 'face '(:weight bold :inherit button) + 'mouse-face '(:weight normal :background "gray50" :inherit button) + 'follow-link t + 'help-echo "Click or RET: save new value in customize" + 'action (lambda (_b) + (if (not (fboundp 'customize-save-variable)) + (message "Customize not available; value not saved") + (customize-save-variable 'ibuffer-saved-filters + ibuffer-saved-filters) + (message "Saved updated ibuffer-saved-filters.")))) + ". See below for +an explanation and alternative ways to save the repaired value. + +Explanation: For the list variable `ibuffer-saved-filters', +elements of the form (STRING (FILTER-SPECS...)) are deprecated +and should instead have the form (STRING FILTER-SPECS...), where +each filter spec is a cons cell with a symbol in the car. See +`ibuffer-saved-filters' for details. The repaired value fixes +this format without changing the meaning of the saved filters. + +Alternative ways to save the repaired value: + + 1. Do M-x customize-variable and entering `ibuffer-saved-filters' + when prompted. + + 2. Set the updated value manually by copying the + following emacs-lisp form to your emacs init file. + +%s +")) + (defvar ibuffer-filtering-qualifiers nil "A list like (SYMBOL . QUALIFIER) which filters the current buffer list. See also `ibuffer-filtering-alist'.") @@ -224,6 +293,28 @@ ibuffer-save-with-custom :type 'boolean :group 'ibuffer) +(defun ibuffer-repair-saved-filters () + "Updates `ibuffer-saved-filters' to its new-style format, if needed. + +If this list has any elements of the old-style format, a +deprecation warning is raised, with a button allowing persistent +update. Any updated filters retain their meaning in the new +format. See `ibuffer-update-saved-filters-format' and +`ibuffer-saved-filters' for details of the old and new formats." + (interactive) + (when (and (boundp 'ibuffer-saved-filters) ibuffer-saved-filters) + (let ((fixed (ibuffer-update-saved-filters-format ibuffer-saved-filters))) + (prog1 + (setq ibuffer-saved-filters (cdr fixed)) + (when-let (old-format-detected? (car fixed)) + (let ((warning-series t) + (updated-form + (with-output-to-string + (pp `(setq ibuffer-saved-filters ',ibuffer-saved-filters))))) + (display-warning + 'ibuffer + (format ibuffer-old-saved-filters-warning updated-form)))))))) + (defun ibuffer-ext-visible-p (buf all &optional ibuffer-buf) (or (ibuffer-buf-matches-predicates buf ibuffer-tmp-show-regexps) @@ -535,13 +626,11 @@ ibuffer-included-in-filter-p-1 (ibuffer-included-in-filter-p buf x)) (cdr filter)))) (`saved - (let ((data - (assoc (cdr filter) - ibuffer-saved-filters))) + (let ((data (assoc (cdr filter) ibuffer-saved-filters))) (unless data (ibuffer-filter-disable t) (error "Unknown saved filter %s" (cdr filter))) - (ibuffer-included-in-filters-p buf (cadr data)))) + (ibuffer-included-in-filters-p buf (cadr data)))) (_ (pcase-let ((`(,_type ,_desc ,func) (assq (car filter) ibuffer-filtering-alist))) @@ -849,15 +938,12 @@ ibuffer-decompose-filter (cdr lim) ibuffer-filtering-qualifiers))) (`saved - (let ((data - (assoc (cdr lim) - ibuffer-saved-filters))) + (let ((data (assoc (cdr lim) ibuffer-saved-filters))) (unless data (ibuffer-filter-disable) (error "Unknown saved filter %s" (cdr lim))) - (setq ibuffer-filtering-qualifiers (append - (cadr data) - ibuffer-filtering-qualifiers)))) + (setq ibuffer-filtering-qualifiers + (append (cdr data) ibuffer-filtering-qualifiers)))) (`not (push (cdr lim) ibuffer-filtering-qualifiers)) @@ -936,7 +1022,7 @@ ibuffer-save-filters ibuffer-filtering-qualifiers))) (ibuffer-aif (assoc name ibuffer-saved-filters) (setcdr it filters) - (push (list name filters) ibuffer-saved-filters)) + (push (cons name filters) ibuffer-saved-filters)) (ibuffer-maybe-save-stuff)) ;;;###autoload diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el index 3a4def3..6d5187a 100644 --- a/test/lisp/ibuffer-tests.el +++ b/test/lisp/ibuffer-tests.el @@ -66,5 +66,34 @@ (mapc (lambda (buf) (when (buffer-live-p buf) (kill-buffer buf))) (list buf1 buf2))))) +(ert-deftest ibuffer-save-filters () + "Tests that `ibuffer-save-filters' saves in the proper format." + (skip-unless (featurep 'ibuf-ext)) + (let ((ibuffer-save-with-custom nil) + (ibuffer-saved-filters nil) + (test1 '((mode . org-mode) + (or (size-gt . 10000) + (and (not (starred-name)) + (directory . "\"))))) + (test2 '((or (mode . emacs-lisp-mode) (file-extension . "elc?") + (and (starred-name) (name . "elisp")) + (mode . lisp-interaction-mode)))) + (test3 '((size-lt . 100) (derived-mode . prog-mode) + (or (filename . "scratch") + (filename . "bonz") + (filename . "temp"))))) + (ibuffer-save-filters "test1" test1) + (should (equal (car ibuffer-saved-filters) (cons "test1" test1))) + (ibuffer-save-filters "test2" test2) + (should (equal (car ibuffer-saved-filters) (cons "test2" test2))) + (should (equal (cadr ibuffer-saved-filters) (cons "test1" test1))) + (ibuffer-save-filters "test3" test3) + (should (equal (car ibuffer-saved-filters) (cons "test3" test3))) + (should (equal (cadr ibuffer-saved-filters) (cons "test2" test2))) + (should (equal (car (cddr ibuffer-saved-filters)) (cons "test1" test1))) + (should (equal (cdr (assoc "test1" ibuffer-saved-filters)) test1)) + (should (equal (cdr (assoc "test2" ibuffer-saved-filters)) test2)) + (should (equal (cdr (assoc "test3" ibuffer-saved-filters)) test3)))) + (provide 'ibuffer-tests) ;; ibuffer-tests.el ends here -- 2.10.2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; In GNU Emacs 26.0.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.4) of 2016-11-30 Repository revision: a283d655db88cdcc8cb53d8e2578e1cdf751c84b From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 10:11:35 2016 Received: (at 25049) by debbugs.gnu.org; 30 Nov 2016 15:11:35 +0000 Received: from localhost ([127.0.0.1]:47651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC6Xn-0000VL-6c for submit@debbugs.gnu.org; Wed, 30 Nov 2016 10:11:35 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:33844) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC6Xl-0000V5-Ez for 25049@debbugs.gnu.org; Wed, 30 Nov 2016 10:11:33 -0500 Received: by mail-pg0-f68.google.com with SMTP id e9so1586415pgc.1 for <25049@debbugs.gnu.org>; Wed, 30 Nov 2016 07:11:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:date:to:cc:subject:in-reply-to:message-id:references :user-agent:mime-version; bh=aLCJlOmSwNmxMuxTUc2vYwMMNowRnJiV/wJORUP8s80=; b=b7mvzDolTCg4zSZ0YuAlEIGg6nceTOZafjPyrRmb1aiy6YgfhGicZpCDNjGW2aQQTb XP5wIZxsBdeUQP3txjUA2+m8cPtXbVYFxCMDJBRpiIDxJ+xzUHHh98ywMXTHqBPZGTq9 cY5+oJXWEfV3H6Ww1P5Y8BDpD/vhlHelUUpjCpUU29p7s+Ml4+CAYhMntN2v+2sorM+2 er/PFU0KKF5hJMzA790o6M7xpllYTrabJGE9zoPhDtkk6VNR4ByGYzvo8kutE7YXLUgI b2q4WM8XD1Am9SWZEZyjRlii4Xj+4Nkl2clLIhr1YDSNYGlVE+EHLnkpCt5Z4KHJpcTD 7D+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:date:to:cc:subject:in-reply-to:message-id :references:user-agent:mime-version; bh=aLCJlOmSwNmxMuxTUc2vYwMMNowRnJiV/wJORUP8s80=; b=auxKquW5awWByin8wl+nbAbHkganfTATBHHmm51Vm4jyNv4ePaVIezL10v3NEt6u9E jeW9R1HfJJzRMmnk4T3aTD0Ni3nBXnRQweDINAaAG5VFD+RKOgWtEnsdpUr/ep/D6ECu tsj7YbKSw4zXeLFMTkmjH8wFGbthriFI+L5tjS1GJUOUrPEk4BkRvqaon3WwniFx9Yk0 8NhvtTZnx9c9upgmyROdKExK+DBwyN5vUyeY7w6p7EhiFF3Qf9fWEF9sBT/XDrpqVjJx N0C9Cuqq7QVcPpJd5kaDLwdFOyxgXftB6QaHStoAEGNylLtdJifXQjGalgqyCtm6MAgi LnAA== X-Gm-Message-State: AKaTC01ldNOBcy1K+E/ZRfInOpdQ4M6Qz11vzj3bCUbS7cwWWiMylMOSyEtnmf4ba4HZNw== X-Received: by 10.84.217.199 with SMTP id d7mr74053123plj.165.1480518687584; Wed, 30 Nov 2016 07:11:27 -0800 (PST) Received: from calancha-pc (177.192.218.133.dy.bbexcite.jp. [133.218.192.177]) by smtp.gmail.com with ESMTPSA id s2sm103709397pfi.10.2016.11.30.07.11.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 30 Nov 2016 07:11:27 -0800 (PST) From: Tino Calancha X-Google-Original-From: Tino Calancha Date: Thu, 1 Dec 2016 00:11:24 +0900 (JST) X-X-Sender: calancha@calancha-pc To: Tino Calancha Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches In-Reply-To: <87d1hdf1rq.fsf@gmail.com> Message-ID: References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> <87d1hd8n6q.fsf@gmail.com> <87twapgiy6.fsf@users.sourceforge.net> <87d1hdf1rq.fsf@gmail.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 25049 Cc: Christopher Genovese , 25049@debbugs.gnu.org, npostavs@users.sourceforge.net 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: -0.0 (/) On Wed, 30 Nov 2016, Tino Calancha wrote: >From: Tino Calancha >Date: Wed, 30 Nov 2016 23:49:53 +0900 >Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level Of course the author of the patch is Chris, so the previous should be read: From: Christopher Genovese Date: Wed, 30 Nov 2016 23:49:53 +0900 Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 11:32:25 2016 Received: (at 25049) by debbugs.gnu.org; 30 Nov 2016 16:32:25 +0000 Received: from localhost ([127.0.0.1]:47670 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC7o0-0002PV-3l for submit@debbugs.gnu.org; Wed, 30 Nov 2016 11:32:24 -0500 Received: from mail-io0-f169.google.com ([209.85.223.169]:33472) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cC7nx-0002PI-FU for 25049@debbugs.gnu.org; Wed, 30 Nov 2016 11:32:22 -0500 Received: by mail-io0-f169.google.com with SMTP id j65so357790740iof.0 for <25049@debbugs.gnu.org>; Wed, 30 Nov 2016 08:32:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=oGpEbu7tGtPIw8S8OCdpFROpkAQ5mx/2kqirobWCLTo=; b=1DZoIrlMBlVi1hw2tsmTxhGMx/Q3dHuQntcG9Jv6jL/q3JuMTUTx0THe34I9Cg7WU+ oTez43ExxMMGvX3VJTXi5BI6e0pTPDIQAfOVhyb0/866Wu0GTCK1/BM3ioWMRAruEKPA cfUc7QPqe8wkHO80aAKW++Yo0p79h1DGIIjOhtDM5vlxy8qbg7N+L968H14tGF6CMlRU 1Y2Zg+JWrjYSG953Ivz+MDHNUih9bCbLsD4vBn+xHn0TmYROfWlXKJW3B4IoMukRcfrx VvWazqsPDZ2+CNUShHhg9O8QV5Agh44h9RA5qjp0dO1m92eZQ/7vaXkMQx6FDSbIylGf NUdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=oGpEbu7tGtPIw8S8OCdpFROpkAQ5mx/2kqirobWCLTo=; b=izL/5zis0St6xrNWq+9OYWgCcCsIaopbFZKwubKQBVHNTbD6uT0w1WAxbtexg5MYxl gMZ1b/0cHPPPnP2id3LitNDCkGaOjH6ceVwdk9zZMpWmnOlnVLdEVHsdHihvRRl9Fu9P tUSwVQY+a30g7qSTVHHmk+MNNBVNVdfb5tYzN0oZUeUOGsoSegKedZyP5F7S90aOEzVY w250aJkMmlOu8b4b+MYYkJev1G6Y96gK6BZO4ZP83BSFMmy9x4kT119Hm4J4qcW+iT7v lWyUFlQPX9ntPGT9QN9Xc3foBJkdnPlVr5p4JISVdlZCQy9/kFrlKDRR9AMSdcSgZ9cF BTGg== X-Gm-Message-State: AKaTC02BCj3+ODcDSc71FYv2p6IxoW2fzoCIthHTmP9U+Svf8G8dt9DkOc9uaTuOm9BQMZDV6Wos3dnf4mIaig== X-Received: by 10.36.5.80 with SMTP id 77mr29149685itl.90.1480523535689; Wed, 30 Nov 2016 08:32:15 -0800 (PST) MIME-Version: 1.0 Received: by 10.107.59.143 with HTTP; Wed, 30 Nov 2016 08:31:55 -0800 (PST) In-Reply-To: References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> <87d1hd8n6q.fsf@gmail.com> <87twapgiy6.fsf@users.sourceforge.net> <87d1hdf1rq.fsf@gmail.com> From: Christopher Genovese Date: Wed, 30 Nov 2016 11:31:55 -0500 X-Google-Sender-Auth: B2nyK0ZFjBrJRUzlDuiVM8ELCAk Message-ID: Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches To: Tino Calancha Content-Type: multipart/mixed; boundary=001a1143d8306d74640542873f18 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 25049 Cc: 25049@debbugs.gnu.org, npostavs@users.sourceforge.net 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: -0.7 (/) --001a1143d8306d74640542873f18 Content-Type: multipart/alternative; boundary=001a1143d8306d745f0542873f16 --001a1143d8306d745f0542873f16 Content-Type: text/plain; charset=UTF-8 Thanks, Noa and Tino. Tino, I noticed that in the patch you just sent in email the '?' on old-format-detected was still there. The rest looked fine on first glance, but you might want to edit that. Alternatively, just in case it helps, I've attached a patch like the others that drops the help-mode change, changes the b argument to _ to indicate unused, and drops the names and dates from before the Change Logs -- while keeping Tino's other suggested changes intact. Best, Chris On Wed, Nov 30, 2016 at 10:11 AM, Tino Calancha wrote: > On Wed, 30 Nov 2016, Tino Calancha wrote: > >> From: Tino Calancha >> Date: Wed, 30 Nov 2016 23:49:53 +0900 >> Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level >> > Of course the author of the patch is Chris, so the previous > should be read: > > From: Christopher Genovese > > Date: Wed, 30 Nov 2016 23:49:53 +0900 > Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level > > --001a1143d8306d745f0542873f16 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thanks, Noa and Tino.

Tino, I noticed that in the patch you just sent in email the '?' = on
old-format-detected was still there.=C2=A0 The rest looked= fine
on first glance, but you might want to edit that.

Alternatively, just in case it helps, I've atta= ched a patch like the others
that drops=C2=A0 the help-mode change, cha= nges the b argument to _ to indicate
unused, and drops the names and dat= es from before the Change Logs -- while
keeping Tino's other sugges= ted changes intact.

Best, Chris

=

On We= d, Nov 30, 2016 at 10:11 AM, Tino Calancha <tino.calancha@gmail.com<= /a>> wrote:
On= Wed, 30 Nov 2016, Tino Calancha wrote:
From: Tino Calancha <tino.calancha@gmail.com>
Date: Wed, 30 Nov 2016 23:49:53 +0900
Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level
Of course the author of the patch is Chris, so the previous
should be read:

From: Christopher Genovese <genovese@cmu.edu>

Date: Wed, 30 Nov 2016 23:49:53 +0900
Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level


--001a1143d8306d745f0542873f16-- --001a1143d8306d74640542873f18 Content-Type: text/x-diff; charset=US-ASCII; name="ibuffer-saved-filters-bug-cleaner.patch" Content-Disposition: attachment; filename="ibuffer-saved-filters-bug-cleaner.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iw55gd150 RnJvbSBlZThiMmRjNzQ5NDU1YTk2YzM4ODBjZjJiMjlhOTU2NzgxNTlmZmVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hyaXN0b3BoZXIgUi4gR2Vub3Zlc2UiIDxnZW5vdmVzZUBj bXUuZWR1PgpEYXRlOiBTdW4sIDI3IE5vdiAyMDE2IDIzOjM0OjUwIC0wNTAwClN1YmplY3Q6IFtQ QVRDSCAxLzNdIGlidWZmZXI6IG9uZSBwb3NzaWJsZSBmaXggZm9yIGJ1ZyB3aGVuIHNhdmluZyBl eGlzdGluZwogZmlsdGVyCgpUaGUgZnVuY3Rpb24gJ2lidWZmZXItc2F2ZS1maWx0ZXJzJyBoYW5k bGVzIHNhdmluZyBleGlzdGluZwpmaWx0ZXJzIGFuZCBuZXcgZmlsdGVycyBpbmNvbnNpc3RlbnRs eS4gU3BlY2lmaWNhbGx5LAphdCB0aGUgZm9sbG93aW5nIHBvaW50IGluIHRoZSBvcmlnaW5hbCBm dW5jdGlvbjoKCiAgKGlidWZmZXItYWlmIChhc3NvYyBuYW1lIGlidWZmZXItc2F2ZWQtZmlsdGVy cykKICAgICAgKHNldGNkciBpdCBmaWx0ZXJzKQogICAgKHB1c2ggKGxpc3QgbmFtZSBmaWx0ZXJz KSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpKQoKdGhlIHNldGNkciAoZXhpc3RpbmcgZmlsdGVycykg YW5kIHRoZSBwdXNoIChuZXcgZmlsdGVycykKc2F2ZSBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhl IHZhcmlhYmxlLCB3aXRoIHRoZSBsYXR0ZXIKaGF2aW5nIGFuIGV4dHJhIGxheWVyIG9mIHBhcmVu dGhlc2VzLgoKQXMgYSBzcGVjaWZpYyBleGFtcGxlIG9mIGZhaWx1cmUsIHVzaW5nIHRoZSBjdXJy ZW50IGRlZmF1bHQKdmFsdWUgb2YgJ2lidWZmZXItc2F2ZWQtZmlsdGVycycKCiAgICAgICAgKCgi Z251cyIKICAgICAgICAgICgob3IKICAgICAgICAgICAgKG1vZGUgLiBtZXNzYWdlLW1vZGUpCiAg ICAgICAgICAgIChtb2RlIC4gbWFpbC1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGdudXMtZ3Jv dXAtbW9kZSkKICAgICAgICAgICAgKG1vZGUgLiBnbnVzLXN1bW1hcnktbW9kZSkKICAgICAgICAg ICAgKG1vZGUgLiBnbnVzLWFydGljbGUtbW9kZSkpKSkKICAgICAgICAgKCJwcm9ncmFtbWluZyIK ICAgICAgICAgICgob3IKICAgICAgICAgICAgKG1vZGUgLiBlbWFjcy1saXNwLW1vZGUpCiAgICAg ICAgICAgIChtb2RlIC4gY3BlcmwtbW9kZSkKICAgICAgICAgICAgKG1vZGUgLiBjLW1vZGUpCiAg ICAgICAgICAgIChtb2RlIC4gamF2YS1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGlkbC1tb2Rl KQogICAgICAgICAgICAobW9kZSAuIGxpc3AtbW9kZSkpKSkpCgphbmQgZG9pbmcKCiAgIChpYnVm ZmVyLXNhdmUtZmlsdGVycyAiZm9vIiAnKChuYW1lIC4gImZvbyIpIChkZXJpdmVkLW1vZGUgLiB0 ZXh0LW1vZGUpKSkKICAgKGlidWZmZXItc2F2ZS1maWx0ZXJzICJnbnVzIiAnKChmaWxlbmFtZSAu ICIuIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoZGVyaXZlZC1tb2Rl IC4gcHJvZy1tb2RlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2Rl IC4gImNvbXBpbGF0aW9uLW1vZGUiKSkpKQoKZ2l2ZXMgdGhlIGZvbGxvd2luZyBpbmNvcnJlY3Qg dmFsdWUgZm9yIGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnCgogICAgICAgICgoImZvbyIKICAgICAg ICAgICgobmFtZSAuICJmb28iKQogICAgICAgICAgIChkZXJpdmVkLW1vZGUgLiB0ZXh0LW1vZGUp KSkKICAgICAgICAgKCJnbnVzIgogICAgICAgICAgKGZpbGVuYW1lIC4gIi4iKQogICAgICAgICAg KG9yCiAgICAgICAgICAgKGRlcml2ZWQtbW9kZSAuIHByb2ctbW9kZSkKICAgICAgICAgICAobW9k ZSAuICJjb21waWxhdGlvbi1tb2RlIikpKQogICAgICAgICAoInByb2dyYW1taW5nIgogICAgICAg ICAgKChvcgogICAgICAgICAgICAobW9kZSAuIGVtYWNzLWxpc3AtbW9kZSkKICAgICAgICAgICAg KG1vZGUgLiBjcGVybC1tb2RlKQogICAgICAgICAgICAobW9kZSAuIGMtbW9kZSkKICAgICAgICAg ICAgKG1vZGUgLiBqYXZhLW1vZGUpCiAgICAgICAgICAgIChtb2RlIC4gaWRsLW1vZGUpCiAgICAg ICAgICAgIChtb2RlIC4gbGlzcC1tb2RlKSkpKSkKCmJlY2F1c2UgdGhlICJmb28iIGFuZCAiZ251 cyIgZW50cmllcyBoYXZlIGRpZmZlcmVudCBmb3JtYXRzLAp0aGUgbGF0dGVyIG5vdCBjb25zaXN0 ZW50IHdpdGggbGF0ZXIgY29kZSB0byBhY2Nlc3MgaXQKKGUuZy4sIGluICdpYnVmZmVyLWluY2x1 ZGVkLWluLWZpbHRlci1wLTEnIGFuZCAnaWJ1ZmZlci1kZWNvbXBvc2UtZmlsdGVyJykuCgpUaGVy ZSBhcmUgdHdvIGltbWVkaWF0ZSBwYXRocyBmb3IgZml4aW5nIHRoaXM6CgogIDEuIENoYW5nZSB0 aGUgc2V0Y2RyIHRvIGFkZCB0aGUgZXh0cmEgbGV2ZWwgb2YgbmVzdGluZy4KICAyLiBDaGFuZ2Ug dGhlIGZvcm1hdCBvZiAnaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyB0byByZW1vdmUKICAgICB0aGUg bGV2ZWwgb2YgdGVzdGluZywgY2hhbmdlIHRoZSBwdXNoIChsaXN0LT5jb25zKSBhbmQKICAgICB0 aGUgbGF0ZXIgYWNjZXNzZXMgKGNhZHItPmNkcikuCgpUaGUgZmlyc3QgaXMgdmVyeSBzaW1wbGUs IGJ1dCB0aGUgZXh0cmEgbGV2ZWwgb2YgbmVzdGluZwppcyB1bnNpZ2h0bHksIGluY29uc2lzdGVu dCB3aXRoIHRoZSBzdHJ1Y3R1cmUgb2YgZmlsdGVyIGdyb3VwcywKYW5kIG1pbGRseSBhbm5veWlu ZyB3aGVuIHdyaXRpbmcgZmlsdGVycyBieSBoYW5kLiAgVGhlCnNlY29uZCBpcyBmYWlybHkgc2lt cGxlLCByZXF1aXJpbmcgb25seSBhIGZldyBtb3JlIHNtYWxsIGNoYW5nZXMsCmJ1dCBpbnRyb2R1 Y2VzIHRoZSBjb21wbGljYXRpb24gb2YgY2hhbmdpbmcgYW4gZXhpc3RpbmcKdmFyaWFibGUncyBm b3JtYXQuIEZvciB3aGF0IGl0J3Mgd29ydGgsIEkgcHJlZmVyIHRoZSBzZWNvbmQuCgpUaGlzIGNv bW1pdCB0YWtlcyB0aGUgZmlyc3QgY2hvaWNlLgoKQ2hhbmdlIExvZzoKCiogbGlzcC9pYnVmLWV4 dC5lbCAoaWJ1ZmZlci1zYXZlLWZpbHRlcnMpOiBBZGQgZXh0cmEKbGV2ZWwgb2YgbmVzdGluZyB3 aGVuIHNhdmluZyBmaWx0ZXIgdG8gYW4gZXhpc3RpbmcgbmFtZS4KLS0tCiBsaXNwL2lidWYtZXh0 LmVsIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvbGlzcC9pYnVmLWV4dC5lbCBiL2xpc3AvaWJ1Zi1leHQuZWwKaW5kZXgg NWVmMDc0Ni4uMTAzMjMyYyAxMDA2NDQKLS0tIGEvbGlzcC9pYnVmLWV4dC5lbAorKysgYi9saXNw L2lidWYtZXh0LmVsCkBAIC05MzUsNyArOTM1LDcgQEAgSW50ZXJhY3RpdmVseSwgcHJvbXB0IGZv ciBOQU1FLCBhbmQgdXNlIHRoZSBjdXJyZW50IGZpbHRlcnMuIgogICAgICAgKHJlYWQtZnJvbS1t aW5pYnVmZmVyICJTYXZlIGN1cnJlbnQgZmlsdGVycyBhczogIikKICAgICAgIGlidWZmZXItZmls dGVyaW5nLXF1YWxpZmllcnMpKSkKICAgKGlidWZmZXItYWlmIChhc3NvYyBuYW1lIGlidWZmZXIt c2F2ZWQtZmlsdGVycykKLSAgICAgIChzZXRjZHIgaXQgZmlsdGVycykKKyAgICAgIChzZXRjZHIg aXQgKGxpc3QgZmlsdGVycykpCiAgICAgKHB1c2ggKGxpc3QgbmFtZSBmaWx0ZXJzKSBpYnVmZmVy LXNhdmVkLWZpbHRlcnMpKQogICAoaWJ1ZmZlci1tYXliZS1zYXZlLXN0dWZmKSkKIAotLSAKMi4x MC4wCgoKRnJvbSAwNmE5NDczOWMwZWYwMDk2NmU5ZjcxMDVmZDNiMjhkNTI0Y2MzNmJmIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQ2hyaXN0b3BoZXIgUi4gR2Vub3Zlc2UiIDxnZW5v dmVzZUBjbXUuZWR1PgpEYXRlOiBNb24sIDI4IE5vdiAyMDE2IDAwOjMzOjM2IC0wNTAwClN1Ympl Y3Q6IFtQQVRDSCAyLzNdIGlidWZmZXI6IGFub3RoZXIgZml4IGZvciBidWcgd2hlbiBzYXZpbmcg YW4gZXhpc3RpbmcKIGZpbHRlcgoKQXMgZGVzY3JpYmVkIGluIHRoZSBwcmV2aW91cyBjb21taXQs IHRoZSBmdW5jdGlvbiAnaWJ1ZmZlci1zYXZlLWZpbHRlcnMnCmhhbmRsZXMgc2F2aW5nIGV4aXN0 aW5nIGZpbHRlcnMgYW5kIG5ldyBmaWx0ZXJzIGluY29uc2lzdGVudGx5LAphbmQgdGhlcmUgYXJl IHR3byBwYXRocyB0byBmaXhpbmcgdGhlIHByb2JsZW0uCgpUaGUgcHJldmlvdXMgY29tbWl0IGZp eGVkIHRoZSBwcm9ibGVtIHdoaWxlIG1haW50YWluaW5nIHRoZSBmb3JtYXQgb2YKdGhlIHZhcmlh YmxlICdpYnVmZmVyLXNhdmVkLWZpbHRlcnMnIHdpdGggaXRzIGV4dHJhIGxldmVsIG9mIG5lc3Rp bmcuCgpUaGlzIGNvbW1pdCBpbnN0ZWFkIHRha2VzIHRoZSBzZWNvbmQgcGF0aDogcmVtb3Zpbmcg dGhlIGV4dHJhIGxldmVsIG9mCm5lc3RpbmcgZnJvbSB0aGUgc2F2ZWQgZmlsdGVyIGZvcm1hdC4K CkNoYW5nZSBMb2c6CgoqIGxpc3AvaWJ1Zi1leHQuZWwgKGlidWZmZXItc2F2ZWQtZmlsdGVycyk6 IFJlbW92ZSBleHRyYQpuZXN0aW5nIGxldmVsIGluIHRoZSBhbGlzdCB2YWx1ZXMgYW5kIHVwZGF0 ZWQgZG9jc3RyaW5nLgooaWJ1ZmZlci1zYXZlLWZpbHRlcnMpOiBSZW1vdmUgZXh0cmEgbGV2ZWwg b2YgbmVzdGluZwppbiBzYXZlZCBmaWx0ZXIgYWxpc3QgdmFsdWVzIHdoZW4gc2F2aW5nIG5ldyBm aWx0ZXJzLgooaWJ1ZmZlci1pbmNsdWRlZC1pbi1maWx0ZXItcCk6IENoYW5nZSBhY2Nlc3Mgb2Yg c2F2ZWQKZmlsdGVyIGRhdGEgKGNhZHItPmNkcikgdG8gYWNjb3VudCBmb3IgcmVkdWNlZCBuZXN0 aW5nLgooaWJ1ZmZlci1kZWNvbXBvc2UtZmlsdGVyKTogQ2hhbmdlIGFjY2VzcyBvZiBzYXZlZApm aWx0ZXIgZGF0YSAoY2Fkci0+Y2RyKSB0byBhY2NvdW50IGZvciByZWR1Y2VkIG5lc3RpbmcuCi0t LQogbGlzcC9pYnVmLWV4dC5lbCB8IDY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygr KSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9pYnVmLWV4dC5lbCBiL2xpc3Av aWJ1Zi1leHQuZWwKaW5kZXggMTAzMjMyYy4uZTRhN2RmYSAxMDA2NDQKLS0tIGEvbGlzcC9pYnVm LWV4dC5lbAorKysgYi9saXNwL2lidWYtZXh0LmVsCkBAIC0xMjAsMjggKzEyMCwzMiBAQCBCdWZm ZXJzIHdob3NlIG1ham9yIG1vZGUgaXMgaW4gdGhpcyBsaXN0LCBhcmUgbm90IHNlYXJjaGVkLiIK IChkZWZ2YXIgaWJ1ZmZlci1hdXRvLWJ1ZmZlcnMtY2hhbmdlZCBuaWwpCiAKIChkZWZjdXN0b20g aWJ1ZmZlci1zYXZlZC1maWx0ZXJzICcoKCJnbnVzIgotCQkJCSAgICAoKG9yIChtb2RlIC4gbWVz c2FnZS1tb2RlKQotCQkJCQkgKG1vZGUgLiBtYWlsLW1vZGUpCi0JCQkJCSAobW9kZSAuIGdudXMt Z3JvdXAtbW9kZSkKLQkJCQkJIChtb2RlIC4gZ251cy1zdW1tYXJ5LW1vZGUpCi0JCQkJCSAobW9k ZSAuIGdudXMtYXJ0aWNsZS1tb2RlKSkpKQotCQkJCSAgICgicHJvZ3JhbW1pbmciCi0JCQkJICAg ICgob3IgKG1vZGUgLiBlbWFjcy1saXNwLW1vZGUpCi0JCQkJCSAobW9kZSAuIGNwZXJsLW1vZGUp Ci0JCQkJCSAobW9kZSAuIGMtbW9kZSkKLQkJCQkJIChtb2RlIC4gamF2YS1tb2RlKQotCQkJCQkg KG1vZGUgLiBpZGwtbW9kZSkKLQkJCQkJIChtb2RlIC4gbGlzcC1tb2RlKSkpKSkKLQotICAiQW4g YWxpc3Qgb2YgZmlsdGVyIHF1YWxpZmllcnMgdG8gc3dpdGNoIGJldHdlZW4uCi0KLVRoaXMgdmFy aWFibGUgc2hvdWxkIGxvb2sgbGlrZSAoKFwiU1RSSU5HXCIgUVVBTElGSUVSUykKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKFwiU1RSSU5HXCIgUVVBTElGSUVSUykgLi4uKSwgd2hl cmUKLVFVQUxJRklFUlMgaXMgYSBsaXN0IG9mIHRoZSBzYW1lIGZvcm0gYXMKLWBpYnVmZmVyLWZp bHRlcmluZy1xdWFsaWZpZXJzJy4KLVNlZSBhbHNvIHRoZSB2YXJpYWJsZXMgYGlidWZmZXItZmls dGVyaW5nLXF1YWxpZmllcnMnLAotYGlidWZmZXItZmlsdGVyaW5nLWFsaXN0JywgYW5kIHRoZSBm dW5jdGlvbnMKLWBpYnVmZmVyLXN3aXRjaC10by1zYXZlZC1maWx0ZXJzJywgYGlidWZmZXItc2F2 ZS1maWx0ZXJzJy4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKG1v ZGUgLiBtZXNzYWdlLW1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG1vZGUgLiBtYWlsLW1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKG1vZGUgLiBnbnVzLWdyb3VwLW1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG1vZGUgLiBnbnVzLXN1bW1hcnktbW9kZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZSAuIGdudXMtYXJ0aWNsZS1tb2RlKSkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgicHJvZ3JhbW1pbmciCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKG1vZGUgLiBlbWFjcy1saXNwLW1vZGUp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGUgLiBjcGVybC1t b2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4gYy1t b2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4gamF2 YS1tb2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4g aWRsLW1vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGUg LiBsaXNwLW1vZGUpKSkpCisKKyAgIkFuIGFsaXN0IG1hcHBpbmcgc2F2ZWQgZmlsdGVyIG5hbWVz IHRvIGZpbHRlciBzcGVjaWZpY2F0aW9ucy4KKworRWFjaCBlbGVtZW50IHNob3VsZCBsb29rIGxp a2UgKFwiTkFNRVwiIC4gRklMVEVSLUxJU1QpLCB3aGVyZQorRklMVEVSLUxJU1QgaGFzIHRoZSBz YW1lIHN0cnVjdHVyZSBhcyB0aGUgdmFyaWFibGUKK2BpYnVmZmVyLWZpbHRlcmluZy1xdWFsaWZp ZXJzJywgd2hpY2ggc2VlLiBUaGUgZmlsdGVycyBkZWZpbmVkCitoZXJlIGFyZSBqb2luZWQgd2l0 aCBhbiBpbXBsaWNpdCBsb2dpY2FsIGBhbmQnIGFuZCBhc3NvY2lhdGVkCit3aXRoIE5BTUUuIFRo ZSBjb21iaW5lZCBzcGVjaWZpY2F0aW9uIGNhbiBiZSB1c2VkIGJ5IG5hbWUgaW4KK290aGVyIGZp bHRlciBzcGVjaWZpY2F0aW9ucyB2aWEgdGhlIGBzYXZlZCcgcXVhbGlmaWVyIChhZ2Fpbiwgc2Vl CitgaWJ1ZmZlci1maWx0ZXJpbmctcXVhbGlmaWVycycpLiBUaGV5IGNhbiBhbHNvIGJlIHN3aXRj aGVkIHRvIGJ5CituYW1lIChzZWUgdGhlIGZ1bmN0aW9ucyBgaWJ1ZmZlci1zd2l0Y2gtdG8tc2F2 ZWQtZmlsdGVycycgYW5kCitgaWJ1ZmZlci1zYXZlLWZpbHRlcnMnKS4gVGhlIHZhcmlhYmxlIGBp YnVmZmVyLXNhdmUtd2l0aC1jdXN0b20nCithZmZlY3RzIGhvdyB0aGlzIGluZm9ybWF0aW9uIGlz IHNhdmVkIGZvciBmdXR1cmUgc2Vzc2lvbnMuIFRoaXMKK3ZhcmlhYmxlIGNhbiBiZSBzZXQgZGly ZWN0bHkgZnJvbSBsaXNwIGNvZGUuIgogICA6dHlwZSAnKHJlcGVhdCBzZXhwKQogICA6Z3JvdXAg J2lidWZmZXIpCiAKQEAgLTUzNSwxMyArNTM5LDExIEBAIFRvIGV2YWx1YXRlIGEgZm9ybSB3aXRo b3V0IHZpZXdpbmcgdGhlIGJ1ZmZlciwgc2VlIGBpYnVmZmVyLWRvLWV2YWwnLiIKIAkJCSAgIChp YnVmZmVyLWluY2x1ZGVkLWluLWZpbHRlci1wIGJ1ZiB4KSkKIAkJICAgICAgIChjZHIgZmlsdGVy KSkpKQogICAgICAgKGBzYXZlZAotICAgICAgIChsZXQgKChkYXRhCi0JICAgICAgKGFzc29jIChj ZHIgZmlsdGVyKQotCQkgICAgIGlidWZmZXItc2F2ZWQtZmlsdGVycykpKQorICAgICAgIChsZXQg KChkYXRhIChhc3NvYyAoY2RyIGZpbHRlcikgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSkpCiAJICh1 bmxlc3MgZGF0YQogCSAgIChpYnVmZmVyLWZpbHRlci1kaXNhYmxlIHQpCiAJICAgKGVycm9yICJV bmtub3duIHNhdmVkIGZpbHRlciAlcyIgKGNkciBmaWx0ZXIpKSkKLQkgKGlidWZmZXItaW5jbHVk ZWQtaW4tZmlsdGVycy1wIGJ1ZiAoY2FkciBkYXRhKSkpKQorCSAoaWJ1ZmZlci1pbmNsdWRlZC1p bi1maWx0ZXJzLXAgYnVmIChjZHIgZGF0YSkpKSkKICAgICAgIChfCiAgICAgICAgKHBjYXNlLWxl dCAoKGAoLF90eXBlICxfZGVzYyAsZnVuYykKICAgICAgICAgICAgICAgICAgICAgKGFzc3EgKGNh ciBmaWx0ZXIpIGlidWZmZXItZmlsdGVyaW5nLWFsaXN0KSkpCkBAIC04NDksMTUgKzg1MSwxMiBA QCB0dXJuZWQgaW50byB0d28gc2VwYXJhdGUgZmlsdGVycyBbbmFtZTogZm9vXSBhbmQgW21vZGU6 IGJhci1tb2RlXS4iCiAJCQkJCSAgKGNkciBsaW0pCiAJCQkJCSAgaWJ1ZmZlci1maWx0ZXJpbmct cXVhbGlmaWVycykpKQogICAgICAgKGBzYXZlZAotICAgICAgIChsZXQgKChkYXRhCi0JICAgICAg KGFzc29jIChjZHIgbGltKQotCQkgICAgIGlidWZmZXItc2F2ZWQtZmlsdGVycykpKQorICAgICAg IChsZXQgKChkYXRhIChhc3NvYyAoY2RyIGxpbSkgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSkpCiAJ ICh1bmxlc3MgZGF0YQogCSAgIChpYnVmZmVyLWZpbHRlci1kaXNhYmxlKQogCSAgIChlcnJvciAi VW5rbm93biBzYXZlZCBmaWx0ZXIgJXMiIChjZHIgbGltKSkpCi0JIChzZXRxIGlidWZmZXItZmls dGVyaW5nLXF1YWxpZmllcnMgKGFwcGVuZAotCQkJCQkgICAgKGNhZHIgZGF0YSkKLQkJCQkJICAg IGlidWZmZXItZmlsdGVyaW5nLXF1YWxpZmllcnMpKSkpCisJIChzZXRxIGlidWZmZXItZmlsdGVy aW5nLXF1YWxpZmllcnMKKyAgICAgICAgICAgICAgIChhcHBlbmQgKGNkciBkYXRhKSBpYnVmZmVy LWZpbHRlcmluZy1xdWFsaWZpZXJzKSkpKQogICAgICAgKGBub3QKICAgICAgICAocHVzaCAoY2Ry IGxpbSkKIAkgICAgIGlidWZmZXItZmlsdGVyaW5nLXF1YWxpZmllcnMpKQpAQCAtOTM1LDggKzkz NCw4IEBAIEludGVyYWN0aXZlbHksIHByb21wdCBmb3IgTkFNRSwgYW5kIHVzZSB0aGUgY3VycmVu dCBmaWx0ZXJzLiIKICAgICAgIChyZWFkLWZyb20tbWluaWJ1ZmZlciAiU2F2ZSBjdXJyZW50IGZp bHRlcnMgYXM6ICIpCiAgICAgICBpYnVmZmVyLWZpbHRlcmluZy1xdWFsaWZpZXJzKSkpCiAgIChp YnVmZmVyLWFpZiAoYXNzb2MgbmFtZSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpCi0gICAgICAoc2V0 Y2RyIGl0IChsaXN0IGZpbHRlcnMpKQotICAgIChwdXNoIChsaXN0IG5hbWUgZmlsdGVycykgaWJ1 ZmZlci1zYXZlZC1maWx0ZXJzKSkKKyAgICAgIChzZXRjZHIgaXQgZmlsdGVycykKKyAgICAocHVz aCAoY29ucyBuYW1lIGZpbHRlcnMpIGlidWZmZXItc2F2ZWQtZmlsdGVycykpCiAgIChpYnVmZmVy LW1heWJlLXNhdmUtc3R1ZmYpKQogCiA7OzsjIyNhdXRvbG9hZAotLSAKMi4xMC4wCgoKRnJvbSA2 Mjc0NDRkMDU5ZDg0NWI5MWNjYzQyMDBlYWYxMTg5MThlNzU4NjI0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiAiQ2hyaXN0b3BoZXIgUi4gR2Vub3Zlc2UiIDxnZW5vdmVzZUBjbXUuZWR1 PgpEYXRlOiBNb24sIDI4IE5vdiAyMDE2IDAxOjI5OjA0IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAz LzNdIGlidWZmZXI6IGFkZCBzdXBwb3J0IGZvciBzYXZlZCBmaWx0ZXIgZm9ybWF0IGNoYW5nZSBh bmQKIHRlc3QKCkFzIGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0LCBvbmUgZml4IHRv IHRoZQppbmNvbnNpc3RlbmN5IGluICdpYnVmZmVyLXNhdmUtZmlsdGVycycgaW52b2x2ZXMgc2lt cGxpZnlpbmcKdGhlIGZvcm1hdCBvZiAnaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyB0byByZWR1Y2Ug dGhlIGV4dHJhCm5lc3RpbmcgbGV2ZWwuIFRoaXMgYWRkcyBzb21lIHN1cHBvcnQgZm9yIHRoaXMg dHJhbnNpdGlvbiwKaW5jbHVkaW5nIGEgY3VzdG9taXplIHNldHRlciB0byB0cmFuc3BhcmVudGx5 IHVwZGF0ZSBvbGQKZm9ybWF0IHZhbHVlcyBhbmQgYSBjb21tYW5kIHRvIGNoZWNrIGFuZCByZXBh aXIgdGhlIHNhdmVkCnZhbHVlcyBpZiBkZXNpcmVkLgoKQWxzbyBhZGRlZCBhIHRlc3Qgb2YgJ2li dWZmZXItc2F2ZS1maWx0ZXInLgoKQ2hhbmdlIExvZzoKCiogbGlzcC9pYnVmLWV4dC5lbCAoaWJ1 ZmZlci1zYXZlZC1maWx0ZXJzKTogQWRkIG1vcmUgYWNjdXJhdGUKY3VzdG9taXphdGlvbiB0eXBl IGFuZCB0cmFuc3BhcmVudCBzZXR0ZXIgdG8gYWRqdXN0IG9sZC1mb3JtYXQKdmFsdWVzLgooaWJ1 ZmZlci11cGRhdGUtc2F2ZWQtZmlsdGVycy1mb3JtYXQpOiBVcGRhdGUgb2xkLWZvcm1hdApmb3Ig c2F2ZWQgYnVmZmVyIGRhdGEgdG8gbmV3IGZvcm1hdCB3aXRoIHJlZHVjZWQgbmVzdGluZyBsZXZl bC4KKGlidWZmZXItcmVwYWlyLXNhdmVkLWZpbHRlcnMpOiBBZGQgbmV3IGNvbW1hbmQgdG8gY2hl Y2sgYW5kCnJlcGFpciBzYXZlZCBmaWx0ZXJzIGZvcm1hdC4KKGlidWZmZXItb2xkLXNhdmVkLWZp bHRlcnMtd2FybmluZyk6IEFkZCBuZXcgdmFyaWFibGUgd2l0aApjbGlja2FibGUgbWVzc2FnZSB3 aXRoIHJlcGFpciBvcHRpb25zIHRvIGJlIGRpc3BsYXllZAphcyBhIHdhcm5pbmcgaWYgJ2lidWZm ZXItcmVwYWlyLXNhdmVkLWZpbHRlcnMnIGRldGVjdHMKYSBmb3JtYXQgbWlzbWF0Y2guCiogdGVz dC9saXNwL2lidWZmZXItdGVzdHMuZWwgKGlidWZmZXItc2F2ZS1maWx0ZXJzKTogQWRkCmEgdGVz dCB0aGF0IGZpbHRlcnMgYXJlIHNhdmVkIGluIHRoZSBwcm9wZXIgZm9ybWF0LgotLS0KIGxpc3Av aWJ1Zi1leHQuZWwgICAgICAgICAgIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQogdGVzdC9saXNwL2lidWZmZXItdGVzdHMuZWwgfCAyOSArKysrKysr KysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9pYnVmLWV4dC5lbCBiL2xpc3AvaWJ1Zi1leHQuZWwKaW5k ZXggZTRhN2RmYS4uZDFiZjU3NiAxMDA2NDQKLS0tIGEvbGlzcC9pYnVmLWV4dC5lbAorKysgYi9s aXNwL2lidWYtZXh0LmVsCkBAIC0zNSw3ICszNSw4IEBACiAKIChldmFsLXdoZW4tY29tcGlsZQog ICAocmVxdWlyZSAnaWJ1Zi1tYWNzKQotICAocmVxdWlyZSAnY2wtbGliKSkKKyAgKHJlcXVpcmUg J2NsLWxpYikKKyAgKHJlcXVpcmUgJ3N1YnIteCkpCiAKIDs7OyBVdGlsaXR5IGZ1bmN0aW9ucwog KGRlZnVuIGlidWZmZXItZGVsZXRlLWFsaXN0IChrZXkgYWxpc3QpCkBAIC0xMTksNiArMTIwLDI2 IEBAIEJ1ZmZlcnMgd2hvc2UgbWFqb3IgbW9kZSBpcyBpbiB0aGlzIGxpc3QsIGFyZSBub3Qgc2Vh cmNoZWQuIgogCiAoZGVmdmFyIGlidWZmZXItYXV0by1idWZmZXJzLWNoYW5nZWQgbmlsKQogCiso ZGVmdW4gaWJ1ZmZlci11cGRhdGUtc2F2ZWQtZmlsdGVycy1mb3JtYXQgKGZpbHRlcnMpCisgICJU cmFuc2Zvcm1zIGFsaXN0IGZyb20gb2xkIHRvIG5ldyBgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzJyBm b3JtYXQuCisKK1NwZWNpZmljYWxseSwgY29udmVydHMgb2xkLWZvcm1hdCBhbGlzdCB3aXRoIHZh bHVlcyBvZiB0aGUKK2Zvcm0gKFNUUklORyAoRklMVEVSLVNQRUNTLi4uKSkgdG8gYWxpc3Qgd2l0 aCB2YWx1ZXMgb2YgdGhlCitmb3JtIChTVFJJTkcgRklMVEVSLVNQRUNTLi4uKSwgd2hlcmUgZWFj aCBmaWx0ZXIgc3BlYyBzaG91bGQgYmUgYQorY29ucyBjZWxsIHdpdGggYSBzeW1ib2wgaW4gdGhl IGNhci4gQW55IGVsZW1lbnRzIGluIHRoZSBsYXR0ZXIKK2Zvcm0gYXJlIGtlcHQgYXMgaXMuCisK K1JldHVybnMgKE9MRC1GT1JNQVQtREVURUNURUQgLiBVUERBVEVELVNBVkVELUZJTFRFUlMtTElT VCkuIgorICAod2hlbiBmaWx0ZXJzCisgICAgKGxldCogKChvbGQtZm9ybWF0LWRldGVjdGVkIG5p bCkKKyAgICAgICAgICAgKGZpeC1maWx0ZXIgKGxhbWJkYSAoZmlsdGVyLXNwZWMpCisgICAgICAg ICAgICAgICAgICAgICAgICAgKGlmIChzeW1ib2xwIChjYXIgKGNhZHIgZmlsdGVyLXNwZWMpKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyLXNwZWMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIChzZXRxIG9sZC1mb3JtYXQtZGV0ZWN0ZWQgdCkgOyBzaWRlLWVmZmVjdAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgKGNhciBmaWx0ZXItc3BlYykgKGNhZHIg ZmlsdGVyLXNwZWMpKSkpKQorICAgICAgICAgICAoZml4ZWQgKG1hcGNhciBmaXgtZmlsdGVyIGZp bHRlcnMpKSkKKyAgICAgIChjb25zIG9sZC1mb3JtYXQtZGV0ZWN0ZWQgZml4ZWQpKSkpCisKIChk ZWZjdXN0b20gaWJ1ZmZlci1zYXZlZC1maWx0ZXJzICcoKCJnbnVzIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKG9yIChtb2RlIC4gbWVzc2FnZS1tb2RlKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlIC4gbWFpbC1tb2RlKQpAQCAtMTQ2 LDkgKzE2Nyw1MyBAQCBuYW1lIChzZWUgdGhlIGZ1bmN0aW9ucyBgaWJ1ZmZlci1zd2l0Y2gtdG8t c2F2ZWQtZmlsdGVycycgYW5kCiBgaWJ1ZmZlci1zYXZlLWZpbHRlcnMnKS4gVGhlIHZhcmlhYmxl IGBpYnVmZmVyLXNhdmUtd2l0aC1jdXN0b20nCiBhZmZlY3RzIGhvdyB0aGlzIGluZm9ybWF0aW9u IGlzIHNhdmVkIGZvciBmdXR1cmUgc2Vzc2lvbnMuIFRoaXMKIHZhcmlhYmxlIGNhbiBiZSBzZXQg ZGlyZWN0bHkgZnJvbSBsaXNwIGNvZGUuIgotICA6dHlwZSAnKHJlcGVhdCBzZXhwKQorICA6dmVy c2lvbiAiMjYuMSIKKyAgOnR5cGUgJyhhbGlzdCA6a2V5LXR5cGUgKHN0cmluZyA6dGFnICJGaWx0 ZXIgbmFtZSIpCisgICAgICAgICAgICAgICAgOnZhbHVlLXR5cGUgKHJlcGVhdCA6dGFnICJGaWx0 ZXIgc3BlY2lmaWNhdGlvbiIgc2V4cCkpCisgIDpzZXQgKGxhbWJkYSAoc3ltYm9sIHZhbHVlKQor ICAgICAgICAgOzsgSnVzdCBzZXQtZGVmYXVsdCBidXQgdXBkYXRlIGxlZ2FjeSBvbGQtc3R5bGUg Zm9ybWF0CisgICAgICAgICAoc2V0LWRlZmF1bHQgc3ltYm9sIChjZHIgKGlidWZmZXItdXBkYXRl LXNhdmVkLWZpbHRlcnMtZm9ybWF0IHZhbHVlKSkpKQogICA6Z3JvdXAgJ2lidWZmZXIpCiAKKyhk ZWZ2YXIgaWJ1ZmZlci1vbGQtc2F2ZWQtZmlsdGVycy13YXJuaW5nCisgIChjb25jYXQgIkRlcHJl Y2F0ZWQgZm9ybWF0IGRldGVjdGVkIGZvciB2YXJpYWJsZSBgaWJ1ZmZlci1zYXZlZC1maWx0ZXJz Jy4KKworVGhlIGZvcm1hdCBoYXMgYmVlbiByZXBhaXJlZCBhbmQgdGhlIHZhcmlhYmxlIG1vZGlm aWVkIGFjY29yZGluZ2x5LgorWW91IGNhbiBzYXZlIHRoZSBjdXJyZW50IHZhbHVlIHRocm91Z2gg dGhlIGN1c3RvbWl6ZSBzeXN0ZW0gYnkKK2VpdGhlciBjbGlja2luZyBvciBoaXR0aW5nIHJldHVy biAiCisgICAgICAgICAgKG1ha2UtdGV4dC1idXR0b24KKyAgICAgICAgICAgImhlcmUiIG5pbAor ICAgICAgICAgICAnZmFjZSAnKDp3ZWlnaHQgYm9sZCA6aW5oZXJpdCBidXR0b24pCisgICAgICAg ICAgICdtb3VzZS1mYWNlICcoOndlaWdodCBub3JtYWwgOmJhY2tncm91bmQgImdyYXk1MCIgOmlu aGVyaXQgYnV0dG9uKQorICAgICAgICAgICAnZm9sbG93LWxpbmsgdAorICAgICAgICAgICAnaGVs cC1lY2hvICJDbGljayBvciBSRVQ6IHNhdmUgbmV3IHZhbHVlIGluIGN1c3RvbWl6ZSIKKyAgICAg ICAgICAgJ2FjdGlvbiAobGFtYmRhIChfKQorICAgICAgICAgICAgICAgICAgICAgKGlmIChub3Qg KGZib3VuZHAgJ2N1c3RvbWl6ZS1zYXZlLXZhcmlhYmxlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAobWVzc2FnZSAiQ3VzdG9taXplIG5vdCBhdmFpbGFibGU7IHZhbHVlIG5vdCBzYXZlZCIp CisgICAgICAgICAgICAgICAgICAgICAgIChjdXN0b21pemUtc2F2ZS12YXJpYWJsZSAnaWJ1ZmZl ci1zYXZlZC1maWx0ZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpYnVmZmVyLXNhdmVkLWZpbHRlcnMpCisgICAgICAgICAgICAgICAgICAgICAgICht ZXNzYWdlICJTYXZlZCB1cGRhdGVkIGlidWZmZXItc2F2ZWQtZmlsdGVycy4iKSkpKQorICAgICAg ICAgICIuIFNlZSBiZWxvdyBmb3IKK2FuIGV4cGxhbmF0aW9uIGFuZCBhbHRlcm5hdGl2ZSB3YXlz IHRvIHNhdmUgdGhlIHJlcGFpcmVkIHZhbHVlLgorCitFeHBsYW5hdGlvbjogRm9yIHRoZSBsaXN0 IHZhcmlhYmxlIGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnLAorZWxlbWVudHMgb2YgdGhlIGZvcm0g KFNUUklORyAoRklMVEVSLVNQRUNTLi4uKSkgYXJlIGRlcHJlY2F0ZWQKK2FuZCBzaG91bGQgaW5z dGVhZCBoYXZlIHRoZSBmb3JtIChTVFJJTkcgRklMVEVSLVNQRUNTLi4uKSwgd2hlcmUKK2VhY2gg ZmlsdGVyIHNwZWMgaXMgYSBjb25zIGNlbGwgd2l0aCBhIHN5bWJvbCBpbiB0aGUgY2FyLiBTZWUK K2BpYnVmZmVyLXNhdmVkLWZpbHRlcnMnIGZvciBkZXRhaWxzLiBUaGUgcmVwYWlyZWQgdmFsdWUg Zml4ZXMKK3RoaXMgZm9ybWF0IHdpdGhvdXQgY2hhbmdpbmcgdGhlIG1lYW5pbmcgb2YgdGhlIHNh dmVkIGZpbHRlcnMuCisKK0FsdGVybmF0aXZlIHdheXMgdG8gc2F2ZSB0aGUgcmVwYWlyZWQgdmFs dWU6CisKKyAgMS4gRG8gTS14IGN1c3RvbWl6ZS12YXJpYWJsZSBhbmQgZW50ZXJpbmcgYGlidWZm ZXItc2F2ZWQtZmlsdGVycycKKyAgICAgd2hlbiBwcm9tcHRlZC4KKworICAyLiBTZXQgdGhlIHVw ZGF0ZWQgdmFsdWUgbWFudWFsbHkgYnkgY29weWluZyB0aGUKKyAgICAgZm9sbG93aW5nIGVtYWNz LWxpc3AgZm9ybSB0byB5b3VyIGVtYWNzIGluaXQgZmlsZS4KKworJXMKKyIpKQorCiAoZGVmdmFy IGlidWZmZXItZmlsdGVyaW5nLXF1YWxpZmllcnMgbmlsCiAgICJBIGxpc3QgbGlrZSAoU1lNQk9M IC4gUVVBTElGSUVSKSB3aGljaCBmaWx0ZXJzIHRoZSBjdXJyZW50IGJ1ZmZlciBsaXN0LgogU2Vl IGFsc28gYGlidWZmZXItZmlsdGVyaW5nLWFsaXN0Jy4iKQpAQCAtMjI4LDYgKzI5MywyOCBAQCBD dXJyZW50bHksIHRoaXMgb25seSBhcHBsaWVzIHRvIGBpYnVmZmVyLXNhdmVkLWZpbHRlcnMnIGFu ZAogICA6dHlwZSAnYm9vbGVhbgogICA6Z3JvdXAgJ2lidWZmZXIpCiAKKyhkZWZ1biBpYnVmZmVy LXJlcGFpci1zYXZlZC1maWx0ZXJzICgpCisgICJVcGRhdGVzIGBpYnVmZmVyLXNhdmVkLWZpbHRl cnMnIHRvIGl0cyBuZXctc3R5bGUgZm9ybWF0LCBpZiBuZWVkZWQuCisKK0lmIHRoaXMgbGlzdCBo YXMgYW55IGVsZW1lbnRzIG9mIHRoZSBvbGQtc3R5bGUgZm9ybWF0LCBhCitkZXByZWNhdGlvbiB3 YXJuaW5nIGlzIHJhaXNlZCwgd2l0aCBhIGJ1dHRvbiBhbGxvd2luZyBwZXJzaXN0ZW50Cit1cGRh dGUuIEFueSB1cGRhdGVkIGZpbHRlcnMgcmV0YWluIHRoZWlyIG1lYW5pbmcgaW4gdGhlIG5ldwor Zm9ybWF0LiBTZWUgYGlidWZmZXItdXBkYXRlLXNhdmVkLWZpbHRlcnMtZm9ybWF0JyBhbmQKK2Bp YnVmZmVyLXNhdmVkLWZpbHRlcnMnIGZvciBkZXRhaWxzIG9mIHRoZSBvbGQgYW5kIG5ldyBmb3Jt YXRzLiIKKyAgKGludGVyYWN0aXZlKQorICAod2hlbiAoYW5kIChib3VuZHAgJ2lidWZmZXItc2F2 ZWQtZmlsdGVycykgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKQorICAgIChsZXQgKChmaXhlZCAoaWJ1 ZmZlci11cGRhdGUtc2F2ZWQtZmlsdGVycy1mb3JtYXQgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSkp CisgICAgICAocHJvZzEKKyAgICAgICAgICAoc2V0cSBpYnVmZmVyLXNhdmVkLWZpbHRlcnMgKGNk ciBmaXhlZCkpCisgICAgICAgICh3aGVuLWxldCAob2xkLWZvcm1hdC1kZXRlY3RlZCAoY2FyIGZp eGVkKSkKKyAgICAgICAgICAobGV0ICgod2FybmluZy1zZXJpZXMgdCkKKyAgICAgICAgICAgICAg ICAodXBkYXRlZC1mb3JtCisgICAgICAgICAgICAgICAgICh3aXRoLW91dHB1dC10by1zdHJpbmcK KyAgICAgICAgICAgICAgICAgICAocHAgYChzZXRxIGlidWZmZXItc2F2ZWQtZmlsdGVycyAnLGli dWZmZXItc2F2ZWQtZmlsdGVycykpKSkpCisgICAgICAgICAgICAoZGlzcGxheS13YXJuaW5nCisg ICAgICAgICAgICAgJ2lidWZmZXIKKyAgICAgICAgICAgICAoZm9ybWF0IGlidWZmZXItb2xkLXNh dmVkLWZpbHRlcnMtd2FybmluZyB1cGRhdGVkLWZvcm0pKSkpKSkpKQorCiAoZGVmdW4gaWJ1ZmZl ci1leHQtdmlzaWJsZS1wIChidWYgYWxsICZvcHRpb25hbCBpYnVmZmVyLWJ1ZikKICAgKG9yCiAg ICAoaWJ1ZmZlci1idWYtbWF0Y2hlcy1wcmVkaWNhdGVzIGJ1ZiBpYnVmZmVyLXRtcC1zaG93LXJl Z2V4cHMpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvaWJ1ZmZlci10ZXN0cy5lbCBiL3Rlc3QvbGlz cC9pYnVmZmVyLXRlc3RzLmVsCmluZGV4IDNhNGRlZjMuLjZkNTE4N2EgMTAwNjQ0Ci0tLSBhL3Rl c3QvbGlzcC9pYnVmZmVyLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9pYnVmZmVyLXRlc3RzLmVs CkBAIC02Niw1ICs2NiwzNCBAQAogICAgICAgKG1hcGMgKGxhbWJkYSAoYnVmKSAod2hlbiAoYnVm ZmVyLWxpdmUtcCBidWYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtpbGwtYnVmZmVy IGJ1ZikpKSAobGlzdCBidWYxIGJ1ZjIpKSkpKQogCisoZXJ0LWRlZnRlc3QgaWJ1ZmZlci1zYXZl LWZpbHRlcnMgKCkKKyAgIlRlc3RzIHRoYXQgYGlidWZmZXItc2F2ZS1maWx0ZXJzJyBzYXZlcyBp biB0aGUgcHJvcGVyIGZvcm1hdC4iCisgIChza2lwLXVubGVzcyAoZmVhdHVyZXAgJ2lidWYtZXh0 KSkKKyAgKGxldCAoKGlidWZmZXItc2F2ZS13aXRoLWN1c3RvbSBuaWwpCisgICAgICAgIChpYnVm ZmVyLXNhdmVkLWZpbHRlcnMgbmlsKQorICAgICAgICAodGVzdDEgJygobW9kZSAuIG9yZy1tb2Rl KQorICAgICAgICAgICAgICAgICAob3IgKHNpemUtZ3QgLiAxMDAwMCkKKyAgICAgICAgICAgICAg ICAgICAgIChhbmQgKG5vdCAoc3RhcnJlZC1uYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgKGRpcmVjdG9yeSAuICJcPG9yZ1w+IikpKSkpCisgICAgICAgICh0ZXN0MiAnKChvciAobW9k ZSAuIGVtYWNzLWxpc3AtbW9kZSkgKGZpbGUtZXh0ZW5zaW9uIC4gImVsYz8iKQorICAgICAgICAg ICAgICAgICAgICAgKGFuZCAoc3RhcnJlZC1uYW1lKSAobmFtZSAuICJlbGlzcCIpKQorICAgICAg ICAgICAgICAgICAgICAgKG1vZGUgLiBsaXNwLWludGVyYWN0aW9uLW1vZGUpKSkpCisgICAgICAg ICh0ZXN0MyAnKChzaXplLWx0IC4gMTAwKSAoZGVyaXZlZC1tb2RlIC4gcHJvZy1tb2RlKQorICAg ICAgICAgICAgICAgICAob3IgKGZpbGVuYW1lIC4gInNjcmF0Y2giKQorICAgICAgICAgICAgICAg ICAgICAgKGZpbGVuYW1lIC4gImJvbnoiKQorICAgICAgICAgICAgICAgICAgICAgKGZpbGVuYW1l IC4gInRlbXAiKSkpKSkKKyAgICAoaWJ1ZmZlci1zYXZlLWZpbHRlcnMgInRlc3QxIiB0ZXN0MSkK KyAgICAoc2hvdWxkIChlcXVhbCAoY2FyIGlidWZmZXItc2F2ZWQtZmlsdGVycykgKGNvbnMgInRl c3QxIiB0ZXN0MSkpKQorICAgIChpYnVmZmVyLXNhdmUtZmlsdGVycyAidGVzdDIiIHRlc3QyKQor ICAgIChzaG91bGQgKGVxdWFsIChjYXIgaWJ1ZmZlci1zYXZlZC1maWx0ZXJzKSAoY29ucyAidGVz dDIiIHRlc3QyKSkpCisgICAgKHNob3VsZCAoZXF1YWwgKGNhZHIgaWJ1ZmZlci1zYXZlZC1maWx0 ZXJzKSAoY29ucyAidGVzdDEiIHRlc3QxKSkpCisgICAgKGlidWZmZXItc2F2ZS1maWx0ZXJzICJ0 ZXN0MyIgdGVzdDMpCisgICAgKHNob3VsZCAoZXF1YWwgKGNhciBpYnVmZmVyLXNhdmVkLWZpbHRl cnMpIChjb25zICJ0ZXN0MyIgdGVzdDMpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoY2FkciBpYnVm ZmVyLXNhdmVkLWZpbHRlcnMpIChjb25zICJ0ZXN0MiIgdGVzdDIpKSkKKyAgICAoc2hvdWxkIChl cXVhbCAoY2FyIChjZGRyIGlidWZmZXItc2F2ZWQtZmlsdGVycykpIChjb25zICJ0ZXN0MSIgdGVz dDEpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoY2RyIChhc3NvYyAidGVzdDEiIGlidWZmZXItc2F2 ZWQtZmlsdGVycykpIHRlc3QxKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoY2RyIChhc3NvYyAidGVz dDIiIGlidWZmZXItc2F2ZWQtZmlsdGVycykpIHRlc3QyKSkKKyAgICAoc2hvdWxkIChlcXVhbCAo Y2RyIChhc3NvYyAidGVzdDMiIGlidWZmZXItc2F2ZWQtZmlsdGVycykpIHRlc3QzKSkpKQorCiAo cHJvdmlkZSAnaWJ1ZmZlci10ZXN0cykKIDs7IGlidWZmZXItdGVzdHMuZWwgZW5kcyBoZXJlCi0t IAoyLjEwLjAKCg== --001a1143d8306d74640542873f18-- From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 30 21:52:14 2016 Received: (at 25049) by debbugs.gnu.org; 1 Dec 2016 02:52:14 +0000 Received: from localhost ([127.0.0.1]:47958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cCHTp-0003qA-T9 for submit@debbugs.gnu.org; Wed, 30 Nov 2016 21:52:14 -0500 Received: from mail-pg0-f67.google.com ([74.125.83.67]:35634) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cCHTo-0003px-Hp for 25049@debbugs.gnu.org; Wed, 30 Nov 2016 21:52:13 -0500 Received: by mail-pg0-f67.google.com with SMTP id p66so3079861pga.2 for <25049@debbugs.gnu.org>; Wed, 30 Nov 2016 18:52:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=DDKbG1X+mPTUPEw4KbJHTFj7M7LDphVEpI3ugwv/mas=; b=0dvdOmS8tnOhfQkYQZthQNm2NoGhUNUlX+BYQWmBU1C8g/6bJa2VoYbRhhjsbgrcBl 4Xo2lpPHHmVzj+VxBL0FGrXv9xR5nBgzsMdH4hvr6T9IZ3H6s5LyqrLF0yVCkWGb6x2U AChedRgWeY3wihrSNwuZ/GnTsAFj6PQwPzHBDpHoZE6v2j0jRPJfc/12sXUCGQRS7tFu pP/LZhXaEZlzKkrJqzdZZjXG2hlYXuolHXXyaXR1p2ng7Bw7Krx8Qekfkra1h2CZDNKV 4vBcep2dP6Li4e6+CgEZzdF8IneZoVN2WVTr7jdjP6o42vNiaAaE1J7+xSEtkDwCwc46 jTRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=DDKbG1X+mPTUPEw4KbJHTFj7M7LDphVEpI3ugwv/mas=; b=amaPEBTpLVHByy8mwqq4jVYowzvw2QaAFiXcoiFtDgtbumcFRs5uL65LMTbSheMBBe kvjP0R+zMW+ewGQ7/SzuIkFdQfaybgifpsTy0oO8H1yg4oelC0GSa/t8Xn20amfOXodr vVPm17fjR3W6ALqHLNemwsVObytukwDobjuLMAGQA/JXJRF0qI8BGxd700/aEyFYB2Oh eK5s8IOUVAoZku8TPL3AO3i1F7hhbOrVa24mBxjPjj3BA0hsJuJExxfm/y3e0f4MDviK vuQJODnGEHXPEqerXBEISmRWk0kFg9wGD0gaftfpY1eqekaAaJbFsfgNWc9rfkS/fA2O rz1A== X-Gm-Message-State: AKaTC02Bq1N6j+A3PiI1ueOvK17tPiHofx9eu7EWnAYL34kP0HaubdeIx0Fm3PvdQgF6yg== X-Received: by 10.99.54.140 with SMTP id d134mr64910688pga.132.1480560726525; Wed, 30 Nov 2016 18:52:06 -0800 (PST) Received: from calancha-pc ([192.51.223.21]) by smtp.gmail.com with ESMTPSA id o26sm105770469pfk.91.2016.11.30.18.52.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 30 Nov 2016 18:52:06 -0800 (PST) From: Tino Calancha To: Christopher Genovese Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> <87d1hd8n6q.fsf@gmail.com> <87twapgiy6.fsf@users.sourceforge.net> <87d1hdf1rq.fsf@gmail.com> Date: Thu, 01 Dec 2016 11:52:01 +0900 In-Reply-To: (Christopher Genovese's message of "Wed, 30 Nov 2016 11:31:55 -0500") Message-ID: <8737i8uzse.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 25049 Cc: 25049@debbugs.gnu.org, Tino Calancha , npostavs@users.sourceforge.net 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: -0.0 (/) Christopher Genovese writes: > Thanks, Noa and Tino. > > Tino, I noticed that in the patch you just sent in email the '?' on > old-format-detected was still there. The rest looked fine > on first glance, but you might want to edit that. > > Alternatively, just in case it helps, I've attached a patch like the others > that drops the help-mode change, changes the b argument to _ to indicate > unused, and drops the names and dates from before the Change Logs -- while > keeping Tino's other suggested changes intact. Thank you very much. I have updated the target patch with your latest changes: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >From b63c1ab39ad8d1d4edb290707373d769c08b55a9 Mon Sep 17 00:00:00 2001 From: Christopher Genovese Date: Thu, 1 Dec 2016 11:43:20 +0900 Subject: [PATCH] ibuffer-saved-filters: Remove extra nesting level * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra nesting level; add transparent setter to adjust old-format values; update doc string. (ibuffer-save-filters): Remove extra level of nesting in ibuffer-saved-filters values when saving new filters (Bug#25049). (ibuffer-old-saved-filters-warning): New variable with clickable message with repair options to be displayed as a warning if 'ibuffer-repair-saved-filters' detects a format mismatch. (ibuffer-repair-saved-filters): Add new command to check and repair saved filters format. (ibuffer-included-in-filter-p, ibuffer-decompose-filter): Change access of saved filter data (cadr->cdr) to account for reduced nesting. * test/lisp/ibuffer-tests.el (ibuffer-save-filters): New test; check that filters are saved in the proper format. --- lisp/ibuf-ext.el | 156 +++++++++++++++++++++++++++++++++++---------- test/lisp/ibuffer-tests.el | 29 +++++++++ 2 files changed, 150 insertions(+), 35 deletions(-) diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 5ef0746..d1bf576 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -35,7 +35,8 @@ (eval-when-compile (require 'ibuf-macs) - (require 'cl-lib)) + (require 'cl-lib) + (require 'subr-x)) ;;; Utility functions (defun ibuffer-delete-alist (key alist) @@ -119,32 +120,100 @@ ibuffer-tmp-show-regexps (defvar ibuffer-auto-buffers-changed nil) -(defcustom ibuffer-saved-filters '(("gnus" - ((or (mode . message-mode) - (mode . mail-mode) - (mode . gnus-group-mode) - (mode . gnus-summary-mode) - (mode . gnus-article-mode)))) - ("programming" - ((or (mode . emacs-lisp-mode) - (mode . cperl-mode) - (mode . c-mode) - (mode . java-mode) - (mode . idl-mode) - (mode . lisp-mode))))) - - "An alist of filter qualifiers to switch between. +(defun ibuffer-update-saved-filters-format (filters) + "Transforms alist from old to new `ibuffer-saved-filters' format. + +Specifically, converts old-format alist with values of the +form (STRING (FILTER-SPECS...)) to alist with values of the +form (STRING FILTER-SPECS...), where each filter spec should be a +cons cell with a symbol in the car. Any elements in the latter +form are kept as is. + +Returns (OLD-FORMAT-DETECTED . UPDATED-SAVED-FILTERS-LIST)." + (when filters + (let* ((old-format-detected nil) + (fix-filter (lambda (filter-spec) + (if (symbolp (car (cadr filter-spec))) + filter-spec + (setq old-format-detected t) ; side-effect + (cons (car filter-spec) (cadr filter-spec))))) + (fixed (mapcar fix-filter filters))) + (cons old-format-detected fixed)))) -This variable should look like ((\"STRING\" QUALIFIERS) - (\"STRING\" QUALIFIERS) ...), where -QUALIFIERS is a list of the same form as -`ibuffer-filtering-qualifiers'. -See also the variables `ibuffer-filtering-qualifiers', -`ibuffer-filtering-alist', and the functions -`ibuffer-switch-to-saved-filters', `ibuffer-save-filters'." - :type '(repeat sexp) +(defcustom ibuffer-saved-filters '(("gnus" + (or (mode . message-mode) + (mode . mail-mode) + (mode . gnus-group-mode) + (mode . gnus-summary-mode) + (mode . gnus-article-mode))) + ("programming" + (or (mode . emacs-lisp-mode) + (mode . cperl-mode) + (mode . c-mode) + (mode . java-mode) + (mode . idl-mode) + (mode . lisp-mode)))) + + "An alist mapping saved filter names to filter specifications. + +Each element should look like (\"NAME\" . FILTER-LIST), where +FILTER-LIST has the same structure as the variable +`ibuffer-filtering-qualifiers', which see. The filters defined +here are joined with an implicit logical `and' and associated +with NAME. The combined specification can be used by name in +other filter specifications via the `saved' qualifier (again, see +`ibuffer-filtering-qualifiers'). They can also be switched to by +name (see the functions `ibuffer-switch-to-saved-filters' and +`ibuffer-save-filters'). The variable `ibuffer-save-with-custom' +affects how this information is saved for future sessions. This +variable can be set directly from lisp code." + :version "26.1" + :type '(alist :key-type (string :tag "Filter name") + :value-type (repeat :tag "Filter specification" sexp)) + :set (lambda (symbol value) + ;; Just set-default but update legacy old-style format + (set-default symbol (cdr (ibuffer-update-saved-filters-format value)))) :group 'ibuffer) +(defvar ibuffer-old-saved-filters-warning + (concat "Deprecated format detected for variable `ibuffer-saved-filters'. + +The format has been repaired and the variable modified accordingly. +You can save the current value through the customize system by +either clicking or hitting return " + (make-text-button + "here" nil + 'face '(:weight bold :inherit button) + 'mouse-face '(:weight normal :background "gray50" :inherit button) + 'follow-link t + 'help-echo "Click or RET: save new value in customize" + 'action (lambda (_) + (if (not (fboundp 'customize-save-variable)) + (message "Customize not available; value not saved") + (customize-save-variable 'ibuffer-saved-filters + ibuffer-saved-filters) + (message "Saved updated ibuffer-saved-filters.")))) + ". See below for +an explanation and alternative ways to save the repaired value. + +Explanation: For the list variable `ibuffer-saved-filters', +elements of the form (STRING (FILTER-SPECS...)) are deprecated +and should instead have the form (STRING FILTER-SPECS...), where +each filter spec is a cons cell with a symbol in the car. See +`ibuffer-saved-filters' for details. The repaired value fixes +this format without changing the meaning of the saved filters. + +Alternative ways to save the repaired value: + + 1. Do M-x customize-variable and entering `ibuffer-saved-filters' + when prompted. + + 2. Set the updated value manually by copying the + following emacs-lisp form to your emacs init file. + +%s +")) + (defvar ibuffer-filtering-qualifiers nil "A list like (SYMBOL . QUALIFIER) which filters the current buffer list. See also `ibuffer-filtering-alist'.") @@ -224,6 +293,28 @@ ibuffer-save-with-custom :type 'boolean :group 'ibuffer) +(defun ibuffer-repair-saved-filters () + "Updates `ibuffer-saved-filters' to its new-style format, if needed. + +If this list has any elements of the old-style format, a +deprecation warning is raised, with a button allowing persistent +update. Any updated filters retain their meaning in the new +format. See `ibuffer-update-saved-filters-format' and +`ibuffer-saved-filters' for details of the old and new formats." + (interactive) + (when (and (boundp 'ibuffer-saved-filters) ibuffer-saved-filters) + (let ((fixed (ibuffer-update-saved-filters-format ibuffer-saved-filters))) + (prog1 + (setq ibuffer-saved-filters (cdr fixed)) + (when-let (old-format-detected (car fixed)) + (let ((warning-series t) + (updated-form + (with-output-to-string + (pp `(setq ibuffer-saved-filters ',ibuffer-saved-filters))))) + (display-warning + 'ibuffer + (format ibuffer-old-saved-filters-warning updated-form)))))))) + (defun ibuffer-ext-visible-p (buf all &optional ibuffer-buf) (or (ibuffer-buf-matches-predicates buf ibuffer-tmp-show-regexps) @@ -535,13 +626,11 @@ ibuffer-included-in-filter-p-1 (ibuffer-included-in-filter-p buf x)) (cdr filter)))) (`saved - (let ((data - (assoc (cdr filter) - ibuffer-saved-filters))) + (let ((data (assoc (cdr filter) ibuffer-saved-filters))) (unless data (ibuffer-filter-disable t) (error "Unknown saved filter %s" (cdr filter))) - (ibuffer-included-in-filters-p buf (cadr data)))) + (ibuffer-included-in-filters-p buf (cdr data)))) (_ (pcase-let ((`(,_type ,_desc ,func) (assq (car filter) ibuffer-filtering-alist))) @@ -849,15 +938,12 @@ ibuffer-decompose-filter (cdr lim) ibuffer-filtering-qualifiers))) (`saved - (let ((data - (assoc (cdr lim) - ibuffer-saved-filters))) + (let ((data (assoc (cdr lim) ibuffer-saved-filters))) (unless data (ibuffer-filter-disable) (error "Unknown saved filter %s" (cdr lim))) - (setq ibuffer-filtering-qualifiers (append - (cadr data) - ibuffer-filtering-qualifiers)))) + (setq ibuffer-filtering-qualifiers + (append (cdr data) ibuffer-filtering-qualifiers)))) (`not (push (cdr lim) ibuffer-filtering-qualifiers)) @@ -936,7 +1022,7 @@ ibuffer-save-filters ibuffer-filtering-qualifiers))) (ibuffer-aif (assoc name ibuffer-saved-filters) (setcdr it filters) - (push (list name filters) ibuffer-saved-filters)) + (push (cons name filters) ibuffer-saved-filters)) (ibuffer-maybe-save-stuff)) ;;;###autoload diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el index 3a4def3..6d5187a 100644 --- a/test/lisp/ibuffer-tests.el +++ b/test/lisp/ibuffer-tests.el @@ -66,5 +66,34 @@ (mapc (lambda (buf) (when (buffer-live-p buf) (kill-buffer buf))) (list buf1 buf2))))) +(ert-deftest ibuffer-save-filters () + "Tests that `ibuffer-save-filters' saves in the proper format." + (skip-unless (featurep 'ibuf-ext)) + (let ((ibuffer-save-with-custom nil) + (ibuffer-saved-filters nil) + (test1 '((mode . org-mode) + (or (size-gt . 10000) + (and (not (starred-name)) + (directory . "\"))))) + (test2 '((or (mode . emacs-lisp-mode) (file-extension . "elc?") + (and (starred-name) (name . "elisp")) + (mode . lisp-interaction-mode)))) + (test3 '((size-lt . 100) (derived-mode . prog-mode) + (or (filename . "scratch") + (filename . "bonz") + (filename . "temp"))))) + (ibuffer-save-filters "test1" test1) + (should (equal (car ibuffer-saved-filters) (cons "test1" test1))) + (ibuffer-save-filters "test2" test2) + (should (equal (car ibuffer-saved-filters) (cons "test2" test2))) + (should (equal (cadr ibuffer-saved-filters) (cons "test1" test1))) + (ibuffer-save-filters "test3" test3) + (should (equal (car ibuffer-saved-filters) (cons "test3" test3))) + (should (equal (cadr ibuffer-saved-filters) (cons "test2" test2))) + (should (equal (car (cddr ibuffer-saved-filters)) (cons "test1" test1))) + (should (equal (cdr (assoc "test1" ibuffer-saved-filters)) test1)) + (should (equal (cdr (assoc "test2" ibuffer-saved-filters)) test2)) + (should (equal (cdr (assoc "test3" ibuffer-saved-filters)) test3)))) + (provide 'ibuffer-tests) ;; ibuffer-tests.el ends here -- 2.10.2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; In GNU Emacs 26.0.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.4) of 2016-11-30 Repository revision: b63c1ab39ad8d1d4edb290707373d769c08b55a9 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 07 05:56:51 2016 Received: (at 25049-done) by debbugs.gnu.org; 7 Dec 2016 10:56:51 +0000 Received: from localhost ([127.0.0.1]:58868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEZu7-0008TJ-EN for submit@debbugs.gnu.org; Wed, 07 Dec 2016 05:56:51 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:34625) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEZu5-0008T4-FJ for 25049-done@debbugs.gnu.org; Wed, 07 Dec 2016 05:56:49 -0500 Received: by mail-pg0-f66.google.com with SMTP id e9so23131080pgc.1 for <25049-done@debbugs.gnu.org>; Wed, 07 Dec 2016 02:56:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=ryI3gpsbm4gC1LdXP5dHj/eE+6a3swf8mJsX7fO9DM0=; b=YlJfKSrY7Q3A/ovJWFVPfEaOq6CR6clWzhu78xdQlL2m3boA2lDC1kLMZiynBXnilN bOVOBjIFvScUKbdDUMj4+pfwDzotzxieBNcgXlt4Jr/BUntXX94inCeLJlZlpjz/34bW hSkSd/SMArwCDaBDJMUI16k1jMaeUYOHbYWwgWG97PjqEluq1U8BgDtecx5Hj97UsZ5M GXY1RKFn7WlAQnrW+QvQVGnRVonl0w3Zk0+rbTw1Z4R2syvgTd7Ji2lbdZfTP8jDBlrv ZmcGqj96LMlTL7iFJR4x8vWlAMB8DsRZSqAotDCXP3rQycP5IeldAylGy4Q4ml9d+LPl ACPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=ryI3gpsbm4gC1LdXP5dHj/eE+6a3swf8mJsX7fO9DM0=; b=fsXGK9XQFkP3F66WeBAAsyx7rpSW7UqEUBrXvwsfPOtHmSYjaGZwwM+gw6TgYgZUp6 xizKN89SHlSltM1KqSPayI0Ql+cNzPEGwsDlTIz95OHm8ZoJew/Z2V7TPkakpXadRq8u qfLSNNZdIcEoEOviN/0WKpOxyLH7xoG9Ywt2HfY13gd2g6D6lu2R021WaDzE1yEh3skw /rP+PknsaB9bYO80CIm4MOUBZoLnDypPd+umAW3YEmW7mJJCY6G1jbdf8m45oTWMkG/J 5EljVxWF/7g9PQmlihRdY2kPckUDUZRE6X0L5CilLVsFGbJ6A1vNI38SHoidv4HTWbAP aB3g== X-Gm-Message-State: AKaTC03MXjZ68FleGfI87PPEblwjgh2M2JR6YD/A1TFJltnYHR8ktw2kOBd5eXdmRjTI4w== X-Received: by 10.84.192.131 with SMTP id c3mr148144456pld.149.1481108203442; Wed, 07 Dec 2016 02:56:43 -0800 (PST) Received: from calancha-pc (pl676.nas813.p-iwate.nttpc.ne.jp. [124.154.237.164]) by smtp.gmail.com with ESMTPSA id o126sm41785761pga.34.2016.12.07.02.56.41 for <25049-done@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Dec 2016 02:56:42 -0800 (PST) From: Tino Calancha To: 25049-done@debbugs.gnu.org Subject: Re: bug#25049: ibuffer bug when saving existing filter, with patches References: <8737ianx4s.fsf@gmail.com> <8737i9etj1.fsf@gmail.com> <87d1hd8n6q.fsf@gmail.com> Date: Wed, 07 Dec 2016 19:56:39 +0900 In-Reply-To: <87d1hd8n6q.fsf@gmail.com> (Tino Calancha's message of "Wed, 30 Nov 2016 16:02:53 +0900") Message-ID: <87shq0gg7s.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 25049-done 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: -0.0 (/) Tino Calancha writes: > If we don't get further comments to address in 1 week, then let's > push this fix to the master branch. Pushed to master branch as commit 20f5a5b. From unknown Sun Jun 22 04:18:37 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 04 Jan 2017 12:24:04 +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