diff --git a/project.clj b/project.clj index 47e7e78..42a3d02 100644 --- a/project.clj +++ b/project.clj @@ -1,7 +1,6 @@ -(defproject com.velisco/tagged "0.5.0" +(defproject com.velisco/tagged "0.6.0-SNAPSHOT" :description "Clojure library for printing and reading Records as EDN tagged literals" :url "http://github.com/miner/tagged" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} - :dependencies [[org.clojure/clojure "1.7.0"]]) - + :dependencies [[org.clojure/clojure "1.12.0"]]) diff --git a/src/miner/tagged.clj b/src/miner/tagged.clj index 75f5345..de9d2df 100644 --- a/src/miner/tagged.clj +++ b/src/miner/tagged.clj @@ -10,7 +10,7 @@ ;; clojure.lang.TaggedLiteral and the `tagged-literal` function. ;; DEPRECATED -(defrecord TaggedValue [tag value] +(defrecord ^:deprecated TaggedValue [tag value] Object (toString [x] (pr-str x))) @@ -126,6 +126,12 @@ the tag-readers in order returning the first truthy result (or nil if none)." (defmethod print-method my.ns.MyRecord [this w] (miner.tagged/pr-tagged-record-on this w))" [this ^java.io.Writer w] + (when (and *print-meta* + (instance? clojure.lang.IMeta this) + (seq (meta this))) + (.write w "^") + (print-method (meta this) w) + (.write w " ")) (.write w "#") (.write w ^String (tag-string (class this))) (.write w " ")