aboutsummaryrefslogtreecommitdiffstats
path: root/vm_eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-01 07:46:22 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-01 07:46:22 +0000
commit0c53b44629cf67fd5697b18df57af0e6ac45002b (patch)
treeaef4c5b726acd16a68e1977c7923c31fa5b08b74 /vm_eval.c
parentaa4ba685a901c102690bea297184a6a983df435b (diff)
downloadruby-0c53b44629cf67fd5697b18df57af0e6ac45002b.tar.gz
vm_eval.c: fix for rb_check_funcall_default
* vm_eval.c (check_funcall_missing): basic_obj_respond_to_missing returns Qundef if respond_to_missing is not redefined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 86541cc845..1879a8a811 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -404,7 +404,7 @@ check_funcall_missing(rb_thread_t *th, VALUE klass, VALUE recv, ID mid, int argc
ret = basic_obj_respond_to_missing(th, klass, recv,
ID2SYM(mid), PRIV);
- if (!RTEST(ret)) return def;
+ if (!RTEST(ret) || ret == Qundef) return def;
args.respond = respond > 0;
args.respond_to_missing = (ret != Qundef);
ret = def;