diff --git a/ChangeLog b/ChangeLog index 23d5855288..b18d68d37d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,10 @@ -Thu Feb 7 18:57:04 2008 Nobuyoshi Nakada +Thu Feb 7 19:11:39 2008 Nobuyoshi Nakada * string.c (rb_str_dup): reverted unneeded change. [ruby-dev:33634] + * string.c (rb_str_replace): makes frozen shared string before + sharing. + Thu Feb 7 16:33:51 2008 Tanaka Akira * io.c (io_reopen): don't change access mode for stdin, stdout and diff --git a/string.c b/string.c index a9e90f2848..e24ca623dc 100644 --- a/string.c +++ b/string.c @@ -3049,7 +3049,7 @@ rb_str_replace(VALUE str, VALUE str2) } else { rb_str_modify(str); - str_replace_shared(str, str2); + str_replace_shared(str, rb_str_new4(str2)); } OBJ_INFECT(str, str2);