summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index f7103243d..a6324cf93 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -2303,8 +2303,9 @@ RETRY_TRY_BLOCK:
/* A B R(A).newmethod(Syms(B),R(A+1)) */
int a = GETARG_A(i);
struct RClass *c = mrb_class_ptr(regs[a]);
+ struct RProc *p = mrb_proc_ptr(regs[a+1]);
- mrb_define_method_vm(mrb, c, syms[GETARG_B(i)], regs[a+1]);
+ mrb_define_method_raw(mrb, c, syms[GETARG_B(i)], p);
ARENA_RESTORE(mrb, ai);
NEXT;
}