diff --git a/lib/compress.js b/lib/compress.js index 796933e0..6359696b 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -2251,12 +2251,12 @@ merge(Compressor.prototype, { dirs.push(node); return make_node(AST_EmptyStatement, node); } - if (node instanceof AST_Defun && hoist_funs + if (hoist_funs && node instanceof AST_Defun && (tt.parent() === self || !compressor.has_directive("use strict"))) { hoisted.push(node); return make_node(AST_EmptyStatement, node); } - if (node instanceof AST_Var && hoist_vars) { + if (hoist_vars && node instanceof AST_Var) { node.definitions.forEach(function(def){ vars.set(def.name.name, def); ++vars_found;