ruby-changes:32682
From: nobu <ko1@a...>
Date: Thu, 30 Jan 2014 19:10:35 +0900 (JST)
Subject: [ruby-changes:32682] nobu:r44761 (trunk): vm_eval.c: fix NoMethodError message
nobu 2014-01-30 19:10:32 +0900 (Thu, 30 Jan 2014) New Revision: 44761 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=44761 Log: vm_eval.c: fix NoMethodError message * vm_eval.c (vm_call0_body): fix NoMethodError message for refined method entry. Modified files: trunk/vm_eval.c Index: vm_eval.c =================================================================== --- vm_eval.c (revision 44760) +++ vm_eval.c (revision 44761) @@ -188,6 +188,7 @@ vm_call0_body(rb_thread_t* th, rb_call_i https://github.com/ruby/ruby/blob/trunk/vm_eval.c#L188 case VM_METHOD_TYPE_ZSUPER: case VM_METHOD_TYPE_REFINED: { + int ex = ci->me->def->type == VM_METHOD_TYPE_ZSUPER ? NOEX_SUPER : 0; if (ci->me->def->type == VM_METHOD_TYPE_REFINED && ci->me->def->body.orig_me) { ci->me = ci->me->def->body.orig_me; @@ -197,7 +198,7 @@ vm_call0_body(rb_thread_t* th, rb_call_i https://github.com/ruby/ruby/blob/trunk/vm_eval.c#L198 ci->defined_class = RCLASS_SUPER(ci->defined_class); if (!ci->defined_class || !(ci->me = rb_method_entry(ci->defined_class, ci->mid, &ci->defined_class))) { - ret = method_missing(ci->recv, ci->mid, ci->argc, argv, NOEX_SUPER); + ret = method_missing(ci->recv, ci->mid, ci->argc, argv, ex); goto success; } RUBY_VM_CHECK_INTS(th); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/