ruby-changes:2638
From: ko1@a...
Date: 7 Dec 2007 15:48:25 +0900
Subject: [ruby-changes:2638] akr - Ruby:r14129 (trunk): * lib/pp.rb: use Hash for recursion check as inspect.
akr 2007-12-07 15:45:28 +0900 (Fri, 07 Dec 2007) New Revision: 14129 Modified files: trunk/ChangeLog trunk/lib/pp.rb Log: * lib/pp.rb: use Hash for recursion check as inspect. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/pp.rb?r1=14129&r2=14128 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14129&r2=14128 Index: ChangeLog =================================================================== --- ChangeLog (revision 14128) +++ ChangeLog (revision 14129) @@ -1,3 +1,7 @@ +Fri Dec 7 15:44:40 2007 Tanaka Akira <akr@f...> + + * lib/pp.rb: use Hash for recursion check as inspect. + Fri Dec 7 15:04:01 2007 Nobuyoshi Nakada <nobu@r...> * array.c (flatten): some performance improvements, based on a patch Index: lib/pp.rb =================================================================== --- lib/pp.rb (revision 14128) +++ lib/pp.rb (revision 14129) @@ -111,13 +111,13 @@ end if Thread.current[:__recursive_key__][:inspect] == nil - Thread.current[:__recursive_key__][:inspect] = [] + Thread.current[:__recursive_key__][:inspect] = {} end save = Thread.current[:__recursive_key__][:inspect] begin - Thread.current[:__recursive_key__][:inspect] = [] + Thread.current[:__recursive_key__][:inspect] = {} yield ensure Thread.current[:__recursive_key__][:inspect] = save @@ -130,10 +130,10 @@ Thread.current[:__recursive_key__][:inspect].include?(id) end def push_inspect_key(id) - Thread.current[:__recursive_key__][:inspect] << id + Thread.current[:__recursive_key__][:inspect][id] = true end - def pop_inspect_key - Thread.current[:__recursive_key__][:inspect].pop + def pop_inspect_key(id) + Thread.current[:__recursive_key__][:inspect].delete id end # Adds +obj+ to the pretty printing buffer @@ -153,7 +153,7 @@ push_inspect_key(id) group {obj.pretty_print self} ensure - pop_inspect_key unless PP.sharing_detection + pop_inspect_key(id) unless PP.sharing_detection end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml