diff options
author | Stuart Halloway <stu@thinkrelevance.com> | 2011-04-22 10:10:27 -0400 |
---|---|---|
committer | Stuart Halloway <stu@thinkrelevance.com> | 2011-04-29 11:12:07 -0400 |
commit | 71b5461dca083a4a60b65d6d2e46322d977774c9 (patch) | |
tree | 78863fe3cfb2f18db1173c8e245de6028781d13f | |
parent | 9b93f9e8621b24ef58165d49d39034f5dbd5c9f7 (diff) |
#CLJ-435: don't let mischievous :type metadata break printing
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r-- | src/clj/clojure/core.clj | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index ffd3edde..c928e4f7 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -3196,7 +3196,9 @@ (def ^:dynamic ^{:private true} print-initialized false) -(defmulti print-method (fn [x writer] (type x))) +(defmulti print-method (fn [x writer] + (let [t (get (meta x) :type)] + (if (keyword? t) t (class x))))) (defmulti print-dup (fn [x writer] (class x))) (defn pr-on |