On 2010-03-30, at 16:25 , Juan Jose Garcia-Ripoll wrote:
On Tue, Mar 30, 2010 at 4:19 PM, Robert Goldman
<rpgoldman@sift.info> wrote:
On 3/29/10 Mar 29 -6:42 PM, Faré wrote:
> One site per system looks like it will quickly pollute the host
> namespace. What about we instead use a single logical host with
> subdirectories?
>
> #P"COMMON-LISP:SYSTEMS;CL-PPCRE;CL-PPCRE.ASD"
>
> The problem I have with this approach with logical pathnames at all is
> that I don't understand whether or not mixed case and other characters
> are allowed at all.
They are not.
The syntax of logical pathname namestrings is
"word---one or more uppercase letters, digits, and hyphens."
This causes pain when working with people WhoLikeOtherProgrammingLanguages.
No, it does not cause any problem. If you have data that has weird names, but you know where they live in your system,
designators for auxiliary files is not the issue.
then instead of using ASDF to query the paths you can simply query the logical hostname and merge the resulting path with the "nonstandard" components.
So, instead of calling ASDF to locate your system, query its pathname, etc, you would do
(defvar *my-code-base-path* (translate-logical-pathname "MY-SYSTEM:"))
(defvar *my-nonstandard-component* (merge-pathname "foo/MixedCaseWith#WeirdChars.dat" *my-code-base-path*))
the problem arises when asdf itself needs to designate such files.
a portable mechanism to achieve that approaches reimplementing the logical pathname subsystem.
just check out the pathname tests, put some nonconformant names in the test specification and watch them fail.
differently in each implementation.