From 26758d89bd1bd05b5fbf2ac38a26aaf88009b57b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sun, 27 Apr 2014 09:05:23 +0900 Subject: NODE_DEF should preserve stack region for lambda; ref #2136 --- src/codegen.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/codegen.c') diff --git a/src/codegen.c b/src/codegen.c index 9428b135d..6c2ed41c9 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1632,7 +1632,7 @@ codegen(codegen_scope *s, node *tree, int val) break; } codegen(s, tree->cdr->cdr->car, VAL); - push();pop(); + push(); pop(); pop(); pop(); idx = new_msym(s, sym); @@ -2404,6 +2404,7 @@ codegen(codegen_scope *s, node *tree, int val) genop(s, MKOP_A(OP_TCLASS, cursp())); push(); genop(s, MKOP_Abc(OP_LAMBDA, cursp(), idx, OP_L_METHOD)); + push(); pop(); pop(); genop(s, MKOP_AB(OP_METHOD, cursp(), sym)); if (val) { -- cgit v1.2.3