r3333: *** empty log message ***
[kmrcl.git] / genutils.lisp
index 6125aba7262e95696eac18ee766088f75f42b406..be156cc325bcfc012e875eb64cc92a50c276b57d 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; Programmer:    Kevin M. Rosenberg
 ;;;; Date Started:  Apr 2000
 ;;;;
-;;;; $Id: genutils.lisp,v 1.8 2002/11/07 04:07:02 kevin Exp $
+;;;; $Id: genutils.lisp,v 1.9 2002/11/07 22:08:41 kevin Exp $
 ;;;;
 ;;;; This file, part of KMRCL, is Copyright (c) 2002 by Kevin M. Rosenberg
 ;;;;
 
 (defmacro with-each-stream-line ((var stream) &body body)
   (let ((eof (gensym))
+       (eof-value (gensym))
        (strm (gensym)))
-    `(let ((,strm ,stream))
-       (do ((,var (read-line stream nil ,eof) (read-line stream nil ,eof)))
-          (eq ,var ,eof)
+    `(let ((,strm ,stream)
+          (,eof ',eof-value))
+       (do ((,var (read-line ,strm nil ,eof) (read-line ,strm nil ,eof)))
+          ((eql ,var ,eof))
         ,@body))))
 
 (defmacro with-each-file-line ((var file) &body body)
   (let ((stream (gensym)))
-    `(with-open-file (,stream file :direction :input)
+    `(with-open-file (,stream ,file :direction :input)
          (with-each-stream-line (,var ,stream)
            ,@body))))