1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/pp.rb (PP::ObjectMixin#pretty_print): use to_s regardless of

instance variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-11-07 12:05:38 +00:00
parent 52ebc24487
commit 4319b48ab6
3 changed files with 7 additions and 4 deletions

View file

@ -1,3 +1,8 @@
Sat Nov 7 21:02:57 2009 Tanaka Akira <akr@fsij.org>
* lib/pp.rb (PP::ObjectMixin#pretty_print): use to_s regardless of
instance variables.
Sat Nov 7 20:59:11 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_push_frame): get rid of out-of-bounds

View file

@ -270,7 +270,7 @@ class PP < PrettyPrint
module ObjectMixin
# 1. specific pretty_print
# 2. specific inspect
# 3. specific to_s if instance variable is empty
# 3. specific to_s
# 4. generic pretty_print
# A default pretty printing method for general objects.
@ -296,8 +296,7 @@ class PP < PrettyPrint
q.text self.inspect
elsif !inspect_method && self.respond_to?(:inspect)
q.text self.inspect
elsif to_s_method && /\(Kernel\)#/ !~ to_s_method.inspect &&
instance_variables.empty?
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

View file

@ -107,7 +107,6 @@ class PPInspectTest < Test::Unit::TestCase
a.instance_eval { @a = nil }
result = PP.pp(a, '')
assert_equal("#{a.inspect}\n", result)
assert_match(/\A#<Object.*>\n\z/m, result)
a = 1.0
a.instance_eval { @a = nil }
result = PP.pp(a, '')