diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | lib/irb/inspector.rb | 8 |
2 files changed, 13 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Mon Sep 7 12:26:04 2009 Yukihiro Matsumoto <matz@ruby-lang.org> + + * lib/irb/inspector.rb (IRB::INSPECTORS.def_inspector): support + object without #inspect defined. a patch from Daniel + Bovensiepen. [ruby-core:25200] + Mon Sep 7 05:38:34 2009 Koichi Sasada <ko1@atdot.net> * insns.def (opt_*): add IC operands. diff --git a/lib/irb/inspector.rb b/lib/irb/inspector.rb index c254ab58d6..ab5128399e 100644 --- a/lib/irb/inspector.rb +++ b/lib/irb/inspector.rb @@ -81,7 +81,13 @@ module IRB end INSPECTORS.def_inspector([false, :to_s, :raw]){|v| v.to_s} - INSPECTORS.def_inspector([true, :p, :inspect]){|v| v.inspect} + INSPECTORS.def_inspector([true, :p, :inspect]){|v| + begin + v.inspect + rescue NoMethodError + puts "(Object doesn't support #inspect)" + end + } INSPECTORS.def_inspector([:pp, :pretty_inspect], proc{require "pp"}){|v| v.pretty_inspect.chomp} INSPECTORS.def_inspector([:yaml, :YAML], proc{require "yaml"}){|v| begin |