;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: io.lisp,v 1.4 2003/05/09 05:37:08 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)))
- (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"