summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jvm/clojure/lang/Compiler.java19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java
index 54da1f52..4d6336f9 100644
--- a/src/jvm/clojure/lang/Compiler.java
+++ b/src/jvm/clojure/lang/Compiler.java
@@ -5581,8 +5581,8 @@ public static Object eval(Object form, boolean freshLoader) throws Exception{
{
ISeq s = RT.next(form);
for(; RT.next(s) != null; s = RT.next(s))
- eval(RT.first(s),false);
- return eval(RT.first(s),false);
+ eval(RT.first(s), false);
+ return eval(RT.first(s), false);
}
else if(form instanceof IPersistentCollection
&& !(RT.first(form) instanceof Symbol
@@ -5599,18 +5599,19 @@ public static Object eval(Object form, boolean freshLoader) throws Exception{
return expr.eval();
}
}
+ catch(Throwable e)
+ {
+ if(!(e instanceof CompilerException))
+ throw new CompilerException((String) SOURCE.deref(), (Integer) LINE.deref(), e);
+ else
+ throw (CompilerException) e;
+ }
finally
{
Var.popThreadBindings();
}
}
- catch(Throwable e)
- {
- if(!(e instanceof CompilerException))
- throw new CompilerException((String) SOURCE.deref(), (Integer) LINE.deref(), e);
- else
- throw (CompilerException) e;
- }
+
finally
{
if(createdLoader)