diff --git a/src/main/clojure/cljs/analyzer.cljc b/src/main/clojure/cljs/analyzer.cljc index 12940689a..daa4872a0 100644 --- a/src/main/clojure/cljs/analyzer.cljc +++ b/src/main/clojure/cljs/analyzer.cljc @@ -3098,7 +3098,8 @@ x (not (contains? ret :info))) (throw (error env (str err-str (pr-str parsed-spec))))) (when-not (every? #{:only :rename} (keys parsed-spec)) (throw (error env (str err-str (pr-str parsed-spec))))) - {:use (zipmap only (repeat 'js)) + {:use (zipmap (if rename (remove rename only) + only) (repeat 'js)) :rename (into {} (map (fn [[orig new-name]] [new-name (symbol "js" (str orig))])) diff --git a/src/test/clojure/cljs/analyzer_tests.clj b/src/test/clojure/cljs/analyzer_tests.clj index ca388182d..07aff9247 100644 --- a/src/test/clojure/cljs/analyzer_tests.clj +++ b/src/test/clojure/cljs/analyzer_tests.clj @@ -391,7 +391,7 @@ (let [parsed (ana/parse-global-refer-spec {} '((:refer-global :only [Date Symbol] :rename {Symbol JSSymbol})))] (is (= parsed - '{:use {Date js Symbol js} + '{:use {Date js} :rename {JSSymbol js/Symbol}})))) (deftest test-parse-require-global