From unknown Tue Aug 19 05:28:42 2025 X-Loop: help-debbugs@gnu.org Subject: bug#25042: 26.0.50; ibuffer-filter-by-predicate: A wrong filter keeps enabled Resent-From: Tino Calancha Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Nov 2016 13:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 25042 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 25042@debbugs.gnu.org Cc: tino.calancha@gmail.com X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.148025371817639 (code B ref -1); Sun, 27 Nov 2016 13:36:01 +0000 Received: (at submit) by debbugs.gnu.org; 27 Nov 2016 13:35:18 +0000 Received: from localhost ([127.0.0.1]:42960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cAzbx-0004aR-Pm for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:18 -0500 Received: from eggs.gnu.org ([208.118.235.92]:39345) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cAzbv-0004aB-LU for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cAzbp-0000vh-CA for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:10 -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.0 required=5.0 tests=BAYES_20,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42762) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cAzbp-0000vb-95 for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:09 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58549) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cAzbn-0003Kw-VP for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 08:35:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cAzbk-0000qu-Q9 for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 08:35:07 -0500 Received: from mail-pf0-x22b.google.com ([2607:f8b0:400e:c00::22b]:35490) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cAzbk-0000pe-IK for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 08:35:04 -0500 Received: by mail-pf0-x22b.google.com with SMTP id i88so20073918pfk.2 for ; Sun, 27 Nov 2016 05:35:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version; bh=DLCxSV5Lx7XkSJ0/+YqKBCSC7EJanVLWFXiMBFtHEkM=; b=RndOaUNUwzsvx9tiFGWJveIiJdui4ONn9V8v3RJH1X5tNlScvSTZL4jVTosKW0A3vf vVA+kcWyq6Hkon6s7tp4mW+AuphuiVCdWghZG1cK4ZJBqUL7vh2NSzsBmnrFGCFUwhiE OzngyUnqPjEoi6XzM11LUdf4vNnrAbk+qyUULbKnPhO+0F4j4VZxl/R+kSG8gtnJw4of ou4X7YzU2Ka8hXDJonxkMoYsrjK3p+uqgIOaNljaQYI/ev0RIWWaSou7KuHZKcup7WUi EnpHkZIaJV3LI+k8jG5TEI52+vhIb7yG46Pb68CN3to69C8xmTAG8TE4o97i+uL04lYY il5w== 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:date:message-id:mime-version; bh=DLCxSV5Lx7XkSJ0/+YqKBCSC7EJanVLWFXiMBFtHEkM=; b=U2i8hZg0/Co4rqHBwX26V4G7MlR1GUIz1SZ51sgWbjXRnRivASwHh8Y2b8cv3/NXu8 yWcchHt9LKCN6NR2oEr5Zbq9DAyhVTe/kJPeI/juZ20chOt4mZtjho/WIu2uRjg1yDSq ZD0qGb7gXG8j3sPuM6uhhBvqJBHAl5CSAeRsOQLr+AJrsJdRfu28tnd/ZrK7j9CL65dN AUXnsYZcA2m/rkLEjh3M+ih4f4QAwI6Rv2B+2mxWjGlCChexheRz/SmBnL0C5GtMeJPN e7VPBWpMHkO0Dyuy8wglb8/CjbR7uAkm+y6Ymj2CRUMtH3Z6YeY+0XsxKpZRcyQM/35X aLzA== X-Gm-Message-State: AKaTC00QWhigQWR++lgmAe6M2vmMXtg47mQuW6eN37text7dfH8NypBUOgmgd/7lctdEoQ== X-Received: by 10.84.197.129 with SMTP id n1mr38494407pld.30.1480253702913; Sun, 27 Nov 2016 05:35:02 -0800 (PST) Received: from calancha-pc (57.92.100.220.dy.bbexcite.jp. [220.100.92.57]) by smtp.gmail.com with ESMTPSA id c128sm80446980pfc.39.2016.11.27.05.35.01 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 27 Nov 2016 05:35:02 -0800 (PST) From: Tino Calancha Date: Sun, 27 Nov 2016 22:34:58 +0900 Message-ID: <87d1hh11x9.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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 /e (match-string "sc" (buffer-name)) ;; Mistyped `match-string' instead of `string-match'. M-: ibuffer-filtering-qualifiers RET => ((predicate match-string "sc" (buffer-name))) The filter is wrong but it keeps enabled; calling `ibuffer-update' would signal an error: Wrong type argument: integerp, "sc" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >From 3188bd56128aa36035a4ebca391182cf7faba713 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Sun, 27 Nov 2016 22:32:34 +0900 Subject: [PATCH] define-ibuffer-filter: Discard wrong filters * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042). * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test. --- lisp/ibuf-macs.el | 9 +++++++-- test/lisp/ibuffer-tests.el | 7 +++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el index 27e7af9..3c95f4c 100644 --- a/lisp/ibuf-macs.el +++ b/lisp/ibuf-macs.el @@ -302,8 +302,13 @@ ibuffer-save-marks qualifier)) (ibuffer-update nil t)) (push (list ',name ,description - #'(lambda (buf qualifier) - ,@body)) + (lambda (buf qualifier) + (condition-case nil + ,@body + (error (ibuffer-pop-filter) + (when (eq ',name 'predicate) + (error "Wrong filter predicate: %S" + qualifier)))))) ibuffer-filtering-alist) :autoload-end))) diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el index 3a4def3..8a9ded9 100644 --- a/test/lisp/ibuffer-tests.el +++ b/test/lisp/ibuffer-tests.el @@ -66,5 +66,12 @@ (mapc (lambda (buf) (when (buffer-live-p buf) (kill-buffer buf))) (list buf1 buf2))))) +(ert-deftest ibuffer-test-Bug25042 () + "Test for http://debbugs.gnu.org/25042 ." + (ibuffer) + (ignore-errors ; Mistyped `match-string' instead of `string-match'. + (ibuffer-filter-by-predicate '(match-string "foo" (buffer-name)))) + (should-not ibuffer-filtering-qualifiers)) + (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.3) of 2016-11-27 Repository revision: 416adda38521c6246f77877c57843264fa4ae711 From unknown Tue Aug 19 05:28:42 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#25042: closed (Re: bug#25042: 26.0.50; ibuffer-filter-by-predicate: A wrong filter keeps enabled) Message-ID: References: <8760mv999g.fsf@gmail.com> <87d1hh11x9.fsf@gmail.com> X-Gnu-PR-Message: they-closed 25042 X-Gnu-PR-Package: emacs Reply-To: 25042@debbugs.gnu.org Date: Wed, 07 Dec 2016 13:09:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1481116142-19130-1" This is a multi-part message in MIME format... ------------=_1481116142-19130-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #25042: 26.0.50; ibuffer-filter-by-predicate: A wrong filter keeps enabled 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 25042@debbugs.gnu.org. --=20 25042: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D25042 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1481116142-19130-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 25042-done) by debbugs.gnu.org; 7 Dec 2016 13:08:54 +0000 Received: from localhost ([127.0.0.1]:58966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEbxu-0004yF-8x for submit@debbugs.gnu.org; Wed, 07 Dec 2016 08:08:54 -0500 Received: from mail-pf0-f194.google.com ([209.85.192.194]:34416) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEbxs-0004y1-Kj for 25042-done@debbugs.gnu.org; Wed, 07 Dec 2016 08:08:52 -0500 Received: by mail-pf0-f194.google.com with SMTP id y68so20606010pfb.1 for <25042-done@debbugs.gnu.org>; Wed, 07 Dec 2016 05:08:52 -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=exxx4Kwwn8lMVpYAcifPsE0N0cne53vBOlSYMt3w69k=; b=amU5x8xbMkEATrbosnTz4mr17TPb/GSEFyRRXscKgju2Bi4Qczz/Cu8qdkClXIPAHO G8Cf9NtmuDPL2Hc/DDj3vj1CkI6haRE6dGbkhulyXzbs+w4LCEeQkIdc4nHA0nNQqaoo IVmaLWdTV5U+Q4u9nZbAio/JedYfh355Ohzdl8uL/VZzJbCnggwiRlJetXz3YPWWedD/ p7e4fEAUcdSXewgKvKUWUZB4P/VVLe9R2aEIZ/kSIj6F8cyCLR3blNiIV9DMn8s1hpk5 V0vACNbThKAyT1vDu5rxvW2yu8IOpq12kqDsdsDtbgTdEkYBa3fcAuJxXrmC7VL/DF/O rXOA== 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=exxx4Kwwn8lMVpYAcifPsE0N0cne53vBOlSYMt3w69k=; b=K4OSr8X/Ez4VXAYkxbUogzzwbGmhFJD0wXGI9cJQVWo4WA7fnl/GivZBwqUaPvH6KK RD/Dr6HmOy472byjudZRpk3q9UaIbGTV7hZ9kuP20UhNKKZ9V5A02+6PyCJHQ9dAZN4k tFWtymndLYJhbnUXC3dHxVU+18OpGMDdx6uvcroCrKRLqqh0EfCR6vJuU71n5Jd2C3jw +CC7iY17FG3uln3SLxXAwKT20gsVL34FmXMWAgt5N8lFzMtsdPtgFv9ay3GJV8PWKibq YzzcScdca+sHJLldrUqrXJnhrB9Bm6o0nY6r8osSiOAsVwGZLj+1aA60CSVwW5erNLqS YgYQ== X-Gm-Message-State: AKaTC03ly7tGQ//jz3eCNUH8yXFM/XaKEYtCDeWYYpB2CCdAUZ2Tp9ZAwZef8Qv22hhjyQ== X-Received: by 10.99.239.5 with SMTP id u5mr121358242pgh.61.1481116126635; Wed, 07 Dec 2016 05:08:46 -0800 (PST) Received: from calancha-pc (pl676.nas813.p-iwate.nttpc.ne.jp. [124.154.237.164]) by smtp.gmail.com with ESMTPSA id w24sm42735214pfa.9.2016.12.07.05.08.45 for <25042-done@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 07 Dec 2016 05:08:46 -0800 (PST) From: Tino Calancha To: 25042-done@debbugs.gnu.org Subject: Re: bug#25042: 26.0.50; ibuffer-filter-by-predicate: A wrong filter keeps enabled References: <87d1hh11x9.fsf@gmail.com> Date: Wed, 07 Dec 2016 22:08:43 +0900 In-Reply-To: <87d1hh11x9.fsf@gmail.com> (Tino Calancha's message of "Sun, 27 Nov 2016 22:34:58 +0900") Message-ID: <8760mv999g.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: 25042-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: > emacs -Q > M-x: ibuffer RET > /e (match-string "sc" (buffer-name)) > ;; Mistyped `match-string' instead of `string-match'. > M-: ibuffer-filtering-qualifiers RET > => ((predicate match-string "sc" (buffer-name))) > > The filter is wrong but it keeps enabled; calling > `ibuffer-update' would signal an error: > Wrong type argument: integerp, "sc" Pushed fix to master branch as commit e41e89d. ------------=_1481116142-19130-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 27 Nov 2016 13:35:18 +0000 Received: from localhost ([127.0.0.1]:42960 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cAzbx-0004aR-Pm for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:18 -0500 Received: from eggs.gnu.org ([208.118.235.92]:39345) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cAzbv-0004aB-LU for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:16 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cAzbp-0000vh-CA for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:10 -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.0 required=5.0 tests=BAYES_20,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42762) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cAzbp-0000vb-95 for submit@debbugs.gnu.org; Sun, 27 Nov 2016 08:35:09 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58549) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cAzbn-0003Kw-VP for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 08:35:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cAzbk-0000qu-Q9 for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 08:35:07 -0500 Received: from mail-pf0-x22b.google.com ([2607:f8b0:400e:c00::22b]:35490) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cAzbk-0000pe-IK for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 08:35:04 -0500 Received: by mail-pf0-x22b.google.com with SMTP id i88so20073918pfk.2 for ; Sun, 27 Nov 2016 05:35:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version; bh=DLCxSV5Lx7XkSJ0/+YqKBCSC7EJanVLWFXiMBFtHEkM=; b=RndOaUNUwzsvx9tiFGWJveIiJdui4ONn9V8v3RJH1X5tNlScvSTZL4jVTosKW0A3vf vVA+kcWyq6Hkon6s7tp4mW+AuphuiVCdWghZG1cK4ZJBqUL7vh2NSzsBmnrFGCFUwhiE OzngyUnqPjEoi6XzM11LUdf4vNnrAbk+qyUULbKnPhO+0F4j4VZxl/R+kSG8gtnJw4of ou4X7YzU2Ka8hXDJonxkMoYsrjK3p+uqgIOaNljaQYI/ev0RIWWaSou7KuHZKcup7WUi EnpHkZIaJV3LI+k8jG5TEI52+vhIb7yG46Pb68CN3to69C8xmTAG8TE4o97i+uL04lYY il5w== 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:date:message-id:mime-version; bh=DLCxSV5Lx7XkSJ0/+YqKBCSC7EJanVLWFXiMBFtHEkM=; b=U2i8hZg0/Co4rqHBwX26V4G7MlR1GUIz1SZ51sgWbjXRnRivASwHh8Y2b8cv3/NXu8 yWcchHt9LKCN6NR2oEr5Zbq9DAyhVTe/kJPeI/juZ20chOt4mZtjho/WIu2uRjg1yDSq ZD0qGb7gXG8j3sPuM6uhhBvqJBHAl5CSAeRsOQLr+AJrsJdRfu28tnd/ZrK7j9CL65dN AUXnsYZcA2m/rkLEjh3M+ih4f4QAwI6Rv2B+2mxWjGlCChexheRz/SmBnL0C5GtMeJPN e7VPBWpMHkO0Dyuy8wglb8/CjbR7uAkm+y6Ymj2CRUMtH3Z6YeY+0XsxKpZRcyQM/35X aLzA== X-Gm-Message-State: AKaTC00QWhigQWR++lgmAe6M2vmMXtg47mQuW6eN37text7dfH8NypBUOgmgd/7lctdEoQ== X-Received: by 10.84.197.129 with SMTP id n1mr38494407pld.30.1480253702913; Sun, 27 Nov 2016 05:35:02 -0800 (PST) Received: from calancha-pc (57.92.100.220.dy.bbexcite.jp. [220.100.92.57]) by smtp.gmail.com with ESMTPSA id c128sm80446980pfc.39.2016.11.27.05.35.01 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 27 Nov 2016 05:35:02 -0800 (PST) From: Tino Calancha To: bug-gnu-emacs@gnu.org Subject: 26.0.50; ibuffer-filter-by-predicate: A wrong filter keeps enabled Date: Sun, 27 Nov 2016 22:34:58 +0900 Message-ID: <87d1hh11x9.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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@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: -4.0 (----) emacs -Q M-x: ibuffer RET /e (match-string "sc" (buffer-name)) ;; Mistyped `match-string' instead of `string-match'. M-: ibuffer-filtering-qualifiers RET => ((predicate match-string "sc" (buffer-name))) The filter is wrong but it keeps enabled; calling `ibuffer-update' would signal an error: Wrong type argument: integerp, "sc" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; >From 3188bd56128aa36035a4ebca391182cf7faba713 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Sun, 27 Nov 2016 22:32:34 +0900 Subject: [PATCH] define-ibuffer-filter: Discard wrong filters * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042). * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test. --- lisp/ibuf-macs.el | 9 +++++++-- test/lisp/ibuffer-tests.el | 7 +++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lisp/ibuf-macs.el b/lisp/ibuf-macs.el index 27e7af9..3c95f4c 100644 --- a/lisp/ibuf-macs.el +++ b/lisp/ibuf-macs.el @@ -302,8 +302,13 @@ ibuffer-save-marks qualifier)) (ibuffer-update nil t)) (push (list ',name ,description - #'(lambda (buf qualifier) - ,@body)) + (lambda (buf qualifier) + (condition-case nil + ,@body + (error (ibuffer-pop-filter) + (when (eq ',name 'predicate) + (error "Wrong filter predicate: %S" + qualifier)))))) ibuffer-filtering-alist) :autoload-end))) diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el index 3a4def3..8a9ded9 100644 --- a/test/lisp/ibuffer-tests.el +++ b/test/lisp/ibuffer-tests.el @@ -66,5 +66,12 @@ (mapc (lambda (buf) (when (buffer-live-p buf) (kill-buffer buf))) (list buf1 buf2))))) +(ert-deftest ibuffer-test-Bug25042 () + "Test for http://debbugs.gnu.org/25042 ." + (ibuffer) + (ignore-errors ; Mistyped `match-string' instead of `string-match'. + (ibuffer-filter-by-predicate '(match-string "foo" (buffer-name)))) + (should-not ibuffer-filtering-qualifiers)) + (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.3) of 2016-11-27 Repository revision: 416adda38521c6246f77877c57843264fa4ae711 ------------=_1481116142-19130-1--