diff options
author | scgilardi <scgilardi@gmail.com> | 2009-01-18 22:34:46 +0000 |
---|---|---|
committer | scgilardi <scgilardi@gmail.com> | 2009-01-18 22:34:46 +0000 |
commit | 426e7062bdc64d7290c2472224ea2a0d5fc1bf7c (patch) | |
tree | eb9bc9c03502e1a40fc3864afdc1f01bb69ef656 | |
parent | 78338ba903a0382335ad0ed91e757fbadccf2738 (diff) |
def.clj: update defalias to use only supported clojure calls/reader macros
-rw-r--r-- | src/clojure/contrib/def.clj | 8 |
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: |