~ chicken-core (chicken-5) b1523aaf9231e2841108b48bfa66e362c1a32f82
commit b1523aaf9231e2841108b48bfa66e362c1a32f82
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Fri May 20 08:53:19 2011 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Fri May 20 08:53:19 2011 +0200
better fragment output; increased fragment limits
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 169e530d..cf7dd090 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -85,7 +85,7 @@
; | (TEMPLATE . TEMPLATE)
-(define-constant +fragment-max-length+ 5)
+(define-constant +fragment-max-length+ 6)
(define-constant +fragment-max-depth+ 4)
@@ -447,7 +447,11 @@
(cond ((atom? x) x)
((>= d +fragment-max-depth+) '...)
((list? x)
- (map (cute walk <> (add1 d)) (take x (min +fragment-max-length+ (length x)))))
+ (let* ((len (length x))
+ (xs (if (< +fragment-max-length+ len)
+ (append (take x +fragment-max-length+) '(...))
+ x)))
+ (map (cute walk <> (add1 d)) xs)))
(else x)))))
(define (pp-fragment x)
@@ -1243,6 +1247,6 @@
;;XXX a bit of a hack - we should remove the distinct
;; "pointer-vector" type.
(if (eq? 'pointer-vector val)
- 'pointer-vector
+ '(pointer-vector)
`((struct ,val)))))))))
rtypes)))
Trap