From unknown Fri Aug 15 16:24:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#28826: 27.0.50; Ibuffer filters should be idempotent Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Oct 2017 02:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 28826 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 28826@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.150794981928566 (code B ref -1); Sat, 14 Oct 2017 02:57:01 +0000 Received: (at submit) by debbugs.gnu.org; 14 Oct 2017 02:56:59 +0000 Received: from localhost ([127.0.0.1]:38634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e3CdH-0007Qg-2t for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:59 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50489) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e3CdF-0007QQ-8M for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e3Cd9-0003iM-5F for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43033) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e3Cd9-0003i4-1n for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:51 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41459) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e3Cd7-0001IT-RA for bug-gnu-emacs@gnu.org; Fri, 13 Oct 2017 22:56:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e3Cd2-0003bB-UK for bug-gnu-emacs@gnu.org; Fri, 13 Oct 2017 22:56:49 -0400 Received: from mail-pf0-x231.google.com ([2607:f8b0:400e:c00::231]:54626) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e3Cd2-0003a9-O8 for bug-gnu-emacs@gnu.org; Fri, 13 Oct 2017 22:56:44 -0400 Received: by mail-pf0-x231.google.com with SMTP id n89so4112409pfk.11 for ; Fri, 13 Oct 2017 19:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=rd3+k+PnX2BIe0C8C0ts4xLtHQQyu0bi9DQY24wS+No=; b=fCLJSfob2tHpaaqrQ0B9gJbr5Rt/2A61XtvI9N5Y0z/gyVmTSfJYX5OuJvIWxCc/ye L9k3D4+6x6vXIs3Ymj9Pz9ozlnL6qGCGDn9FD7at6qa/GmtEOCDxdGvXCf3h35D+DZTF f0o2ZMZ2Kt/bRsjMGnCg9B/O9Od4wpaVFjg/9fWmzlW1BE1t6BsLJA9QPHdZx+7xhdpH 14ShWFuko3uH0hdSmbzBi9UYyHEKXV5VwU9aG3/U8KdPwSQpEmO/Xf9g8jD8GYppWxT0 B/Uyq/CnJzU+MWZxaY7bj5HeyW/EW85p9+QYovvAorXUbhCRuvTnAZHIjI9Su7naEepY b6Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=rd3+k+PnX2BIe0C8C0ts4xLtHQQyu0bi9DQY24wS+No=; b=OQZwvWwnILIPNtAcCJ1EplBeYIpBLHtsH+ItICuCXCdUI9iNO7RMPD3BiObxOpYkPK 3MUIs+mKfBDl0Ba6GNsvnpOKo9U8VmznDA072HMZHC1PYLg3jwnxVV3TISjnv9BbzMbu +eKU3XAy3T4O0xjoz0CLn5o+1CJiRRfEnAXlN1645YnoczHc4l0TGcLF1/pOJrsrJ1QL zHWRxWBkO2qx+t/xL4ss65ALz2WjkNMeOPPIWYHNJ6zFBVfXzEkLPa83XNEmrMbsghiR eDQEU6ja46i4S2vupb17a9G+Fi0jVdFrseEFy+ptgYHQwiS3ywo2OAnucO3I+mERrwmK 8lfw== X-Gm-Message-State: AMCzsaVtw2XYnFFgFCb2J5p13KnZEMG80Rd4rBBST1Zkfi8pJZc9Kur+ YUO9MiZai04wP0hu3f/hJuOfdQ== X-Google-Smtp-Source: AOwi7QAzd9zoGFJAnHKtOTMoXkqooVGlVld/jmcjrf0KdIXCNd5SYB3JXow2fbaUSLHfjN6QLLBpYA== X-Received: by 10.84.248.150 with SMTP id q22mr3068148pll.190.1507949803643; Fri, 13 Oct 2017 19:56:43 -0700 (PDT) Received: from calancha-pc (203.191.218.133.dy.bbexcite.jp. [133.218.191.203]) by smtp.gmail.com with ESMTPSA id u186sm4197082pgb.84.2017.10.13.19.56.41 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 13 Oct 2017 19:56:43 -0700 (PDT) From: Tino Calancha Date: Sat, 14 Oct 2017 11:56:39 +0900 Message-ID: <87mv4u4eu0.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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-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 (----) emacs -Q M-x ibuffer RET /n s RET /n s RET ; again ;; ibuffer-filtering-qualifiers contains twice the filter ;; You can read on top: ;; Ibuffer by recency [buffer name: s] [buffer name: s] --8<-----------------------------cut here---------------start------------->8--- commit d65a5a22981dccc69a6e26cde1e567d109e884b3 Author: Tino Calancha Date: Sat Oct 14 11:30:32 2017 +0900 Make ibuffer filters idempotent * lisp/ibuf-ext.el (ibuffer-push-filter): Check if the filter is already in effect (Bug#28826). * lisp/ibuf-macs.el (define-ibuffer-filter): Report to user if the filter was already enabled. diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 686bc392b6..097a7b3b43 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -1034,7 +1034,8 @@ ibuffer-pop-filter (defun ibuffer-push-filter (filter-specification) "Add FILTER-SPECIFICATION to `ibuffer-filtering-qualifiers'." - (push filter-specification ibuffer-filtering-qualifiers)) + (unless (member filter-specification ibuffer-filtering-qualifiers) + (push filter-specification ibuffer-filtering-qualifiers))) ;;;###autoload (defun ibuffer-decompose-filter () diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el index e0c91e20ed..c30067f2f5 100644 --- a/lisp/ibuf-macs.el +++ b/lisp/ibuf-macs.el @@ -301,12 +301,16 @@ ibuffer-save-marks (defun ,fn-name (qualifier) ,(or documentation "This filter is not documented.") (interactive (list ,reader)) - (ibuffer-push-filter (cons ',name qualifier)) - (message "%s" - (format ,(concat (format "Filter by %s added: " description) - " %s") - qualifier)) - (ibuffer-update nil t)) + (if (null (ibuffer-push-filter (cons ',name qualifier))) + (message "%s" + (format ,(concat (format "Filter by %s already applied: " description) + " %s") + qualifier)) + (message "%s" + (format ,(concat (format "Filter by %s added: " description) + " %s") + qualifier)) + (ibuffer-update nil t))) (push (list ',name ,description (lambda (buf qualifier) (condition-case nil --8<-----------------------------cut here---------------end--------------->8--- In GNU Emacs 27.0.50 (build 16, x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-10-14 Repository revision: 78479a3984047a8153b43571e6b5ebfb674223a4 From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 13 22:57:55 2017 Received: (at control) by debbugs.gnu.org; 14 Oct 2017 02:57:55 +0000 Received: from localhost ([127.0.0.1]:38639 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e3CeB-0007Sd-DS for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:57:55 -0400 Received: from mail-pg0-f52.google.com ([74.125.83.52]:51116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e3CeA-0007SO-3B for control@debbugs.gnu.org; Fri, 13 Oct 2017 22:57:54 -0400 Received: by mail-pg0-f52.google.com with SMTP id y7so2587452pgb.7 for ; Fri, 13 Oct 2017 19:57:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:message-id:to:from:subject; bh=RHPaXQLrG1JxbOE/UvWDAd2dndqjo8IqdSIKjO00plU=; b=tvUWqOdGDpNhwFw7JOCPfwzyihW6iiibM1PpomNhXqhID66+P3u/D1O8qzRPSmdFOA UZj7+sdhoOT/xUlF4lrhRyX79btO65j2NDIOhpOzhh6jYpYqiu0/5G5d0dEYbnoK4LP/ +a0jTx9ikI3g3aMsuqNLjNIbAedYLsfgp9MaNn+OysDRYGXgi1sVu9FHxk2zOLgRDSwg VULq33R3w53DNHn/Slta77R98jVxLXuKVtXLsICa8OzMHltRyFoFsR4uEHIwerWWspSx 7bIrzYldgpUSnsx3dX5IIlB9OP8BKWxAv0RGNsFdmJBX32WQ+QBdrVTerkDkzdVC4IfW xl3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:to:from:subject; bh=RHPaXQLrG1JxbOE/UvWDAd2dndqjo8IqdSIKjO00plU=; b=IeWeMm2qykPbi/Sm2P/VRp+0+CyQmeIIITe7iYJyd37x2yT4zmHjPjjrallQQb/cne oP0hF+qjrJniEG73sHJb2CPEnq04xJ9/Qpk6CjBsc0Up8LrpmfANmMpbaEdyx7kvk0KQ 7LZW8Cqobd+8EmWJN99bO7iq6mEZK2pnlS+SRJ+4SbWSS8YZeslxYA3aShRO/h3Uu+m8 raJF6W6WPbXLVtiw+4TBiIaHbW52CxY3Gu9kQJ3Y6U53dSZxuT1MYZ6ks4Ph+pjeodiv BrgjzZkoWXNySSqlwWI0ZlC4DlT++a50InRHS1lc9BAMtubWOg5e9K7R88m8YlOoTpUH bg3w== X-Gm-Message-State: AMCzsaUmnoXrxlb8LGKomvL1lhn0wBm0P+iztgynfBeBIMh3vSwlyhdX 1qyHKkt/M+sOkcZytEZB8AJbLw== X-Google-Smtp-Source: AOwi7QBlz942Od9vKIkIOpRZo53m3gdowhBb1pTvOtMuqxe91zwhV/iIo7jwFATFqKtxX173tUfigg== X-Received: by 10.84.234.194 with SMTP id i2mr2999414plt.420.1507949867826; Fri, 13 Oct 2017 19:57:47 -0700 (PDT) Received: from calancha-pc (203.191.218.133.dy.bbexcite.jp. [133.218.191.203]) by smtp.gmail.com with ESMTPSA id 70sm4110434pfv.97.2017.10.13.19.57.46 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 13 Oct 2017 19:57:47 -0700 (PDT) Date: Sat, 14 Oct 2017 11:57:45 +0900 Message-Id: <87lgke4es6.fsf@gmail.com> To: control@debbugs.gnu.org From: Tino Calancha Subject: control message for bug #28826 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control 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 (/) tags 28826 patch From unknown Fri Aug 15 16:24:35 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Tino Calancha Subject: bug#28826: closed (Re: bug#28826: 27.0.50; Ibuffer filters should be idempotent) Message-ID: References: <87k1zq55bg.fsf@gmail.com> <87mv4u4eu0.fsf@gmail.com> X-Gnu-PR-Message: they-closed 28826 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 28826@debbugs.gnu.org Date: Fri, 20 Oct 2017 13:16:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1508505362-13360-1" This is a multi-part message in MIME format... ------------=_1508505362-13360-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #28826: 27.0.50; Ibuffer filters should be idempotent which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 28826@debbugs.gnu.org. --=20 28826: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D28826 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1508505362-13360-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 28826-done) by debbugs.gnu.org; 20 Oct 2017 13:15:15 +0000 Received: from localhost ([127.0.0.1]:51269 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e5X8t-0003SN-8p for submit@debbugs.gnu.org; Fri, 20 Oct 2017 09:15:15 -0400 Received: from mail-pf0-f179.google.com ([209.85.192.179]:47837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e5X8r-0003SB-K6 for 28826-done@debbugs.gnu.org; Fri, 20 Oct 2017 09:15:13 -0400 Received: by mail-pf0-f179.google.com with SMTP id z11so11037192pfk.4 for <28826-done@debbugs.gnu.org>; Fri, 20 Oct 2017 06:15:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=Gc9UKh8rpcoV8Mmuv7UWBUu9jNptZqw0iuhM8sf8CxU=; b=sgPl0gADis8Qw3ov1v4KkQ3UCWoJbsVf/NKDt527hyEJVNpv8XpDUFmMql41xlz60D 0cJDh+CW0UYcZQKV8po468HSCXHHDRzPbQGiiLdPR6jOAz3dLQeacA0o3HvAp6kKo6ht ZDJuiorP69Pm09P+xFHx4J1FaqlkIvRlDmkCLHlcc9tJwW3rNuDJ9vk88K4wa8/3NGe9 to5yiNhbooQk5cxv2n3qmn6PMsgv4ZjHFoLhndA7ewmro4EDlFov91RrqdrZ2UF9viqO F5g2mY7cwe3qKSR6itmQvPF0oph+z526GsDxGyL1pe4SUtIktt/OY7mreLy8KwLKu7fe kwag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=Gc9UKh8rpcoV8Mmuv7UWBUu9jNptZqw0iuhM8sf8CxU=; b=c/28XUaXngC0witI3AkczRwlhBUHOd6vCTZYUnUB5yyp//qOc7jXf2T3HqbX/WQFt2 CgVaHMqkowqfYDds27qQMyY8g3H5ss6GUjzO+eIHwVWoh9e13AGLXJ5KqdpcMBPMpycA 0hlZAuQf9sGDs9YolAjHfyhh1ES1WH1gcWJ0leU3+ZHJa8LJf1sps+7gbSI0Om6OJrei hzDLoPq5qenDbCAOmuYja/3/UE2H1+lW5awM2ODVy5mCpdJOs0zHGYvBKyS3QmP2GfNv /NEOIeWRG7zJFleJrEAVgb+1GDnjTr5B509kGe+sllZjRCzb+MWak22j40P0q7P7fQFB 2M+A== X-Gm-Message-State: AMCzsaWkHF04j7Rzq1OFoqDjHeSGDtGf6CCq+tsUEtyd61GCG57pkHiP YTLqXSlZAApUHeQe5hwsk2KQ4A== X-Google-Smtp-Source: ABhQp+SV5UjRXHvR9kLUK+lS4OIoCzZfUf9qXhwpO8Jj2VS0ce+nYfdk/PV08roCCNC/feZU9Lzlog== X-Received: by 10.84.244.2 with SMTP id g2mr4261181pll.400.1508505307413; Fri, 20 Oct 2017 06:15:07 -0700 (PDT) Received: from calancha-pc ([103.5.140.178]) by smtp.gmail.com with ESMTPSA id p83sm2217494pfd.61.2017.10.20.06.15.06 for <28826-done@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Oct 2017 06:15:06 -0700 (PDT) From: Tino Calancha To: 28826-done@debbugs.gnu.org Subject: Re: bug#28826: 27.0.50; Ibuffer filters should be idempotent References: <87mv4u4eu0.fsf@gmail.com> Date: Fri, 20 Oct 2017 22:14:59 +0900 In-Reply-To: <87mv4u4eu0.fsf@gmail.com> (Tino Calancha's message of "Sat, 14 Oct 2017 11:56:39 +0900") Message-ID: <87k1zq55bg.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 28826-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: -2.8 (--) Tino Calancha writes: > emacs -Q > M-x ibuffer RET > /n s RET > /n s RET ; again > ;; ibuffer-filtering-qualifiers contains twice the filter > ;; You can read on top: > ;; Ibuffer by recency [buffer name: s] [buffer name: s] > Fixed in master branch as commit "Make ibuffer filters idempotent" (ee6fe8378a28444cb4913abca4af742f736e9b45) ------------=_1508505362-13360-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Oct 2017 02:56:59 +0000 Received: from localhost ([127.0.0.1]:38634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e3CdH-0007Qg-2t for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:59 -0400 Received: from eggs.gnu.org ([208.118.235.92]:50489) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e3CdF-0007QQ-8M for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e3Cd9-0003iM-5F for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:51 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43033) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e3Cd9-0003i4-1n for submit@debbugs.gnu.org; Fri, 13 Oct 2017 22:56:51 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41459) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e3Cd7-0001IT-RA for bug-gnu-emacs@gnu.org; Fri, 13 Oct 2017 22:56:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e3Cd2-0003bB-UK for bug-gnu-emacs@gnu.org; Fri, 13 Oct 2017 22:56:49 -0400 Received: from mail-pf0-x231.google.com ([2607:f8b0:400e:c00::231]:54626) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e3Cd2-0003a9-O8 for bug-gnu-emacs@gnu.org; Fri, 13 Oct 2017 22:56:44 -0400 Received: by mail-pf0-x231.google.com with SMTP id n89so4112409pfk.11 for ; Fri, 13 Oct 2017 19:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version; bh=rd3+k+PnX2BIe0C8C0ts4xLtHQQyu0bi9DQY24wS+No=; b=fCLJSfob2tHpaaqrQ0B9gJbr5Rt/2A61XtvI9N5Y0z/gyVmTSfJYX5OuJvIWxCc/ye L9k3D4+6x6vXIs3Ymj9Pz9ozlnL6qGCGDn9FD7at6qa/GmtEOCDxdGvXCf3h35D+DZTF f0o2ZMZ2Kt/bRsjMGnCg9B/O9Od4wpaVFjg/9fWmzlW1BE1t6BsLJA9QPHdZx+7xhdpH 14ShWFuko3uH0hdSmbzBi9UYyHEKXV5VwU9aG3/U8KdPwSQpEmO/Xf9g8jD8GYppWxT0 B/Uyq/CnJzU+MWZxaY7bj5HeyW/EW85p9+QYovvAorXUbhCRuvTnAZHIjI9Su7naEepY b6Kw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=rd3+k+PnX2BIe0C8C0ts4xLtHQQyu0bi9DQY24wS+No=; b=OQZwvWwnILIPNtAcCJ1EplBeYIpBLHtsH+ItICuCXCdUI9iNO7RMPD3BiObxOpYkPK 3MUIs+mKfBDl0Ba6GNsvnpOKo9U8VmznDA072HMZHC1PYLg3jwnxVV3TISjnv9BbzMbu +eKU3XAy3T4O0xjoz0CLn5o+1CJiRRfEnAXlN1645YnoczHc4l0TGcLF1/pOJrsrJ1QL zHWRxWBkO2qx+t/xL4ss65ALz2WjkNMeOPPIWYHNJ6zFBVfXzEkLPa83XNEmrMbsghiR eDQEU6ja46i4S2vupb17a9G+Fi0jVdFrseEFy+ptgYHQwiS3ywo2OAnucO3I+mERrwmK 8lfw== X-Gm-Message-State: AMCzsaVtw2XYnFFgFCb2J5p13KnZEMG80Rd4rBBST1Zkfi8pJZc9Kur+ YUO9MiZai04wP0hu3f/hJuOfdQ== X-Google-Smtp-Source: AOwi7QAzd9zoGFJAnHKtOTMoXkqooVGlVld/jmcjrf0KdIXCNd5SYB3JXow2fbaUSLHfjN6QLLBpYA== X-Received: by 10.84.248.150 with SMTP id q22mr3068148pll.190.1507949803643; Fri, 13 Oct 2017 19:56:43 -0700 (PDT) Received: from calancha-pc (203.191.218.133.dy.bbexcite.jp. [133.218.191.203]) by smtp.gmail.com with ESMTPSA id u186sm4197082pgb.84.2017.10.13.19.56.41 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 13 Oct 2017 19:56:43 -0700 (PDT) From: Tino Calancha To: bug-gnu-emacs@gnu.org Subject: 27.0.50; Ibuffer filters should be idempotent Date: Sat, 14 Oct 2017 11:56:39 +0900 Message-ID: <87mv4u4eu0.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. 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 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 (----) emacs -Q M-x ibuffer RET /n s RET /n s RET ; again ;; ibuffer-filtering-qualifiers contains twice the filter ;; You can read on top: ;; Ibuffer by recency [buffer name: s] [buffer name: s] --8<-----------------------------cut here---------------start------------->8--- commit d65a5a22981dccc69a6e26cde1e567d109e884b3 Author: Tino Calancha Date: Sat Oct 14 11:30:32 2017 +0900 Make ibuffer filters idempotent * lisp/ibuf-ext.el (ibuffer-push-filter): Check if the filter is already in effect (Bug#28826). * lisp/ibuf-macs.el (define-ibuffer-filter): Report to user if the filter was already enabled. diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 686bc392b6..097a7b3b43 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el @@ -1034,7 +1034,8 @@ ibuffer-pop-filter (defun ibuffer-push-filter (filter-specification) "Add FILTER-SPECIFICATION to `ibuffer-filtering-qualifiers'." - (push filter-specification ibuffer-filtering-qualifiers)) + (unless (member filter-specification ibuffer-filtering-qualifiers) + (push filter-specification ibuffer-filtering-qualifiers))) ;;;###autoload (defun ibuffer-decompose-filter () diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el index e0c91e20ed..c30067f2f5 100644 --- a/lisp/ibuf-macs.el +++ b/lisp/ibuf-macs.el @@ -301,12 +301,16 @@ ibuffer-save-marks (defun ,fn-name (qualifier) ,(or documentation "This filter is not documented.") (interactive (list ,reader)) - (ibuffer-push-filter (cons ',name qualifier)) - (message "%s" - (format ,(concat (format "Filter by %s added: " description) - " %s") - qualifier)) - (ibuffer-update nil t)) + (if (null (ibuffer-push-filter (cons ',name qualifier))) + (message "%s" + (format ,(concat (format "Filter by %s already applied: " description) + " %s") + qualifier)) + (message "%s" + (format ,(concat (format "Filter by %s added: " description) + " %s") + qualifier)) + (ibuffer-update nil t))) (push (list ',name ,description (lambda (buf qualifier) (condition-case nil --8<-----------------------------cut here---------------end--------------->8--- In GNU Emacs 27.0.50 (build 16, x86_64-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-10-14 Repository revision: 78479a3984047a8153b43571e6b5ebfb674223a4 ------------=_1508505362-13360-1--