diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-06-13 11:54:13 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-06-13 11:54:13 +0000 |
commit | 4ce1fc09273b2e2dafce015453a03319f5c11e28 (patch) | |
tree | bb7855a3baf444c490b760b9caad52cfeeb29c38 | |
parent | 10342e1cf5907fdd3f9d2276d3ecd90bac1856f8 (diff) |
cons, lazy-cons call seq on 2nd arg
-rw-r--r-- | src/jvm/clojure/lang/LazySeq.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/LazySeq.java b/src/jvm/clojure/lang/LazySeq.java index 8ebcaf68..7fad8017 100644 --- a/src/jvm/clojure/lang/LazySeq.java +++ b/src/jvm/clojure/lang/LazySeq.java @@ -55,7 +55,7 @@ synchronized public ISeq rest(){ { try { - _rest = (ISeq) _restFn.invoke(); + _rest = RT.seq(_restFn.invoke()); } catch(Exception ex) { diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index 65fdd039..c159f629 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -407,7 +407,8 @@ static public IPersistentCollection conj(IPersistentCollection coll, Object x){ return coll.cons(x); } -static public ISeq cons(Object x, ISeq y){ +static public ISeq cons(Object x, Object coll){ + ISeq y = seq(coll); if(y == null) return new PersistentList(x); return y.cons(x); |