From: Yui NARUSE Date: 2009-10-14T17:38:56+09:00 Subject: [ruby-dev:39483] [Bug #2208] Exception#inspect の message 部が inspect されていない Bug #2208: Exception#inspect の message 部が inspect されていない http://redmine.ruby-lang.org/issues/show/2208 起票者: Yui NARUSE ステータス: Open, 優先度: Normal カテゴリ: core ruby -v: ruby 1.9.2dev (2009-10-13 trunk 25324) [x86_64-freebsd7.2] 通常 Object#inspect の結果にでてくる文字列は inspect されています。 しかし、Exception#inspect はそのままになっています。 class Foo;def initialize;@a="\t";end;end Foo.new.inspect #=> # Exception.new("\t") #=> # 単なるかけ忘れな気がするのですがどうでしょう。 diff --git a/error.c b/error.c index a7342de..3a5580a 100644 --- a/error.c +++ b/error.c @@ -458,7 +458,7 @@ exc_exception(int argc, VALUE *argv, VALUE self) static VALUE exc_to_s(VALUE exc) { - VALUE mesg = rb_attr_get(exc, rb_intern("mesg")); + VALUE mesg = rb_inspect(rb_attr_get(exc, rb_intern("mesg"))); if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); if (OBJ_TAINTED(exc)) OBJ_TAINT(mesg); ---------------------------------------- http://redmine.ruby-lang.org