ruby-changes:68187
From: Nobuyoshi <ko1@a...>
Date: Fri, 1 Oct 2021 20:29:06 +0900 (JST)
Subject: [ruby-changes:68187] 409dbc951b (master): Replace expanded load path only when modified
https://git.ruby-lang.org/ruby.git/commit/?id=409dbc951b From 409dbc951b9875d27bd73748c88e15386473cffb Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada <nobu@r...> Date: Tue, 28 Sep 2021 23:25:51 +0900 Subject: Replace expanded load path only when modified --- ruby.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ruby.c b/ruby.c index 0d8c03ebf4..3358068bbb 100644 --- a/ruby.c +++ b/ruby.c @@ -1931,13 +1931,17 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) https://github.com/ruby/ruby/blob/trunk/ruby.c#L1931 } { VALUE loaded_features = vm->loaded_features; + bool modified = false; for (long i = loaded_before_enc; i < RARRAY_LEN(loaded_features); ++i) { VALUE path = RARRAY_AREF(loaded_features, i); if (rb_enc_get(path) == IF_UTF8_PATH(uenc, lenc)) continue; path = copy_str(path, IF_UTF8_PATH(uenc, lenc), true); + modified = true; RARRAY_ASET(loaded_features, i, path); } - rb_get_expanded_load_path(); + if (modified) { + rb_ary_replace(vm->loaded_features_snapshot, loaded_features); + } } if (opt->features.mask & COMPILATION_FEATURES) { -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/