ruby-changes:11153
From: yugui <ko1@a...>
Date: Wed, 4 Mar 2009 18:21:11 +0900 (JST)
Subject: [ruby-changes:11153] Ruby:r22758 (ruby_1_9_1): merges r22699 from trunk into ruby_1_9_1.
yugui 2009-03-04 18:20:56 +0900 (Wed, 04 Mar 2009) New Revision: 22758 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22758 Log: merges r22699 from trunk into ruby_1_9_1. -- merged a patch from Alessandro Di Maria in [ruby-core:22560]. Modified files: branches/ruby_1_9_1/ChangeLog branches/ruby_1_9_1/lib/drb/observer.rb Index: ruby_1_9_1/ChangeLog =================================================================== --- ruby_1_9_1/ChangeLog (revision 22757) +++ ruby_1_9_1/ChangeLog (revision 22758) @@ -1,3 +1,9 @@ +Mon Mar 2 00:56:45 2009 Masatoshi SEKI <m_seki@m...> + + * lib/drb/observer.rb: The module oberservable uses now a hash to + store listeners. merged a patch from Alessandro Di Maria in + [ruby-core:22560]. + Sun Mar 1 19:52:46 2009 Nobuyoshi Nakada <nobu@r...> * ext/dl/win32/lib/Win32API.rb (initialize): passes res Index: ruby_1_9_1/lib/drb/observer.rb =================================================================== --- ruby_1_9_1/lib/drb/observer.rb (revision 22757) +++ ruby_1_9_1/lib/drb/observer.rb (revision 22758) @@ -6,16 +6,16 @@ def notify_observers(*arg) if defined? @observer_state and @observer_state - if defined? @observer_peers - for i in @observer_peers.dup - begin - i.update(*arg) - rescue - delete_observer(i) - end - end - end - @observer_state = false + if defined? @observer_peers + @observer_peers.each do |observer, method| + begin + observer.send(method, *arg) + rescue + delete_observer(observer) + end + end + end + @observer_state = false end end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/