>>>>> "Robert" == Robert Dodier <robert.dodier at gmail.com> writes:
Robert> On 2013-05-02, Raymond Toy <toy.raymond at gmail.com> wrote:
>> LANGUAGE=es_ES: maxima-Local
Robert> Doesn't that want to be es_ES.UTF-8 ?
I don't know. There are two directories for me: doc/info/es and
doc/info/es.utf8. And I don't really know the difference between LANG
and LANGUAGE. My ubuntu box has LANGUAGE=en_US: and
LANG=en_US.UTF-8. intl.lisp looks at LANGUAGE first to set the locale.
Robert> I tried it with LANGUAGE=es_ES.UTF-8 and I get the expected result.
Robert> Without UTF-8 I get an error or mixed up display. Maybe you mean to say
Robert> that even without UTF-8 it should be displayed correctly?
>> AIUI, we basically just suck in a bunch of bytes and then send them
>> out directly because the info file has the text encoded using the
>> desired encoding.
Robert> No -- first we seek to a file position (more about that below) and then
Robert> read a number of characters and then output those characters.
Well, if we're reading characters, don't we have to be sure to set the
external format correctly when we open the file? If we are cheating
and reading the file as iso8859-1 and outputing as iso8859-1 and
expecting the terminal to do the right thing, then this will work.
Except I have my default external format set to UTF-8 so reading the
file as UTF-8 is not going to work as expected if the file isn't
UTF-8.
Robert> As we know, CLHS requires only that file position be monotonic. In
Robert> practice, every Lisp implementation I have encountered uses byte offset
Robert> as file position. (There may well be some which don't.) So, in effect --
Robert> seek to byte position, then read characters.
Didn't someone say scl actually uses character positions?
Ray