pathname-match-p doesn't handle search lists
Assuming `/tmp/` exists, then ``` (setf (search-list "tmp:") '("/tmp/")) (pathname-match-p "/tmp/foo.lisp" "tmp:*.lisp") ``` signals an error that the search-list is the wrong type. http://www.lispworks.com/documentation/lw61/CLHS/Body/f_pn_mat.htm says `pathname-match-p` has implementation-dependent matching, but it should be consistent with `directory`. I think this means that if the search-list has multiple entries, we need to search each entry for a match because `directory` returns a list of all files in each entry of a search-list. This issue affects asdf. If the `$HOME/.cache/` directory doesn't exist, then asdf eventually tries to match some file in the cache directory against a path merged against `(user-homedir-pathname)` which returns `#P"home:"`.
issue