Re: [clisp-list] logical pathnames in clisp 2000-03-06 ?

Sam writes:
> >> Am I doing something wrong or are logical pathnames still not working?
> >>
> >> [2]> (logical-pathname-translations "sys")
>
> I don't know why CLISP defines this logical host. (the only reason I
> could see is to make "LISP" equivalent to "lisp" as filename
> extensions.)
> Bruno?
CLtL2 and CLHS say
The logical pathname host name "SYS" is reserved for the implementation.
The existence and meaning of SYS: logical pathnames is implementation-
defined.
I thought it was good style to define such a logical host; at least it
makes it possible to test something :-)
> (I don't know what the leading ';' is for, but I am not a logical
> pathname expert).
"If a semicolon precedes the directories, the directory component is
relative; otherwise it is absolute."
Bruno

>>>> In message <200005040656.XAA00879@...>
>>>> On the subject of "[clisp-list] logical pathnames in clisp 2000-03-06 ?"
>>>> Sent on Thu May 04 01:49:47 EDT 2000
>>>> Honorable Don Cohen <donc@...> writes:
>> Am I doing something wrong or are logical pathnames still not working?
>>
>> [2]> (logical-pathname-translations "sys")
I don't know why CLISP defines this logical host. (the only reason I
could see is to make "LISP" equivalent to "lisp" as filename
extensions.)
Bruno?
>> [4]> (setf (logical-pathname-translations "Don")
>> '((";**;*.*" "/export/home/donc/lisp/")
>> ("**;*.*" "/export/home/donc/lisp/")))
your fault, it should be
(setf (logical-pathname-translations "Don")
'(("**;*.*" "/export/home/donc/lisp/**/*")))
(I don't know what the leading ';' is for, but I am not a logical
pathname expert).
--
Sam Steingold (http://www.podval.org/~sds)
Micros**t is not the answer. Micros**t is a question, and the answer is Linux,
(http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation.
All extremists should be taken out and shot.

Sam writes:
> >> Am I doing something wrong or are logical pathnames still not working?
> >>
> >> [2]> (logical-pathname-translations "sys")
>
> I don't know why CLISP defines this logical host. (the only reason I
> could see is to make "LISP" equivalent to "lisp" as filename
> extensions.)
> Bruno?
CLtL2 and CLHS say
The logical pathname host name "SYS" is reserved for the implementation.
The existence and meaning of SYS: logical pathnames is implementation-
defined.
I thought it was good style to define such a logical host; at least it
makes it possible to test something :-)
> (I don't know what the leading ';' is for, but I am not a logical
> pathname expert).
"If a semicolon precedes the directories, the directory component is
relative; otherwise it is absolute."
Bruno

>> [4]> (setf (logical-pathname-translations "Don")
>> '((";**;*.*" "/export/home/donc/lisp/")
>> ("**;*.*" "/export/home/donc/lisp/")))
your fault, it should be
(setf (logical-pathname-translations "Don")
'(("**;*.*" "/export/home/donc/lisp/**/*")))
Well, what I should have written in this case was /export/.../lisp/*.*
I was HOPING to ignore the **, i.e., don:foo.bar and don:x;y;z;foo.bar
both translate to /export/.../lisp/foo.bar
Similarly, I'd like to be able to leave out the *.*, as in
/export/.../lisp/foo in which case the filename and extension would
also not matter. Or even /export/.../lisp/*.lsp or fum.* in order
to get foo.bar to translate to foo.lsp or fum.bar !
Does this make sense?
(I don't know what the leading ';' is for, but I am not a logical
pathname expert).
The leading ; is to allow for translations of relative paths.

Don Cohen writes:
> it should be
>
> (setf (logical-pathname-translations "Don")
> '(("**;*.*" "/export/home/donc/lisp/**/*")))
>
> Well, what I should have written in this case was /export/.../lisp/*.*
> I was HOPING to ignore the **, i.e., don:foo.bar and don:x;y;z;foo.bar
> both translate to /export/.../lisp/foo.bar
It doesn't work this way in clisp, because throwing away wild directory
components doesn't seem useful to me. (Imagine all index.html files on your
preferred webserver being copied to a single place...)
Bruno