[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: PATHNAME-COMPONENT-CASE (Version 1)
- To: Kent M Pitman <KMP@stony-brook.scrc.symbolics.com>
- Subject: Re: Issue: PATHNAME-COMPONENT-CASE (Version 1)
- From: sandra%cdr@cs.utah.edu (Sandra J Loosemore)
- Date: Fri, 22 Jul 88 11:00:03 MDT
- Cc: cl-cleanup@sail.stanford.edu
- In-reply-to: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>, Fri, 1 Jul 88 19:57 EDT
I don't like this proposal at all and agree with Fahlman that it
should definitely not be the default behavior. I also believe that
there are also so many other issues unresolved with MAKE-PATHNAME that
make it practically impossible to use portably, that trying to deal with
case is rather pointless. These other issues include:
- how long the strings for each of the components can be
- what characters are valid in each component string
- whether punctuation (such as the square brackets around the
directory specifications for VMS, or the dot before the file type)
must/can be included in the component string
- whether the implementation/operating system even supports the
concept for a particular component (e.g., devices on Unix,
directories on CTSS)
These issues are handled differently even among different Lisps
running under the same operating system. As a result, I have avoided
using MAKE-PATHNAME like the plague. Instead, I use MERGE-PATHNAME to
fiddle with pathname objects created by passing namestrings to
PATHNAME. If I must hard-wire namestrings into my code, it is with
the understanding that they are specific to a particular operating
system. I assume that PATHNAME does any canonicalization of case
appropriate for that Lisp implementation and operating system. This
approach has been working quite well for me and I would be content
to leave things as they are, perhaps adding only stronger wording in
the standard about how nonportable MAKE-PATHNAME is. Or, perhaps
MAKE-PATHNAME should be removed from the language entirely.
-Sandra
-------