summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-08-12 12:05:54 +0000
committerRich Hickey <richhickey@gmail.com>2008-08-12 12:05:54 +0000
commit5c6454d0266ce16c54551e03321d846e91805d5f (patch)
tree24f82139b49b0e83e2186dc89904cca47cf3b152 /src
parenta8307cc884811af0a769023bf1459d77c1c02f7d (diff)
use recur in concat$cat
Diffstat (limited to 'src')
-rw-r--r--src/clj/clojure/boot.clj9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/clj/clojure/boot.clj b/src/clj/clojure/boot.clj
index c225d6ac..7fbfd4d1 100644
--- a/src/clj/clojure/boot.clj
+++ b/src/clj/clojure/boot.clj
@@ -426,11 +426,12 @@
(lazy-seq (first x) (concat (rest x) y))
(seq y)))
([x y & zs]
- (let [cat (fn cat [xys]
+ (let [cat (fn cat [xys zs]
(if (seq xys)
- (lazy-seq (first xys) (cat (rest xys)))
- (apply concat zs)))]
- (cat (concat x y)))))
+ (lazy-seq (first xys) (cat (rest xys) zs))
+ (when zs
+ (recur (first zs) (rest zs)))))]
+ (cat (concat x y) zs))))
;;;;;;;;;;;;;;;;at this point all the support for syntax-quote exists;;;;;;;;;;;;;;;;;;;;;;
(defn =