[armedbear-cvs] r14019 - trunk/abcl/src/org/armedbear/lisp
ehuelsmann at common-lisp.net
ehuelsmann at common-lisp.net
Sun Jul 29 15:24:20 UTC 2012
Author: ehuelsmann
Date: Sun Jul 29 08:24:16 2012
New Revision: 14019
Log:
Fix #224: autoloading clobbered by unknown special variable state.
Modified:
trunk/abcl/src/org/armedbear/lisp/Load.java
Modified: trunk/abcl/src/org/armedbear/lisp/Load.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Load.java Sun Jul 29 04:32:09 2012 (r14018)
+++ trunk/abcl/src/org/armedbear/lisp/Load.java Sun Jul 29 08:24:16 2012 (r14019)
@@ -215,14 +215,19 @@
}
}
- public static final LispObject loadSystemFile(String filename, boolean auto)
-
+ public static LispObject loadSystemFile(String filename, boolean auto)
{
LispThread thread = LispThread.currentThread();
if (auto) {
final SpecialBindingsMark mark = thread.markSpecialBindings();
+ // Due to autoloading, we're not sure about the loader state.
+ // Make sure that all reader relevant variables have known state.
thread.bindSpecial(Symbol.CURRENT_READTABLE,
STANDARD_READTABLE.symbolValue(thread));
+ thread.bindSpecial(Symbol.READ_BASE, Fixnum.constants[10]);
+ thread.bindSpecial(Symbol.READ_SUPPRESS, NIL);
+ thread.bindSpecial(Symbol.READ_EVAL, T);
+ thread.bindSpecial(Symbol.READ_DEFAULT_FLOAT_FORMAT, Symbol.SINGLE_FLOAT);
thread.bindSpecial(Symbol._PACKAGE_, PACKAGE_CL_USER);
try {
return loadSystemFile(filename,
More information about the armedbear-cvs
mailing list