diff options
author | Nicolas Richard <youngfrog@members.fsf.org> | 2015-06-30 09:18:27 +0200 |
---|---|---|
committer | Nicolas Richard <youngfrog@members.fsf.org> | 2015-07-02 00:57:07 +0200 |
commit | 2f020e82195d6870b45d24d0c46af6d92b31deca (patch) | |
tree | 41e797202521bc313d58bea416b47472d93b213e /lisp | |
parent | 7d5a7a43f1f6630b269fa7f7dc13e9c80181a709 (diff) | |
download | emacs-2f020e82195d6870b45d24d0c46af6d92b31deca.tar.gz |
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.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ido.el | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lisp/ido.el b/lisp/ido.el index 5995fcd41e3..1f12fbfa9ee 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) |