From 8e5926ac756a769ef3ecc563808da60fef1b1199 Mon Sep 17 00:00:00 2001 From: anatoly Date: Sun, 29 Nov 2015 23:36:26 -0500 Subject: [PATCH] adding ns to state order to avoid collisions --- src/mount/core.clj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mount/core.clj b/src/mount/core.clj index b5feef8..ba777f6 100644 --- a/src/mount/core.clj +++ b/src/mount/core.clj @@ -28,12 +28,15 @@ (and suspend (not resume)) (throw (IllegalArgumentException. "suspendable state should have a resume function (i.e. missing :resume fn)")))) +(defn- with-ns [ns name] + (str ns "/" name)) + (defmacro defstate [state & body] (let [[state params] (macro/name-with-attributes state body) {:keys [start stop suspend resume] :as lifecycle} (apply hash-map params)] (validate lifecycle) (let [s-meta (cond-> {:mount-state mount-state - :order (make-state-seq state) + :order (make-state-seq (with-ns *ns* state)) :start `(fn [] ~start) :status #{:stopped}} stop (assoc :stop `(fn [] ~stop))