summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjreeves <jreeves@weavejester.com>2009-10-24 13:39:27 +0100
committerChouser <chouser@n01se.net>2010-01-12 22:31:09 -0500
commitc2e75b8d668f1609436f8a8f0f722e8df6d03f11 (patch)
treed5e3fe2b8f831b61585e56f5c11bad50e5a80717
parent493b8f25dea8dc316f5224509d09a50c0672a1eb (diff)
Added optional attr-map argument to ns macro, fixes #198
Signed-off-by: Chouser <chouser@n01se.net>
-rw-r--r--src/clj/clojure/core.clj14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index 6e5da291..420270ae 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -3903,8 +3903,8 @@
(:require (clojure.contrib sql sql.tests))
(:use (my.lib this that))
(:import (java.util Date Timer Random)
- (java.sql Connection Statement)))"
-
+ (java.sql Connection Statement)))"
+ {:arglists '([name docstring? attr-map? & references])}
[name & references]
(let [process-reference
(fn [[kname & args]]
@@ -3913,8 +3913,12 @@
docstring (when (string? (first references)) (first references))
references (if docstring (next references) references)
name (if docstring
- (with-meta name (assoc (meta name)
- :doc docstring))
+ (vary-meta name assoc :doc docstring)
+ name)
+ metadata (when (map? (first references)) (first references))
+ references (if metadata (next references) references)
+ name (if metadata
+ (vary-meta name merge metadata)
name)
gen-class-clause (first (filter #(= :gen-class (first %)) references))
gen-class-call
@@ -4755,4 +4759,4 @@
(recur (conj ret (first items)) (next items))
ret)))))
- \ No newline at end of file
+