Project

General

Profile

Bug #2208

Exception#inspect の message 部が inspect されていない

Added by naruse (Yui NARUSE) almost 10 years ago. Updated over 8 years ago.

Status:
Rejected
Priority:
Normal
Target version:
-
ruby -v:
ruby 1.9.2dev (2009-10-13 trunk 25324) [x86_64-freebsd7.2]
Backport:

Description

=begin
通常 Object#inspect の結果にでてくる文字列は inspect されています。
しかし、Exception#inspect はそのままになっています。
http://shinh.skr.jp/m/?date=20091014#c02

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);
    =end

History

#1

Updated by naruse (Yui NARUSE) almost 10 years ago

  • Status changed from Open to Assigned
  • Assignee set to naruse (Yui NARUSE)

=begin
なお、この問題の初出は http://shinh.skr.jp/m/?date=20091014#c02 です。
特に意見がなければ反映します。
=end

#2

Updated by matz (Yukihiro Matsumoto) almost 10 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:39483] [Bug #2208] Exception#inspect の message 部が inspect されていない"
on Wed, 14 Oct 2009 17:38:56 +0900, Yui NARUSE redmine@ruby-lang.org writes:

|通常 Object#inspect の結果にでてくる文字列は inspect されています。
|しかし、Exception#inspect はそのままになっています。

|単なるかけ忘れな気がするのですがどうでしょう。

例外のメッセージは出力されるためのものですから、inspectする
必要はないという判断でした。積極的にinspectした方が良い理由
がありますかね。

=end

#3

Updated by naruse (Yui NARUSE) almost 10 years ago

  • Status changed from Assigned to Rejected

=begin
意図したものであるならわかりました。
=end

Also available in: Atom PDF