[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.1-40-g22
From: |
Andreas Rottmann |
Subject: |
Re: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.1-40-g2252321 |
Date: |
Sat, 14 May 2011 19:46:50 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Andreas Rottmann <address@hidden> writes:
> address@hidden (Ludovic Courtès) writes:
>
>> Hi Andreas,
>>
>> Thanks for taking care of this, and thanks for the great doc too!
>>
>> "Andreas Rottmann" <address@hidden> writes:
>>
>>> commit 2252321bb77fe83d98d5bcc9db1c76b914e9dd6a
>>> Author: Andreas Rottmann <address@hidden>
>>> 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/>