diff --git a/ChangeLog b/ChangeLog index 6f9a67bb0e..261d426c90 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,7 @@ -Mon Jul 1 15:03:42 2013 Nobuyoshi Nakada +Mon Jul 1 15:04:20 2013 Nobuyoshi Nakada + + * ext/stringio/stringio.c (strio_write): keep coderange of + ptr->string. * string.c (rb_enc_cr_str_buf_cat, rb_str_append): consider an empty string 7bit-clean and should not discard cached coderange of string diff --git a/ext/stringio/stringio.c b/ext/stringio/stringio.c index d15db8b076..57854919cd 100644 --- a/ext/stringio/stringio.c +++ b/ext/stringio/stringio.c @@ -1182,7 +1182,7 @@ strio_write(VALUE self, VALUE str) ptr->pos = olen; } if (ptr->pos == olen) { - rb_str_cat(ptr->string, RSTRING_PTR(str), len); + rb_enc_str_buf_cat(ptr->string, RSTRING_PTR(str), len, enc); } else { strio_extend(ptr, ptr->pos, len);