Skip to content

Commit 89e7170

Browse files
committed
prep work for CLJS-1049
1 parent f132605 commit 89e7170

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

src/clj/cljs/analyzer.clj

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -262,12 +262,19 @@
262262
(defn get-col [x env]
263263
(or (-> x meta :column) (:column env)))
264264

265+
(defn intern-macros
266+
([ns] (intern-macros ns false))
267+
([ns reload]
268+
(when (true? reload)
269+
(swap! env/*compiler* update-in [::namespaces ns] dissoc :macros))))
270+
265271
(defn load-core []
266272
(when (not @-cljs-macros-loaded)
267273
(reset! -cljs-macros-loaded true)
268274
(if *cljs-macros-is-classpath*
269275
(load *cljs-macros-path*)
270-
(load-file *cljs-macros-path*))))
276+
(load-file *cljs-macros-path*))
277+
(intern-macros 'cljs.core)))
271278

272279
(defmacro with-core-macros
273280
[path & body]
@@ -1381,13 +1388,17 @@
13811388
(when *load-macros*
13821389
(load-core)
13831390
(doseq [nsym (vals use-macros)]
1384-
(if-let [k (:use-macros @reload)]
1385-
(clojure.core/require nsym k)
1386-
(clojure.core/require nsym)))
1391+
(let [k (:use-macros @reload)]
1392+
(if k
1393+
(clojure.core/require nsym k)
1394+
(clojure.core/require nsym))
1395+
(intern-macros nsym k)))
13871396
(doseq [nsym (vals require-macros)]
1388-
(if-let [k (:require-macros @reload)]
1389-
(clojure.core/require nsym k)
1390-
(clojure.core/require nsym)))
1397+
(let [k (:require-macros @reload)]
1398+
(if k
1399+
(clojure.core/require nsym k)
1400+
(clojure.core/require nsym))
1401+
(intern-macros nsym k)))
13911402
(when (seq use-macros)
13921403
(check-use-macros use-macros env)))
13931404
(let [ns-info

0 commit comments

Comments
 (0)