When you're on the last thread of a ThreadSet and press ',<key>',
nothing happens, but you can't '.<key>' since @dying == true.  This
patch changes :next to :kill if there is no next thread.
---
I usually traverse my inbox with ',a', so it annoys me when sup gets stuck on
the last thread.  This patch implements what I expect to happen: the thread is
killed and the previous buffer pops up.

 lib/sup/modes/thread-index-mode.rb |    4 ++++
 lib/sup/modes/thread-view-mode.rb  |    2 ++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/lib/sup/modes/thread-index-mode.rb 
b/lib/sup/modes/thread-index-mode.rb
index 7686098..d6c1b21 100644
--- a/lib/sup/modes/thread-index-mode.rb
+++ b/lib/sup/modes/thread-index-mode.rb
@@ -121,6 +121,10 @@ EOS
 
     select t, b
   end
+
+  def has_thread_after thread
+      @lines[thread] < @threads.length - 1
+  end
   
   def handle_single_message_labeled_update sender, m
     ## no need to do anything different here; we don't differentiate 
diff --git a/lib/sup/modes/thread-view-mode.rb 
b/lib/sup/modes/thread-view-mode.rb
index 961fc5d..e79e410 100644
--- a/lib/sup/modes/thread-view-mode.rb
+++ b/lib/sup/modes/thread-view-mode.rb
@@ -416,6 +416,8 @@ EOS
     return if @dying
     @dying = true
 
+    op = :kill unless @index_mode.has_thread_after(@thread)
+
     case op
     when :next
       @index_mode.launch_next_thread_after(@thread) do
-- 
1.5.3.7

_______________________________________________
sup-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/sup-talk

Reply via email to