diff options
author | Chouser <chouser@n01se.net> | 2009-08-22 12:45:49 -0400 |
---|---|---|
committer | Chouser <chouser@n01se.net> | 2009-08-24 16:16:47 -0400 |
commit | dbe1710652618c842e513760e985c2219d71926b (patch) | |
tree | e8797752ae51555b89d2c9597b65c0c1fe86e330 /src | |
parent | 94c4a6a9b9fe16dc7408b18c76d488d2dcccb930 (diff) |
delay seq on chunk-rest in doseq
doseq was calling seq on chunk-rest too early. When combinded with chunked
concat this caused some laziness tests to fail. Refs #1
Diffstat (limited to 'src')
-rw-r--r-- | src/clj/clojure/core.clj | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index aaf5eda4..01f04065 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -1897,10 +1897,10 @@ (let [~k (.nth ~chunk- ~i-)] ~subform-chunk ~@(when needrec [recform-chunk])) - (when ~seq- + (when-let [~seq- (seq ~seq-)] (if (chunked-seq? ~seq-) (let [c# (chunk-first ~seq-)] - (recur (seq (chunk-rest ~seq-)) c# + (recur (chunk-rest ~seq-) c# (int (count c#)) (int 0))) (let [~k (first ~seq-)] ~subform |