From 62c675bde8f26f6a7fa1ce93804b34890da7b1e1 Mon Sep 17 00:00:00 2001 From: Pieter Breed Date: Thu, 27 Mar 2025 10:46:32 +0200 Subject: [PATCH 1/3] update to clojure 1.12.0 and bump version to 0.6.0-SNAPSHOT --- project.clj | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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"]]) From 7f2db31b6c85380ab86979e8e550a3c26947ff70 Mon Sep 17 00:00:00 2001 From: Pieter Breed Date: Thu, 27 Mar 2025 10:46:58 +0200 Subject: [PATCH 2/3] use :deprecated meta-data on defrecord marked as DEPRECATED --- src/miner/tagged.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/miner/tagged.clj b/src/miner/tagged.clj index 75f5345..5f373d4 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))) From 52b45122f2de0743f5d88b266700866d8731b6c3 Mon Sep 17 00:00:00 2001 From: Pieter Breed Date: Thu, 27 Mar 2025 10:48:23 +0200 Subject: [PATCH 3/3] add support for meta-data to `pr-tagged-record-on` --- src/miner/tagged.clj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/miner/tagged.clj b/src/miner/tagged.clj index 5f373d4..de9d2df 100644 --- a/src/miner/tagged.clj +++ b/src/miner/tagged.clj @@ -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 " ")