aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--insns.def2
2 files changed, 7 insertions, 0 deletions
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 <nobu@ruby-lang.org>
* 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 <matz@ruby-lang.org>
+
+ * insns.def (defined): should respect #respond_to_missing? as
+ #respond_to? does.
+
Fri Dec 4 15:50:18 2009 Shugo Maeda <shugo@ruby-lang.org>
* 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: