aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Glasser <glasser@davidglasser.net>2013-10-03 17:02:19 -0700
committerDavid Glasser <glasser@davidglasser.net>2013-10-03 17:02:19 -0700
commitbb0a762d12d2ecd058b9d7b57f16b4c289378d9c (patch)
tree588c27de99a52671f0e1cac35355eddd302c8275
parent8cc86fee6016bc2d540a348f5eb4a174f006a02b (diff)
downloadtracifyjs-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.)
-rw-r--r--lib/parse.js2
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;