Le 22/02/2024 à 05:14, sc...@sympoiesis.com a écrit :
Hi all!  I just ran into something surprising.  This is with ASDF 3.2.1, 
packaged with Quicklisp.  I am using Named-Readtables.  I had '*readtable*' set 
to a nonstandard readtable, then did quickload of a system unrelated to the one 
that defines and uses that readtable.  The compilation failed; after I did 
'(in-readtable :common-lisp)' and tried again, it succeeded.

A quick glance at the ASDF source code shows that it binds '*readtable*' to a 
standard readtable in some cases, such as to read a '.asd' file, but not in 
'uiop/lisp-build/compile-file*', nor in 
'asdf/lisp-action:perform-lisp-compilation'.  Wouldn't it make sense to do that?

-- Scott

IMO it would indeed make sense to do so.

And for other readtables than the default standard readtable, perhaps having a :readtable argument in defsystem or in the :file or :components clauses?

The thing is that some implementations have a non-standard default readtable, (eg. ccl has #/ #_ etc for FFI), and implementation-dependent sources may depend on those readtables without explicitely setting them in each file.

Just using (copy-readtable NIL) to get a standard readtable would break those files. (IMO rightly so, but let's be nice).


--
__Pascal Bourguignon__

Reply via email to