aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscgilardi <scgilardi@gmail.com>2009-01-18 22:34:46 +0000
committerscgilardi <scgilardi@gmail.com>2009-01-18 22:34:46 +0000
commit426e7062bdc64d7290c2472224ea2a0d5fc1bf7c (patch)
treeeb9bc9c03502e1a40fc3864afdc1f01bb69ef656
parent78338ba903a0382335ad0ed91e757fbadccf2738 (diff)
def.clj: update defalias to use only supported clojure calls/reader macros
-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 c36b599d..2debdf88 100644
--- a/src/clojure/contrib/def.clj
+++ b/src/clojure/contrib/def.clj
@@ -64,12 +64,12 @@
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 (. (var ~orig) (get)))]
- (. v# (setMeta (merge (meta (var ~orig)) (meta (var ~name)))))
+ `(let [o# #'~orig v# (def ~name @o#)]
+ (alter-meta! v# merge ^o# ^v#)
v#))
([name orig doc]
- `(let [v# (def ~name (. (var ~orig) (get)))]
- (. v# (setMeta (merge (meta (var ~orig)) (assoc (meta (var ~name)) :doc ~doc))))
+ `(let [o# #'~orig v# (def ~name @o#)]
+ (alter-meta! v# merge ^o# ^v# {:doc ~doc})
v#)))
; defhinted by Chouser: