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 20
20
[clojure.edn :as edn])
21
21
(:import [java.io File Reader PushbackReader]
22
22
[java.net URL]
23
- [clojure.lang Namespace]
23
+ [clojure.lang Namespace Var ]
24
24
[cljs.tagged_literals JSValue]))
25
25
26
26
(set! *warn-on-reflection* true )
265
265
(defn intern-macros
266
266
([ns ] (intern-macros ns false ))
267
267
([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 {}))))))
270
280
271
281
(defn load-core []
272
282
(when (not @-cljs-macros-loaded)
You can’t perform that action at this time.
0 commit comments