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?