Hello.

Let's say I have a list of folders A, B, C. I want to find which one of them contains subfolder D.

My first idea was using locate-file. While doing so I've found that the Elisp reference for it is incomplete and confusing:

1. According to the docstring it would only return a directory if PREDICATE returns 'dir-ok. This is not mentioned in the Elisp reference.

2. The reference suggests file-directory-p as a useful predicate and this would fail due to 1.

3. It's probably a good idea to mention that there are no bundled predicates that return dir-ok, and suggest to use a lamda like this: (lambda (f) (and (file-directory-p f) 'dir-ok)) as a PREDICATE.


Here's a working example, just in case:

(locate-file "Git" '("c:/Program Files/") nil (lambda (f) (and (file-directory-p f) 'dir-ok)))

-- 
Best Regards,
Nikolay Kudryavtsev