mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-21 11:10:21 +02:00
Make the R6RS simple I/O library use conditions
* module/rnrs/io/ports.scm (display): Implement as an exception-converting wrapper around Guile's core display. * module/rnrs/io/simple.scm: Don't export Guile's corresponding core procedures, but use `(rnrs io ports)' instead. This way, we get the conditions required by R6RS raised. * doc/ref/r6rs.texi (rnrs io simple): Mention that these procedures are supposed to raise R6RS conditions.
This commit is contained in:
parent
7be1705dbd
commit
2252321bb7
3 changed files with 82 additions and 27 deletions
|
@ -1428,8 +1428,21 @@ functionality is documented in its own section of the manual;
|
|||
|
||||
The @code{(rnrs io simple (6))} library provides convenience functions
|
||||
for performing textual I/O on ports. This library also exports all of
|
||||
the condition types and associated procedures described in
|
||||
(@pxref{I/O Conditions}).
|
||||
the condition types and associated procedures described in (@pxref{I/O
|
||||
Conditions}). In the context of this section, when stating that a
|
||||
procedure behaves ``identically'' to the corresponding procedure in
|
||||
Guile's core library, this is modulo the behavior wrt. conditions: such
|
||||
procedures raise the appropriate R6RS conditions in case of error, but
|
||||
otherwise behave identically.
|
||||
|
||||
@c FIXME: remove the following note when proper condition behavior has
|
||||
@c been verified.
|
||||
|
||||
@quotation Note
|
||||
There are still known issues regarding condition-correctness; some
|
||||
errors may still be thrown as native Guile exceptions instead of the
|
||||
appropriate R6RS conditions.
|
||||
@end quotation
|
||||
|
||||
@deffn {Scheme Procedure} eof-object
|
||||
@deffnx {Scheme Procedure} eof-object? obj
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue