[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