diff options
-rw-r--r-- | variable.c | 1 | ||||
-rw-r--r-- | vm_method.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/variable.c b/variable.c index 292b084011..265633f40c 100644 --- a/variable.c +++ b/variable.c @@ -873,6 +873,7 @@ rb_alias_variable(ID name1, ID name2) entry2 = rb_global_entry(name2); if (!st_lookup(rb_global_tbl, (st_data_t)name1, &data1)) { + name1 = SYM2ID(ID2SYM(name1)); entry1 = ALLOC(struct global_entry); entry1->id = name1; st_add_direct(rb_global_tbl, name1, (st_data_t)entry1); diff --git a/vm_method.c b/vm_method.c index 6b2eaf8f1b..d5513327c0 100644 --- a/vm_method.c +++ b/vm_method.c @@ -333,6 +333,8 @@ rb_method_entry_make(VALUE klass, ID mid, rb_method_type_t type, rb_unlink_method_entry(old_me); } + mid = SYM2ID(ID2SYM(mid)); + me = ALLOC(rb_method_entry_t); rb_clear_method_cache_by_class(klass); |