[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