Attached a patch to print the contents of blobs also in pretty-printing
mode.


cheers,
felix
>From 596d4f4642d512f24a0b7e4b1db2ea681911ab75 Mon Sep 17 00:00:00 2001
From: felix <fe...@call-with-current-continuation.org>
Date: Sun, 25 Sep 2011 14:23:11 +0200
Subject: [PATCH] pretty printer shows blobs readably

---
 extras.scm |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/extras.scm b/extras.scm
index 151ca95..bb9e434 100644
--- a/extras.scm
+++ b/extras.scm
@@ -380,11 +380,15 @@
 	       (out (get-output-string o) col) ) )
 	    ((port? obj) (out (string-append "#<port " (##sys#slot obj 3) ">") col))
 	    ((##core#inline "C_bytevectorp" obj)
-	     (if (##core#inline "C_permanentp" obj)
-		 (out "#<static blob of size" col)
-		 (out "#<blob of size " col) )
-	     (out (number->string (##core#inline "C_block_size" obj)) col)
-	     (out ">" col) )
+	     (out "#${" col)
+	     (let ((len (##sys#size obj)))
+	       (do ((i 0 (fx+ i 1)))
+		   ((fx>= i len))
+		 (let ((b (##sys#byte obj i)))
+		   (when (fx< b 16)
+		     (out "0" col))
+		   (out (##sys#number->string b 16) col)))
+	       (out "}" col)))
 	    ((##core#inline "C_lambdainfop" obj)
 	     (out "#<lambda info " col)
 	     (out (##sys#lambda-info->string obj) col)
-- 
1.7.0.4

_______________________________________________
Chicken-hackers mailing list
Chicken-hackers@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to