Merge pull request #222 from wasamasa/read-string-eof-behavior

read-string: return EOF if nothing can be read
This commit is contained in:
Justin Ethier 2017-09-07 13:07:47 -04:00 committed by GitHub
commit 8fe853dfac

View file

@ -645,6 +645,8 @@
(let ((port (if (null? opts) (let ((port (if (null? opts)
(current-input-port) (current-input-port)
(car opts)))) (car opts))))
(if (eof-object? (peek-char port))
(eof-object)
(let loop ((acc '()) (let loop ((acc '())
(i k) (i k)
(chr #f)) (chr #f))
@ -659,7 +661,7 @@
(else (else
(loop (if chr (cons chr acc) acc) (loop (if chr (cons chr acc) acc)
(- i 1) (- i 1)
(read-char port))))))) (read-char port))))))))
(define (flush-output-port . port) (define (flush-output-port . port)
(if (null? port) (if (null? port)
(Cyc-flush-output-port (current-output-port)) (Cyc-flush-output-port (current-output-port))