[armedbear-cvs] r12685 - in branches/0.20.x/abcl: . src/org/armedbear/lisp

Mark Evenson mevenson at common-lisp.net
Sat May 15 16:35:50 UTC 2010


Author: mevenson
Date: Sat May 15 12:35:47 2010
New Revision: 12685

Log:
Backport r1267[35]: Load 'system.lisp' later in boot so conditions trigger debugger.

New command line option '--nosystem' omits the processing of 'system.lisp'.


Modified:
   branches/0.20.x/abcl/build.xml
   branches/0.20.x/abcl/src/org/armedbear/lisp/Interpreter.java
   branches/0.20.x/abcl/src/org/armedbear/lisp/boot.lisp

Modified: branches/0.20.x/abcl/build.xml
==============================================================================
--- branches/0.20.x/abcl/build.xml	(original)
+++ branches/0.20.x/abcl/build.xml	Sat May 15 12:35:47 2010
@@ -241,6 +241,7 @@
 	    classname="org.armedbear.lisp.Main">
         <jvmarg value="-Dabcl.home=${abcl.home.dir}${file.separator}"/>
 	<arg value="--noinit"/>
+        <arg value="--nosystem"/>
         <arg value="--eval"/>
         <arg value="(setf *load-verbose* t)"/>
       </java>
@@ -278,12 +279,19 @@
     </target>
 
     <target name="abcl.system.uptodate">
-      <uptodate property="abcl.system.needs-update.p" 
+      <condition property="abcl.system.needs-update.p">
+        <and>
+          <available file="${system.lisp.file}"/>
+          <available file="${abcl.startup.file}"/>
+          <uptodate
                 srcfile="${system.lisp.file}"
                 targetfile="${abcl.startup.file}"/>
+        </and>
+      </condition>
     </target>
     
-    <target name="abcl.system.update.maybe" depends="abcl.system.uptodate" if="abcl.system.needs-update.p">
+    <target name="abcl.system.update.maybe" depends="abcl.system.uptodate" 
+            if="abcl.system.needs-update.p">
       <touch file="${src.dir}/org/armedbear/lisp/compile-system.lisp"/>
     </target>
 

Modified: branches/0.20.x/abcl/src/org/armedbear/lisp/Interpreter.java
==============================================================================
--- branches/0.20.x/abcl/src/org/armedbear/lisp/Interpreter.java	(original)
+++ branches/0.20.x/abcl/src/org/armedbear/lisp/Interpreter.java	Sat May 15 12:35:47 2010
@@ -52,6 +52,7 @@
     private final OutputStream outputStream;
 
     private static boolean noinit = false;
+    private static boolean nosystem = false;
     private static boolean noinform = false;
 
     public static synchronized Interpreter getInstance()
@@ -92,6 +93,8 @@
         }
         initializeLisp();
         initializeTopLevel();
+        if (!nosystem) 
+            initializeSystem();
         if (!noinit)
             processInitializationFile();
         if (args != null)
@@ -117,6 +120,7 @@
 
         initializeJLisp();
         initializeTopLevel();
+        initializeSystem();
         processInitializationFile();
         return interpreter;
     }
@@ -211,6 +215,11 @@
         }
     }
 
+    private static synchronized void initializeSystem() 
+    {
+        Load.loadSystemFile("system");
+    }
+
     // Check for --noinit; verify that arguments are supplied for --load and
     // --eval options.  Copy all unrecognized arguments into
     // ext:*command-line-argument-list*
@@ -224,6 +233,8 @@
                 String arg = args[i];
                 if (arg.equals("--noinit")) {
                     noinit = true;
+                } else if (arg.equals("--nosystem")) {
+                    nosystem = true;
                 } else if (arg.equals("--noinform")) {
                     noinform = true;
                 } else if (arg.equals("--batch")) {

Modified: branches/0.20.x/abcl/src/org/armedbear/lisp/boot.lisp
==============================================================================
--- branches/0.20.x/abcl/src/org/armedbear/lisp/boot.lisp	(original)
+++ branches/0.20.x/abcl/src/org/armedbear/lisp/boot.lisp	Sat May 15 12:35:47 2010
@@ -209,12 +209,4 @@
     (%format t "Startup completed in ~A seconds.~%"
              (float (/ (ext:uptime) 1000)))))
 
-;;; "system.lisp" contains system installation specific information
-;;; (currently only the logical pathname definition for "SYS;SRC")
-;;; that is not currently required for ABCL to run.  Since
-;;; LOAD-SYSTEM-FILE exits the JVM if its argument cannot be found, we
-;;; use REQUIRE trapping any error.
-(handler-case 
-    (require 'system)
-  (t ()))
 




More information about the armedbear-cvs mailing list