aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-28 10:32:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-28 10:32:36 +0000
commit4a46362239ca151be428f1db799c491f09d7403b (patch)
tree8fcce73ad4c06c044cfec76df5895ddae60be949
parentafb4bcbfd6a4d315093285679d9aa9270ad7d1ab (diff)
downloadruby-4a46362239ca151be428f1db799c491f09d7403b.tar.gz
struct.c: encoding of member name
* struct.c (not_a_member): preserve encoding of member name in error messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--struct.c2
-rw-r--r--test/-ext-/struct/test_member.rb1
2 files changed, 2 insertions, 1 deletions
diff --git a/struct.c b/struct.c
index 75f9add471..9d89134392 100644
--- a/struct.c
+++ b/struct.c
@@ -84,7 +84,7 @@ NORETURN(static void not_a_member(ID id));
static void
not_a_member(ID id)
{
- rb_name_error(id, "`%s' is not a struct member", rb_id2name(id));
+ rb_name_error(id, "`%"PRIsVALUE"' is not a struct member", QUOTE_ID(id));
}
VALUE
diff --git a/test/-ext-/struct/test_member.rb b/test/-ext-/struct/test_member.rb
index 002941c95d..89767bfeb4 100644
--- a/test/-ext-/struct/test_member.rb
+++ b/test/-ext-/struct/test_member.rb
@@ -8,5 +8,6 @@ class Bug::Struct::Test_Member < Test::Unit::TestCase
s = S.new(1)
assert_equal(1, s.get(:a))
assert_raise_with_message(NameError, /is not a struct member/) {s.get(:b)}
+ assert_raise_with_message(NameError, /\u{3042}/) {s.get(:"\u{3042}")}
end
end