summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/psych/lib/psych/visitors/yaml_tree.rb2
-rw-r--r--ext/psych/psych_yaml_tree.c12
-rw-r--r--test/psych/test_exception.rb3
3 files changed, 3 insertions, 14 deletions
diff --git a/ext/psych/lib/psych/visitors/yaml_tree.rb b/ext/psych/lib/psych/visitors/yaml_tree.rb
index 79ca129b832..986c57be703 100644
--- a/ext/psych/lib/psych/visitors/yaml_tree.rb
+++ b/ext/psych/lib/psych/visitors/yaml_tree.rb
@@ -181,7 +181,7 @@ module Psych
end
def visit_Exception o
- dump_exception o, private_iv_get(o, 'mesg')
+ dump_exception o, o.message.to_s
end
def visit_NameError o
diff --git a/ext/psych/psych_yaml_tree.c b/ext/psych/psych_yaml_tree.c
index 7aca9114c9e..225655d1270 100644
--- a/ext/psych/psych_yaml_tree.c
+++ b/ext/psych/psych_yaml_tree.c
@@ -2,23 +2,11 @@
VALUE cPsychVisitorsYamlTree;
-/*
- * call-seq: private_iv_get(target, prop)
- *
- * Get the private instance variable +prop+ from +target+
- */
-static VALUE private_iv_get(VALUE self, VALUE target, VALUE prop)
-{
- return rb_attr_get(target, rb_intern(StringValueCStr(prop)));
-}
-
void Init_psych_yaml_tree(void)
{
VALUE psych = rb_define_module("Psych");
VALUE visitors = rb_define_module_under(psych, "Visitors");
VALUE visitor = rb_define_class_under(visitors, "Visitor", rb_cObject);
cPsychVisitorsYamlTree = rb_define_class_under(visitors, "YAMLTree", visitor);
-
- rb_define_private_method(cPsychVisitorsYamlTree, "private_iv_get", private_iv_get, 2);
}
/* vim: set noet sws=4 sw=4: */
diff --git a/test/psych/test_exception.rb b/test/psych/test_exception.rb
index e7fc88c706d..e355c2692dd 100644
--- a/test/psych/test_exception.rb
+++ b/test/psych/test_exception.rb
@@ -154,7 +154,8 @@ module Psych
def test_convert
w = Psych.load(Psych.dump(@wups))
- assert_equal @wups, w
+ assert_equal @wups.message, w.message
+ assert_equal @wups.backtrace, w.backtrace
assert_equal 1, w.foo
assert_equal 2, w.bar
end