summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/clj/clojure/core.clj4
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