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

ruby-changes:63800

From: Jean <ko1@a...>
Date: Mon, 30 Nov 2020 17:33:46 +0900 (JST)
Subject: [ruby-changes:63800] 6bef49427a (master): Fix rb_interned_str_* functions to not assume static strings

https://git.ruby-lang.org/ruby.git/commit/?id=6bef49427a

From 6bef49427ab2a9d3bc338f1cffcd086153a59f44 Mon Sep 17 00:00:00 2001
From: Jean Boussier <jean.boussier@g...>
Date: Wed, 18 Nov 2020 13:57:01 +0100
Subject: Fix rb_interned_str_* functions to not assume static strings

Fixes [Feature #13381]

When passed a `fake_str`, `register_fstring` would create new strings
with `str_new_static`. That's not what was expected, and answer
almost no use cases.

diff --git a/ext/-test-/string/depend b/ext/-test-/string/depend
index 309da04..67dfd22 100644
--- a/ext/-test-/string/depend
+++ b/ext/-test-/string/depend
@@ -2,6 +2,20 @@ https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L2
 capacity.o: $(RUBY_EXTCONF_H)
 capacity.o: $(arch_hdrdir)/ruby/config.h
 capacity.o: $(hdrdir)/ruby.h
+capacity.o: $(hdrdir)/ruby/assert.h
+capacity.o: $(hdrdir)/ruby/backward.h
+capacity.o: $(hdrdir)/ruby/backward/2/assume.h
+capacity.o: $(hdrdir)/ruby/backward/2/attributes.h
+capacity.o: $(hdrdir)/ruby/backward/2/bool.h
+capacity.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
+capacity.o: $(hdrdir)/ruby/backward/2/inttypes.h
+capacity.o: $(hdrdir)/ruby/backward/2/limits.h
+capacity.o: $(hdrdir)/ruby/backward/2/long_long.h
+capacity.o: $(hdrdir)/ruby/backward/2/stdalign.h
+capacity.o: $(hdrdir)/ruby/backward/2/stdarg.h
+capacity.o: $(hdrdir)/ruby/defines.h
+capacity.o: $(hdrdir)/ruby/encoding.h
+capacity.o: $(hdrdir)/ruby/intern.h
 capacity.o: $(hdrdir)/ruby/internal/anyargs.h
 capacity.o: $(hdrdir)/ruby/internal/arithmetic.h
 capacity.o: $(hdrdir)/ruby/internal/arithmetic/char.h
@@ -142,20 +156,6 @@ capacity.o: $(hdrdir)/ruby/internal/value_type.h https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L156
 capacity.o: $(hdrdir)/ruby/internal/variable.h
 capacity.o: $(hdrdir)/ruby/internal/warning_push.h
 capacity.o: $(hdrdir)/ruby/internal/xmalloc.h
-capacity.o: $(hdrdir)/ruby/assert.h
-capacity.o: $(hdrdir)/ruby/backward.h
-capacity.o: $(hdrdir)/ruby/backward/2/assume.h
-capacity.o: $(hdrdir)/ruby/backward/2/attributes.h
-capacity.o: $(hdrdir)/ruby/backward/2/bool.h
-capacity.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
-capacity.o: $(hdrdir)/ruby/backward/2/inttypes.h
-capacity.o: $(hdrdir)/ruby/backward/2/limits.h
-capacity.o: $(hdrdir)/ruby/backward/2/long_long.h
-capacity.o: $(hdrdir)/ruby/backward/2/stdalign.h
-capacity.o: $(hdrdir)/ruby/backward/2/stdarg.h
-capacity.o: $(hdrdir)/ruby/defines.h
-capacity.o: $(hdrdir)/ruby/encoding.h
-capacity.o: $(hdrdir)/ruby/intern.h
 capacity.o: $(hdrdir)/ruby/missing.h
 capacity.o: $(hdrdir)/ruby/onigmo.h
 capacity.o: $(hdrdir)/ruby/oniguruma.h
@@ -168,6 +168,20 @@ capacity.o: $(top_srcdir)/internal/string.h https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L168
 capacity.o: capacity.c
 coderange.o: $(RUBY_EXTCONF_H)
 coderange.o: $(arch_hdrdir)/ruby/config.h
+coderange.o: $(hdrdir)/ruby/assert.h
+coderange.o: $(hdrdir)/ruby/backward.h
+coderange.o: $(hdrdir)/ruby/backward/2/assume.h
+coderange.o: $(hdrdir)/ruby/backward/2/attributes.h
+coderange.o: $(hdrdir)/ruby/backward/2/bool.h
+coderange.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
+coderange.o: $(hdrdir)/ruby/backward/2/inttypes.h
+coderange.o: $(hdrdir)/ruby/backward/2/limits.h
+coderange.o: $(hdrdir)/ruby/backward/2/long_long.h
+coderange.o: $(hdrdir)/ruby/backward/2/stdalign.h
+coderange.o: $(hdrdir)/ruby/backward/2/stdarg.h
+coderange.o: $(hdrdir)/ruby/defines.h
+coderange.o: $(hdrdir)/ruby/encoding.h
+coderange.o: $(hdrdir)/ruby/intern.h
 coderange.o: $(hdrdir)/ruby/internal/anyargs.h
 coderange.o: $(hdrdir)/ruby/internal/arithmetic.h
 coderange.o: $(hdrdir)/ruby/internal/arithmetic/char.h
@@ -308,20 +322,6 @@ coderange.o: $(hdrdir)/ruby/internal/value_type.h https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L322
 coderange.o: $(hdrdir)/ruby/internal/variable.h
 coderange.o: $(hdrdir)/ruby/internal/warning_push.h
 coderange.o: $(hdrdir)/ruby/internal/xmalloc.h
-coderange.o: $(hdrdir)/ruby/assert.h
-coderange.o: $(hdrdir)/ruby/backward.h
-coderange.o: $(hdrdir)/ruby/backward/2/assume.h
-coderange.o: $(hdrdir)/ruby/backward/2/attributes.h
-coderange.o: $(hdrdir)/ruby/backward/2/bool.h
-coderange.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
-coderange.o: $(hdrdir)/ruby/backward/2/inttypes.h
-coderange.o: $(hdrdir)/ruby/backward/2/limits.h
-coderange.o: $(hdrdir)/ruby/backward/2/long_long.h
-coderange.o: $(hdrdir)/ruby/backward/2/stdalign.h
-coderange.o: $(hdrdir)/ruby/backward/2/stdarg.h
-coderange.o: $(hdrdir)/ruby/defines.h
-coderange.o: $(hdrdir)/ruby/encoding.h
-coderange.o: $(hdrdir)/ruby/intern.h
 coderange.o: $(hdrdir)/ruby/missing.h
 coderange.o: $(hdrdir)/ruby/onigmo.h
 coderange.o: $(hdrdir)/ruby/oniguruma.h
@@ -332,6 +332,20 @@ coderange.o: coderange.c https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L332
 cstr.o: $(RUBY_EXTCONF_H)
 cstr.o: $(arch_hdrdir)/ruby/config.h
 cstr.o: $(hdrdir)/ruby.h
+cstr.o: $(hdrdir)/ruby/assert.h
+cstr.o: $(hdrdir)/ruby/backward.h
+cstr.o: $(hdrdir)/ruby/backward/2/assume.h
+cstr.o: $(hdrdir)/ruby/backward/2/attributes.h
+cstr.o: $(hdrdir)/ruby/backward/2/bool.h
+cstr.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
+cstr.o: $(hdrdir)/ruby/backward/2/inttypes.h
+cstr.o: $(hdrdir)/ruby/backward/2/limits.h
+cstr.o: $(hdrdir)/ruby/backward/2/long_long.h
+cstr.o: $(hdrdir)/ruby/backward/2/stdalign.h
+cstr.o: $(hdrdir)/ruby/backward/2/stdarg.h
+cstr.o: $(hdrdir)/ruby/defines.h
+cstr.o: $(hdrdir)/ruby/encoding.h
+cstr.o: $(hdrdir)/ruby/intern.h
 cstr.o: $(hdrdir)/ruby/internal/anyargs.h
 cstr.o: $(hdrdir)/ruby/internal/arithmetic.h
 cstr.o: $(hdrdir)/ruby/internal/arithmetic/char.h
@@ -472,20 +486,6 @@ cstr.o: $(hdrdir)/ruby/internal/value_type.h https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L486
 cstr.o: $(hdrdir)/ruby/internal/variable.h
 cstr.o: $(hdrdir)/ruby/internal/warning_push.h
 cstr.o: $(hdrdir)/ruby/internal/xmalloc.h
-cstr.o: $(hdrdir)/ruby/assert.h
-cstr.o: $(hdrdir)/ruby/backward.h
-cstr.o: $(hdrdir)/ruby/backward/2/assume.h
-cstr.o: $(hdrdir)/ruby/backward/2/attributes.h
-cstr.o: $(hdrdir)/ruby/backward/2/bool.h
-cstr.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
-cstr.o: $(hdrdir)/ruby/backward/2/inttypes.h
-cstr.o: $(hdrdir)/ruby/backward/2/limits.h
-cstr.o: $(hdrdir)/ruby/backward/2/long_long.h
-cstr.o: $(hdrdir)/ruby/backward/2/stdalign.h
-cstr.o: $(hdrdir)/ruby/backward/2/stdarg.h
-cstr.o: $(hdrdir)/ruby/defines.h
-cstr.o: $(hdrdir)/ruby/encoding.h
-cstr.o: $(hdrdir)/ruby/intern.h
 cstr.o: $(hdrdir)/ruby/missing.h
 cstr.o: $(hdrdir)/ruby/onigmo.h
 cstr.o: $(hdrdir)/ruby/oniguruma.h
@@ -500,6 +500,19 @@ cstr.o: cstr.c https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L500
 ellipsize.o: $(RUBY_EXTCONF_H)
 ellipsize.o: $(arch_hdrdir)/ruby/config.h
 ellipsize.o: $(hdrdir)/ruby.h
+ellipsize.o: $(hdrdir)/ruby/assert.h
+ellipsize.o: $(hdrdir)/ruby/backward.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/assume.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/attributes.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/bool.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/inttypes.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/limits.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/long_long.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/stdalign.h
+ellipsize.o: $(hdrdir)/ruby/backward/2/stdarg.h
+ellipsize.o: $(hdrdir)/ruby/defines.h
+ellipsize.o: $(hdrdir)/ruby/intern.h
 ellipsize.o: $(hdrdir)/ruby/internal/anyargs.h
 ellipsize.o: $(hdrdir)/ruby/internal/arithmetic.h
 ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/char.h
@@ -640,19 +653,6 @@ ellipsize.o: $(hdrdir)/ruby/internal/value_type.h https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L653
 ellipsize.o: $(hdrdir)/ruby/internal/variable.h
 ellipsize.o: $(hdrdir)/ruby/internal/warning_push.h
 ellipsize.o: $(hdrdir)/ruby/internal/xmalloc.h
-ellipsize.o: $(hdrdir)/ruby/assert.h
-ellipsize.o: $(hdrdir)/ruby/backward.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/assume.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/attributes.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/bool.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/inttypes.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/limits.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/long_long.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/stdalign.h
-ellipsize.o: $(hdrdir)/ruby/backward/2/stdarg.h
-ellipsize.o: $(hdrdir)/ruby/defines.h
-ellipsize.o: $(hdrdir)/ruby/intern.h
 ellipsize.o: $(hdrdir)/ruby/missing.h
 ellipsize.o: $(hdrdir)/ruby/ruby.h
 ellipsize.o: $(hdrdir)/ruby/st.h
@@ -661,6 +661,20 @@ ellipsize.o: ellipsize.c https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L661
 enc_associate.o: $(RUBY_EXTCONF_H)
 enc_associate.o: $(arch_hdrdir)/ruby/config.h
 enc_associate.o: $(hdrdir)/ruby.h
+enc_associate.o: $(hdrdir)/ruby/assert.h
+enc_associate.o: $(hdrdir)/ruby/backward.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/assume.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/attributes.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/bool.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/inttypes.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/limits.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/long_long.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/stdalign.h
+enc_associate.o: $(hdrdir)/ruby/backward/2/stdarg.h
+enc_associate.o: $(hdrdir)/ruby/defines.h
+enc_associate.o: $(hdrdir)/ruby/encoding.h
+enc_associate.o: $(hdrdir)/ruby/intern.h
 enc_associate.o: $(hdrdir)/ruby/internal/anyargs.h
 enc_associate.o: $(hdrdir)/ruby/internal/arithmetic.h
 enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/char.h
@@ -801,20 +815,6 @@ enc_associate.o: $(hdrdir)/ruby/internal/value_type.h https://github.com/ruby/ruby/blob/trunk/ext/-test-/string/depend#L815
 enc_associate.o: $(hdrdir)/ruby/internal/variable.h
 enc_associate.o: $(hdrdir)/ruby/internal/warning_push.h
 enc_associate.o: $(hdrdir)/ruby/internal (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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