[Openmcl-devel] question regarding pathname-match-p

lsxvdqe lsxvdqe at gmail.com
Fri Jul 13 02:43:15 PDT 2018

Disclaimer: I'm not a CCL dev.

On Thu, 12 Jul 2018, Ralf Stoye wrote:

> pathname-match-p behaves different on ccl than on scbl.
> #P"/home/rs/src/quicklisp/local-projects/hello-world/system.asd"
> "system.asd")
> -> nil

This looks like a bug to me. The standard says that missing components
should be treated as wildcards. And %COMPONENT-MATCH-P does exactly that.
But directory component is matched differently.

This should be equivalent (but isn't for CCL):
(pathname-match-p "/foo/bar" (make-pathname :name "bar"))
(pathname-match-p "/foo/bar" (make-pathname :directory :wild :name "bar"))

This whole wildcard buisness is a bit hairy, as some parts depend on OS and FS.
E.g ECL doesn't treat empty type as a wildcard (unlike most implementations).

More information about the Openmcl-devel mailing list