[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]