Implement procedure to count number of digits in an exact nonnegative integer.
authorChris Hanson <org/chris-hanson/cph>
Tue, 23 May 2000 03:55:08 +0000 (03:55 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 23 May 2000 03:55:08 +0000 (03:55 +0000)
v7/src/imail/imail-summary.scm
v7/src/imail/imail-util.scm

index cf9ed554a904ebc119728e1746d03ee61c205365..cb9aa113e6901c2045b754a34b9a03d17694c76b 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-summary.scm,v 1.14 2000/05/19 21:10:20 cph Exp $
+;;; $Id: imail-summary.scm,v 1.15 2000/05/23 03:55:06 cph Exp $
 ;;;
 ;;; Copyright (c) 2000 Massachusetts Institute of Technology
 ;;;
@@ -195,11 +195,7 @@ The recipients are specified as a comma-separated list of names."
             (if (< i end)
                 (loop (+ i 1) (cons (get-message folder i) messages))
                 (reverse! messages))))
-         (index-digits
-          (let loop ((n 1) (k 10))
-            (if (< end k)
-                n
-                (loop (+ n 1) (* k 10)))))
+         (index-digits (exact-nonnegative-integer-digits (- end 1)))
          (show-date? (ref-variable imail-summary-show-date buffer))
          (subject-width (imail-summary-subject-width buffer)))
       (let ((mark (mark-left-inserting-copy (buffer-start buffer))))
index 98196dd4363454e1fed619abfa43f1c7fc337858..65b9586f13eecbdc492e8d7196f47a0be2440bcd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;; $Id: imail-util.scm,v 1.24 2000/05/22 03:01:30 cph Exp $
+;;; $Id: imail-util.scm,v 1.25 2000/05/23 03:55:08 cph Exp $
 ;;;
 ;;; Copyright (c) 1999-2000 Massachusetts Institute of Technology
 ;;;
                   ((9) "G")
                   ((12) "T")))))))))
 
+(define (exact-nonnegative-integer-digits n)
+  (let loop ((j 1) (k 10))
+    (if (< n k)
+       j
+       (loop (+ j 1) (* k 10)))))
+\f
 (define (burst-comma-list-string string)
   (list-transform-negative (map string-trim (burst-string string #\, #f))
     string-null?))