Index: load.c
===================================================================
--- a/load.c (revision 43448)
+++ b/load.c (revision 43449)
@@ -1013,9 +1013,11 @@
{
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);
}
}