[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts
From: |
Laszlo Ersek |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts |
Date: |
Mon, 23 Nov 2015 21:26:18 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/23/15 21:05, Eric Blake wrote:
> On 11/23/2015 10:59 AM, Laszlo Ersek wrote:
>> On 11/23/15 18:44, Paolo Bonzini wrote:
>>> JSON is LL(1) and our parser indeed needs only 1 token lookahead.
>>> Saving the parser context is mostly unnecessary; we can replace it
>>> with peeking at the next token, or remove it altogether when the
>>> restore only happens on errors. The token list is destroyed anyway
>>> on errors.
>>>
>>> The only interesting thing is that parse_keyword always eats
>>> a TOKEN_KEYWORD, even if it is invalid, so it must come last in
>>> parse_value (otherwise, NULL is returned, parse_literal is invoked
>>> and it tries to peek beyond end of input). This is caught by
>>> /errors/unterminated/literal, which actually checks for an unterminated
>>> keyword. ಠ_ಠ
>>
>> Is it accepted practice to put UTF-8 in commit messages? (Or, actually,
>> anywhere in patches, except maybe the notes section?)
>>
>
> Git handles UTF-8 just fine (and for any other encoding, properly
> transmitted in the email, git transcodes to UTF-8 before writing it into
> the repository).
>
Yes, I know. I use latin2:
$ locale
LANG=
LC_CTYPE=hu_HU.ISO8859-2
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
and from my git config:
[i18n]
logOutputEncoding = latin2
commitencoding = latin2
This works very well -- as long as it doesn't choke on something outside
of latin2 --, both the glibc locale support and git are doing their jobs
perfectly fine; my question concerned any other users who decided to
stay with single-byte encodings (with an ASCII subset).
(I believe that RFCs stick with ASCII to this day, and I also think that
our source code and docs/ should stick with ASCII; but I know I can't
plausibly argue for the same in commit messages, assuming I'm alone with
that anyway.
BTW I should have written "non-ASCII Unicode code points" in my original
question, rather than "UTF-8".)
Thanks!
Laszlo
- [Qemu-devel] [PATCH v2 for-2.5? 0/4] qjson: save a lot of memory, Paolo Bonzini, 2015/11/23
- [Qemu-devel] [PATCH v2 1/4] qjson: replace QString in JSONLexer with GString, Paolo Bonzini, 2015/11/23
- [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Paolo Bonzini, 2015/11/23
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Gerd Hoffmann, 2015/11/24
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Laszlo Ersek, 2015/11/24
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Paolo Bonzini, 2015/11/24
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Fam Zheng, 2015/11/24
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Paolo Bonzini, 2015/11/24
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Markus Armbruster, 2015/11/24
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Gerd Hoffmann, 2015/11/24
- Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Laszlo Ersek, 2015/11/24
Re: [Qemu-devel] [PATCH v2 2/4] qjson: do not save/restore contexts, Markus Armbruster, 2015/11/25
[Qemu-devel] [PATCH v2 3/4] qjson: store tokens in a GQueue, Paolo Bonzini, 2015/11/23