good morning
On 2010-03-16, at 11:20 , Nikodemus Siivola wrote:
[ ... ] (make-pathname :name "foo.tar" :type "gz") (make-pathname :name "foo" :type "tar.gz")
are wrought with difficulty.
For Common Lisp these are two non-equal pathnames, so the namestrings --if they exist-- should be non-equal.
SBCL takes the stance that the first one has the namestring "foo.tar.gz", and that the second one has no namestring -- another implementation could take the opposite stance, though I freely submit that IMO disallowing dots in types is less problematic than disallowing them in names.
my experience was that sbcl takes the stance that neither one has a namestring. i endeavored to formulate the tests such that they do not depend on the existence of such namestrings.
The issue with (make-pathname :name "foo.bar" :type nil) is identical.
Cheers,
-- Nikodemus