fix regression in cljs that causes warning for record fields named var and other reserved words
This commit is contained in:
parent
cfb191e1cd
commit
179d818503
2 changed files with 16 additions and 4 deletions
|
|
@ -421,8 +421,10 @@
|
|||
(defrecord LocalSym
|
||||
[val sym])
|
||||
|
||||
;; needs to be named "avar" instead of "var" due to regression in cljs circa
|
||||
;; 6/26/2017. See https://github.com/nathanmarz/specter/issues/215
|
||||
(defrecord VarUse
|
||||
[val var sym])
|
||||
[val avar sym])
|
||||
|
||||
(defrecord SpecialFormUse
|
||||
[val code])
|
||||
|
|
@ -686,14 +688,14 @@
|
|||
(preserve-map magic-precompilation* o)
|
||||
|
||||
(instance? VarUse o)
|
||||
(if (dynamic-var? (:var o))
|
||||
(if (dynamic-var? (:avar o))
|
||||
(->DynamicVal (maybe-direct-nav
|
||||
(:sym o)
|
||||
(or (-> o :var direct-nav?)
|
||||
(or (-> o :avar direct-nav?)
|
||||
(-> o :sym direct-nav?))))
|
||||
(maybe-direct-nav
|
||||
(:val o)
|
||||
(or (-> o :var direct-nav?)
|
||||
(or (-> o :avar direct-nav?)
|
||||
(-> o :sym direct-nav?)
|
||||
(-> o :val direct-nav?))))
|
||||
|
||||
|
|
|
|||
|
|
@ -1577,6 +1577,16 @@
|
|||
(is (= [1 3 3] (transform MIDDLE inc [1 2 3])))
|
||||
)
|
||||
|
||||
(def ^:dynamic *dvar* :a)
|
||||
|
||||
(defn dvar-tester []
|
||||
(select-any *dvar* {:a 1 :b 2}))
|
||||
|
||||
(deftest dynamic-var-ic-test
|
||||
(is (= 1 (dvar-tester)))
|
||||
(is (= 2 (binding [*dvar* :b] (dvar-tester))))
|
||||
)
|
||||
|
||||
#?(:clj
|
||||
(do
|
||||
(defprotocolpath FooPP)
|
||||
|
|
|
|||
Loading…
Reference in a new issue