diff options
-rw-r--r-- | src/clj/clojure/boot.clj | 9 |
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 = |