~ chicken-core (chicken-5) d1eac90290c6d8ad4389d428eb7ed5eaddebfad3
commit d1eac90290c6d8ad4389d428eb7ed5eaddebfad3
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Nov 22 04:59:25 2010 -0500
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Mon Nov 22 04:59:25 2010 -0500
different layout for feature-list in csi ,r command
diff --git a/csi.scm b/csi.scm
index 137e5101..88cdcc4a 100644
--- a/csi.scm
+++ b/csi.scm
@@ -444,15 +444,24 @@ EOF
(let ([sinfo (##sys#symbol-table-info)]
[minfo (memory-statistics)] )
(define (shorten n) (/ (truncate (* n 100)) 100))
- (printf "Features:\n")
- (for-each
- (lambda (lst)
- (display "\n ")
- (for-each
- (lambda (f)
- (printf "~a~a" f (make-string (fxmax 1 (fx- 16 (string-length f))) #\space)) )
- lst) )
- (chop (sort (map keyword->string ##sys#features) string<?) 5))
+ (printf "Features:~%~%")
+ (let ((fs (sort (map keyword->string ##sys#features) string<?))
+ (c 0))
+ (for-each
+ (lambda (f)
+ (printf " ~a" f)
+ (let* ((len (string-length f))
+ (pad (- 16 len)))
+ (set! c (add1 c))
+ (when (<= pad 0)
+ (set! c (add1 c))
+ (set! pad (+ pad 18)))
+ (cond ((>= c 3)
+ (display "\n")
+ (set! c 0))
+ (else
+ (display (make-string pad #\space))))))
+ fs))
(printf "~%~%~
Machine type: \t~A ~A~%~
Software type: \t~A~%~
Trap