diff options
author | David Powell <djpowell@djpowell.net> | 2011-01-23 01:54:33 +0000 |
---|---|---|
committer | Stuart Halloway <stu@Stuart-Halloways-MacBook-Air.local> | 2011-02-25 14:26:06 -0500 |
commit | 004e088ab9364c77c91d09788a62365695f843c3 (patch) | |
tree | 79514ecd8b746787de41b181eb77edf950c9d04e | |
parent | d93ef6293bbcc6059e6da77dbf6ed26167f36cdb (diff) |
Fix to prevent top-level defs from hanging onto the head of an expression that uses a lazy seq Eg, run using java -Xmx4m : (def x (reduce + (range 1e7)))
Signed-off-by: Stuart Halloway <stu@Stuart-Halloways-MacBook-Air.local>
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index fd658d8c..4a2deb2c 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -3221,7 +3221,7 @@ static class InvokeExpr implements Expr{ PersistentVector argvs = PersistentVector.EMPTY; for(int i = 0; i < args.count(); i++) argvs = argvs.cons(((Expr) args.nth(i)).eval()); - return fn.applyTo(RT.seq(argvs)); + return fn.applyTo(RT.seq( Util.ret1(argvs, argvs = null) )); } catch(Throwable e) { |