Function: filesets-get-filelist

filesets-get-filelist is a byte-compiled function defined in filesets.el.gz.

Signature

(filesets-get-filelist ENTRY &optional MODE EVENT)

Documentation

Get all files for fileset ENTRY.

Assume MODE (see filesets-entry-mode), if provided.

Source Code

;; Defined in /usr/src/emacs/lisp/filesets.el.gz
;;; body
(defun filesets-get-filelist (entry &optional mode event)
  "Get all files for fileset ENTRY.
Assume MODE (see `filesets-entry-mode'), if provided."
  (let* ((mode (or mode
		   (filesets-entry-mode entry)))
	 (fl (pcase mode
	       (:files
		(filesets-entry-get-files entry))
	       (:file
		(list (filesets-entry-get-file entry)))
	       (:ingroup
		(let ((entry (expand-file-name
			      (if (stringp entry)
				  entry
				(filesets-entry-get-master entry)))))
		  (cons entry (filesets-ingroup-cache-get entry))))
	       (:tree
                ;; Warning: ENTRY here could be of at least two
                ;; different forms, either
                ;;    (NAME (:tree DIRECTORY PATTERN))
                ;; or
                ;;    (DIRECTORY PATTERN)
                ;; The latter happens when opening a tree fileset
                ;; from the Filesets menu.  We need to support both
                ;; of these forms!
                (let* ((dirpatt (if (consp (nth 1 entry))
                                    (filesets-entry-get-tree entry)
                                  entry))
                       (dir (nth 0 dirpatt))
                       (patt (nth 1 dirpatt))
                       (depth (or (filesets-entry-get-tree-max-level entry)
                                  filesets-tree-max-level)))
                  (filesets-files-under 0 depth entry dir patt)))
	       (:pattern
		(let ((dirpatt (filesets-entry-get-pattern entry)))
		  (if dirpatt
		      (let ((dir (filesets-entry-get-pattern--dir dirpatt))
			    (patt (filesets-entry-get-pattern--pattern dirpatt)))
			;;(filesets-message 3 "Filesets: scanning %s" dirpatt)
			(filesets-directory-files dir patt ':files t))
		    ;; (message "Filesets: malformed entry: %s" entry)))))))
                    (error "Filesets: malformed entry: %s" entry)))))))
    (seq-filter (lambda (file)
                  (not (filesets-filetype-property file event)))
                fl)))