Subject: bug#40693: 28.0.50; json-encode-alist changes alist

From: Dmitry Gutov <[email-masked]>
Date: Wed, 29 Apr 2020 18:02:52 +0300

On 29.04.2020 17:40, Eli Zaretskii wrote:
>> Cc: [email-masked], [email-masked], [email-masked]
>> From: Dmitry Gutov <[email-masked]>
>> Date: Wed, 29 Apr 2020 17:28:05 +0300
>>
>>> How about adding an optional argument instead, by default off, to
>>> request this behavior?  then callers who care about the original alist
>>> could request a non-destructive operation, and others won't suffer any
>>> slowdown.
>>
>> The current behavior is unsafe, that's the problem. Also,
>> json-encode-alist is called in a recursive fashion, so it'd have to be a
>> global variable instead.
> 
> Sounds like a somewhat hairy issue.  Then let's put this on master
> first.  If this turns out to be a very popular change, and no one
> complains, we could later back-port it to some 27.x version.

*shrug*, I'm certainly not going to insist, but we could push the 
"slightly slower" simple patch to emacs-27, and go with Basil's refactor 
(sounds exciting!) on master.