File tree Expand file tree Collapse file tree 1 file changed +13
-3
lines changed
Expand file tree Collapse file tree 1 file changed +13
-3
lines changed Original file line number Diff line number Diff line change 2020 [clojure.edn :as edn])
2121 (:import [java.io File Reader PushbackReader]
2222 [java.net URL]
23- [clojure.lang Namespace]
23+ [clojure.lang Namespace Var ]
2424 [cljs.tagged_literals JSValue]))
2525
2626(set! *warn-on-reflection* true )
265265(defn intern-macros
266266 ([ns ] (intern-macros ns false ))
267267 ([ns reload]
268- (when (true ? reload)
269- (swap! env/*compiler* update-in [::namespaces ns ] dissoc :macros ))))
268+ (when (or (nil? (get-in @env/*compiler* [::namespaces ns :macros ]))
269+ reload)
270+ (swap! env/*compiler* assoc-in [::namespaces ns :macros ]
271+ (->> (ns-interns ns )
272+ (filter (fn [[_ ^Var v]] (.isMacro v)))
273+ (map (fn [[k v]]
274+ [k (as-> (meta v) vm
275+ (let [ns (.getName ^Namespace (:ns vm))]
276+ (assoc vm
277+ :ns ns
278+ :name (symbol (str ns ) (str k)))))]))
279+ (into {}))))))
270280
271281(defn load-core []
272282 (when (not @-cljs-macros-loaded)
You can’t perform that action at this time.
0 commit comments