I had no intentions specific to U+2E2F when I proposed relying on UTR 31 - the 
change is simply the effect of the character properties that the Unicode 
Technical Committee assigned to this character.

I don't think there's a real problem. U+2E2F was added in Unicode version 5.1. 
ECMAScript 5.1 requires only support for Unicode 3.0, and warns "If portability 
is a concern, programmers should only employ identifier characters defined in 
Unicode 3.0" (section 7.6). IE 10 throws a SyntaxError if the character is used 
in an identifier.

BTW, if that's the only difference between the regular expressions for ES 5.1 
and ES 6, then at least one of them is wrong - ES 6 allows supplementary 
characters in identifiers, while ES 5.1 doesn't.

Norbert


On Aug 19, 2013, at 2:25 , Mathias Bynens <math...@qiwi.be> wrote:

> I wrote a (new) script that generates a regular expression that matches valid 
> JavaScript identifiers as per ECMAScript 5.1 / Unicode v6.2.0. 
> http://mathiasbynens.be/demo/javascript-identifier-regex
> 
> Then, I made it do the same thing according to the latest ECMAScript 6 draft, 
> which refers to Unicode Standard Annex #31: Unicode Identifier and Pattern 
> Syntax (http://www.unicode.org/reports/tr31/).
> 
> After comparing the output, I noticed that both regular expressions are 
> identical except for the following: ECMAScript 5 allows U+2E2F VERTICAL TILDE 
> in `IdentifierStart` and `IdentifierPart`, but ECMAScript 6 / Unicode TR31 
> doesn’t.
> 
> Was this potentially breaking change intentional? I’m fine with disallowing 
> U+2E2F, but only if we’re sure it doesn’t break any existing code.
> 
> Mathias
> http://mathiasbynens.be/
> _______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to