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
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.