Skip to content

Commit

Permalink
CLJS-1700: Support clojure.* aliasing when not in vector
Browse files Browse the repository at this point in the history
  • Loading branch information
anmonteiro authored and dnolen committed Jul 29, 2016
1 parent 82dce0b commit 689f6d3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
16 changes: 8 additions & 8 deletions src/main/clojure/cljs/analyzer.cljc
Original file line number Diff line number Diff line change
Expand Up @@ -1925,14 +1925,14 @@
possible."
[args]
(letfn [(process-spec [maybe-spec]
(if (sequential? maybe-spec)
(let [[lib & xs] maybe-spec]
(if (aliasable-clj-ns? lib)
(let [lib' (clj-ns->cljs-ns lib)
spec (cons lib' xs)]
[spec (list lib' :as lib)])
[maybe-spec]))
[maybe-spec]))
(let [[lib & xs] (if (sequential? maybe-spec)
maybe-spec
[maybe-spec])]
(if (and (symbol? lib) (aliasable-clj-ns? lib))
(let [lib' (clj-ns->cljs-ns lib)
spec (cons lib' xs)]
(into (if xs [spec] []) [(list lib' :as lib)]))
[maybe-spec])))
(process-form [[k & specs :as form]]
(if (#{:use :require} k)
(cons k (mapcat process-spec specs))
Expand Down
7 changes: 6 additions & 1 deletion src/test/clojure/cljs/analyzer_tests.clj
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,12 @@
(:require (clojure.spec :as s) :reload)))
'((:refer-clojure :exclude [first])
(:require-macros (bar :refer [quux]) :reload)
(:require (cljs.spec :as s) (cljs.spec :as clojure.spec) :reload)))))
(:require (cljs.spec :as s) (cljs.spec :as clojure.spec) :reload))))
(is (= (a/rewrite-cljs-aliases
'((:require-macros (bar :refer [quux]) :reload)
(:require clojure.spec :reload)))
'((:require-macros (bar :refer [quux]) :reload)
(:require (cljs.spec :as clojure.spec) :reload)))))

;; =============================================================================
;; Namespace metadata
Expand Down

0 comments on commit 689f6d3

Please sign in to comment.