summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-28 11:26:39 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-11-28 11:26:39 +0000
commit2387667a1ca29cfccfa33b1cebe1d6b39cd36da3 (patch)
treeb7fed36f201a153623b5ade2a0d6fc20ca9876cc
parentfb4b89b2b6849966cb05837a97f2e4b404d341e4 (diff)
downloadruby-2387667a1ca29cfccfa33b1cebe1d6b39cd36da3.tar.gz
ruby-2387667a1ca29cfccfa33b1cebe1d6b39cd36da3.tar.xz
ruby-2387667a1ca29cfccfa33b1cebe1d6b39cd36da3.zip
* lib/pp.rb (PP::PPMethods#object_address_group): adjust address format.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@9628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--lib/pp.rb9
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 52a5d3078..1750cc2d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Nov 28 20:24:22 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/pp.rb (PP::PPMethods#object_address_group): adjust address format.
+
Mon Nov 28 18:55:22 2005 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/socket/socket.c (init_inetsock_internal): remove setting
diff --git a/lib/pp.rb b/lib/pp.rb
index d6cfa8b81..dcd293ca7 100644
--- a/lib/pp.rb
+++ b/lib/pp.rb
@@ -150,8 +150,15 @@ class PP < PrettyPrint
group(1, '#<' + obj.class.name, '>', &block)
end
+ case Object.new.inspect
+ when /\A\#<Object:0x([0-9a-f]+)>\z/
+ PointerFormat = "%0#{$1.length}x"
+ else
+ PointerFormat = "%x"
+ end
+
def object_address_group(obj, &block)
- id = "%x" % (obj.__id__ * 2)
+ id = PointerFormat % (obj.__id__ * 2)
id.sub!(/\Af(?=[[:xdigit:]]{2}+\z)/, '') if id.sub!(/\A\.\./, '')
group(1, "\#<#{obj.class}:0x#{id}", '>', &block)
end