medley icon indicating copy to clipboard operation
medley copied to clipboard

Missing pathnames features

Open pamoroso opened this issue 1 year ago • 5 comments

The following features are missing from Medley's implementation of Common Lisp pathnames:

  • #p reader macro
  • :absolute and :relative directory components

This was discovered when evaluating the compatibility of Medley Common Lisp with ANSI Comon Lisp in issue #609, specifically by testing the files and I/O code of the book Practical Common Lisp.

pamoroso avatar Mar 20 '24 20:03 pamoroso

You might want to try loading CMLPATHNAME from the CLtL2 directory and see if that solves it.

On Mar 20, 2024, at 3:23 PM, Paolo Amoroso @.***> wrote:

The following features are missing from Medley's implementation of Common Lisp pathnames: • #p reader macro • :absolute and :relative directory components This was discovered when evaluating the compatibility of Medley Common Lisp with ANSI Comon Lisp in issue #609, specifically by testing the files and I/O code of the book Practical Common Lisp. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Anzus avatar Mar 20 '24 20:03 Anzus

As far as I know the CLtL2 directory is missing from Medley Online, so I downloaded the file from the repo and uploaded it. But, when loading CMLPATHNAME.LCOM from a XCL Exec, most of the times I get a break window with the error External symbol LOGICAL-PATHNAME not found in package LISP:

cmlpathname-error

When the break window doesn't open and I evaluate a #p expression such as #p"file.txt" I get the same error Undefined dispatch character #\P for dispatch macro character #\#.

pamoroso avatar Mar 20 '24 20:03 pamoroso

I’m not sure any of the compiled files in the CLtL2 directory have been compiled with a modern image, for anything in there I would go with the source files. But in this case I suspect there’s another dependency involved. The packages in CLtL2 are different from 1, and that symbol is probably defined elsewhere.

On Mar 20, 2024, at 3:54 PM, Paolo Amoroso @.***> wrote:

As far as I know the CLtL2 directory is missing from Medley Online, so I downloaded the file from the repo and uploaded it. But, when loading CMLPATHNAME.LCOM from a XCL Exec, most of the times I get a break window with the error External symbol LOGICAL-PATHNAME not found in package LISP: cmlpathname-error.png (view on web) When the break window doesn't open and I evaluate a #p expression such as #p"file.txt" I get the same error Undefined dispatch character #\P for dispatch macro character ##. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

Anzus avatar Mar 20 '24 20:03 Anzus

CL:LOGICAL-PATHNAME is defined in the CMLPATHNAME source file both as DEFSTRUCT (line 43) and as DEFUN (line 193)

MattHeffron avatar Mar 20 '24 21:03 MattHeffron

There are package problems with the CLTL2 files.. the COMMON-LISP package is built specially before packaging is enabled see PACKAGING-ENABLE

masinter avatar Mar 29 '24 03:03 masinter