diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | bootstraptest/test_io.rb | 4 | ||||
-rw-r--r-- | bootstraptest/test_knownbug.rb | 4 | ||||
-rw-r--r-- | io.c | 5 |
4 files changed, 13 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Thu Feb 21 14:47:09 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * io.c (argf_set_encoding): uses current_file after check for next + input. + Thu Feb 21 11:10:49 2008 NARUSE, Yui <naruse@ruby-lang.org> * string.c: replace rb_enc_copy by rb_enc_cr_str_copy or diff --git a/bootstraptest/test_io.rb b/bootstraptest/test_io.rb index 4974a1eeb9..07211050a6 100644 --- a/bootstraptest/test_io.rb +++ b/bootstraptest/test_io.rb @@ -69,3 +69,7 @@ assert_equal 'ok', %q{ File.unlink(tmpname) :ok } + +assert_normal_exit %q{ + ARGF.set_encoding "foo" +} diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb index 7a697c76b8..c438231f2c 100644 --- a/bootstraptest/test_knownbug.rb +++ b/bootstraptest/test_knownbug.rb @@ -57,7 +57,3 @@ assert_normal_exit %q{ assert_normal_exit %q{ "".center(1, "\x80".force_encoding("utf-8")) }, '[ruby-dev:33807]' - -assert_normal_exit %q{ - ARGF.set_encoding "foo" -} @@ -6103,8 +6103,11 @@ argf_set_encoding(int argc, VALUE *argv, VALUE io) { rb_io_t *fptr; + if (next_argv()) { + rb_raise(rb_eArgError, "no stream to set encoding"); + } rb_io_set_encoding(argc, argv, current_file); - GetOpenFile(io, fptr); + GetOpenFile(current_file, fptr); argf_enc = fptr->enc; argf_enc2 = fptr->enc2; return io; |