Skip to content

Commit 9dc6846

Browse files
mfikesdnolen
authored andcommitted
CLJS-2715: Have goog-define return the var at the REPL
1 parent 072d87d commit 9dc6846

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/main/clojure/cljs/core.cljc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,12 @@
726726
:cljs (new js/Error (core/str "Unsupported binding key: " (ffirst kwbs)))))
727727
(reduce process-entry [] bents)))))
728728

729+
(core/defmacro ^:private return-first
730+
[& body]
731+
`(let [ret# ~(first body)]
732+
~@(rest body)
733+
ret#))
734+
729735
(core/defmacro goog-define
730736
"Defines a var using `goog.define`. Passed default value must be
731737
string, number or boolean.
@@ -751,7 +757,7 @@
751757
(core/string? default) "string"
752758
(core/number? default) "number"
753759
(core/or (core/true? default) (core/false? default)) "boolean")]
754-
`(do
760+
`(~(if (:def-emits-var &env) `return-first `do)
755761
(declare ~(core/vary-meta sym
756762
(core/fn [m]
757763
(core/cond-> m

0 commit comments

Comments
 (0)