#224: Autoloader fails when *read-XXXX* variables bound to non-standard values ------------------------+--------------------------------------------------- Reporter: ehuelsmann | Owner: nobody Type: defect | Status: new Priority: major | Milestone: 1.1.0 Component: java | Version: 1.1.0-dev Keywords: | ------------------------+--------------------------------------------------- Durward McDonell reports:
(defmacro foo-bar (s) `(sublis '((foo . bar)) ,s))
(defun foo-bar-rb () (let ((*read-base* #x10) (it (read))) (eval it)))
Load this code, then execute (foo-bar-rb). It will wait for input. Type (foo-bar '(foo)). I would expect this to evaluate to (bar), but abcl gives a FASL version mismatch, where it seems that it is reading the FASL in the new base (16 instead of 10), and reports "found '56' but expected '38' in sublis".
Blake McBride comments:
I put his code in a file named yyy.lisp. I did not compile it. There is no yyy.fasl.
CL-USER(1): (load "yyy.lisp") T CL-USER(2): (foo-bar-rb) (foo-bar '(foo))
Maximum error depth exceeded (11 nested errors) with 'FASL version mismatch; found '57' but expected '39' in with-standard-io-syntax'. CL-USER(3):
#224: Autoloader fails when *read-XXXX* variables bound to non-standard values -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: nobody Type: defect | Status: closed Priority: major | Milestone: 1.1.0 Component: java | Version: 1.1.0-dev Resolution: fixed | Keywords: -------------------------+-------------------------------------------------- Changes (by ehuelsmann):
* status: new => closed * resolution: => fixed
Comment:
(In [14019]) Fix #224: autoloading clobbered by unknown special variable state.
armedbear-ticket@common-lisp.net