]> git.cworth.org Git - sup/blobdiff - lib/sup/imap.rb
maintain labels as Sets rather than arrays
[sup] / lib / sup / imap.rb
index 6c04d885d5856a719ba46460b465f51186034a3e..14acdb775764655152a0062f3010dc7b9d38f7b9 100644 (file)
@@ -4,6 +4,7 @@ require 'stringio'
 require 'time'
 require 'rmail'
 require 'cgi'
+require 'set'
 
 ## TODO: remove synchronized method protector calls; use a Monitor instead
 ## (ruby's reentrant mutex)
@@ -69,7 +70,7 @@ class IMAP < Source
     @imap_state = {}
     @ids = []
     @last_scan = nil
-    @labels = ((labels || []) - LabelManager::RESERVED_LABELS).uniq.freeze
+    @labels = Set.new((labels || []) - LabelManager::RESERVED_LABELS)
     @say_id = nil
     @mutex = Mutex.new
   end