diff --git a/doc/ikarus-users-guide.tex b/doc/ikarus-users-guide.tex index aa2914b..8574358 100644 --- a/doc/ikarus-users-guide.tex +++ b/doc/ikarus-users-guide.tex @@ -1876,10 +1876,8 @@ port-has-set-port-position!? set-port-position! call-with-port close-port get-bytevector-all get-bytevector-some get-bytevector-n get-bytevector-n! -lookahead-char -lookahead-u8 +lookahead-char lookahead-u8 get-string-all get-string-n get-string-n! put-string -get-datum put-datum make-custom-binary-input-port make-custom-binary-input/output-port make-custom-binary-output-port make-custom-textual-input-port make-custom-textual-input/output-port make-custom-textual-output-port diff --git a/scheme/ikarus.writer.ss b/scheme/ikarus.writer.ss index df823e8..aae39f0 100644 --- a/scheme/ikarus.writer.ss +++ b/scheme/ikarus.writer.ss @@ -15,7 +15,8 @@ (library (ikarus writer) - (export write display format printf fprintf print-error print-unicode print-graph) + (export write display format printf fprintf print-error print-unicode print-graph + put-datum) (import (rnrs hashtables) (ikarus system $chars) @@ -28,7 +29,8 @@ (ikarus system $transcoders) (only (ikarus unicode-data) unicode-printable-char?) (except (ikarus) - write display format printf fprintf print-error print-unicode print-graph)) + write display format printf fprintf print-error print-unicode print-graph + put-datum)) (define print-unicode (make-parameter #t)) @@ -756,6 +758,11 @@ (error 'write "not an output port" p)) (write-to-port x p)])) + (define (put-datum p x) + (unless (output-port? p) + (error 'put-datum "not an output port" p)) + (write-to-port x p)) + (define display (case-lambda [(x) (display-to-port x (current-output-port))] diff --git a/scheme/last-revision b/scheme/last-revision index 967ba32..9707e87 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1107 +1108 diff --git a/scheme/makefile.ss b/scheme/makefile.ss index ed3dd14..4f58d8b 100755 --- a/scheme/makefile.ss +++ b/scheme/makefile.ss @@ -1137,7 +1137,7 @@ [port? i r ip] [put-bytevector r ip] [put-char i r ip] - [put-datum r ip] + [put-datum i r ip] [put-string r ip] [put-u8 i r ip] [set-port-position! r ip] diff --git a/scheme/todo-r6rs.ss b/scheme/todo-r6rs.ss index 3a149bf..03406fe 100755 --- a/scheme/todo-r6rs.ss +++ b/scheme/todo-r6rs.ss @@ -642,7 +642,7 @@ [port? C ip] [put-bytevector S ip] [put-char C ip] - [put-datum S ip] + [put-datum C ip] [put-string S ip] [put-u8 C ip] [set-port-position! S ip]