summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-12-18 12:50:00 +0100
committerAndy Wingo <wingo@pobox.com>2010-12-18 12:50:00 +0100
commit0e9306801ae3aab6f8af8b0263c61523e5a8e26d (patch)
tree1e92457eb4448192aab0e41a101182473b94e58e
parentd55066ddc3ff7103694d2dfd3e10fa0863bb9a91 (diff)
downloadguile-0e9306801ae3aab6f8af8b0263c61523e5a8e26d.tar.gz
take advantage of letrec* in format
* module/ice-9/format.scm (format): Take advantage of letrec* internal expansion, and so have fewer set! invocations.
-rw-r--r--module/ice-9/format.scm15
1 files changed, 4 insertions, 11 deletions
diff --git a/module/ice-9/format.scm b/module/ice-9/format.scm
index 5e3d18b54..0a7376700 100644
--- a/module/ice-9/format.scm
+++ b/module/ice-9/format.scm
@@ -122,8 +122,8 @@
(set! format:error format:error-save)
(format:abort))
- (define format:error-save #f)
-
+ (define format:error-save format:error)
+
(define format:parameter-characters
'(#\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9 #\- #\+ #\v #\# #\'))
@@ -1322,12 +1322,12 @@
; the flonum buffers
(define format:fn-max 400) ; max. number of number digits
- (define format:fn-str #f) ; number buffer
+ (define format:fn-str (make-string format:fn-max)) ; number buffer
(define format:fn-len 0) ; digit length of number
(define format:fn-dot #f) ; dot position of number
(define format:fn-pos? #t) ; number positive?
(define format:en-max 10) ; max. number of exponent digits
- (define format:en-str #f) ; exponent buffer
+ (define format:en-str (make-string format:en-max)) ; exponent buffer
(define format:en-len 0) ; digit length of exponent
(define format:en-pos? #t) ; exponent positive?
@@ -1576,13 +1576,6 @@
(define (format:abort) (error "error in format"))
- (set! format:error-save format:error)
- (set! format:fn-str (make-string format:fn-max)) ; number buffer
- (set! format:en-str (make-string format:en-max)) ; exponent buffer
-
- (set! format:arg-pos 0)
- (set! format:pos 0)
-
(if (not (string? format-string))
(error "format: expected a string for format string" format-string))