diff --git a/scheme/ikarus.reader.ss b/scheme/ikarus.reader.ss index fa2e61b..70764d6 100644 --- a/scheme/ikarus.reader.ss +++ b/scheme/ikarus.reader.ss @@ -15,14 +15,14 @@ (library (ikarus reader) - (export read read-initial read-token comment-handler) + (export read read-initial read-token comment-handler get-datum) (import (ikarus system $chars) (ikarus system $fx) (ikarus system $pairs) (ikarus system $bytevectors) (only (ikarus unicode-data) unicode-printable-char?) - (except (ikarus) read read-token comment-handler)) + (except (ikarus) read read-token comment-handler get-datum)) (define delimiter? (lambda (c) @@ -1170,6 +1170,11 @@ (my-read p) (error 'read "not an input port" p))])) + (define (get-datum p) + (unless (input-port? p) + (error 'get-datum "not an input port")) + (my-read p)) + (define comment-handler (make-parameter (lambda (x) (void)) diff --git a/scheme/last-revision b/scheme/last-revision index 9437b2f..967ba32 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1106 +1107 diff --git a/scheme/makefile.ss b/scheme/makefile.ss index 89e2da0..ed3dd14 100755 --- a/scheme/makefile.ss +++ b/scheme/makefile.ss @@ -1062,7 +1062,7 @@ [get-bytevector-n! r ip] [get-bytevector-some r ip] [get-char i r ip] - [get-datum r ip] + [get-datum i r ip] [get-line i r ip] [get-string-all r ip] [get-string-n r ip]