The attached code might help you in fixing this - if not, ignore it. I haven't tested all of the code that calls `filesets-get-filelist', but the version of `filesets-get-filelist' attached seems to DTRT, AFAICT. The problem with the original code, and with the suggestion I sent earlier, is that `filesets-get-filelist' does not DTRT for type :tree. The original code is completely broken - does nothing here. In my previously suggested code, `filesets-get-filelist' does the same thing for type :tree as for type :pattern - it returns only the files in the directory, not also the files in its subdirectories. See attached file for proposed new definition (with new function filesets-files-under). HTH > From: Drew Adams Sent: Saturday, September 13, 2008 9:41 AM > The part that treats a :tree of the code defining > `filesets-get-filelist' is not correct and never could have been > correct. And it does not correspond to the (correct) code from the > filesets author. One wonders if the GNU Emacs code was ever tested. > > This is the `case' clause that treats :tree in the definition > of `filesets-get-filelist': > > ((:tree) > (let ((dir (nth 0 entry)) > (patt (nth 1 entry))) > (filesets-directory-files dir patt ':files t))) > > But `entry' here is a complete fileset, which is of the form > ("my-fs" (:tree "/some/directory" "^.+\.suffix$")) > > The above code thus tries to use "my-fs" as the directory, whereas it > should use "/some/directory". > > This is the (correct) code in the latest version from the author > (http://members.a1.net/t.link/CompEmacsFilesets.html). (The comment is > from the author.) > > ((:tree) > ;;well, the way trees are handled is a mess +++ > (let* ((dirpatt (if (consp (nth 1 entry)) > (filesets-entry-get-tree entry) > entry)) > (dir (nth 0 dirpatt)) > (patt (nth 1 dirpatt))) > (filesets-list-dir dir patt ':files t))) > > However, I think the following would be sufficient: > > ((:tree) > (let* ((dirpatt (filesets-entry-get-tree entry)) > (dir (nth 0 dirpatt)) > (patt (nth 1 dirpatt))) > (filesets-directory-files dir patt ':files t))) > > I don't see why the author's more complex treatment would ever be > needed, since in order for the :tree clause of the `case' to be > reached (consp (nth 1 entry)) must be a cons, AFAICT. > > At any rate, either the author's code or what I suggest immediately > above is needed. There is no way that the current GNU Emacs code can > work with a :tree fileset. > > > In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600) > of 2008-09-03 on LENNART-69DE564 > Windowing system distributor `Microsoft Corp.', version 5.1.2600 > configured using `configure --with-gcc (3.4) --no-opt > --cflags -Ic:/g/include > -fno-crossjumping' > > > > > > >