            {:ns             ns-name
             :mappings       (merge core-mappings require-mappings)
             :aliases        (merge imports require-aliases)
-            :macro-mappings macro-mappings
+            :macro-mappings (merge core-macro-mappings macro-mappings)
             :macro-aliases  macro-aliases})))
 
 (defmethod parse 'ns

                                       [:namespaces ns :macro-aliases (symbol sym-ns)])]
                (ns-resolve full-ns (name sym))
                (ns-resolve sym-ns (name sym)))
              (or (get-in (env/deref-env) [:namespaces ns :macro-mappings sym])
                  (ns-resolve 'cljs.core sym)))]
    (when (:macro (meta var))
      var)))

(defn desugar-host-expr [form env]
  (cond
   (symbol? form)

                                (if as
                                  (assoc m as ns)
                                  m)) {} require-macros)
        core-macro-mappings (apply dissoc (core-macros) (:exclude refer-clojure))
        macro-mappings (reduce (fn [m [ns {:keys [refer]}]]
                                 (clojure.core/require ns)
                                 (reduce #(assoc %1 %2 (ns-resolve ns (name %2))) m refer))
