aboutsummaryrefslogtreecommitdiff
path: root/src/clojure
diff options
context:
space:
mode:
authorscgilardi <scgilardi@gmail.com>2008-12-01 00:55:05 +0000
committerscgilardi <scgilardi@gmail.com>2008-12-01 00:55:05 +0000
commit7b9fc66912ab46a7c8b14131b075be30763b95bc (patch)
treec77ceb3a366231cd1db3043d088856d6427cd5fd /src/clojure
parent920694eec3fafdb4f1c2df45dcb8911f1585b1b6 (diff)
def: fix defalias to work with macros
Diffstat (limited to 'src/clojure')
-rw-r--r--src/clojure/contrib/def.clj8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/clojure/contrib/def.clj b/src/clojure/contrib/def.clj
index d6eb14af..a9ad891f 100644
--- a/src/clojure/contrib/def.clj
+++ b/src/clojure/contrib/def.clj
@@ -66,10 +66,10 @@
as another with the exception of :namespace, :name, :file, :line, and
optionally :doc which are those of new var."
([name orig]
- `(let [v# (def ~name ~orig)]
- (. v# (setMeta (merge (meta #'~orig) (meta #'~name))))
+ `(let [v# (def ~name (var ~orig))]
+ (. v# (setMeta (merge (meta (var ~orig)) (meta (var ~name)))))
v#))
([name orig doc]
- `(let [v# (def ~name ~orig)]
- (. v# (setMeta (merge (meta #'~orig) (assoc (meta #'~name) :doc ~doc))))
+ `(let [v# (def ~name (var ~orig))]
+ (. v# (setMeta (merge (meta (var ~orig)) (assoc (meta (var ~name)) :doc ~doc))))
v#)))