From: Mihai Bazon Date: Fri, 10 Jan 2014 08:33:58 +0000 (+0200) Subject: Unescape Unicode sequences in regexps when ascii_only is false. #54 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=cad1f9cbd112b1117562b942f39a1205e00e2bf0;p=UglifyJS.git Unescape Unicode sequences in regexps when ascii_only is false. #54 --- diff --git a/lib/output.js b/lib/output.js index 0c339c44..f778b381 100644 --- a/lib/output.js +++ b/lib/output.js @@ -1120,8 +1120,16 @@ function OutputStream(options) { }); DEFPRINT(AST_RegExp, function(self, output){ var str = self.getValue().toString(); - if (output.option("ascii_only")) + if (output.option("ascii_only")) { str = output.to_ascii(str); + } else { + str = str.split("\\\\").map(function(str){ + return str.replace(/(\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2})/g, function(s, p1){ + var code = parseInt(p1.substr(2), 16); + return code == 10 || code == 13 || code == 0x2028 || code == 0x2029 ? s : String.fromCharCode(code); + }); + }).join("\\\\"); + } output.print(str); var p = output.parent(); if (p instanceof AST_Binary && /^in/.test(p.operator) && p.left === self)