diff --git a/lib/scheme/base.sld b/lib/scheme/base.sld index dcfbbd51..db087648 100644 --- a/lib/scheme/base.sld +++ b/lib/scheme/base.sld @@ -21,7 +21,7 @@ close-input-port close-output-port close-port complex? cond cond-expand cons current-error-port current-input-port current-output-port define define-record-type define-syntax define-values denominator do - dynamic-wind else eof-object? eq? equal? eqv? error + dynamic-wind else eof-object? eof-object eq? equal? eqv? error error-object-irritants error-object-message error-object? even? exact exact-integer-sqrt exact-integer? exact? expt features file-error? floor diff --git a/lib/scheme/extras.scm b/lib/scheme/extras.scm index 43335923..93e6c3c5 100644 --- a/lib/scheme/extras.scm +++ b/lib/scheme/extras.scm @@ -97,6 +97,8 @@ (close-port port) res)) +(define (eof-object) (read-char (open-input-string ""))) + (define (read-bytevector n . o) (if (zero? n) #u8() diff --git a/tests/r7rs-tests.scm b/tests/r7rs-tests.scm index 5435bb1a..6f959523 100644 --- a/tests/r7rs-tests.scm +++ b/tests/r7rs-tests.scm @@ -1526,6 +1526,7 @@ (close-port out) (output-port-open? out))) +(test #t (eof-object? (eof-object))) (test #t (eof-object? (read (open-input-string "")))) (test #t (char-ready? (open-input-string "42"))) (test 42 (read (open-input-string " 42 ")))