sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
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:
M lib/sup/thread.rb | 8 +++++---
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