diff --git a/ChangeLog b/ChangeLog index e9f66dd3ce..7c21bc9da4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Dec 20 11:01:57 2015 Koichi Sasada + + * proc.c (rb_mod_define_method): fix notation. + Sun Dec 20 10:54:15 2015 Koichi Sasada * proc.c (proc_new): fix notation. diff --git a/proc.c b/proc.c index 79a78292f7..cd083ec2bf 100644 --- a/proc.c +++ b/proc.c @@ -1782,8 +1782,14 @@ rb_mod_define_method(int argc, VALUE *argv, VALUE mod) } else { body = argv[1]; - is_method = rb_obj_is_method(body) != Qfalse; - if (!is_method && !rb_obj_is_proc(body)) { + + if (rb_obj_is_method(body)) { + is_method = TRUE; + } + else if (rb_obj_is_proc(body)) { + is_method = FALSE; + } + else { rb_raise(rb_eTypeError, "wrong argument type %s (expected Proc/Method)", rb_obj_classname(body));