diff options
author | David Glasser <glasser@davidglasser.net> | 2013-10-03 17:02:19 -0700 |
---|---|---|
committer | David Glasser <glasser@davidglasser.net> | 2013-10-03 17:02:19 -0700 |
commit | bb0a762d12d2ecd058b9d7b57f16b4c289378d9c (patch) | |
tree | 588c27de99a52671f0e1cac35355eddd302c8275 /lib/parse.js | |
parent | 8cc86fee6016bc2d540a348f5eb4a174f006a02b (diff) | |
download | tracifyjs-bb0a762d12d2ecd058b9d7b57f16b4c289378d9c.tar.gz tracifyjs-bb0a762d12d2ecd058b9d7b57f16b4c289378d9c.zip |
Only allow identifier start characters at the beginning of identifiers.
Without this fix, the following source:
x = {"\u200c": 42};
would incorrectly be converted into a quoteless key. But while \u200c is allowed
to be in identifiers, it cannot be at the beginning, as per ES5.
(For example, the SockJS client library doesn't work under uglify starting with
d9ad3c7c.)
Diffstat (limited to 'lib/parse.js')
-rw-r--r-- | lib/parse.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/parse.js b/lib/parse.js index a423aa0a..6d69461c 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -170,7 +170,7 @@ function is_identifier_char(ch) { function is_identifier_string(str){ var i = str.length; if (i == 0) return false; - if (is_digit(str.charCodeAt(0))) return false; + if (!is_identifier_start(str.charCodeAt(0))) return false; while (--i >= 0) { if (!is_identifier_char(str.charAt(i))) return false; |