From: Richard van Velzen Date: Wed, 29 Jul 2015 15:57:18 +0000 (+0200) Subject: Fix semicolon printing when restricting max line length X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=66761d7ecfade3c81c09f9b77afc5b71b3b59f9e;p=UglifyJS.git Fix semicolon printing when restricting max line length Fixes #755 --- diff --git a/lib/output.js b/lib/output.js index 1d67b1b9..396c6a29 100644 --- a/lib/output.js +++ b/lib/output.js @@ -161,6 +161,8 @@ function OutputStream(options) { str = String(str); var ch = str.charAt(0); if (might_need_semicolon) { + might_need_semicolon = false; + if ((!ch || ";}".indexOf(ch) < 0) && !/[;]$/.test(last)) { if (options.semicolons || requireSemicolonChars(ch)) { OUTPUT += ";"; @@ -171,11 +173,17 @@ function OutputStream(options) { current_pos++; current_line++; current_col = 0; + + if (/^\s+$/.test(str)) { + // reset the semicolon flag, since we didn't print one + // now and might still have to later + might_need_semicolon = true; + } } + if (!options.beautify) might_need_space = false; } - might_need_semicolon = false; } if (!options.beautify && options.preserve_line && stack[stack.length - 1]) {