Re: Is this correct?
"Marco Antoniotti (as marco dot antoniotti at unimib dot it)" <[email protected]>
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <CAG0Nw2k1O8q_ZMGLewoiTk+N2g=gy=GYZ4CbDF+1FaCh03e35w@mail.gmail.com> |
Nope. It does not explain the difference. The difference is the "interpretation" made somewhere in the guts of SBCL, LW and ECL about how to do truename, given the underlying file system case conventions, but not the user's expectations. NB. I tend to think that SBCL is doing truename correctly here. MA On Fri, Feb 20, 2026 at 5:56 PM Tim Bradshaw <[email protected]> wrote: > In SBCL it's a pathname which specifies the directory the Lisp started in, > while in LW it's essentially a null pathname. This explains the difference > (up to filesystem case-sensitivity issues). > > I don't know what happens in SBCL if you change the Unix working directory > of the process. I'd check but I have a cat sitting on me who would object. > > --tim > > On 20 Feb 2026, at 16:27, Michał phoe Herda (as phoe at disroot dot org) < > [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/