~ chicken-r7rs (master) d9d6ab77253469277d2e94013f91564a4428b191


commit d9d6ab77253469277d2e94013f91564a4428b191
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Tue Mar 18 08:04:09 2014 +0000
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Tue Mar 18 08:04:09 2014 +0000

    Fix peek-u8 to correctly return eof (patch credit to Seth Alves)

diff --git a/scheme.base.scm b/scheme.base.scm
index dd4001f..ad59202 100644
--- a/scheme.base.scm
+++ b/scheme.base.scm
@@ -720,10 +720,14 @@
 (define peek-u8
   (case-lambda
     (()
-     (char->integer (peek-char)))
+     (let ((c (peek-char)))
+       (if (eof-object? c) c
+           (char->integer c))))
     ((port)
      (##sys#check-input-port port #t 'peek-u8)
-     (char->integer (peek-char port)))))
+     (let ((c (peek-char port)))
+       (if (eof-object? c) c
+           (char->integer c))))))
 
 (define read-string
   (let ((read-string/eof (lambda (k port)
Trap