summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--proc.c10
2 files changed, 12 insertions, 2 deletions
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 <ko1@atdot.net>
+
+ * proc.c (rb_mod_define_method): fix notation.
+
Sun Dec 20 10:54:15 2015 Koichi Sasada <ko1@atdot.net>
* 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));