Hi! On Fri 11 Jan 2013 18:15, l...@gnu.org (Ludovic Courtès) writes:
> "Andy Wingo" <wi...@pobox.com> skribis: > >> +@deffn string->bytevector string encoding [#:conversion-strategy='error] > > An optional instead of keyword argument would look nicer, IMO. Nicer in the docs or nicer to use? I'll change it anyway. Just as a meta-level thing, I think we should prefer keywords over optional arguments unless we can convince ourselves that there won't be any other options. If you end up having two independent optional arguments, you'd have been better off going with keywords from the beginning. In this case probably there won't be another optional argument, but I couldn't mentally rule it out, so I went with the keyword. Anyway, doesn't matter much :) >> +Encode @var{string} as a sequence of bytes. >> + >> +The string will be encoded in the character set specified by the >> +@var{encoding} string. If the string has characters that cannot be >> +represented in the encoding, by default this procedure raises an >> +@code{encoding-error}, > > I think this doesn’t leave a way to know which character in STRING could > not be converted. It would be ideal if that information could be > provided as part of the exception, as is the case with ports (tested > with ‘test-decoding-error’ in ports.test.) You sure? It's implemented using ports in the general case. And what about the case for bytevector->string? >> +@deffn bytevector->string bytevector encoding > > #:conversion-strategy is missing here. Indeed, fixed. >> +(define-module (ice-9 iconv) >> + #:use-module (rnrs bytevectors) >> + #:use-module (ice-9 binary-ports) >> + #:use-module ((ice-9 rdelim) #:select (read-delimited)) >> + #:export (string->bytevector >> + bytevector->string >> + call-with-encoded-output-string)) > > Not a single docstring. Now I feel ashamed when asking Nala to add > docstrings. ;-) There are only three functions! You make it sound like I'm in the back room strangling kittens :P Anyway, fixed. Incidentally, it would be nice to start using texinfo in docstrings, and use (texinfo serialize) to render them. Andy -- http://wingolog.org/