Andreas Rottmann <a.rottm...@gmx.at> writes: > l...@gnu.org (Ludovic Courtès) writes: > >> Hi Andreas, >> >> Thanks for taking care of this, and thanks for the great doc too! >> >> "Andreas Rottmann" <a.rottm...@gmx.at> writes: >> >>> commit 2252321bb77fe83d98d5bcc9db1c76b914e9dd6a >>> Author: Andreas Rottmann <a.rottm...@gmx.at> >>> Date: Sat May 7 23:40:14 2011 +0200 >>> >>> 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. >> >> Could you add one or more test cases? >> > I've started to hack on this, aiming for at least providing tests of a > "control sample" of exception-related behaviors in `(rnrs io simple)' > and parts of `(rnrs io ports)'. However, as this is already > significantly more than one test, it may take a bit. I could however > push my existing work at any point, if that's needed for any reason. > I've now pushed a first patch (b6a66c2), in the process fixing two bugs. These were not directly related to the simple I/O change you referenced, but located in its base library `(rnrs io ports)'. There's still more to come in that area:
- Tests for en/decoding error behavior. - Fixing `get-string-n!' to raise proper conditions. This also entails introducing an extension to scm_getc() which communicates errors via return value or output arguments, thus speeding up `get-char'. I'll post a patch for review once I have something worth showing. I think we are approaching completeness and correctness of our R6RS I/O support -- besides Section 8.2.13 "Input/output ports" and the EOL handling, I'm not aware of major stuff missing. Regards, Rotty -- Andreas Rottmann -- <http://rotty.yi.org/>