From mboxrd@z Thu Jan 1 00:00:00 1970 From: its.jeff.balogh@gmail.com (Jeff Balogh) Date: Wed, 30 Jan 2008 03:21:18 -0500 Subject: [sup-talk] [PATCH] don't try to open the next thread if there isn't one available Message-ID: <1201681010-sup-3463@archie> When you're on the last thread of a ThreadSet and press ',', nothing happens, but you can't '.' 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