Quiz: what does this do? (define (f s) (with-output-to-string (lambda () (display s))))
When called with a string, what should it do? Like (f "foo"). If you answered, "return the string", that's what I would think it should do. But no, currently the answer is locale-specific. It encodes the string according to the current locale, then decodes it from that encoding. If your locale can't encode the string, tough luck for you! This is a bit crazy. Surely the port should be textual? Surely the default encoding for a string port should be utf-8 or something that can actually handle all strings? Andy -- http://wingolog.org/