Re: The Logical Pathname (Song)

"Marco Antoniotti (as marco dot antoniotti at unimib dot it)" <[email protected]>
Newsgroups gmane.lisp.lispworks.general
Message-ID <CAG0Nw2nfgWsUXPJSJKmfwkFOHmSQoPv6sC4ji-AStq3AEL98_w@mail.gmail.com>
This is CCL


CL-USER>
*(setf (logical-pathname-translations "LP")               '(("**;*.*.*"
"~/Projects/Foo/Bar/**/")))*
(("**;*.*.*" "~/Projects/Foo/Bar/**/"))
CL-USER> *(merge-pathnames "ASD.F" "LP:FOO;QWE;")*
#P"LP:FOO;QWE;ASD.F.newest"
CL-USER> *(merge-pathnames "" "LP:FOO;QWE;")*
#P"LP:FOO;QWE;..newest"
CL-USER>


This is ECL

CL-USER>
*(setf (logical-pathname-translations "LP")               '(("**;*.*.*"
"~/Projects/Foo/Bar/**/")))*
((#P"LP:**;*.*.*" #P"/Users/marcoxa/Projects/Foo/Bar/**/"))
CL-USER>  *(merge-pathnames "ASD.F" "LP:FOO;QWE;")*
#P"LP:FOO;QWE;ASD.F.NEWEST"
CL-USER>  *(merge-pathnames "" "LP:FOO;QWE;")*
#P"LP:FOO;QWE;.NEWEST"
CL-USER>

This is SBCL

CL-USER>
*(setf (logical-pathname-translations "LP")               '(("**;*.*.*"
"~/Projects/Foo/Bar/**/")))*
(("**;*.*.*" "~/Projects/Foo/Bar/**/"))
CL-USER> *(merge-pathnames "ASD.F" "LP:FOO;QWE;")*
#P"LP:ASD.F.NEWEST"
CL-USER> *(merge-pathnames "" "LP:FOO;QWE;")*
#<LOGICAL-PATHNAME (with no namestring)
                   :HOST #<SB-KERNEL:LOGICAL-HOST "LP">
                   :DEVICE :UNSPECIFIC
                   :DIRECTORY (:ABSOLUTE)
                   :NAME NIL
                   :TYPE NIL
                   :VERSION :NEWEST>
CL-USER>

This is LWM (same setup)

CL-USER 61 > *(merge-pathnames "ASD.F" "LP:FOO;QWE;")*
#P"LP:ASD.F.NEWEST"

CL-USER 62 > *(merge-pathnames "" "LP:FOO;QWE;")*
#P"LP:"

CL-USER 63 >

As you see there isn't much... logic in the results. 🙄

Cheers

MA



On Fri, Mar 13, 2026 at 7:36 PM Martin Simmons <[email protected]> wrote:

> It looks correct to me.  What are other CL's doing differently?
>
> --
> Martin Simmons
> LispWorks Ltd
> http://www.lispworks.com/
>
>
>
> >>>>> On Wed, 11 Mar 2026 19:54:07 +0100, Marco Antoniotti (as marco dot
> antoniotti at unimib dot it) said:
> >
> > Hi
> >
> > I have the following
> >
> > CL-USER 225 >
> > (setf (logical-pathname-translations "LP")
> > '(("**;*.*.*" "~/Projects/Foo/Bar/**/")))
> > (("**;*.*.*" "~/Projects/Foo/Bar/**/"))
> >
> > Then
> >
> > CL-USER 256 > (merge-pathnames "ASD.F" "LP:FOO;QWE;")
> > #P"LP:ASD.F.NEWEST"
> >
> > Which is ... different from what other CL's do.
> >
> > Any hermeneutics about this in LW?
> >
> > Cheers
> > MA
> >
> >
> > --
> > Marco Antoniotti, Professor, Director         tel. +39 - 02 64 48 79 01
> > DISCo, University of Milan-Bicocca U14 2043   http://dcb.disco.unimib.it
> > Viale Sarca 336
> > I-20126 Milan (MI) ITALY
> >
> > REGAINS: https://regains.disco.unimib.it/
> >
>


-- 
Marco Antoniotti, Professor, Director         tel. +39 - 02 64 48 79 01
DISCo, University of Milan-Bicocca U14 2043   http://dcb.disco.unimib.it
Viale Sarca 336
I-20126 Milan (MI) ITALY

REGAINS: https://regains.disco.unimib.it/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.