aboutsummaryrefslogtreecommitdiffstats
path: root/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c10
1 files changed, 8 insertions, 2 deletions
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));