From 5be94e2bce53f9826b64d3566a0d5524aeccbccd Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 16 Dec 2023 13:25:58 +0200 Subject: [PATCH] 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) --- lisp/filesets.el | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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) -- 2.39.2