summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--io.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f879970fc..70b08e017 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,9 @@ Fri Dec 21 13:10:57 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* encoding.c (rb_enc_from_encoding): returns Qnil for NULL
encoding.
+ * io.c (rb_io_external_encoding): should fill delayed
+ initialization for STDIN.
+
Fri Dec 21 13:09:11 2007 Tanaka Akira <akr@fsij.org>
* encoding.c (rb_locale_charmap): return nil if no locale information.
diff --git a/io.c b/io.c
index 6947987ee..b03dac5e9 100644
--- a/io.c
+++ b/io.c
@@ -5671,6 +5671,9 @@ rb_io_external_encoding(VALUE io)
rb_io_t *fptr;
GetOpenFile(io, fptr);
+ if (!fptr->enc && fptr->fd == 0) {
+ fptr->enc = rb_default_external_encoding();
+ }
return rb_enc_from_encoding(fptr->enc);
}