From b3b6b99e7a57fb4132755e4318fff9d76d592436 Mon Sep 17 00:00:00 2001 From: Nathan Marz Date: Tue, 12 Jan 2016 16:25:02 -0500 Subject: [PATCH] fix replace-in to work with value collection --- CHANGES.md | 1 + src/clj/com/rpl/specter.cljx | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 4d4d50c..0c8852b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,7 @@ * Better syntax checking for defpath * Fixed bug in protocol paths (#48) * Protocol paths error when extension has invalid number of needed parameters +* Fix replace-in to work with value collection ## 0.9.1 * Fixed reflection in protocol path code diff --git a/src/clj/com/rpl/specter.cljx b/src/clj/com/rpl/specter.cljx index 99d5a73..c21dae6 100644 --- a/src/clj/com/rpl/specter.cljx +++ b/src/clj/com/rpl/specter.cljx @@ -103,15 +103,15 @@ [selector transform-fn structure & {:keys [merge-fn] :or {merge-fn concat}}] (let [state (i/mutable-cell nil)] [(compiled-transform selector - (fn [e] - (let [res (transform-fn e)] + (fn [& args] + (let [res (apply transform-fn args)] (if res (let [[ret user-ret] res] (->> user-ret (merge-fn (i/get-cell state)) (i/set-cell! state)) ret) - e + (last args) ))) structure) (i/get-cell state)]