diff --git a/ChangeLog b/ChangeLog index 940d93359d..4339904cdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23,6 +23,8 @@ Mon Dec 24 02:59:32 2007 Yukihiro Matsumoto <matz@ruby-lang.org> * string.c (str_new_shared): was setting embedding flag of wrong string object. [ruby-dev:32685] + * io.c (io_enc_str): should preserve default_external encoding. + Mon Dec 24 02:06:35 2007 Yukihiro Matsumoto <matz@ruby-lang.org> * io.c (rb_f_open): documentation update. diff --git a/io.c b/io.c index 3dda55cdc1..54bff0ecb9 100644 --- a/io.c +++ b/io.c @@ -1316,9 +1316,9 @@ io_enc_str(VALUE str, rb_io_t *fptr) rb_enc_from_encoding(fptr->enc), rb_enc_from_encoding(fptr->enc2)); } - else if (fptr->enc) { + else { /* just one encoding, so associate it with the string */ - rb_enc_associate(str, fptr->enc); + rb_enc_associate(str, io_read_encoding(fptr)); } return str; }