diff --git a/ChangeLog b/ChangeLog index f4a21f4c2f..4b74c4c05b 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 08:00:10 2009 Yukihiro Matsumoto * enum.c (enum_to_a): should propagate taint to the return value. diff --git a/io.c b/io.c index bb3daf0f04..7c77358d7b 100644 --- a/io.c +++ b/io.c @@ -3868,7 +3868,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 { diff --git a/version.h b/version.h index 7ca43543bc..87a9bea340 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "1.9.1" #define RUBY_RELEASE_DATE "2009-07-12" -#define RUBY_PATCHLEVEL 221 +#define RUBY_PATCHLEVEL 222 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1