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__