diff --git a/ChangeLog b/ChangeLog index c058164fc1..cb51cef7a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Oct 28 14:57:01 2013 Nobuyoshi Nakada + + * load.c (ruby_init_ext): share feature names between frame name and + provided features. + Mon Oct 28 14:41:27 2013 Akinori MUSHA * misc/ruby-electric.el: Import ruby-electric.el 2.1 from diff --git a/load.c b/load.c index c5dd4e7e75..327e099d5a 100644 --- a/load.c +++ b/load.c @@ -1013,9 +1013,11 @@ ruby_init_ext(const char *name, void (*init)(void)) { char* const lock_key = load_lock(name); if (lock_key) { + VALUE feature = rb_usascii_str_new_cstr(name); + OBJ_FREEZE(feature); rb_vm_call_cfunc(rb_vm_top_self(), init_ext_call, (VALUE)init, - 0, rb_str_new2(name)); - rb_provide(name); + 0, feature); + rb_provide_feature(feature); load_unlock(lock_key, 1); } }