diff --git a/ChangeLog b/ChangeLog index ff36a15df8..a940522549 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Aug 14 19:19:10 2012 Benoit Daloze + + update PP with recent Kernel#inspect change. Patch by Yusuke Endoh. + + * lib/pp.rb (class PP): do not call #to_s anymore, as #inspect no more does. + * test/test_pp.rb (class PPInspectTest): remove related assertion. + [ruby-core:43238][Feature #6130] + Tue Aug 14 19:09:38 2012 Benoit Daloze Kernel#inspect: improve consistency and do not call #to_s. diff --git a/lib/pp.rb b/lib/pp.rb index 94269abe65..6e0c797d2e 100644 --- a/lib/pp.rb +++ b/lib/pp.rb @@ -265,8 +265,7 @@ class PP < PrettyPrint module ObjectMixin # 1. specific pretty_print # 2. specific inspect - # 3. specific to_s - # 4. generic pretty_print + # 3. generic pretty_print # A default pretty printing method for general objects. # It calls #pretty_print_instance_variables to list instance variables. @@ -283,18 +282,10 @@ class PP < PrettyPrint inspect_method = method_method.call(:inspect) rescue NameError end - begin - to_s_method = method_method.call(:to_s) - rescue NameError - end if inspect_method && /\(Kernel\)#/ !~ inspect_method.inspect q.text self.inspect elsif !inspect_method && self.respond_to?(:inspect) q.text self.inspect - elsif to_s_method && /\(Kernel\)#/ !~ to_s_method.inspect - q.text self.to_s - elsif !to_s_method && self.respond_to?(:to_s) - q.text self.to_s else q.pp_object(self) end diff --git a/test/test_pp.rb b/test/test_pp.rb index fe65287d88..acd3e835b9 100644 --- a/test/test_pp.rb +++ b/test/test_pp.rb @@ -118,7 +118,6 @@ class PPInspectTest < Test::Unit::TestCase def a.to_s() "aaa" end result = PP.pp(a, '') assert_equal("#{a.inspect}\n", result) - assert_equal("aaa\n", result) end end