|
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