summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew Raines <aaraines@gmail.com>2009-12-15 09:04:47 -0600
committerChouser <chouser@n01se.net>2010-01-27 22:39:07 -0500
commit2855e34106b2cacd4614f2b7e31f1536b4b849bc (patch)
treeac85828b8c208a7fe5f3483301c7ec2a49a46f4c
parent634b3d535a13509efca07d8cbfb7f11ff2792a76 (diff)
Move cons outside of lazy-seq for *-seq fns; fixes #222.
Signed-off-by: Chouser <chouser@n01se.net>
-rw-r--r--src/clj/clojure/core.clj9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index f54994d9..23d91afa 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -2067,9 +2067,8 @@
"Returns the lines of text from rdr as a lazy sequence of strings.
rdr must implement java.io.BufferedReader."
[#^java.io.BufferedReader rdr]
- (let [line (. rdr (readLine))]
- (when line
- (lazy-seq (cons line (line-seq rdr))))))
+ (when-let [line (.readLine rdr)]
+ (cons line (lazy-seq (line-seq rdr)))))
(defn comparator
"Returns an implementation of java.util.Comparator based upon pred."
@@ -3318,7 +3317,7 @@
(let [m (re-matcher re s)]
((fn step []
(when (. m (find))
- (lazy-seq (cons (re-groups m) (step))))))))
+ (cons (re-groups m) (lazy-seq (step))))))))
(defn re-matches
"Returns the match, if any, of string to pattern, using
@@ -3958,7 +3957,7 @@
row-values (fn [] (map (fn [#^Integer i] (. rs (getObject i))) idxs))
rows (fn thisfn []
(when (. rs (next))
- (lazy-seq (cons (apply struct row-struct (row-values)) (thisfn)))))]
+ (cons (apply struct row-struct (row-values)) (lazy-seq (thisfn)))))]
(rows)))
(defn iterator-seq