[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
string port encodings
From: |
Andy Wingo |
Subject: |
string port encodings |
Date: |
Tue, 15 Jan 2013 15:36:11 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
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/
- string port encodings,
Andy Wingo <=