From 7f48d5b33cc2a130afead79cd09482cc833d17bb Mon Sep 17 00:00:00 2001 From: Mihai Bazon Date: Mon, 16 Nov 2015 12:07:15 +0200 Subject: [PATCH] Fix endless loop Close #866 --- lib/compress.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/compress.js b/lib/compress.js index c384e997..32833ebf 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -384,7 +384,12 @@ merge(Compressor.prototype, { continue loop; } //--- - if (ret.length == 1 && in_lambda && ret[0] instanceof AST_SimpleStatement + // XXX: what was the intention of this case? + // if sequences is not enabled, this can lead to an endless loop (issue #866). + // however, with sequences on this helps producing slightly better output for + // the example code. + if (compressor.option("sequences") + && ret.length == 1 && in_lambda && ret[0] instanceof AST_SimpleStatement && (!stat.alternative || stat.alternative instanceof AST_SimpleStatement)) { CHANGED = true; ret.push(make_node(AST_Return, ret[0], { -- 2.34.1