Skip to content

Commit

Permalink
* eval.c (rb_call): a bug in method cache look-up.
Browse files Browse the repository at this point in the history
  http://www.rubyist.net/~matz/20060720.html#c04


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
matz committed Jul 28, 2006
1 parent ae832cf commit 94f9fc2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
Fri Jul 28 10:41:35 2006 Yukihiro Matsumoto <matz@ruby-lang.org>

* eval.c (rb_call): a bug in method cache look-up.
http://www.rubyist.net/~matz/20060720.html#c04

Fri Jul 28 10:19:28 2006 Yukihiro Matsumoto <matz@ruby-lang.org>

* sprintf.c (rb_f_sprintf): documentation update patch from Jacob
Expand Down
4 changes: 2 additions & 2 deletions eval.c
Original file line number Diff line number Diff line change
Expand Up @@ -5926,13 +5926,13 @@ rb_call(VALUE klass, VALUE recv, ID mid,
ent = NULL;
}
}
if (ent) {
if (!ent) {
ent = cache[LOOKUP_NORMAL] + EXPR1(klass, mid);
if (ent->mid != mid || ent->klass != klass) {
ent = NULL;
}
}
if (ent) {
if (!ent) {
if (!ent->method)
return method_missing(recv, mid, argc, argv, block,
scope==CALLING_VCALL?CSTAT_VCALL:0);
Expand Down

0 comments on commit 94f9fc2

Please sign in to comment.