summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChas Emerick <cemerick@snowtide.com>2010-11-19 22:18:21 -0500
committerStuart Halloway <stu@thinkrelevance.com>2010-11-29 21:01:27 -0500
commitc6e7e5765e4bd6624e87115819d384f4a755d700 (patch)
tree6005e9ed57cf0bff095f870b492b6b8c358dffdb /src
parent56bde33ee946af4022be5f592d38adcddf919e8e (diff)
properly munge namespaces -> java package names for protocols and deftype and friends; fixes CLJ-432
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
Diffstat (limited to 'src')
-rw-r--r--src/clj/clojure/core_deftype.clj10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/clj/clojure/core_deftype.clj b/src/clj/clojure/core_deftype.clj
index 344f9811..97ccd05b 100644
--- a/src/clj/clojure/core_deftype.clj
+++ b/src/clj/clojure/core_deftype.clj
@@ -136,7 +136,7 @@
{:added "1.2"}
[tagname name fields interfaces methods]
(let [tag (keyword (str *ns*) (str tagname))
- classname (with-meta (symbol (str *ns* "." name)) (meta name))
+ classname (with-meta (symbol (str (namespace-munge *ns*) "." name)) (meta name))
interfaces (vec interfaces)
interface-set (set (map resolve interfaces))
methodname-set (set (map first methods))
@@ -292,7 +292,7 @@
[name [& fields] & opts+specs]
(let [gname name
[interfaces methods opts] (parse-opts+specs opts+specs)
- classname (symbol (str *ns* "." gname))
+ classname (symbol (str (namespace-munge *ns*) "." gname))
tag (keyword (str *ns*) (str name))
hinted-fields fields
fields (vec (map #(with-meta % nil) fields))]
@@ -316,7 +316,7 @@
(defn- emit-deftype*
"Do not use this directly - use deftype"
[tagname name fields interfaces methods]
- (let [classname (with-meta (symbol (str *ns* "." name)) (meta name))]
+ (let [classname (with-meta (symbol (str (namespace-munge *ns*) "." name)) (meta name))]
`(deftype* ~tagname ~classname ~fields
:implements ~interfaces
~@methods)))
@@ -384,7 +384,7 @@
[name [& fields] & opts+specs]
(let [gname name
[interfaces methods opts] (parse-opts+specs opts+specs)
- classname (symbol (str *ns* "." gname))
+ classname (symbol (str (namespace-munge *ns*) "." gname))
tag (keyword (str *ns*) (str name))
hinted-fields fields
fields (vec (map #(with-meta % nil) fields))]
@@ -519,7 +519,7 @@
(str "function " (.sym v)))))))))
(defn- emit-protocol [name opts+sigs]
- (let [iname (symbol (str (munge *ns*) "." (munge name)))
+ (let [iname (symbol (str (munge (namespace-munge *ns*)) "." (munge name)))
[opts sigs]
(loop [opts {:on (list 'quote iname) :on-interface iname} sigs opts+sigs]
(condp #(%1 %2) (first sigs)