From beb486d55e90328a825b7dee7dec39b87182fa10 Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 4 Dec 2009 10:53:21 +0000 Subject: [PATCH] * insns.def (defined): should respect #respond_to_missing? as #respond_to? does. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ insns.def | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index bb08f99c41..edebd54e89 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,11 @@ Fri Dec 4 16:50:13 2009 Nobuyoshi Nakada * parse.y (k_def): adjust the location of method definition to the line of def. [Bug #2427] +Fri Dec 4 19:05:28 2009 Yukihiro Matsumoto + + * insns.def (defined): should respect #respond_to_missing? as + #respond_to? does. + Fri Dec 4 15:50:18 2009 Shugo Maeda * vm_eval.c (yield_under): does not yield self, and passes blockptr diff --git a/insns.def b/insns.def index 39c6c6cbda..5f789bd441 100644 --- a/insns.def +++ b/insns.def @@ -799,6 +799,8 @@ defined } } } + if (RTEST(rb_funcall(v, rb_intern("respond_to_missing?"), 2, obj, Qfalse))) + expr_type = "method"; break; } case DEFINED_YIELD: