Christophe Rhodes <csr21@...> writes:
> Why is this patch so huge? Well, I think that this bug was masking
> the problem that pathname parsing on Win32 was just hopelessly broken.
> Granted, I'm not actually sure that this was the case, but it wasn't
> too hard to implement a minimally-tested Windows pathname parser. (It
> only handles drives like "C:", not UNC pathnames or any of those
> strange \\?\ or \\.\ things; ENOUGH-NAMESTRING is almost certainly
> broken, as indeed is the escaping for * and ?, because backslash is
> unconditionally treated as a directory separator; however, most uses
> should work.)
Based on feedback from a few people on #lisp IRC, I have merged a
slightly-adjusted version of this patch.
There were two gotchas: one was that currently the feature :unix is
_on_ for Win32 builds; the second was that the UNIX-RELATIVE-PATHNAME?
function works for unix namestrings but does only what it says on the
tin, so was wrongly classifying Win32 pathnames.