1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-30 11:09:23 +00:00

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 (Bug#15631).

; * etc/NEWS: Mention the change.
This commit is contained in:
Nicolas Richard 2015-06-30 09:18:27 +02:00
parent 7d5a7a43f1
commit 2f020e8219
2 changed files with 16 additions and 4 deletions

View File

@ -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 to those elements that do not
match the current input.
** Minibuffer

View File

@ -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)