[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: byte-order marks
From: |
Andy Wingo |
Subject: |
Re: byte-order marks |
Date: |
Tue, 29 Jan 2013 15:04:06 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
Hi,
[Ludo and Mark and I scribas]:
>>> * 'open-input-file' could perhaps auto-consume a BOM at the beginning of
>>> the stream, but *only* if the BOM is already in the encoding specified
>>> by the user (possibly via an explicit call to 'file-encoding').
>>
>> The problem is that we have no way of knowing what file encoding the
>> user specifies. The encoding could come from the environment, or from
>> some fluid that some other piece of code binds. We are really missing
>> an encoding argument to open-file.
>
> Well, ‘%default-port-encoding’ is really an argument to ‘open-file’,
> though admittedly not a convenient one.
Dunno :) In the end this reduces to saying "the user always specifies a
port encoding".
> However, there’s no way to open a file in binary mode when using
> ‘open-input-file’, ‘call-with-input-file’, etc.
We can add keyword or optional arguments of course. (Not suggesting
that we do so at this time though.)
>> I liked that my solution "just worked" with a small amount of code and
>> no changes to the rest of the application. I can't help but think that
>> requiring the user to put in more code is going to infect an endless set
>> of call sites with little "helper" procedures that aren't going to be
>> more correct in aggregate.
>
> For textual files, it doesn’t seem unreasonable for ‘open-input-file’ to
> consume the BOM, IMO. It’s not much different from the ‘eol-style’
> transcoders.
I could go either way. I would prefer for open-input-file to consume a
BOM on textual files. But I have another patch that fixes the (sxml
simple) problem, so I'm also OK with punting on this issue for now.
Andy
--
http://wingolog.org/
- byte-order marks, Andy Wingo, 2013/01/28
- Re: byte-order marks, Mike Gran, 2013/01/28
- Re: byte-order marks, Mark H Weaver, 2013/01/29
- Re: byte-order marks, Andy Wingo, 2013/01/29
- Re: byte-order marks, Ludovic Courtès, 2013/01/29
- Re: byte-order marks, Andy Wingo, 2013/01/30
- Re: byte-order marks, Ludovic Courtès, 2013/01/30
- Re: byte-order marks, Andy Wingo, 2013/01/31
- [PATCHES] Discard BOMs at stream start for UTF-{8,16,32} encodings, Mark H Weaver, 2013/01/30
- Re: [PATCHES] Discard BOMs at stream start for UTF-{8,16,32} encodings, Andy Wingo, 2013/01/31
- Re: [PATCHES] Discard BOMs at stream start for UTF-{8,16,32} encodings, Andy Wingo, 2013/01/31