aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ido.el12
1 files changed, 12 insertions, 0 deletions
diff --git a/lisp/ido.el b/lisp/ido.el
index 054c084968e..f9ba8178cba 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -1268,6 +1268,8 @@ This function also adds a hook to the minibuffer."
1268 (define-key map "\C-s" 'ido-next-match) 1268 (define-key map "\C-s" 'ido-next-match)
1269 (define-key map "\C-t" 'ido-toggle-regexp) 1269 (define-key map "\C-t" 'ido-toggle-regexp)
1270 (define-key map "\C-z" 'ido-undo-merge-work-directory) 1270 (define-key map "\C-z" 'ido-undo-merge-work-directory)
1271 (define-key map [(control ? )] 'ido-restrict-to-matches)
1272 (define-key map [(control ?@)] 'ido-restrict-to-matches)
1271 (define-key map [right] 'ido-next-match) 1273 (define-key map [right] 'ido-next-match)
1272 (define-key map [left] 'ido-prev-match) 1274 (define-key map [left] 'ido-prev-match)
1273 (define-key map "?" 'ido-completion-help) 1275 (define-key map "?" 'ido-completion-help)
@@ -2361,6 +2363,16 @@ for first matching file."
2361 (if (> i 0) 2363 (if (> i 0)
2362 (setq ido-cur-list (ido-chop ido-cur-list (nth i ido-matches))))))) 2364 (setq ido-cur-list (ido-chop ido-cur-list (nth i ido-matches)))))))
2363 2365
2366(defun ido-restrict-to-matches ()
2367 "Set current item list to the currently matched items."
2368 (interactive)
2369 (when ido-matches
2370 (setq ido-cur-list ido-matches
2371 ido-text-init ""
2372 ido-rescan nil
2373 ido-exit 'keep)
2374 (exit-minibuffer)))
2375
2364(defun ido-chop (items elem) 2376(defun ido-chop (items elem)
2365 "Remove all elements before ELEM and put them at the end of ITEMS." 2377 "Remove all elements before ELEM and put them at the end of ITEMS."
2366 (let ((ret nil) 2378 (let ((ret nil)