Global readtable leakage into ASDF-loaded projects
Porting the issue over from https://bugs.launchpad.net/asdf/+bug/1820910
Execute the following in the REPL with Quicklisp installed:
(ql:quickload :qtools)
(named-readtables:in-readtable :qtools)
(asdf:load-system :esrap :force t)
Result on SBCL:
; file: /home/phoe/.roswell/lisp/quicklisp/dists/quicklisp/software/esrap-20190107-git/src/expressions.lisp
; in: DEFUN EXPRESSION-EQUAL-P
; (DYNAMIC-EXTENT (CL+QT:FUNCTION ESRAP::REC))
;
; caught ERROR:
; DYNAMIC-EXTENT on a weird thing: (CL+QT:FUNCTION REC)
The Qtools readtable rebinds the #\# #\'
macro to support dynamic loading of Qt functions.
It seems that ASDF allows the current value of the global readtable to poison the files being loaded, instead of assuming that they need to be loaded with the standard readtable. That should not happen.
Edited by Michał Herda