diff options
Diffstat (limited to 'src/clojure/contrib/str_utils.clj')
-rw-r--r-- | src/clojure/contrib/str_utils.clj | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/clojure/contrib/str_utils.clj b/src/clojure/contrib/str_utils.clj index 74a5266e..d24bbb05 100644 --- a/src/clojure/contrib/str_utils.clj +++ b/src/clojure/contrib/str_utils.clj @@ -35,12 +35,13 @@ [#^Pattern re string] (let [m (re-matcher re string)] ((fn step [prevend] - (if (.find m) - (lazy-cons (.subSequence string prevend (.start m)) - (lazy-cons (re-groups m) - (step (+ (.start m) (count (.group m)))))) - (when (< prevend (.length string)) - (list (.subSequence string prevend (.length string)))))) + (lazy-seq + (if (.find m) + (cons (.subSequence string prevend (.start m)) + (cons (re-groups m) + (step (+ (.start m) (count (.group m)))))) + (when (< prevend (.length string)) + (list (.subSequence string prevend (.length string))))))) 0))) (defn re-gsub |