projects
/
kmrcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r5131: *** empty log message ***
[kmrcl.git]
/
io.lisp
diff --git
a/io.lisp
b/io.lisp
index 753cc44e9b988c555ca0512bb55b8440a02842f3..69bcb649d84081078ce46cc0c1870a0c8ef8edc4 100644
(file)
--- a/
io.lisp
+++ b/
io.lisp
@@
-7,7
+7,7
@@
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: io.lisp,v 1.
1 2003/04/28 23:51:5
9 kevin Exp $
+;;;; $Id: io.lisp,v 1.
7 2003/06/06 21:59:2
9 kevin Exp $
;;;;
;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
;;;;
;;;; 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.
;;;; *************************************************************************
;;;; (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"
(defun print-file-contents (file &optional (strm *standard-output*))
"Opens a reads a file. Returns the contents as a single string"
@@
-55,26
+55,25
@@
:if-exists :supersede)
(stream-subst old new in out))))
:if-exists :supersede)
(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 i))
+ (write-char char stream)))
+
(defun indent-spaces (n &optional (stream *standard-output*))
"Indent n*2 spaces to output stream"
(defun indent-spaces (n &optional (stream *standard-output*))
"Indent n*2 spaces to output stream"
- (when (numberp n)
- (let ((fmt (format nil "~~~DT" (+ n n))))
- (format stream fmt))))
+ (print-n-chars #\space (+ n n) stream))
(defun print-list (l &optional (output *standard-output*))
"Print a list to a stream"
(defun print-list (l &optional (output *standard-output*))
"Print a list to a stream"
- (if (consp l)
- (progn
- (mapcar (lambda (x) (princ x output) (princ #\newline output)) l)
- t)
- nil))
+ (format output "~{~A~%~}" l))
(defun print-rows (rows &optional (ostrm *standard-output*))
"Print a list of list rows to a stream"
(defun print-rows (rows &optional (ostrm *standard-output*))
"Print a list of list rows to a stream"
- (dolist (r rows)
- (mapcar (lambda (a) (princ a ostrm) (princ #\space ostrm)) r)
- (terpri ostrm)))
+ (dolist (r rows) (format ostrm "~{~A~^ ~}~%" r)))
;; Buffered stream substitute
;; Buffered stream substitute