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/