Bug 159203

Summary: Use Unicode 9’s `ID_Start` & `ID_Continue` for identifiers
Product: WebKit Reporter: Mathias Bynens <mathias>
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Status: NEW ---    
Severity: Normal CC: mathias, msaboff, ysuzuki
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugzilla.mozilla.org/show_bug.cgi?id=1282724
https://bugs.chromium.org/p/v8/issues/detail?id=5155
Attachments:
Description Flags
Node.js script that outputs lists of new `ID_Start` and `ID_Continue` symbols
none
results.js none

Description Mathias Bynens 2016-06-28 02:32:40 PDT
* Unicode 8 has 2,518 `ID_Start` symbols; Unicode 9 has 2,669, i.e. 151 more (no removals).
* Unicode 8 has 109,830 `ID_Continue` symbols; Unicode 9 has 117,007, i.e. 7,177 more (no removals).

E.g. these should not throw per Unicode 9:

    Function('var \u{1E943}'); // new ID_Start
    Function('var _\u{1E959}'); // new ID_Continue

I’ve attached `results.js` which contains the full list of new `ID_Start` and `ID_Continue` symbols in Unicode 9, and the Node.js script used to generate it.
Comment 1 Mathias Bynens 2016-06-28 02:33:21 PDT
Created attachment 282228 [details]
Node.js script that outputs lists of new `ID_Start` and `ID_Continue` symbols
Comment 2 Mathias Bynens 2016-06-28 02:33:36 PDT
Created attachment 282229 [details]
results.js
Comment 3 Mathias Bynens 2016-06-28 02:41:36 PDT
Bugzilla won’t allow me to add https://github.com/Microsoft/ChakraCore/issues/1208 to the “See also” list. Can that be fixed?
Comment 4 Alexey Proskuryakov 2016-06-28 20:09:11 PDT
Per <http://www.ecma-international.org/ecma-262/7.0/>, "A conforming implementation of ECMAScript must interpret source text input in conformance with the Unicode Standard, Version 8.0.0 or later and ISO/IEC 10646".
Comment 5 Mathias Bynens 2016-06-28 23:32:45 PDT
The intent is to use the latest available Unicode version. See https://github.com/tc39/ecma262/pull/620 for some discussion.