[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#10627: char-ready? is broken for multibyte encodings
From: |
Andy Wingo |
Subject: |
bug#10627: char-ready? is broken for multibyte encodings |
Date: |
Sun, 24 Feb 2013 23:15:33 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
Hi :)
On Sun 24 Feb 2013 21:14, Mark H Weaver <address@hidden> writes:
> Andy Wingo <address@hidden> writes:
>
>> On Sat 28 Jan 2012 11:21, Mark H Weaver <address@hidden> writes:
>>
>>> The R5RS specifies that if 'char-ready?' returns #t, then the next
>>> 'read-char' operation is guaranteed not to hang. This is not currently
>>> the case for ports using a multibyte encoding.
>>>
>>> 'char-ready?' currently returns #t whenever at least one _byte_ is
>>> available. This is not correct in general. It should return #t only if
>>> there is a complete _character_ available.
>>
>> This procedure is omitted in the R6RS because it is not a good
>> interface. Besides its semantic difficulties, can you think of a sane
>> implementation for multibyte characters?
>
> Maybe I'm missing something, but I don't see any semantic problem here,
> and it seems straightforward to implement. 'char-ready?' should simply
> read bytes until either a complete character is available, or no more
> bytes are ready. In either case, all the bytes should then be 'unget'
> before returning. What's the problem?
The problem is that char-ready? should not read anything. If you want
to peek, use peek-char. Note that if the stream is at EOF, char-ready?
should return #t.
Andy
--
http://wingolog.org/
- bug#10627: char-ready? is broken for multibyte encodings, Andy Wingo, 2013/02/24
- bug#10627: char-ready? is broken for multibyte encodings, Mark H Weaver, 2013/02/24
- bug#10627: char-ready? is broken for multibyte encodings,
Andy Wingo <=
- bug#10627: char-ready? is broken for multibyte encodings, Mark H Weaver, 2013/02/24
- bug#10627: char-ready? is broken for multibyte encodings, Daniel Hartwig, 2013/02/24
- bug#10627: char-ready? is broken for multibyte encodings, Andy Wingo, 2013/02/25
- bug#10627: char-ready? is broken for multibyte encodings, Mark H Weaver, 2013/02/26
- bug#10627: char-ready? is broken for multibyte encodings, Andy Wingo, 2013/02/26