diff --git a/ChangeLog b/ChangeLog index 9bf7518b24..1c28949d15 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Jul 7 10:12:37 2009 NARUSE, Yui + + * io.c (rb_io_ext_int_to_encs): Set external encoding if + ext==intern. [ruby-dev:38278] + Mon Jul 6 09:31:50 2009 Nobuyoshi Nakada * proc.c (make_curry_proc): should propagate lambda-ness. diff --git a/io.c b/io.c index 8b5db0e066..7f8733f031 100644 --- a/io.c +++ b/io.c @@ -4101,7 +4101,7 @@ rb_io_ext_int_to_encs(rb_encoding *ext, rb_encoding *intern, rb_encoding **enc, intern = rb_default_internal_encoding(); if (intern == NULL || intern == (rb_encoding *)Qnil || intern == ext) { /* No internal encoding => use external + no transcoding */ - *enc = default_ext ? NULL : ext; + *enc = (default_ext && intern != ext) ? NULL : ext; *enc2 = NULL; } else {