From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 16 10:54:34 2013 Received: (at submit) by debbugs.gnu.org; 16 Oct 2013 14:54:34 +0000 Received: from localhost ([127.0.0.1]:54382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VWSUa-0004S6-U5 for submit@debbugs.gnu.org; Wed, 16 Oct 2013 10:54:33 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43453) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VWSUY-0004Rs-Km for submit@debbugs.gnu.org; Wed, 16 Oct 2013 10:54:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWSUJ-0006VS-TI for submit@debbugs.gnu.org; Wed, 16 Oct 2013 10:54:25 -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.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42203) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWSUJ-0006VO-Qb for submit@debbugs.gnu.org; Wed, 16 Oct 2013 10:54:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45120) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWSUC-0000CS-FH for bug-gnu-emacs@gnu.org; Wed, 16 Oct 2013 10:54:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWSU2-0006PL-VL for bug-gnu-emacs@gnu.org; Wed, 16 Oct 2013 10:54:08 -0400 Received: from mxin.ulb.ac.be ([164.15.128.112]:17470) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWSU2-0006Op-CR for bug-gnu-emacs@gnu.org; Wed, 16 Oct 2013 10:53:58 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArYHAGWnXlKkD4Nx/2dsb2JhbABas28Bk2N0gz0kNAF7h1gBEp1Lj1mHOAGKQo9uhA8DjFOLMYYkgQ+KT4MmOg Received: from geodiff-mac3.ulb.ac.be (HELO geodiff-mac3) ([164.15.131.113]) by smtp.ulb.ac.be with ESMTP; 16 Oct 2013 16:53:56 +0200 From: Nicolas Richard To: bug-gnu-emacs@gnu.org Subject: 24.3; ido : invert effect of ido-restrict-to-matches with prefix arg Date: Wed, 16 Oct 2013 16:54:24 +0200 Message-ID: <87r4bl4673.fsf@yahoo.fr> 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: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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: -5.0 (-----) Hello The function `ido-restrict-to-matches' is used within ido to restrict focus on currently matched items. It was asked on #emacs to have a function with the opposite effect : restrict focus on unmatched items. I found it was useful for me and came up with this solution (adding an optional argument to the existing function) : diff --git a/lisp/ido.el b/lisp/ido.el index cda4021..31aa303 100644 *** a/lisp/ido.el --- b/lisp/ido.el *************** *** 3133,3143 **** (if (> i 0) (setq ido-cur-list (ido-chop ido-cur-list (nth i ido-matches))))))) ! (defun ido-restrict-to-matches () ! "Set current item list to the currently matched items." ! (interactive) (when ido-matches ! (setq ido-cur-list ido-matches ido-text-init "" ido-rescan nil ido-exit 'keep) --- 3133,3155 ---- (if (> i 0) (setq ido-cur-list (ido-chop ido-cur-list (nth i ido-matches))))))) ! (defun ido-restrict-to-matches (&optional removep) ! "Set current item list to the currently matched items. ! ! When argument REMOVEP is non-nil, the currently matched items are ! instead removed from the current item list." ! (interactive "P") (when ido-matches ! (setq ido-cur-list (cond ! (removep ! (delq nil ! (mapcar ! (lambda (elt) ! (when (not (member elt ido-matches)) ! elt)) ! ido-cur-list))) ! (t ido-matches)) ! ido-matches ido-cur-list ido-text-init "" ido-rescan nil ido-exit 'keep) -- Nicolas. From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 30 11:28:42 2015 Received: (at 15631) by debbugs.gnu.org; 30 Jun 2015 15:28:43 +0000 Received: from localhost ([127.0.0.1]:34619 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z9xSk-0006Mc-7r for submit@debbugs.gnu.org; Tue, 30 Jun 2015 11:28:42 -0400 Received: from mxin.ulb.ac.be ([164.15.128.112]:61990) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z9xSi-0006MP-2o for 15631@debbugs.gnu.org; Tue, 30 Jun 2015 11:28:41 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AuMEAK60klWkD4XH/2dsb2JhbABbhESrGgEBAQEBBpoFAoIZAQEBAQEBgQuEIgEBAQSBCQgDEQMBAgolDwEEOyEaAYd/AxLHfgEBAQcBAQEBHoYchS6CTYIoGBaEFQEEhVoKizKCcYczgkeDF4ZugR+HXIM9g10mgj2BPzwxgkgBAQE Received: from pno-math-199.ulb.ac.be (HELO Aurora) ([164.15.133.199]) by smtp.ulb.ac.be with ESMTP; 30 Jun 2015 17:28:39 +0200 From: Nicolas Richard To: 15631@debbugs.gnu.org Subject: Re: bug#15631: 24.3; ido : invert effect of ido-restrict-to-matches with prefix arg References: <87r4bl4673.fsf@yahoo.fr> Date: Tue, 30 Jun 2015 17:28:38 +0200 In-Reply-To: <87r4bl4673.fsf@yahoo.fr> (Nicolas Richard's message of "Wed, 16 Oct 2013 16:54:24 +0200") Message-ID: <86pp4dcj15.fsf@members.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 15631 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain Nicolas Richard writes: > The function `ido-restrict-to-matches' is used within ido to restrict > focus on currently matched items. It was asked on #emacs to have a > function with the opposite effect : restrict focus on unmatched items. > > I found it was useful for me and came up with this solution (adding an > optional argument to the existing function) : I modified the patch a tiny bit and now use the new library seq.el and add a NEWS entry. If nobody complains I'll install this patch in the next few days. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Add-argument-to-reverse-the-meaning-of-ido-restrict-.patch >From c8469c5892c7d01045f81a99a7535b3ed76abd2d Mon Sep 17 00:00:00 2001 From: Nicolas Richard Date: Tue, 30 Jun 2015 09:18:27 +0200 Subject: [PATCH] Add argument to reverse the meaning of ido-restrict-to-matches * lisp/ido.el (ido-restrict-to-matches): Add an optional argument to reverse the meaning. ; * etc/NEWS: Mention the change --- etc/NEWS | 3 +++ lisp/ido.el | 17 +++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 1f8cbbc..8ee8364 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -398,6 +398,9 @@ If you need your objects to be named, do it by inheriting from `eieio-named'. *** New command `ido-bury-buffer-at-head' bound to C-S-b Bury the buffer at the head of `ido-matches', analogous to how C-k kills the buffer at head. +*** A prefix argument to `ido-restrict-to-matches' will reverse its +meaning, and the list is restricted those elements that do not match +the current input. ** Minibuffer diff --git a/lisp/ido.el b/lisp/ido.el index 5995fcd..1f12fbf 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -322,6 +322,7 @@ ;;; Code: (defvar recentf-list) +(require 'seq) ;;;; Options @@ -3180,11 +3181,19 @@ for first matching file." (if (> i 0) (setq ido-cur-list (ido-chop ido-cur-list (nth i ido-matches))))))) -(defun ido-restrict-to-matches () - "Set current item list to the currently matched items." - (interactive) +(defun ido-restrict-to-matches (&optional removep) + "Set current item list to the currently matched items. + +When argument REMOVEP is non-nil, the currently matched items are +instead removed from the current item list." + (interactive "P") (when ido-matches - (setq ido-cur-list ido-matches + (setq ido-cur-list (if removep + ;; An important feature is to preserve the + ;; order of the elements. + (seq-difference ido-cur-list ido-matches) + ido-matches) + ido-matches ido-cur-list ido-text-init "" ido-rescan nil ido-exit 'keep) -- 2.4.5 --=-=-= Content-Type: text/plain -- Nico. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 30 12:17:22 2015 Received: (at 15631) by debbugs.gnu.org; 30 Jun 2015 16:17:22 +0000 Received: from localhost ([127.0.0.1]:34682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z9yDq-0000az-Cg for submit@debbugs.gnu.org; Tue, 30 Jun 2015 12:17:22 -0400 Received: from mtaout26.012.net.il ([80.179.55.182]:51673) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Z9yDn-0000am-Aw for 15631@debbugs.gnu.org; Tue, 30 Jun 2015 12:17:20 -0400 Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il (HyperSendmail v2007.08) id <0NQR00P00MNM7M00@mtaout26.012.net.il> for 15631@debbugs.gnu.org; Tue, 30 Jun 2015 19:19:57 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout26.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQR00K89MP86950@mtaout26.012.net.il>; Tue, 30 Jun 2015 19:19:57 +0300 (IDT) Date: Tue, 30 Jun 2015 19:17:17 +0300 From: Eli Zaretskii Subject: Re: bug#15631: 24.3; ido : invert effect of ido-restrict-to-matches with prefix arg In-reply-to: <86pp4dcj15.fsf@members.fsf.org> X-012-Sender: halo1@inter.net.il To: Nicolas Richard Message-id: <83pp4d2msy.fsf@gnu.org> References: <87r4bl4673.fsf@yahoo.fr> <86pp4dcj15.fsf@members.fsf.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 15631 Cc: 15631@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > From: Nicolas Richard > Date: Tue, 30 Jun 2015 17:28:38 +0200 > > +*** A prefix argument to `ido-restrict-to-matches' will reverse its > +meaning, and the list is restricted those elements that do not match > +the current input. ^^^ A "to" is missing where indicated. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 01 19:01:28 2015 Received: (at 15631-done) by debbugs.gnu.org; 1 Jul 2015 23:01:29 +0000 Received: from localhost ([127.0.0.1]:36532 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAR0S-0003Va-J6 for submit@debbugs.gnu.org; Wed, 01 Jul 2015 19:01:28 -0400 Received: from mailrelay117.isp.belgacom.be ([195.238.20.144]:19192) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZAR0Q-0003VE-D8 for 15631-done@debbugs.gnu.org; Wed, 01 Jul 2015 19:01:26 -0400 X-Belgacom-Dynamic: yes X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.1 cv=i+EX5EtM4g4P/CrLY+sx2nOWHsqv9AlVwqc0uudqMuE= c=1 sm=2 a=mDV3o1hIAAAA:8 a=qPrz5dkwTvXW6opO-Y0A:9 a=PTjiiJB-GvsA:10 a=6mDsgD8BXXkA:10 a=ncZ9vwaUYPMA:10 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2BGCQCIcJRV/4YDyFBbgxGBM6sACwUBgQSZEQKBVj0QAQEBAQEBAYEKhCMBAQRWIxAIAyElDwEEJSQTiDMBzREBAQEHAgEfhhyFLoUGB4QrAQSUEKQlJoI9gT88MYJIAQEB Received: from 134.3-200-80.adsl-dyn.isp.belgacom.be (HELO Aurora) ([80.200.3.134]) by relay.skynet.be with ESMTP; 02 Jul 2015 01:01:20 +0200 From: Nicolas Richard To: Eli Zaretskii Subject: Re: bug#15631: 24.3; ido : invert effect of ido-restrict-to-matches with prefix arg References: <87r4bl4673.fsf@yahoo.fr> <86pp4dcj15.fsf@members.fsf.org> <83pp4d2msy.fsf@gnu.org> Date: Thu, 02 Jul 2015 01:01:19 +0200 In-Reply-To: <83pp4d2msy.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 30 Jun 2015 19:17:17 +0300") Message-ID: <868uaz1o00.fsf@members.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 15631-done Cc: 15631-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 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 (/) Eli Zaretskii writes: > A "to" is missing where indicated. Thanks, I fixed it and pushed. Closing. Nico. From unknown Fri Aug 15 21:27:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 30 Jul 2015 11: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