diff --git a/lib/compress.js b/lib/compress.js index cc558eec..9e76120d 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -13262,8 +13262,7 @@ Compressor.prototype.compress = function(node) { def(AST_New, noop); def(AST_Return, function(compressor, scope, no_return, in_loop) { var value = this.value; - if (value) value = value.try_inline(compressor, scope, undefined, in_loop === "try"); - return value || this; + return value && value.try_inline(compressor, scope, undefined, in_loop === "try"); }); function inline_sequence(compressor, scope, no_return, in_loop, node, skip) { var body = [], exprs = node.expressions, no_ret = no_return; diff --git a/test/compress/functions.js b/test/compress/functions.js index 434c7589..50982230 100644 --- a/test/compress/functions.js +++ b/test/compress/functions.js @@ -6146,18 +6146,21 @@ issue_4265: { a; var a; }() ]); - return 0; + return 42; } - f(); + console.log(f()); } expect: { function f() { var a; - return console, console.log(a), 0; + return console, console.log(a), 42; } - f(); + console.log(f()); } - expect_stdout: "undefined" + expect_stdout: [ + "undefined", + "42", + ] } trailing_comma: {