From f9546af9cad923b3905059840a54b4a40b3faa9c Mon Sep 17 00:00:00 2001 From: Richard Newman Date: Mon, 11 Jul 2016 11:00:49 -0700 Subject: [PATCH] Make defhelper work. --- src/honeysql/helpers.cljc | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/honeysql/helpers.cljc b/src/honeysql/helpers.cljc index ec71a80..1d3b517 100644 --- a/src/honeysql/helpers.cljc +++ b/src/honeysql/helpers.cljc @@ -18,18 +18,20 @@ (let [kw (keyword (name helper))] `(do (defmethod build-clause ~kw ~(into ['_] arglist) ~@more) - (doto (defn ~helper [& args#] - (let [[m# args#] (if (plain-map? (first args#)) - [(first args#) (rest args#)] - [{} args#])] - (build-clause ~kw m# args#))) - ;; maintain the original arglist instead of getting - ;; ([& args__6880__auto__]) - (alter-meta! - assoc - :arglists - '(~(into [] (rest arglist)) - ~(into [(first arglist)] (rest arglist))))))))) + (defn ~helper [& args#] + (let [[m# args#] (if (plain-map? (first args#)) + [(first args#) (rest args#)] + [{} args#])] + (build-clause ~kw m# args#))) + + ;; maintain the original arglist instead of getting + ;; ([& args__6880__auto__]) + (alter-meta! + (var ~helper) + assoc + :arglists + '(~(into [] (rest arglist)) + ~(into [(first arglist)] (rest arglist)))))))) (defn collify [x] (if (coll? x) x [x]))