From mboxrd@z Thu Jan 1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: Philipp Stephani
Newsgroups: gmane.emacs.bugs
Subject: bug#45032: 26.3;
json-pretty-print of JSON with dict containing 't' as a key causes
error
Date: Sun, 6 Dec 2020 18:16:59 +0100
Message-ID:
References:
<877dpxnah5.fsf@gnus.org> <87a6us1b37.fsf@tcd.ie>
<87tuszcaxn.fsf@gnus.org>
<87v9desw2c.fsf@gnus.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
logging-data="32955"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: "Basil L. Contovounesios" ,
Henry Minsky , 45032@debbugs.gnu.org
To: Lars Ingebrigtsen
Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 06 18:18:11 2020
Return-path:
Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org
Original-Received: from lists.gnu.org ([209.51.188.17])
by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.92)
(envelope-from )
id 1klxfn-0008RC-GK
for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 06 Dec 2020 18:18:11 +0100
Original-Received: from localhost ([::1]:47986 helo=lists1p.gnu.org)
by lists.gnu.org with esmtp (Exim 4.90_1)
(envelope-from )
id 1klxfm-0001bd-2w
for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 06 Dec 2020 12:18:10 -0500
Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58172)
by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.90_1) (envelope-from )
id 1klxfe-0001b6-19
for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 12:18:02 -0500
Original-Received: from debbugs.gnu.org ([209.51.188.43]:39573)
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from )
id 1klxfd-0006XH-Pi
for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 12:18:01 -0500
Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
(envelope-from ) id 1klxfd-0007cn-L7
for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 12:18:01 -0500
X-Loop: help-debbugs@gnu.org
Resent-From: Philipp Stephani
Original-Sender: "Debbugs-submit"
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Sun, 06 Dec 2020 17:18:01 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 45032
X-GNU-PR-Package: emacs
Original-Received: via spool by 45032-submit@debbugs.gnu.org id=B45032.160727503729256
(code B ref 45032); Sun, 06 Dec 2020 17:18:01 +0000
Original-Received: (at 45032) by debbugs.gnu.org; 6 Dec 2020 17:17:17 +0000
Original-Received: from localhost ([127.0.0.1]:51119 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1klxev-0007bo-Ic
for submit@debbugs.gnu.org; Sun, 06 Dec 2020 12:17:17 -0500
Original-Received: from mail-oi1-f178.google.com ([209.85.167.178]:34553)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1klxeu-0007bb-7M
for 45032@debbugs.gnu.org; Sun, 06 Dec 2020 12:17:16 -0500
Original-Received: by mail-oi1-f178.google.com with SMTP id s75so9655640oih.1
for <45032@debbugs.gnu.org>; Sun, 06 Dec 2020 09:17:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=fU7L5glICePJn94MTWW07We9eTtCyC0cID1cgshgjl0=;
b=WcVdbVPD0618IHMtxKxSyNmaE5IHkME7wQEatTk5mYGWBn33vpIIEDecHnicQ6A3zd
+1BxyDz102kUoaY6MfogyRnbMNp8yoopPKrUZdUoYLpB3e2R7pcG/cr3l5NBEgNeaXYW
64wEzRcsJJ0Emqhl/JzpJar4h1zgrFjQACU8xPgqijB4m672c7gjd6AK7gA2YK1dAF53
/Ig8JKESOwZuKLA4oQse/UnkWkq8I4LGPQphBZsDBNoEPnxJyJ+TxUC6iwcHC/zzlpWr
i/AB4c3RM8zeegKK9GRwQLyE9kjRl0eBX/NRQr8NdpcCSO/HKEWvLVNJputMuDsGK7+D
rjEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=fU7L5glICePJn94MTWW07We9eTtCyC0cID1cgshgjl0=;
b=BZS5nnqD8LAJJSOEw2jzhSWshDi9RJ2WwbDq+73dtkVFrCgBktkCVQWmNzWYnQXpSa
8Conzj18AgZoBqQbkkgSxiKCmWcohtFrgAUbOvJ4uvUh92qXeYy1idQaDCWR+SOZ8lCo
c+EXT7q68zf5tdSasfM124Nk5fs2TKOtWM7XSyUH4RB6qzBfrOrjCjGI/pf9azyqXzFV
F0XJ27QTXpBk5yNgfofjLJUs5SD+mmc6spY26NGkjN+rIqDrtPkrW/TY2buDLWJYZKv/
XRk+DUfB2Lf71ztfNfJbxMrXAR2BY5p9xRN0+N/+n/Ct/AhgK5nzPXMO8sIb1ajoj27k
7/oA==
X-Gm-Message-State: AOAM5306Vr1RS3n0SWvdA5bKu01Jh1OsWR2QsbuC6k2c6wWkOtZO0tii
iy3QLRRYOEF/eaWkxehwFS8CgsCNI2STG3PLMuv1StCe
X-Google-Smtp-Source: ABdhPJxK31b5ZnDBX3UPCoVV4KniTUxvnDnh45dXAFCXCOTbz5oB9MhjujJS2A4T8um+jGFVuQqPkmZEc+qkw8eX+38=
X-Received: by 2002:aca:d4cf:: with SMTP id l198mr9611867oig.170.1607275030660;
Sun, 06 Dec 2020 09:17:10 -0800 (PST)
In-Reply-To: <87v9desw2c.fsf@gnus.org>
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: bug-gnu-emacs@gnu.org
List-Id: "Bug reports for GNU Emacs,
the Swiss army knife of text editors"
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org
Original-Sender: "bug-gnu-emacs"
Xref: news.gmane.io gmane.emacs.bugs:195141
Archived-At:
Am So., 6. Dez. 2020 um 18:06 Uhr schrieb Lars Ingebrigtsen :
>
> Philipp Stephani writes:
>
> >> >> I think it's important that native and Elisp JSON serialisation are as
> >> >> consistent as possible here;
> >> >
> >> > I don't think that's realistic: any change in behavior to either of
> >> > these functions would be a breaking change.
> >>
> >> I think we should have JSON/Elisp round trips that are 100%
> >> reproducible. The current functions certainly aren't.
> >
> > I don't understand why that is so important. I designed the C JSON
> > functions partially because I disagree with some aspects of API design
> > and behavior of the Elisp functions, so they are pretty much
> > incompatible on purpose. Trying to make them compatible would make the
> > C functions worse.
>
> Sorry, I was unclear -- I'm not saying the old and the new functions
> should be compatible, only that there should be functions that can round
> trip via JSON->Elisp->JSON and get identical results back.
>
> Is that the case today?
You mean something like (json-serialize (json-parse-string ...))? I'd
hope that's indeed the case to the furthest extent possible. There are
cases where roundtripping is impossible (parsing ignores whitespace,
field order, and duplicate keys), but otherwise I'd hope these
functions are inverses of each other. Or is there a case where they
aren't?