summaryrefslogtreecommitdiff
path: root/lisp/ido.el
diff options
context:
space:
mode:
authorEyal Lotem <eyal.lotem@gmail.com>2013-06-12 00:18:49 -0700
committerGlenn Morris <rgm@gnu.org>2013-06-12 00:18:49 -0700
commit834b5ded7ab25adf61300161e57b6e11091db221 (patch)
treee73bff9840f25d7bf1599f3b70e2525006d83606 /lisp/ido.el
parentcbb3eb522d6f32ff1130cb3dfb6db4a831a05a9a (diff)
downloademacs-834b5ded7ab25adf61300161e57b6e11091db221.tar.gz
Respect ido-ignore-item-p in ido-wide-find-dirs-or-files (tiny change)
* lisp/ido.el (ido-delete-ignored-files): New function, split from ido-make-file-list-1. (ido-wide-find-dirs-or-files): Maybe ignore files. (ido-make-file-list-1): Use ido-delete-ignored-files. Fixes: debbugs:13003
Diffstat (limited to 'lisp/ido.el')
-rw-r--r--lisp/ido.el34
1 files changed, 20 insertions, 14 deletions
diff --git a/lisp/ido.el b/lisp/ido.el
index 8087124765c..1b7d4e78cb7 100644
--- a/lisp/ido.el
+++ b/lisp/ido.el
@@ -3273,17 +3273,25 @@ for first matching file."
cur nil)))
res))
+(require 'cl-lib)
+
+(defun ido-delete-ignored-files (files)
+ (cl-delete-if
+ (lambda (name) (ido-ignore-item-p name ido-ignore-files t))
+ files))
+
(defun ido-wide-find-dirs-or-files (dir file &optional prefix finddir)
;; As ido-run-find-command, but returns a list of cons pairs ("file" . "dir")
(let ((filenames
- (split-string
- (shell-command-to-string
- (concat "find "
- (shell-quote-argument dir)
- " -name "
- (shell-quote-argument
- (concat (if prefix "" "*") file "*"))
- " -type " (if finddir "d" "f") " -print"))))
+ (ido-delete-ignored-files
+ (split-string
+ (shell-command-to-string
+ (concat "find "
+ (shell-quote-argument dir)
+ " -name "
+ (shell-quote-argument
+ (concat (if prefix "" "*") file "*"))
+ " -type " (if finddir "d" "f") " -print")))))
filename d f
res)
(while filenames
@@ -3578,12 +3586,10 @@ This is to make them appear as if they were \"virtual buffers\"."
;; If MERGED is non-nil, each file is cons'ed with DIR
(and (or (ido-is-tramp-root dir) (ido-is-unc-root dir)
(file-directory-p dir))
- (delq nil
- (mapcar
- (lambda (name)
- (if (not (ido-ignore-item-p name ido-ignore-files t))
- (if merged (cons name dir) name)))
- (ido-file-name-all-completions dir)))))
+ (mapcar
+ (lambda (name) (if merged (cons name dir) name))
+ (ido-delete-ignored-files
+ (ido-file-name-all-completions dir)))))
(defun ido-make-file-list (default)
;; Return the current list of files.