summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/clj/clojure/boot.clj8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/clj/clojure/boot.clj b/src/clj/clojure/boot.clj
index 68cb448d..30c8d68f 100644
--- a/src/clj/clojure/boot.clj
+++ b/src/clj/clojure/boot.clj
@@ -2274,9 +2274,11 @@
(when-first ~b ~gxs
(if ~f
~(if rses
- `(let [iterys# ~(emit rses)]
- (lazy-cat (iterys# ~ys)
- (~giter (rest ~gxs))))
+ `(let [iterys# ~(emit rses)
+ fs# (iterys# ~ys)]
+ (if fs#
+ (lazy-cat fs# (~giter (rest ~gxs)))
+ (recur (rest ~gxs))))
`(lazy-cons ~expr (~giter (rest ~gxs))))
~(if (= w :when)
`(recur (rest ~gxs))