Skip to content

Commit 94b4e9c

Browse files
x-goose-xdnolen
authored andcommitted
Change ns deps to a vector, use to inform load-libs
1 parent 960bb9b commit 94b4e9c

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/main/clojure/cljs/analyzer.cljc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2342,7 +2342,7 @@
23422342
core-renames (reduce (fn [m [original renamed]]
23432343
(assoc m renamed (symbol "cljs.core" (str original))))
23442344
{} core-renames)
2345-
deps (atom #{})
2345+
deps (atom [])
23462346
aliases (atom {:fns {} :macros {}})
23472347
spec-parsers {:require (partial parse-require-spec env false deps aliases)
23482348
:require-macros (partial parse-require-spec env true deps aliases)
@@ -2406,7 +2406,7 @@
24062406
(merge {:op :ns
24072407
:env env
24082408
:form form
2409-
:deps @deps
2409+
:deps (into [] (distinct @deps))
24102410
:reload @reload
24112411
:reloads @reloads}
24122412
(cond-> ns-info
@@ -2439,7 +2439,7 @@
24392439
core-renames (reduce (fn [m [original renamed]]
24402440
(assoc m renamed (symbol "cljs.core" (str original))))
24412441
{} core-renames)
2442-
deps (atom #{})
2442+
deps (atom [])
24432443
aliases (atom {:fns {} :macros {}})
24442444
spec-parsers {:require (partial parse-require-spec env false deps aliases)
24452445
:require-macros (partial parse-require-spec env true deps aliases)
@@ -2497,7 +2497,7 @@
24972497
(merge {:op :ns*
24982498
:env env
24992499
:form form
2500-
:deps @deps
2500+
:deps (into [] (distinct @deps))
25012501
:reload @reload
25022502
:reloads @reloads}
25032503
(cond-> require-info

src/main/clojure/cljs/compiler.cljc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,13 +1032,13 @@
10321032
(emit-wrap env (emits target " = " val)))
10331033

10341034
(defn load-libs
1035-
[libs seen reloads]
1035+
[libs seen reloads deps]
10361036
(let [loaded-libs (munge 'cljs.core.*loaded-libs*)
10371037
loaded-libs-temp (munge (gensym 'cljs.core.*loaded-libs*))]
10381038
(when (-> libs meta :reload-all)
10391039
(emitln "if(!COMPILED) " loaded-libs-temp " = " loaded-libs " || cljs.core.set();")
10401040
(emitln "if(!COMPILED) " loaded-libs " = cljs.core.set();"))
1041-
(doseq [lib (remove (set (vals seen)) (distinct (vals libs)))]
1041+
(doseq [lib (remove (set (vals seen)) (filter #(get libs %) deps))]
10421042
(cond
10431043
#?@(:clj
10441044
[(ana/foreign-dep? lib)
@@ -1068,19 +1068,19 @@
10681068
(emitln "if(!COMPILED) " loaded-libs " = cljs.core.into(" loaded-libs-temp ", " loaded-libs ");"))))
10691069

10701070
(defmethod emit* :ns*
1071-
[{:keys [name requires uses require-macros reloads env]}]
1072-
(load-libs requires nil (:require reloads))
1073-
(load-libs uses requires (:use reloads)))
1071+
[{:keys [name requires uses require-macros reloads env deps]}]
1072+
(load-libs requires nil (:require reloads) deps)
1073+
(load-libs uses requires (:use reloads) deps))
10741074

10751075
(defmethod emit* :ns
1076-
[{:keys [name requires uses require-macros reloads env]}]
1076+
[{:keys [name requires uses require-macros reloads env deps]}]
10771077
(emitln "goog.provide('" (munge name) "');")
10781078
(when-not (= name 'cljs.core)
10791079
(emitln "goog.require('cljs.core');")
10801080
(when (-> @env/*compiler* :options :emit-constants)
10811081
(emitln "goog.require('" (munge ana/constants-ns-sym) "');")))
1082-
(load-libs requires nil (:require reloads))
1083-
(load-libs uses requires (:use reloads)))
1082+
(load-libs requires nil (:require reloads) deps)
1083+
(load-libs uses requires (:use reloads) deps))
10841084

10851085
(defmethod emit* :deftype*
10861086
[{:keys [t fields pmasks body protocols]}]

0 commit comments

Comments
 (0)