Re: [Json] Proposal: the minimal edit

Norbert Lindenberg <ietf@lindenbergsoftware.com> Mon, 24 June 2013 18:07 UTC

Return-Path: <ietf@lindenbergsoftware.com>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 16D5621E8159 for <json@ietfa.amsl.com>; Mon, 24 Jun 2013 11:07:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.412
X-Spam-Level:
X-Spam-Status: No, score=-3.412 tagged_above=-999 required=5 tests=[AWL=-0.413, BAYES_00=-2.599, J_CHICKENPOX_34=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yrlcdTSYZabc for <json@ietfa.amsl.com>; Mon, 24 Jun 2013 11:07:15 -0700 (PDT)
Received: from mirach.lunarpages.com (mirach.lunarpages.com [216.97.235.70]) by ietfa.amsl.com (Postfix) with ESMTP id 491DB21E8156 for <json@ietf.org>; Mon, 24 Jun 2013 11:07:15 -0700 (PDT)
Received: from 50-0-136-241.dsl.dynamic.sonic.net ([50.0.136.241]:53824 helo=[192.168.0.5]) by mirach.lunarpages.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.80) (envelope-from <ietf@lindenbergsoftware.com>) id 1UrBAV-0010NJ-FC; Mon, 24 Jun 2013 11:07:11 -0700
Mime-Version: 1.0 (Apple Message framework v1283)
Content-Type: text/plain; charset="windows-1252"
From: Norbert Lindenberg <ietf@lindenbergsoftware.com>
In-Reply-To: <CAHBU6ivhoUM9cfUnc1YfnyDdQnWQ=Mj10cSoYn0qouMQ0F94XA@mail.gmail.com>
Date: Mon, 24 Jun 2013 11:07:08 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <54386FE8-9313-4840-836C-AAC6549B46BA@lindenbergsoftware.com>
References: <CAChr6SyN4Z3Hh8OFGHkK+AJN0+S09wMfjeobZ51GjKNL+GhPsw@mail.gmail.com> <CAHBU6ivhoUM9cfUnc1YfnyDdQnWQ=Mj10cSoYn0qouMQ0F94XA@mail.gmail.com>
To: Tim Bray <tbray@textuality.com>
X-Mailer: Apple Mail (2.1283)
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - mirach.lunarpages.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - lindenbergsoftware.com
X-Get-Message-Sender-Via: mirach.lunarpages.com: authenticated_id: ietf@lindenbergsoftware.com
Cc: Norbert Lindenberg <ietf@lindenbergsoftware.com>, "json@ietf.org" <json@ietf.org>, R S <sayrer@gmail.com>
Subject: Re: [Json] Proposal: the minimal edit
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Jun 2013 18:07:21 -0000

On Jun 22, 2013, at 10:31 , Tim Bray wrote:

> So in Rob’s proposed section:
> 
> ECMAScript implementations generate and consume unpaired Unicode surrogate code points in JSON documents.

What are "unpaired Unicode surrogate code points"? I'm familiar with surrogate code points, and with unpaired surrogate code units in UTF-16.

If you mean one of those, then this behavior is conformant with the JSON grammar, specifically the "unescaped" production. The behavior likely also exists in several other JSON implementations - for example, the source code of the string parsing functions in the Java org.json library and the C# fastJSON library doesn't seem to do anything to prevent unpaired surrogate code units from passing through and escape sequences from being unescaped to unpaired surrogate code units.

Norbert