Global readtable leakage into ASDF-loaded projects

Bug #1820910 reported by Michał "phoe" Herda
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ASDF
Won't Fix
Medium
Unassigned

Bug Description

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.

Revision history for this message
Faré (fahree) wrote :

This has been known for a long time, and the branch syntax-control is addressing this issue (that I wrote in 2015 or so). But this is a significant change enough that it warrants a new minor version of ASDF (so, 3.4), but we are still undermanned to release 3.3.3.

Revision history for this message
Faré (fahree) wrote :

Thanks though for giving a real-life example of the issue being relevant.

Revision history for this message
Michał "phoe" Herda (phoe-krk) wrote :

Issue now tracked at https://gitlab.common-lisp.net/asdf/asdf/-/issues/31 - this one may be closed.

Revision history for this message
Faré (fahree) wrote :

Closing. See gitlab issue instead.

Changed in asdf:
importance: Undecided → Medium
milestone: none → 4.0
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.