diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | class.c | 1 | ||||
-rw-r--r-- | version.h | 2 | ||||
-rw-r--r-- | vm_insnhelper.c | 1 |
4 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Wed Feb 25 17:30:10 2015 NAKAMURA Usaku <usa@ruby-lang.org> + + * class.c (clone_method): fixed missing assignment introduced by + previous commit. + + * vm_insnhelper.c (rb_vm_rewrite_cref_stack): ditto. + Wed Feb 25 15:07:01 2015 Kazuki Tsujimoto <kazuki@callcc.net> * vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements @@ -131,6 +131,7 @@ clone_method(VALUE klass, ID mid, const rb_method_entry_t *me) newiseqval = rb_iseq_clone(me->def->body.iseq->self, klass); GetISeqPtr(newiseqval, iseq); rb_vm_rewrite_cref_stack(me->def->body.iseq->cref_stack, me->klass, klass, &new_cref); + iseq->cref_stack = new_cref; rb_add_method(klass, mid, VM_METHOD_TYPE_ISEQ, iseq, me->flag); RB_GC_GUARD(newiseqval); } @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.0.0" #define RUBY_RELEASE_DATE "2015-02-25" -#define RUBY_PATCHLEVEL 642 +#define RUBY_PATCHLEVEL 643 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 2 diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 707739e98f..9d107bbebd 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -303,6 +303,7 @@ rb_vm_rewrite_cref_stack(NODE *node, VALUE old_klass, VALUE new_klass, NODE **ne if (node->nd_clss == old_klass) { new_node = NEW_CREF(new_klass); COPY_CREF_OMOD(new_node, node); + new_node->nd_next = node->nd_next; *new_cref_ptr = new_node; return; } |