summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jvm/clojure/lang/LazySeq.java2
-rw-r--r--src/jvm/clojure/lang/RT.java3
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);