r4891: Auto commit for Debian build
[kmrcl.git] / io.lisp
diff --git a/io.lisp b/io.lisp
index 25a931181458166de29f7134234b969278229712..2dcf7959b8574add12e9f6c4f96c48bff63ed12d 100644 (file)
--- a/io.lisp
+++ b/io.lisp
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: io.lisp,v 1.5 2003/05/09 08:33:23 kevin Exp $
+;;;; $Id: io.lisp,v 1.6 2003/05/09 09:35:04 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
                         :if-exists :supersede)
       (stream-subst old new in out))))
 
+(defmacro print-n-chars (char n stream)
+  (let ((i (gensym)))
+    `(dotimes (,i ,n)
+      (declare (fixnum ,i))
+      (write-char ,char ,stream))))
+  
 (defun indent-spaces (n &optional (stream *standard-output*))
   "Indent n*2 spaces to output stream"
-  (declare (fixnum n) (optimize (speed 3) (safety 0) (space 0)))
-  (dotimes (i (the fixnum (+ n n)))
-    (declare (fixnum i))
-    (write-char #\space stream)))
+  (print-n-chars #\space (+ n n) stream))
 
 (defun print-list (l &optional (output *standard-output*))
   "Print a list to a stream"