;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: io.lisp,v 1.7 2003/06/06 21:59:29 kevin Exp $
+;;;; $Id: io.lisp,v 1.10 2003/06/20 08:50:38 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(stream-subst old new in out))))
(defun print-n-chars (char n stream)
- (declare (fixnum n)
- (optimize (speed 3) (safety 0) (space 0)))
- (do ((i 0 (1+ i)))
- ((= i n) char)
+ (declare (fixnum n) (optimize (speed 3) (safety 0) (space 0)))
+ (dotimes (i n)
(declare (fixnum i))
(write-char char stream)))
-
+
+(defun print-n-strings (str n stream)
+ (declare (fixnum n) (optimize (speed 3) (safety 0) (space 0)))
+ (dotimes (i n)
+ (declare (fixnum i))
+ (write-string str stream)))
+
(defun indent-spaces (n &optional (stream *standard-output*))
"Indent n*2 spaces to output stream"
(print-n-chars #\space (+ n n) stream))
+
+(defun indent-html-spaces (n &optional (stream *standard-output*))
+ "Indent n*2 html spaces to output stream"
+ (print-n-strings " " (+ n n) stream))
+
+
(defun print-list (l &optional (output *standard-output*))
"Print a list to a stream"
(format output "~{~A~%~}" l))
(setf pos 0))))
(buf-flush buf out)))
+(declaim (inline write-fixnum))
+(defun write-fixnum (n s)
+ #+allegro (excl::print-fixnum s 10 n)
+ #-allegro (write-string (write-to-string n) s))
+
+