summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/clj/clojure/core.clj5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index 1b25eabc..c0413c5d 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -2905,11 +2905,12 @@
[coll]
(let [step (fn step [xs seen]
(lazy-seq
- (loop [[f :as xs] xs seen seen]
+ ((fn [[f :as xs] seen]
(when (seq xs)
(if (seen f)
(recur (more xs) seen)
- (cons f (step (more xs) (conj seen f))))))))]
+ (cons f (step (more xs) (conj seen f))))))
+ xs seen)))]
(step coll #{})))
(defmacro if-let