Function: TeX-search-files

TeX-search-files is a byte-compiled function defined in tex.el.

Signature

(TeX-search-files &optional DIRECTORIES EXTENSIONS NODIR STRIP)

Documentation

Return a list of all reachable files in DIRECTORIES ending with EXTENSIONS.

If optional argument NODIR is set, remove directory part. If optional argument STRIP is set, remove file extension. If optional argument DIRECTORIES is set, search in those directories. Otherwise, search in all TeX macro directories. If optional argument EXTENSIONS is not set, use TeX-file-extensions

Source Code

;; Defined in ~/.emacs.d/elpa/auctex-14.1.2/tex.el
(defun TeX-search-files (&optional directories extensions nodir strip)
  "Return a list of all reachable files in DIRECTORIES ending with EXTENSIONS.
If optional argument NODIR is set, remove directory part.
If optional argument STRIP is set, remove file extension.
If optional argument DIRECTORIES is set, search in those directories.
Otherwise, search in all TeX macro directories.
If optional argument EXTENSIONS is not set, use `TeX-file-extensions'"
  (when (null extensions)
    (setq extensions TeX-file-extensions))
  (when (null directories)
    (setq directories (cons "./" (append TeX-macro-private TeX-macro-global))))
  (let (match
        (TeX-file-recurse (cond ((symbolp TeX-file-recurse)
                                 TeX-file-recurse)
                                ((zerop TeX-file-recurse)
                                 nil)
                                ((1- TeX-file-recurse)))))
    (while directories
      (let* ((directory (car directories))
             (content (and directory
                           (file-readable-p directory)
                           (file-directory-p directory)
                           (directory-files directory))))
        (setq directories (cdr directories))
        (while content
          (let ((file (concat directory (car content))))
            (setq content (cdr content))
            (cond ((string-match TeX-ignore-file file))
                  ((not (file-readable-p file)))
                  ((file-directory-p file)
                   (if TeX-file-recurse
                       (setq match
                             (append match
                                     (TeX-search-files
                                      (list (file-name-as-directory file))
                                      extensions nodir strip)))))
                  ((TeX-match-extension file extensions)
                   (setq match (cons (TeX-strip-extension
                                      file extensions nodir (not strip))
                                     match))))))))
    match))