diff options
Diffstat (limited to 'lib/scope.js')
-rw-r--r-- | lib/scope.js | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/scope.js b/lib/scope.js index b40807fa..131235f6 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -194,7 +194,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) { if (node instanceof AST_SymbolCatch) { var scope = node.thedef.defun; if (scope.name instanceof AST_SymbolLambda && scope.name.name == node.name) { - scope = scope.parent_scope; + scope = scope.parent_scope.resolve(); } redefine(node, scope); return true; @@ -202,7 +202,11 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) { if (node instanceof AST_SymbolLambda) { var def = node.thedef; redefine(node, node.scope.parent_scope.resolve()); - if (def.init) node.thedef.init = def.init; + if (typeof node.thedef.init !== "undefined") { + node.thedef.init = false; + } else if (def.init) { + node.thedef.init = def.init; + } return true; } })); |