def statement and define_method now return symbol a la Ruby2.1

parent 3d3ca985
......@@ -1486,7 +1486,7 @@ mod_define_method(mrb_state *mrb, mrb_value self)
mrb_proc_copy(p, mrb_proc_ptr(blk));
p->flags |= MRB_PROC_STRICT;
mrb_define_method_raw(mrb, c, mid, p);
return blk;
return mrb_symbol_value(mid);
}
static void
......
......@@ -2317,7 +2317,7 @@ codegen(codegen_scope *s, node *tree, int val)
pop();
genop(s, MKOP_AB(OP_METHOD, cursp(), sym));
if (val) {
genop(s, MKOP_A(OP_LOADNIL, cursp()));
genop(s, MKOP_ABx(OP_LOADSYM, cursp(), sym));
push();
}
}
......@@ -2337,7 +2337,7 @@ codegen(codegen_scope *s, node *tree, int val)
pop();
genop(s, MKOP_AB(OP_METHOD, cursp(), sym));
if (val) {
genop(s, MKOP_A(OP_LOADNIL, cursp()));
genop(s, MKOP_ABx(OP_LOADSYM, cursp(), sym));
push();
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment