sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 806a067f6659b556511bf221829f0c7bd164bca0
parent afeaf4393206cce3f4b91d40ec50fae2ba0e6f2f
Author: William Morgan <wmorgan-sup@masanjin.net>
Date:   Tue, 25 Aug 2009 10:07:10 -0400

Merge branch 'master' into next

Diffstat:
D Manifest.txt | 76 ----------------------------------------------------------------------------
M lib/sup/buffer.rb | 2 +-
M lib/sup/modes/thread-view-mode.rb | 2 +-
3 files changed, 2 insertions(+), 78 deletions(-)
diff --git a/Manifest.txt b/Manifest.txt
@@ -1,76 +0,0 @@
-CONTRIBUTORS
-HACKING
-History.txt
-LICENSE
-Manifest.txt
-README.txt
-Rakefile
-ReleaseNotes
-bin/sup
-bin/sup-add
-bin/sup-config
-bin/sup-dump
-bin/sup-recover-sources
-bin/sup-sync
-bin/sup-sync-back
-bin/sup-tweak-labels
-doc/FAQ.txt
-doc/Hooks.txt
-doc/NewUserGuide.txt
-doc/Philosophy.txt
-lib/sup.rb
-lib/sup/account.rb
-lib/sup/buffer.rb
-lib/sup/colormap.rb
-lib/sup/contact.rb
-lib/sup/crypto.rb
-lib/sup/draft.rb
-lib/sup/hook.rb
-lib/sup/horizontal-selector.rb
-lib/sup/imap.rb
-lib/sup/index.rb
-lib/sup/keymap.rb
-lib/sup/label.rb
-lib/sup/logger.rb
-lib/sup/interactive-lock.rb
-lib/sup/maildir.rb
-lib/sup/mbox.rb
-lib/sup/mbox/loader.rb
-lib/sup/mbox/ssh-file.rb
-lib/sup/mbox/ssh-loader.rb
-lib/sup/message-chunks.rb
-lib/sup/message.rb
-lib/sup/mode.rb
-lib/sup/modes/buffer-list-mode.rb
-lib/sup/modes/completion-mode.rb
-lib/sup/modes/compose-mode.rb
-lib/sup/modes/contact-list-mode.rb
-lib/sup/modes/edit-message-mode.rb
-lib/sup/modes/file-browser-mode.rb
-lib/sup/modes/forward-mode.rb
-lib/sup/modes/help-mode.rb
-lib/sup/modes/inbox-mode.rb
-lib/sup/modes/label-list-mode.rb
-lib/sup/modes/label-search-results-mode.rb
-lib/sup/modes/line-cursor-mode.rb
-lib/sup/modes/log-mode.rb
-lib/sup/modes/person-search-results-mode.rb
-lib/sup/modes/poll-mode.rb
-lib/sup/modes/reply-mode.rb
-lib/sup/modes/resume-mode.rb
-lib/sup/modes/scroll-mode.rb
-lib/sup/modes/search-results-mode.rb
-lib/sup/modes/text-mode.rb
-lib/sup/modes/thread-index-mode.rb
-lib/sup/modes/thread-view-mode.rb
-lib/sup/person.rb
-lib/sup/poll.rb
-lib/sup/rfc2047.rb
-lib/sup/sent.rb
-lib/sup/source.rb
-lib/sup/tagger.rb
-lib/sup/textfield.rb
-lib/sup/thread.rb
-lib/sup/undo.rb
-lib/sup/update.rb
-lib/sup/util.rb
diff --git a/lib/sup/buffer.rb b/lib/sup/buffer.rb
@@ -503,7 +503,7 @@ EOS
   ## returns an array of labels
   def ask_for_labels domain, question, default_labels, forbidden_labels=[]
     default_labels = default_labels - forbidden_labels - LabelManager::RESERVED_LABELS
-    default = default_labels.join(" ")
+    default = default_labels.to_a.join(" ")
     default += " " unless default.empty?
 
     # here I would prefer to give more control and allow all_labels instead of
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
@@ -253,7 +253,7 @@ EOS
     new_labels = BufferManager.ask_for_labels :label, "Labels for thread: ", @thread.labels
 
     return unless new_labels
-    @thread.labels = (reserved_labels + new_labels).uniq
+    @thread.labels = Set.new(reserved_labels) + new_labels
     new_labels.each { |l| LabelManager << l }
     update
     UpdateManager.relay self, :labeled, @thread.first