From: Mihai Bazon Date: Thu, 23 Apr 2015 09:08:19 +0000 (+0300) Subject: Fix parsing strings with literal DOS newlines X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=92e4340732ba9b182e339896ffda0e13ef98e40a;p=UglifyJS.git Fix parsing strings with literal DOS newlines (should not set newline_before) Fix #693 --- diff --git a/lib/parse.js b/lib/parse.js index 95a9f776..53aaabd6 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -354,8 +354,13 @@ function tokenizer($TEXT, filename, html5_comments) { case 120 : return String.fromCharCode(hex_bytes(2)); // \x case 117 : return String.fromCharCode(hex_bytes(4)); // \u case 10 : return ""; // newline - default : return ch; + case 13 : // \r + if (peek() == "\n") { // DOS newline + next(true, in_string); + return ""; + } } + return ch; }; function hex_bytes(n) { @@ -372,7 +377,7 @@ function tokenizer($TEXT, filename, html5_comments) { var read_string = with_eof_error("Unterminated string constant", function(quote_char){ var quote = next(), ret = ""; for (;;) { - var ch = next(true); + var ch = next(true, true); if (ch == "\\") { // read OctalEscapeSequence (XXX: deprecated if "strict mode") // https://github.com/mishoo/UglifyJS/issues/178