Re: Is this correct?
Martin Simmons <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
Yes, possibly truename should try to find the actual case of the name, but
currently it doesn't in LW.
You could think of it as being a multiverse of hard links to the same file,
all with different case so they are all canonical somewhere :-)
--
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/
>>>>> On Fri, 20 Feb 2026 17:35:37 +0100, Marco Antoniotti (as marco dot antoniotti at unimib dot it) said:
>
> Hi
>
> That does not matter. It is the case of the results that is off.
>
> On LW this is what you have:
>
> CL-USER 10 > (describe *default-pathname-defaults*)
>
> #P"" is a PATHNAME
> HOST NIL
> DEVICE NIL
> DIRECTORY NIL
> NAME NIL
> TYPE NIL
> VERSION :NEWEST
>
> and
>
> CL-USER 12 > (describe (lw:current-pathname))
>
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/" is a PATHNAME
> HOST NIL
> DEVICE NIL
> DIRECTORY (:ABSOLUTE "Users" "marcoxa" "Projects" "Lang" "CL"
> "HELambdaP")
> NAME NIL
> TYPE NIL
> VERSION NIL
>
> On SBCL you have.
>
> CL-USER> (describe *default-pathname-defaults*)
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/"
> [pathname]
>
> HOST = #<SB-IMPL::UNIX-HOST {1200039983}>
> DIRECTORY = (:ABSOLUTE "Users" "marcoxa" "Projects" "Lang" "CL"
> "HELambdaP")
>
> But even binding *d-p-d* on LWM does not change the effect.
>
> CL-USER 11 >
>
>
> (let ((*default-pathname-defaults* (current-pathname)))
> (load "tmp/lpn.lisp") (load "tmp/Lpn.lisp")
> (load "tmp/LPN.lisp"))
> ; Loading text file /Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp
> LPN: Test: *load-pathname*
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> LPN: Test: *load-truename*
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> ; Loading text file /Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/Lpn.lisp
> LPN: Test: *load-pathname*
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/Lpn.lisp"
> LPN: Test: *load-truename*
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/Lpn.lisp"
> ; Loading text file /Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp
> LPN: Test: *load-pathname*
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp"
> LPN: Test: *load-truename*
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp"
> #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp"
>
> Shall I move to TOPS-20? 🥹🙄
>
> Cheers
>
> Marco
>
> On Fri, Feb 20, 2026 at 5:25 PM Michał "phoe" Herda <[email protected]>
> wrote:
>
> > What is *DEFAULT-PATHNAME-DEFAULTS* on LW and SBCL?
> > https://www.lispworks.com/documentation/HyperSpec/Body/v_defaul.htm
> >
> > Asking because that is going to affect the value of LOAD-PATHNAME, as per
> > https://www.lispworks.com/documentation/HyperSpec/Body/v_ld_pns.htm
> >
> > Both are correct, I just suspect that the implementation-defined default
> > is different.
> >
> > W dniu 2026-02-20 17:12, Marco Antoniotti (as marco dot antoniotti at
> > unimib dot it) napisał(a):
> >
> > Hi
> >
> > I am finding some issues with *load-pathname* and *load-truename*.
> >
> > Here is what I see in LWM (8.x). I did a change-directory beforehand).
> >
> > CL-USER 5 > (load "tmp/lpn.lisp")
> > ; Loading text file /Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp
> > LPN: Test: *load-pathname* #P"tmp/lpn.lisp"
> > LPN: Test: *load-truename*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> >
> > CL-USER 6 > (load "tmp/Lpn.lisp")
> > ; Loading text file /Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/Lpn.lisp
> > LPN: Test: *load-pathname* #P"tmp/Lpn.lisp"
> > LPN: Test: *load-truename*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/Lpn.lisp"
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/Lpn.lisp"
> >
> > CL-USER 7 > (load "tmp/LPN.lisp")
> > ; Loading text file /Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp
> > LPN: Test: *load-pathname* #P"tmp/LPN.lisp"
> > LPN: Test: *load-truename*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp"
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp"
> >
> > However, SCBL seems to be "more correct".
> >
> > CL-USER> (load "tmp/lpn.lisp")
> > LPN: Test: *load-pathname*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> > LPN: Test: *load-truename*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> > T
> > CL-USER> (load "tmp/Lpn.lisp")
> > LPN: Test: *load-pathname*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/Lpn.lisp"
> > LPN: Test: *load-truename*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> > T
> > CL-USER> (load "tmp/LPN.lisp")
> > LPN: Test: *load-pathname*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/LPN.lisp"
> > LPN: Test: *load-truename*
> > #P"/Users/marcoxa/Projects/Lang/CL/HELambdaP/tmp/lpn.lisp"
> > T
> >
> > The actual file is tmp/lpn.lisp and it is listed below.
> >
> > (format t "LPN: Test: *load-pathname* ~S~%" *load-pathname*)
> > (format t "LPN: Test: *load-truename* ~S~%" *load-truename*)
> >
> > Any thoughts?
> >
> > Marco
> >
> > --
> > 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/
>
_______________________________________________
Lisp Hug - the mailing list for LispWorks users
[email protected]
http://www.lispworks.com/support/lisp-hug.html