diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-07-31 20:52:47 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-07-31 20:52:47 +0000 |
commit | 37d9b6c83b14a95a53f28ea7c63982aa716d9450 (patch) | |
tree | a2508e125254a0e3b9fd0e7a114c819865691e90 /src | |
parent | a8e7ec162fb395bd5d1a4f29a106dfc98333e85c (diff) |
wrapped non-return try blocks in fn
Diffstat (limited to 'src')
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index 67d4cec3..0554fdca 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -1687,7 +1687,8 @@ static class TryExpr implements Expr{ public Expr parse(C context, Object frm) throws Exception{ ISeq form = (ISeq) frm; - if(context == C.EVAL || context == C.EXPRESSION) +// if(context == C.EVAL || context == C.EXPRESSION) + if(context != C.RETURN) return analyze(context, RT.list(RT.list(FN, PersistentVector.EMPTY, form))); //(try try-expr* catch-expr* finally-expr?) @@ -2695,7 +2696,7 @@ static public class FnExpr implements Expr{ if(RT.second(form) instanceof Symbol) name = ((Symbol) RT.second(form)).name; fn.simpleName = ((name != null ? - munge(name) : "fn") + munge(name).replace(".", "_DOT_") : "fn") + "__" + RT.nextID()); fn.name = basename + fn.simpleName; fn.internalName = fn.name.replace('.', '/'); |