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:
parent
7d5a7a43f1
commit
2f020e8219
3
etc/NEWS
3
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 to those elements that do not
|
||||
match the current input.
|
||||
|
||||
** Minibuffer
|
||||
|
||||
|
17
lisp/ido.el
17
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)
|
||||
|
Loading…
Reference in New Issue
Block a user