diff --git a/ChangeLog b/ChangeLog index f879970fc8..70b08e0172 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,9 @@ Fri Dec 21 13:10:57 2007 Yukihiro Matsumoto * 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 * encoding.c (rb_locale_charmap): return nil if no locale information. diff --git a/io.c b/io.c index 6947987ee8..b03dac5e94 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); }