GNU bug report logs -
#70007
[PATCH] native JSON encoder
Previous Next
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
>> Date: Tue, 26 Mar 2024 16:33:52 +0100
>>
>> If we replace the lisp-to-JSON encoder with native code, we would not need the jansson library for it and it would be faster.
>>
>> There is ongoing work on a JSON-to-lisp parser, but the author has made it clear that he does not have time to write an encoder, so I spent a morning mashing up the attached patch.
>
> Thanks for working on this.
>
>> It generally produces the same result as the old code, except:
>>
>> - The old code incorrectly accepted strings with non-Unicode characters (raw bytes). There is no reason to do this; JSON is UTF-8 only.
>
> Would it complicate the code not to reject raw bytes? I'd like to
> avoid incompatibilities if it's practical. Also, Emacs traditionally
> doesn't reject raw bytes, leaving that to the application or the user.
>
>> I'd be very happy if someone could test it with packages that use this interface (json-serialise, json-insert).
>
> Yes, please.
I've been using this along with the json-to-lisp parser for some time
now, and I'm really happy to see these improvements. Thanks a lot!
I haven't seen any issues thus far, and emacs is much more responsive.
I hope both of these patches will soon arrive on emacs 30.
I'll continue using and testing both until then.
Thanks,
Theo
This bug report was last modified 249 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.