I think this is still true, but... we cannot be discussing ASDF 3.2.1
here. It was released almost 7 years ago, and for whatever reason Zach
refuses to update. The current version is 3.3.7
Please get a more recent ASDF and try again. I *believe* that this
behavior is still in place: Faré proposed the "syntax control" patch to
fix this, but we decided we had no easy path to introducing it, because
it would break other code (admittedly not of good style) that relies on
the old behavior of having the readtable setting leak out of one file
into another. See
https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/86
Any non-backwards compatible modification to ASDF -- even to the extent
of raising a deprecation warning -- has led to temper-tantrums in the CL
community...
On 21 Feb 2024, at 22:14, sc...@sympoiesis.com wrote:
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