summaryrefslogtreecommitdiffstats
path: root/printf.scm
diff options
context:
space:
mode:
Diffstat (limited to 'printf.scm')
-rw-r--r--printf.scm21
1 files changed, 10 insertions, 11 deletions
diff --git a/printf.scm b/printf.scm
index d17cf79..54d583e 100644
--- a/printf.scm
+++ b/printf.scm
@@ -8,7 +8,7 @@
;1. Any copy made of this software must include this copyright notice
;in full.
;
-;2. I have made no warrantee or representation that the operation of
+;2. I have made no warranty or representation that the operation of
;this software will be error-free, and I am under no obligation to
;provide any services, by way of maintenance, update, or otherwise.
;
@@ -18,6 +18,7 @@
;each case.
(require 'string-case)
+(require-if 'compiling 'generic-write)
;; Determine the case of digits > 9. We assume this to be constant.
(define stdio:hex-upper-case? (string=? "-F" (number->string -15 16)))
@@ -539,8 +540,8 @@
((end-of-format?) (incomplete))
(else (and (out #\%) (out fc) (out #\?) (loop args))))))))
(else (and (out fc) (loop args)))))))))
-
-(define (stdio:fprintf port format . args)
+;@
+(define (fprintf port format . args)
(let ((cnt 0))
(apply stdio:iprintf
(lambda (x)
@@ -549,11 +550,11 @@
(else (set! cnt (+ 1 cnt)) (display x port) #t)))
format args)
cnt))
-
-(define (stdio:printf format . args)
+;@
+(define (printf format . args)
(apply stdio:fprintf (current-output-port) format args))
-
-(define (stdio:sprintf str format . args)
+;@
+(define (sprintf str format . args)
(let* ((cnt 0)
(s (cond ((string? str) str)
((number? str) (make-string str))
@@ -587,8 +588,6 @@
((eqv? end cnt) s)
(else (substring s 0 cnt)))))
-(define printf stdio:printf)
-(define fprintf stdio:fprintf)
-(define sprintf stdio:sprintf)
+(define stdio:fprintf fprintf)
-;;(do ((i 0 (+ 1 i))) ((> i 50)) (printf "%s\n" (sprintf i "%#-13a:%#13a:%-13.8a:" "123456789" "123456789" "123456789")))
+;;(do ((i 0 (+ 1 i))) ((> i 50)) (printf "%s\\n" (sprintf i "%#-13a:%#13a:%-13.8a:" "123456789" "123456789" "123456789")))