Re: parse-namestring and logical pathnames



Madhu <enometh@xxxxxxxx> writes:

Allegro is the only implementation that does NOT frob the case of
the specified pathname in ANY WAY. I find that useful behaviour.
The fact that other implementations frob the name during translation
is the problem[1].
<snip>
[1] imo because they misweigh the imporatance of what the says about
uppercase in the implementation choices open to them.

I disagree. The intent of the lettercase stuff in the pathnames
specification is to let you say

(make-pathname :name "FOO" :type "LISP" :case :common)

on any Lisp and with any pathname host and get back a pathname that
maps to a filename using the standard file naming conventions of
whatever file system the file happens to be on (i.e., "FOO.LISP" on
TOPS-20, "foo.lisp" on Unix). Failing to map uppercase in LPNs or
common case in MAKE-PATHNAME to lowercase on Unix pointlessly
reinvents the portability problems that common case and LPNs were
intended to solve.

--
RmK
.



Relevant Pages

  • Re: parse-namestring and logical pathnames
    ... the specified pathname in ANY WAY. ... The fact that other implementations frob the name during translation ... lowercasing in Unix is wrong as the file system is case- ...
    (comp.lang.lisp)
  • Re: Most portable way to make pathname?
    ... > | html file that is related to the file named by the original pathname. ... So practically speaking:case:common makes it less portable. ...
    (comp.lang.lisp)