|
262 | 262 | (defn get-col [x env]
|
263 | 263 | (or (-> x meta :column) (:column env)))
|
264 | 264 |
|
| 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 | + |
265 | 271 | (defn load-core []
|
266 | 272 | (when (not @-cljs-macros-loaded)
|
267 | 273 | (reset! -cljs-macros-loaded true)
|
268 | 274 | (if *cljs-macros-is-classpath*
|
269 | 275 | (load *cljs-macros-path*)
|
270 |
| - (load-file *cljs-macros-path*)))) |
| 276 | + (load-file *cljs-macros-path*)) |
| 277 | + (intern-macros 'cljs.core))) |
271 | 278 |
|
272 | 279 | (defmacro with-core-macros
|
273 | 280 | [path & body]
|
|
1381 | 1388 | (when *load-macros*
|
1382 | 1389 | (load-core)
|
1383 | 1390 | (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))) |
1387 | 1396 | (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))) |
1391 | 1402 | (when (seq use-macros)
|
1392 | 1403 | (check-use-macros use-macros env)))
|
1393 | 1404 | (let [ns-info
|
|
0 commit comments