From 834b5ded7ab25adf61300161e57b6e11091db221 Mon Sep 17 00:00:00 2001 From: Eyal Lotem Date: Wed, 12 Jun 2013 00:18:49 -0700 Subject: [PATCH] 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 --- lisp/ChangeLog | 7 +++++++ lisp/ido.el | 34 ++++++++++++++++++++-------------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 50eb27472d5..a1a080ee9f7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2013-06-12 Eyal Lotem (tiny change) + + * ido.el (ido-delete-ignored-files): New function, + split from ido-make-file-list-1. + (ido-wide-find-dirs-or-files): Maybe ignore files. (Bug#13003) + (ido-make-file-list-1): Use ido-delete-ignored-files. + 2013-06-12 Leo Liu * progmodes/octave.el (inferior-octave-startup) 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. -- 2.39.2