diff --git a/lib/output.js b/lib/output.js index 1d67b1b9..44d5df6e 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,14 @@ function OutputStream(options) { current_pos++; current_line++; current_col = 0; + + // 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]) {