diff --git a/lisp/filesets.el b/lisp/filesets.el index 1b7e6ffa81f..d00a29c2ebf 100644 --- a/lisp/filesets.el +++ b/lisp/filesets.el @@ -1653,7 +1653,17 @@ Assume MODE (see `filesets-entry-mode'), if provided." (filesets-entry-get-master entry))))) (cons entry (filesets-ingroup-cache-get entry)))) (:tree - (let* ((dirpatt (filesets-entry-get-tree entry)) + ;; Warning: ENTRY here could be of at least two + ;; differente 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)