Skip to content

Commit 267466e

Browse files
committed
clojure 1.9 support
1 parent 3f65ac1 commit 267466e

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

project.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@
2525
:profiles {:uberjar {:aot :all
2626
:ring {:handler examples.thingie/app}
2727
:source-paths ["examples/thingie/src"]
28-
:dependencies [[org.clojure/clojure "1.10.1"]
28+
:dependencies [[org.clojure/clojure "1.9.0"]
2929
[http-kit "2.3.0"]
3030
[reloaded.repl "0.2.4"]
3131
[com.stuartsierra/component "0.4.0"]]}
3232
:dev {:plugins [[lein-clojars "0.9.1"]
3333
[lein-ring "0.12.5"]
3434
[funcool/codeina "0.5.0"]]
35-
:dependencies [[org.clojure/clojure "1.10.1"]
35+
:dependencies [[org.clojure/clojure "1.9.0"]
3636
[org.clojure/core.unify "0.6.0"]
3737
[org.clojure/core.async "0.6.532"]
3838
[javax.servlet/javax.servlet-api "4.0.1"]

src/compojure/api/meta.clj

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
"lexically bound ring-request for handlers."
2121
'+compojure-api-request+)
2222

23+
(defn- var->sym [^clojure.lang.Var v]
24+
(symbol (-> v .ns ns-name name) (-> v .sym name)))
25+
2326
;;
2427
;; Schema
2528
;;
@@ -716,7 +719,7 @@
716719
(when (symbol? sym)
717720
(when-some [v (resolve &env sym)]
718721
(when (var? v)
719-
(let [sym (symbol v)]
722+
(let [sym (var->sym v)]
720723
(or (endpoint-vars sym)
721724
(and (routes-vars sym)
722725
(static-body? &env (next form))))))))))))
@@ -731,7 +734,7 @@
731734
(when (symbol? sym)
732735
(when-some [v (resolve &env sym)]
733736
(when (var? v)
734-
(let [sym (symbol v)]
737+
(let [sym (var->sym v)]
735738
(when (and (resource-vars sym)
736739
(= 2 (count form)))
737740
(let [[_ data] form]
@@ -751,7 +754,7 @@
751754
(when (symbol? sym)
752755
(when-some [v (resolve &env sym)]
753756
(when (var? v)
754-
(context-vars (symbol v)))))))))
757+
(context-vars (var->sym v)))))))))
755758

756759
(def middleware-vars (into #{}
757760
(mapcat (fn [n]
@@ -767,7 +770,7 @@
767770
(when (symbol? sym)
768771
(when-some [v (resolve &env sym)]
769772
(when (var? v)
770-
(when (middleware-vars (symbol v))
773+
(when (middleware-vars (var->sym v))
771774
(let [[_ path route-arg & args] body
772775
[options body] (extract-parameters args true)]
773776
(static-body? &env body))))))))))
@@ -788,7 +791,7 @@
788791
(when (symbol? sym)
789792
(when-some [v (resolve &env sym)]
790793
(when (var? v)
791-
(when (route-middleware-vars (symbol v))
794+
(when (route-middleware-vars (var->sym v))
792795
(let [[_ mids & body] body]
793796
(and (some? mids)
794797
(static-body? &env body)))))))))))
@@ -850,19 +853,19 @@
850853
(and (seq? form)
851854
('#{clojure.spec.alpha/keys}
852855
(some-> (resolve-var &env (first form))
853-
symbol)))
856+
var->sym)))
854857
(and (seq? form)
855858
(symbol? (first form))
856859
(when-some [v (resolve-var &env (first form))]
857860
(when (or (#{"spec-tools.data-spec"
858861
"spec-tools.core"
859862
"schema.core"
860863
"ring.util.http-response"}
861-
(namespace (symbol v)))
864+
(namespace (var->sym v)))
862865
('#{compojure.api.sweet/describe
863866
ring.swagger.json-schema/describe
864867
clojure.core/constantly}
865-
(symbol v)))
868+
(var->sym v)))
866869
(when-not (some #{:dynamic :macro} (meta v))
867870
(every? #(static-form? &env %) (next form))))))))
868871

@@ -894,7 +897,7 @@
894897
(when-some [op (or (when (= 'let* (first form))
895898
'let*)
896899
(when-some [v (resolve-var &env (first form))]
897-
(let [sym (symbol v)]
900+
(let [sym (var->sym v)]
898901
(when (contains?
899902
'#{clojure.core/let clojure.core/for
900903
compojure.api.sweet/let-routes compojure.api.core/let-routes}

0 commit comments

Comments
 (0)