зеркало из https://github.com/github/ruby.git
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
This commit is contained in:
Родитель
648e0a9775
Коммит
7c9af2d254
|
@ -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,
|
ret = basic_obj_respond_to_missing(th, klass, recv,
|
||||||
ID2SYM(mid), PRIV);
|
ID2SYM(mid), PRIV);
|
||||||
if (!RTEST(ret)) return def;
|
if (!RTEST(ret) || ret == Qundef) return def;
|
||||||
args.respond = respond > 0;
|
args.respond = respond > 0;
|
||||||
args.respond_to_missing = (ret != Qundef);
|
args.respond_to_missing = (ret != Qundef);
|
||||||
ret = def;
|
ret = def;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче