diff options
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 19 |
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) |