Function: gnus-recursive-directory-files

gnus-recursive-directory-files is a byte-compiled function defined in gnus-util.el.gz.

Signature

(gnus-recursive-directory-files DIR)

Documentation

Return all regular files below DIR.

The first found will be returned if a file has hard or symbolic links.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-util.el.gz
(defun gnus-recursive-directory-files (dir)
  "Return all regular files below DIR.
The first found will be returned if a file has hard or symbolic links."
  (let (files attr attrs)
    (cl-labels
	((fn (directory)
	     (dolist (file (directory-files directory t))
	       (setq attr (file-attributes (file-truename file)))
	       (when (and (not (member attr attrs))
			  (not (member (file-name-nondirectory file)
				       '("." "..")))
			  (file-readable-p file))
		 (push attr attrs)
		 (cond ((file-regular-p file)
			(push file files))
		       ((file-directory-p file)
			(fn file)))))))
      (fn dir))
    files))