diff options
author | jreeves <jreeves@weavejester.com> | 2009-10-24 13:39:27 +0100 |
---|---|---|
committer | Chouser <chouser@n01se.net> | 2010-01-12 22:31:09 -0500 |
commit | c2e75b8d668f1609436f8a8f0f722e8df6d03f11 (patch) | |
tree | d5e3fe2b8f831b61585e56f5c11bad50e5a80717 | |
parent | 493b8f25dea8dc316f5224509d09a50c0672a1eb (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.clj | 14 |
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 + |