diff --git a/lib/output.js b/lib/output.js index 1b1ba2a4..805f0339 100644 --- a/lib/output.js +++ b/lib/output.js @@ -451,6 +451,11 @@ function OutputStream(options) { return OUTPUT; }; + function has_nlb() { + var index = OUTPUT.lastIndexOf("\n"); + return /^ *$/.test(OUTPUT.slice(index + 1)); + } + function prepend_comments(node) { var self = this; var start = node.start; @@ -499,7 +504,7 @@ function OutputStream(options) { comments = comments.filter(comment_filter, node); if (comments.length == 0) return; - var last_nlb = /(^|\n) *$/.test(OUTPUT); + var last_nlb = has_nlb(); comments.forEach(function(c, i) { if (!last_nlb) { if (c.nlb) { @@ -546,7 +551,7 @@ function OutputStream(options) { print("\n"); indent(); need_newline_indented = false; - } else if (c.nlb && (i > 0 || !/(^|\n) *$/.test(OUTPUT))) { + } else if (c.nlb && (i > 0 || !has_nlb())) { print("\n"); indent(); } else if (i > 0 || !tail) {