                              {:*cljs-ns* 'cljs.user
                               :*ns* (create-ns ana/*cljs-ns*)})
                      (:source-map opts) (assoc :*sm-data* (sm-data)))]
+    (when (:verbose opts) (debug-prn "Evaluating" name))
     ((fn compile-loop [ns]
        (binding [env/*compiler*         (:*compiler* bound-vars)
                  *eval-fn*              (:*eval-fn* bound-vars)


(defn load-macros [bound-vars k macros reload reloads opts cb]
  (if (seq macros)
    (let [env  (:*compiler* bound-vars)
          nsym (first (vals macros))]
      (let [k (or (k reload)
                  (get-in reloads [k nsym])
                  (and (= nsym name) (:*reload-macros* bound-vars) :reload))]
        (require bound-vars nsym k (assoc opts :macros-ns true)
          (fn [res]
            (if-not (:error res)
              (load-macros bound-vars k (next macros) reload reloads opts cb)
              (cb res))))
        ;(intern-macros nsym k)
        ))
    (cb {:value nil})))

(defn ns-side-effects

                       (cb res)
                       (if (:*load-macros* bound-vars)
                        (do
                          (when (:verbose opts) (debug-prn "Processing :use-macros for" (:name ast)))
                          (load-macros bound-vars :use-macros use-macros reload reloads opts
                            (fn [res]
                              (if (:error res)
                                (cb res)
                                (do
                                  (when (:verbose opts) (debug-prn "Processing :require-macros for" (:name ast)))
                                  (load-macros bound-vars :require-macros require-macros reloads reloads opts
                                    (fn [res]
                                      (if (:error res)
                                        (cb res)
                                        (let [res (try
                                                    (when (seq use-macros)
                                                      (when (:verbose opts) (debug-prn "Checking :use-macros for" (:name ast)))
                                                      (ana/check-use-macros use-macros env))
                                                    {:value nil}
                                                    (catch :default cause
