[armedbear-cvs] r12649 - trunk/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Sun May 2 18:51:38 UTC 2010


Author: ehuelsmann
Date: Sun May  2 14:51:35 2010
New Revision: 12649

Log:
Re #79: Add *FASL-UNINTERNED-SYMBOLS* variable to Load.java and save its value
in AutoloadedFunctionProxy, just like *FASL-ANONYMOUS-PACKAGE*.

Modified:
   trunk/abcl/src/org/armedbear/lisp/AutoloadedFunctionProxy.java
   trunk/abcl/src/org/armedbear/lisp/Load.java

Modified: trunk/abcl/src/org/armedbear/lisp/AutoloadedFunctionProxy.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/AutoloadedFunctionProxy.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/AutoloadedFunctionProxy.java	Sun May  2 14:51:35 2010
@@ -51,6 +51,7 @@
         {
             AUTOLOADING_CACHE, // allow loading local preloaded functions
             Load._FASL_ANONYMOUS_PACKAGE_, // package for uninterned symbols
+            Load._FASL_UNINTERNED_SYMBOLS_, // vector of uninterned symbols
             Symbol._PACKAGE_,              // current package
             Symbol.LOAD_TRUENAME           // LOAD-TIME-VALUE depends on this
         };

Modified: trunk/abcl/src/org/armedbear/lisp/Load.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Load.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/Load.java	Sun May  2 14:51:35 2010
@@ -379,6 +379,17 @@
     public static final Symbol _FASL_ANONYMOUS_PACKAGE_ =
         internSpecial("*FASL-ANONYMOUS-PACKAGE*", PACKAGE_SYS, NIL);
 
+    // ### *fasl-uninterned-symbols*
+    // internal symbol
+    /**
+     * This variable gets bound to NIL upon loading a FASL, but
+     * gets set to a vector of symbols as one of the first actions
+     * by the FASL itself.
+     *
+     */
+    public static final Symbol _FASL_UNINTERNED_SYMBOLS_ =
+        internSpecial("*FASL-UNINTERNED-SYMBOLS*", PACKAGE_SYS, NIL);
+
     // ### init-fasl &key version
     private static final Primitive INIT_FASL = new init_fasl();
     private static class init_fasl extends Primitive {
@@ -394,6 +405,7 @@
                     // OK
                     final LispThread thread = LispThread.currentThread();
                     thread.bindSpecial(_FASL_ANONYMOUS_PACKAGE_, NIL);
+                    thread.bindSpecial(_FASL_UNINTERNED_SYMBOLS_, NIL);
                     thread.bindSpecial(_SOURCE_, NIL);
                     return faslLoadStream(thread);
                 }
@@ -409,8 +421,8 @@
                                                        boolean print,
                                                        boolean auto)
         {
-            return loadFileFromStream(pathname == null ? NIL : pathname, 
-                                      truename == null ? NIL : truename, 
+            return loadFileFromStream(pathname == null ? NIL : pathname,
+                                      truename == null ? NIL : truename,
                                       in, verbose, print, auto, false);
     }
 




More information about the armedbear-cvs mailing list