Use Unicode 9’s `ID_Start` & `ID_Continue` for identifiers

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: mathias, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

3 years ago
* 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.
(Reporter)

Comment 1

3 years ago
Posted file results.js
See Also: → 917436
Note that we generally prefer to have the JS Unicode data be bumped at the same time as Gecko's Unicode data, so that the whole application/browser is more or less on the same page.  I somewhat doubt we will update this on our own, without Gecko updating as well.

Last I knew, such updates were done using the info on this page:

https://wiki.mozilla.org/I18n:Updating_Unicode_version
Jeff, I think we've hit a silly artificial internal 8-bit limit, for the moment, that makes updating this more than a trivial job. Still, we should go ahead and do it. Want to take?
The various subtasks required to support `Function('var \u{1E943}')` were fixed in the following bug reports:

bug 917436: Switches to using IDStart and IDContinue for identifiers
bug 1230490: Updates Unicode tables to Unicode 9.0
bug 1197230: Adds support for non-BMP code points in identifiers
bug 1314037: Adds support for \u{...} escapes in identifiers
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.