X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=io.lisp;h=69bcb649d84081078ce46cc0c1870a0c8ef8edc4;hp=2dcf7959b8574add12e9f6c4f96c48bff63ed12d;hb=4a5b626f01db51b02f969adb33ddad6aa9ee303a;hpb=45326a2fd9e7761899d593d7f528abf455453b0b diff --git a/io.lisp b/io.lisp index 2dcf795..69bcb64 100644 --- a/io.lisp +++ b/io.lisp @@ -7,7 +7,7 @@ ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: Apr 2000 ;;;; -;;;; $Id: io.lisp,v 1.6 2003/05/09 09:35:04 kevin Exp $ +;;;; $Id: io.lisp,v 1.7 2003/06/06 21:59:29 kevin Exp $ ;;;; ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; @@ -16,7 +16,7 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(in-package :kmrcl) +(in-package #:kmrcl) (defun print-file-contents (file &optional (strm *standard-output*)) "Opens a reads a file. Returns the contents as a single string" @@ -55,11 +55,13 @@ :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 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 i)) + (write-char char stream))) (defun indent-spaces (n &optional (stream *standard-output*)) "Indent n*2 spaces to output stream"