commit 59f8fc2e4bc809d5dfc7c1af747879dae00539d8
parent bd87b8e2f494d1a30952b0781f8de20134882ddb
Author: Rich Lane <rlane@club.cc.cmu.edu>
Date: Sat, 20 Jun 2009 13:50:17 -0700
dont using SavingHash#[] for membership test
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/sup/thread.rb b/lib/sup/thread.rb
@@ -310,13 +310,15 @@ class ThreadSet
private :prune_thread_of
def remove_id mid
- return unless(c = @messages[mid])
+ return unless @messages.member?(mid)
+ c = @messages[mid]
remove_container c
prune_thread_of c
end
def remove_thread_containing_id mid
- c = @messages[mid] or return
+ return unless @messages.member?(mid)
+ c = @messages[mid]
t = c.root.thread
@threads.delete_if { |key, thread| t == thread }
end
@@ -355,7 +357,7 @@ class ThreadSet
return if threads.size < 2
containers = threads.map do |t|
- c = @messages[t.first.id]
+ c = @messages.member?(c) ? @messages[t.first.id] : nil
raise "not in threadset: #{t.first.id}" unless c && c.message
c
end