aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/irb/inspector.rb8
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 93255c1b19..cb0d906db0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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