Skip to content

Commit 4607aff

Browse files
mfikesswannodette
authored andcommitted
CLJS-2367: Self-host: :def-emits-var leaks into loaded namespace processing
1 parent 89914d2 commit 4607aff

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

src/main/cljs/cljs/js.cljs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,7 @@
393393
(let [dep (first deps)
394394
opts' (-> opts
395395
(dissoc :context)
396+
(dissoc :def-emits-var)
396397
(dissoc :ns))]
397398
(require bound-vars dep reload opts'
398399
(fn [res]
@@ -485,6 +486,7 @@
485486
opts' (-> opts
486487
(assoc :macros-ns true)
487488
(dissoc :context)
489+
(dissoc :def-emits-var)
488490
(dissoc :ns))]
489491
(require bound-vars nsym k opts'
490492
(fn [res]

src/test/self/self_host/test.cljs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1319,6 +1319,47 @@
13191319
(is (nil? error))
13201320
(inc! l)))))))))
13211321

1322+
(deftest test-cljs-2367
1323+
(async done
1324+
(let [st (cljs/empty-state)
1325+
l (latch 2 done)]
1326+
(cljs.js/eval st
1327+
'(require (quote foo-2367.core))
1328+
{:context :expr
1329+
:def-emits-var true
1330+
:eval node-eval
1331+
:load (fn [_ cb]
1332+
(cb {:lang :clj
1333+
:source "(ns foo-2367.core) (def b (def a 3))"}))}
1334+
(fn [{:keys [error value]}]
1335+
(is (nil? error))
1336+
(cljs.js/eval st
1337+
'foo-2367.core/b
1338+
{:context :expr
1339+
:eval node-eval}
1340+
(fn [{:keys [error value]}]
1341+
(is (nil? error))
1342+
(is (= 3 value))
1343+
(inc! l)))))
1344+
(cljs.js/eval st
1345+
'(require-macros (quote bar-2367.core))
1346+
{:context :expr
1347+
:def-emits-var true
1348+
:eval node-eval
1349+
:load (fn [_ cb]
1350+
(cb {:lang :clj
1351+
:source "(ns bar-2367.core) (def b (def a 4)) (defmacro c [] b)"}))}
1352+
(fn [{:keys [error value]}]
1353+
(is (nil? error))
1354+
(cljs.js/eval st
1355+
'(bar-2367.core/c)
1356+
{:context :expr
1357+
:eval node-eval}
1358+
(fn [{:keys [error value]}]
1359+
(is (nil? error))
1360+
(is (= 4 value))
1361+
(inc! l))))))))
1362+
13221363
(defn -main [& args]
13231364
(run-tests))
13241365

0 commit comments

Comments
 (0)