summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/Compiler.java4
-rw-r--r--src/jvm/clojure/lang/RT.java32
-rw-r--r--src/jvm/clojure/lang/Repl.java4
-rw-r--r--src/jvm/clojure/lang/Script.java4
4 files changed, 30 insertions, 14 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index bb933d7a..c949d8d7 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -3423,8 +3423,8 @@ RT.CURRENT_NS, RT.CURRENT_NS.get()
return ret;
}
-public static void main(String[] args){
-
+public static void main(String[] args) throws Exception{
+ RT.init();
for(String file : args)
try
{
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index 8521e0f8..4762e101 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -190,15 +190,15 @@ static
return arg1 == arg2 ? RT.T : RT.F;
}
});
- try
- {
- InputStream ins = RT.class.getResourceAsStream("/boot.clj");
- Compiler.load(new InputStreamReader(ins));
- }
- catch(Exception e)
- {
- throw new IllegalStateException("Error loading boot.clj", e);
- }
+// try
+// {
+// InputStream ins = RT.class.getResourceAsStream("/boot.clj");
+// Compiler.load(new InputStreamReader(ins));
+// }
+// catch(Exception e)
+// {
+// throw new IllegalStateException("Error loading boot.clj", e);
+// }
}
//static
// {
@@ -208,6 +208,20 @@ static
// }
+static public void init() throws Exception{
+ try
+ {
+ Var.pushThreadBindings(RT.map(Compiler.SOURCE_PATH, "boot.clj",
+ Compiler.SOURCE, "boot.clj"));
+ InputStream ins = RT.class.getResourceAsStream("/boot.clj");
+ Compiler.load(new InputStreamReader(ins));
+ }
+ finally
+ {
+ Var.popThreadBindings();
+ }
+}
+
static public int nextID(){
return id.getAndIncrement();
}
diff --git a/src/jvm/clojure/lang/Repl.java b/src/jvm/clojure/lang/Repl.java
index 26273e87..b439f57e 100644
--- a/src/jvm/clojure/lang/Repl.java
+++ b/src/jvm/clojure/lang/Repl.java
@@ -19,8 +19,8 @@ public class Repl{
static final Symbol REFER = Symbol.create("clojure", "refer");
static final Symbol QUOTE = Symbol.create("quote");
static final Symbol CLOJURE = Symbol.create("clojure");
-public static void main(String[] args){
-
+public static void main(String[] args) throws Exception{
+ RT.init();
for(String file : args)
try
{
diff --git a/src/jvm/clojure/lang/Script.java b/src/jvm/clojure/lang/Script.java
index 781d41d3..2e9a9003 100644
--- a/src/jvm/clojure/lang/Script.java
+++ b/src/jvm/clojure/lang/Script.java
@@ -16,7 +16,9 @@ import java.io.OutputStreamWriter;
import java.io.IOException;
public class Script{
-public static void main(String[] args){
+public static void main(String[] args) throws Exception{
+
+ RT.init();
for(String file : args)
try