Matthias Clasen wrote: > On Tue, 2005-11-29 at 00:19 -0500, Patrick Lam wrote: > >>Matthias Clasen wrote: >> >>>The globs change clearly has a big effect. The results of >>>fc-list | wc -l on my system are as follows: >>> >>>cvs20051119: 143 >>>before globs change: 148 >>>current cvs: 0 >> >>Hmm, there shouldn't be a difference between before globs change and >>cvs20051119. However, 0 is a number I'm not reproducing. Can you check >>your config and try rebuilding your caches? > > I just rebuilt my caches with fc-cache from current cvs, and fc-cat > lists the contents of the cache files as expected. Still, fc-list comes > up empty. For no good reason I had at one point 0 fonts as well. However, I've updated current CVS with a couple of changes, using a more stable API to get the font filenames. Unfortunately, this is going to hurt the perf of FcInit. Anyway, I think that the code is now actually correct, and seems to work fine for me at least. Rebuilding caches doesn't seem to help, but recompiling everything might help. Globs now check both the full filename and the pathname to see whether or not they belong to a rejection glob. This can actually be greatly sped up, come to think of it. The per-directory rejection glob only needs to be done once per cache directory. Unfortunately, the full filename still has to be checked; I don't really see a clean way around that. I'll do the per-directory optimization momentarily; consider it done. Please tell me about how fc-list behaves for you after this change. (I also compiled with -O0 -g, but that *shouldn't* make a difference. Perhaps the make clean did.) pat