current SBCL allows allows file-namestring and directory-namestring
to return NIL, if the relevant parts of the pathname are NIL
(due to one of my patches).
(directory-namestring (make-pathname :directory nil))
Well, I ran into problems, when I played with mk-defsystem, and
I noticed that most implementations just return the empty string
"" in the above examples.
So, I have reread CLHS, and it says (19.4 functions namestring ...)
that these functions may return a namestring or NIL.
But the description says
"These functions convert pathname into a namestring.
The name represented by pathname is returned as a namestring ..."
and namestring is defined as:
"namestring n. a string that represents a filename using either
the standardized notation for naming logical pathnames described
in Section 19.3.1
(Syntax of Logical Pathname Namestrings), or some
implementation-defined notation for naming a physical pathname."
So all this seems somewhat underspecified by ANSI.
Well, I think it might make sense to return only a string,
because returning a string is somewhat implied by the name
of the respective functions.
A fix is trivial (attached).
Martin Atzmueller <martin@...>