summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--io.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 58d0bbb0d0..57b881c38c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Feb 9 11:31:09 2009 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * io.c (io_encoding_set): ignore second argument when external and
+ internal are same. [ruby-dev:37939]
+
Sun Feb 8 23:28:05 2009 Yusuke Endoh <mame@tsg.ne.jp>
* include/ruby/st.h, st.c: order entries by a linked list instead of
diff --git a/io.c b/io.c
index 5a91e04c6a..80482bf5fa 100644
--- a/io.c
+++ b/io.c
@@ -6969,6 +6969,10 @@ io_encoding_set(rb_io_t *fptr, VALUE v1, VALUE v2, VALUE opt)
}
else
enc = rb_to_encoding(v2);
+ if (enc == enc2) {
+ /* Special case - "-" => no transcoding */
+ enc2 = NULL;
+ }
}
else
enc = rb_to_encoding(v2);