Fix opening directory trees from Filesets menu

In bug#976, the code was fixed, but the cautious condition in
the original author's code, which catered to invoking
'filelists-open' from the menu-bar menu, was omitted, which made
that invocation, which did work before, broken.
* lisp/filesets.el (filesets-get-filelist): Fix opening directory
trees from the Filesets menu-bar menu.  (Bug#67658)
This commit is contained in:
Eli Zaretskii 2023-12-16 13:25:58 +02:00
parent 6b6e770a1f
commit 5be94e2bce

View file

@ -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)