diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-03-12 18:28:44 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-03-12 18:28:44 +0000 |
commit | 6c695a0c02ab8f0997d185ad49757b640ccc86ca (patch) | |
tree | 864b4cc7f226968cf7b66de237b96f863fda59aa /src/jvm/clojure/lang/Repl.java | |
parent | 842e6716e26fb070feeb8654a60128dbe99a538b (diff) |
prevent nested #()s, dump input stream on repl exception, put cause message first
Diffstat (limited to 'src/jvm/clojure/lang/Repl.java')
-rw-r--r-- | src/jvm/clojure/lang/Repl.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/jvm/clojure/lang/Repl.java b/src/jvm/clojure/lang/Repl.java index a00a9080..16ddc01e 100644 --- a/src/jvm/clojure/lang/Repl.java +++ b/src/jvm/clojure/lang/Repl.java @@ -41,11 +41,9 @@ public static void main(String[] args) throws Exception{ { Var.pushThreadBindings( RT.map( -// RT.NS_REFERS, RT.NS_REFERS.get(), -// RT.NS_IMPORTS, RT.NS_IMPORTS.get(), -RT.CURRENT_NS, RT.CURRENT_NS.get(), -RT.WARN_ON_REFLECTION, RT.WARN_ON_REFLECTION.get(), -Compiler.SOURCE, "REPL" + RT.CURRENT_NS, RT.CURRENT_NS.get(), + RT.WARN_ON_REFLECTION, RT.WARN_ON_REFLECTION.get(), + Compiler.SOURCE, "REPL" )); w.write("Clojure\n"); RT.inNamespace.invoke(Symbol.create("user")); @@ -68,6 +66,12 @@ Compiler.SOURCE, "REPL" } catch(Throwable e) { + while(rdr.ready()) + rdr.read(); + Throwable c = e; + while(c.getCause() != null) + c = c.getCause(); + System.err.println(c); e.printStackTrace(); } finally |