Skip to content

Commit aa03451

Browse files
mfikesdnolen
authored and
dnolen
committed
CLJS-1596: Self-host: :load-macros and :analyze-deps don't work in cljs.js
Only default to true if not set.
1 parent d56309e commit aa03451

File tree

2 files changed

+97
-10
lines changed

2 files changed

+97
-10
lines changed

src/main/cljs/cljs/js.cljs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@
222222
(let [bound-vars (merge
223223
{:*compiler* (env/default-compiler-env)
224224
:*data-readers* tags/*cljs-data-readers*
225-
:*load-macros* (or (:load-macros opts) true)
226-
:*analyze-deps* (or (:analyze-deps opts) true)
225+
:*load-macros* (:load-macros opts true)
226+
:*analyze-deps* (:analyze-deps opts true)
227227
:*load-fn* (or (:load opts) *load-fn*)
228228
:*eval-fn* (or (:eval opts) *eval-fn*)}
229229
bound-vars)
@@ -523,8 +523,8 @@
523523
{:*compiler* state
524524
:*data-readers* tags/*cljs-data-readers*
525525
:*passes* (or (:passes opts) ana/*passes*)
526-
:*analyze-deps* (or (:analyze-deps opts) true)
527-
:*load-macros* (or (:load-macros opts) true)
526+
:*analyze-deps* (:analyze-deps opts true)
527+
:*load-macros* (:load-macros opts true)
528528
:*load-fn* (or (:load opts) *load-fn*)
529529
:*eval-fn* (or (:eval opts) *eval-fn*)}
530530
source name opts cb)))
@@ -594,8 +594,8 @@
594594
(eval*
595595
{:*compiler* state
596596
:*data-readers* tags/*cljs-data-readers*
597-
:*analyze-deps* (or (:analyze-deps opts) true)
598-
:*load-macros* (or (:load-macros opts) true)
597+
:*analyze-deps* (:analyze-deps opts true)
598+
:*load-macros* (:load-macros opts true)
599599
:*load-fn* (or (:load opts) *load-fn*)
600600
:*eval-fn* (or (:eval opts) *eval-fn*)}
601601
form opts cb)))
@@ -690,8 +690,8 @@
690690
(compile-str*
691691
{:*compiler* state
692692
:*data-readers* tags/*cljs-data-readers*
693-
:*analyze-deps* (or (:analyze-deps opts) true)
694-
:*load-macros* (or (:load-macros opts) true)
693+
:*analyze-deps* (:analyze-deps opts true)
694+
:*load-macros* (:load-macros opts true)
695695
:*load-fn* (or (:load opts) *load-fn*)
696696
:*eval-fn* (or (:eval opts) *eval-fn*)
697697
:*sm-data* (when (:source-map opts) (sm-data))}
@@ -821,8 +821,8 @@
821821
(eval-str*
822822
{:*compiler* state
823823
:*data-readers* tags/*cljs-data-readers*
824-
:*analyze-deps* (or (:analyze-deps opts) true)
825-
:*load-macros* (or (:load-macros opts) true)
824+
:*analyze-deps* (:analyze-deps opts true)
825+
:*load-macros* (:load-macros opts true)
826826
:*load-fn* (or (:load opts) *load-fn*)
827827
:*eval-fn* (or (:eval opts) *eval-fn*)}
828828
source name opts cb)))

src/test/self/self_host/test.cljs

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,93 @@
243243
(is (= "1\n2\n" value))
244244
(inc! l))))))
245245

246+
(deftest test-disable-analyze-deps
247+
(cljs/analyze-str st
248+
"(ns analyze-deps-as.core (:require [analyze-me.core :refer [abc]]))"
249+
nil
250+
{:context :expr
251+
:eval cljs.js/js-eval
252+
:analyze-deps false
253+
:load (fn [_ cb]
254+
(cb {:lang :clj
255+
:source "(ns analyze-me.core)"}))}
256+
(fn [{:keys [error]}]
257+
(is (nil? error))))
258+
259+
(cljs/eval st
260+
'(ns analyze-deps-e.core (:require [analyze-me.core :refer [abc]]))
261+
{:context :expr
262+
:eval cljs.js/js-eval
263+
:analyze-deps false
264+
:load (fn [_ cb]
265+
(cb {:lang :clj
266+
:source "(ns analyze-me.core)"}))}
267+
(fn [{:keys [error]}]
268+
(is (nil? error))))
269+
(cljs/compile-str st
270+
"(ns analyze-deps-c.core (:require [analyze-me.core :refer [abc]]))"
271+
nil
272+
{:context :expr
273+
:eval cljs.js/js-eval
274+
:analyze-deps false
275+
:load (fn [_ cb]
276+
(cb {:lang :clj
277+
:source "(ns analyze-me.core)"}))}
278+
(fn [{:keys [error]}]
279+
(is (nil? error))))
280+
(cljs/eval-str st
281+
"(ns analyze-deps-es.core (:require [analyze-me.core :refer [abc]]))"
282+
nil
283+
{:context :expr
284+
:eval cljs.js/js-eval
285+
:analyze-deps false
286+
:load (fn [_ cb]
287+
(cb {:lang :clj
288+
:source "(ns analyze-me.core)"}))}
289+
(fn [{:keys [error]}]
290+
(is (nil? error)))))
291+
292+
(deftest test-disable-load-macros
293+
(cljs/analyze-str st
294+
"(ns load-macros-as.core (:require-macros [load-me.core]))"
295+
nil
296+
{:context :expr
297+
:eval cljs.js/js-eval
298+
:load-macros false
299+
:load (fn [_ _]
300+
(throw (ex-info "unexpected" {})))}
301+
(fn [{:keys [error]}]
302+
(is (nil? error))))
303+
(cljs/eval st
304+
'(ns load-macros-e.core (:require-macros [load-me.core]))
305+
{:context :expr
306+
:eval cljs.js/js-eval
307+
:load-macros false
308+
:load (fn [_ _]
309+
(throw (ex-info "unexpected" {})))}
310+
(fn [{:keys [error]}]
311+
(is (nil? error))))
312+
(cljs/compile-str st
313+
"(ns load-macros-c.core (:require-macros [load-me.core]))"
314+
nil
315+
{:context :expr
316+
:eval cljs.js/js-eval
317+
:load-macros false
318+
:load (fn [_ _]
319+
(throw (ex-info "unexpected" {})))}
320+
(fn [{:keys [error]}]
321+
(is (nil? error))))
322+
(cljs/eval-str st
323+
"(ns load-macros-es.core (:require-macros [load-me.core]))"
324+
nil
325+
{:context :expr
326+
:eval cljs.js/js-eval
327+
:load-macros false
328+
:load (fn [_ _]
329+
(throw (ex-info "unexpected" {})))}
330+
(fn [{:keys [error]}]
331+
(is (nil? error)))))
332+
246333
(deftest test-load-and-invoke-macros
247334
(async done
248335
(let [l (latch 9 done)]

0 commit comments

Comments
 (0)