X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/ab422c4d6899b1442cb6954c1829c1fb656b006c..0fac75fed1c7d61858bef15e951bf9a0835d5bac:/lisp/cedet/cedet-files.el?ds=inline diff --git a/lisp/cedet/cedet-files.el b/lisp/cedet/cedet-files.el index 36561090bd..875c67726c 100644 --- a/lisp/cedet/cedet-files.el +++ b/lisp/cedet/cedet-files.el @@ -1,6 +1,6 @@ ;;; cedet-files.el --- Common routines dealing with file names. -;; Copyright (C) 2007-2013 Free Software Foundation, Inc. +;; Copyright (C) 2007-2016 Free Software Foundation, Inc. ;; Author: Eric M. Ludlam ;; Package: cedet @@ -88,6 +88,24 @@ specific conversions during tests." (setq file (concat "//" (substring file 1))))) file)) +(defun cedet-files-list-recursively (dir re) + "Returns list of files in directory matching to given regex" + (when (file-accessible-directory-p dir) + (let ((files (directory-files dir t)) + matched) + (dolist (file files matched) + (let ((fname (file-name-nondirectory file))) + (cond + ((or (string= fname ".") + (string= fname "..")) nil) + ((and (file-regular-p file) + (string-match re fname)) + (setq matched (cons file matched))) + ((file-directory-p file) + (let ((tfiles (cedet-files-list-recursively file re))) + (when tfiles (setq matched (append matched tfiles))))))))))) + + (provide 'cedet-files) ;;; cedet-files.el ends here