diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-08-29 03:20:04 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-08-29 03:20:04 +0000 |
commit | 946a037e3022c4667f22ca92b64379315f9535c0 (patch) | |
tree | e00e3a0b5dd67c89d42b21f53edebcde25030451 | |
parent | 909d638aecb3597536e912599f5ee355aac828c0 (diff) | |
download | ruby-946a037e3022c4667f22ca92b64379315f9535c0.tar.gz |
* load.c (load_failed): should honor encoding. [ruby-core:31915]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | load.c | 5 | ||||
-rw-r--r-- | test/ruby/test_require.rb | 6 |
3 files changed, 13 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Sun Aug 29 12:19:58 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * load.c (load_failed): should honor encoding. [ruby-core:31915] + Sun Aug 29 09:35:10 2010 NARUSE, Yui <naruse@ruby-lang.org> * common.mk (clean): exclude *.inc. [ruby-dev:41931] @@ -551,8 +551,9 @@ search_required(VALUE fname, volatile VALUE *path, int safe_level) static void load_failed(VALUE fname) { - rb_raise(rb_eLoadError, "cannot load such file -- %s", - RSTRING_PTR(fname)); + VALUE mesg = rb_str_buf_new_cstr("cannot load such file -- "); + rb_str_append(mesg, fname); /* should be ASCII compatible */ + rb_exc_raise(rb_exc_new3(rb_eLoadError, mesg)); } static VALUE diff --git a/test/ruby/test_require.rb b/test/ruby/test_require.rb index dd4b808201..6de5659e54 100644 --- a/test/ruby/test_require.rb +++ b/test/ruby/test_require.rb @@ -40,6 +40,12 @@ class TestRequire < Test::Unit::TestCase end end + def test_require_nonascii + bug3758 = '[ruby-core:31915]' + e = assert_raise(LoadError, bug3758) {require "\u{221e}"} + assert_match(/\u{221e}\z/, e.message, bug3758) + end + def test_require_path_home env_rubypath, env_home = ENV["RUBYPATH"], ENV["HOME"] |