summaryrefslogtreecommitdiff
path: root/load.c
diff options
context:
space:
mode:
authorNAKAMURA Usaku <usa@ruby-lang.org>2021-11-24 19:34:59 +0900
committerNAKAMURA Usaku <usa@ruby-lang.org>2021-11-24 19:34:59 +0900
commit61a02168f7ba353a2838f2783f291a816d7e0c90 (patch)
tree1990f1ef047570c97f6486d307236f7d73de5194 /load.c
parentcd10572b059d07fe236ef9c9db9fd2a8ffc7dd38 (diff)
merge revision(s) ddb32e66160ab50849419ef7c7ac584913b79c34: [Backport #18173]
[Bug #18173] Update loaded_features_index If $LOADED_FEATURES is changed in the just required file, also the index table needs to be updated before loaded_features_snapshot is reset. If the snapshot is reset without updating the table, the name of the added feature will not be found. --- load.c | 1 + test/ruby/test_require.rb | 17 +++++++++++++++++ 2 files changed, 18 insertions(+)
Diffstat (limited to 'load.c')
-rw-r--r--load.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/load.c b/load.c
index 419ceae84d..2441acfded 100644
--- a/load.c
+++ b/load.c
@@ -597,6 +597,7 @@ rb_provide_feature(VALUE feature)
}
rb_str_freeze(feature);
+ get_loaded_features_index();
rb_ary_push(features, rb_fstring(feature));
features_index_add(feature, INT2FIX(RARRAY_LEN(features)-1));
reset_loaded_features_snapshot();