1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* error.c (syserr_initialize): set the encoding of Errno::*#message

as locale. [ruby-dev:42358]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2010-10-11 05:15:03 +00:00
parent 47cb5a93e5
commit 44691b901e
3 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,8 @@
Mon Oct 11 14:03:54 2010 NARUSE, Yui <naruse@ruby-lang.org>
* error.c (syserr_initialize): set the encoding of Errno::*#message
as locale. [ruby-dev:42358]
Mon Oct 11 06:38:27 2010 NARUSE, Yui <naruse@ruby-lang.org>
* ext/stringio/stringio.c (strio_set_encoding):

View file

@ -1057,6 +1057,7 @@ syserr_initialize(int argc, VALUE *argv, VALUE self)
else {
mesg = rb_str_new2(err);
}
rb_enc_associate(mesg, rb_locale_encoding());
rb_call_super(1, &mesg);
rb_iv_set(self, "errno", error);
return self;

View file

@ -312,4 +312,8 @@ end.join
e = assert_raise(NoMethodError) {str.__send__(id)}
assert_equal("undefined method `#{id}' for #{str.inspect}:String", e.message, bug3237)
end
def test_errno
assert_equal(Encoding.find("locale"), Errno::EINVAL.new.message.encoding)
end
end