sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit e68091ca41c41d930cfa51589da1c2b02664d454
parent 0a7d3984f636ec244d6164be1c6af7c6c61c1875
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date:   Mon, 20 Aug 2007 23:30:37 +0000

better discard behavior for messages

git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@540 5c8cc53c-5e98-4d25-b20a-d8db53a31250

Diffstat:
M lib/sup/modes/compose-mode.rb | 6 ++++++
M lib/sup/modes/edit-message-mode.rb | 4 +++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/lib/sup/modes/compose-mode.rb b/lib/sup/modes/compose-mode.rb
@@ -13,6 +13,12 @@ class ComposeMode < EditMessageMode
 
     super :header => header, :body => (opts[:body] || [])
   end
+
+  def edit_message
+    edited = super
+    BufferManager.kill_buffer self.buffer unless edited
+    edited
+  end
 end
 
 end
diff --git a/lib/sup/modes/edit-message-mode.rb b/lib/sup/modes/edit-message-mode.rb
@@ -87,12 +87,14 @@ class EditMessageMode < LineCursorMode
     BufferManager.shell_out "#{editor} #{@file.path}"
     @edited = true if File.mtime(@file.path) > mtime
 
-    BufferManager.kill_buffer self.buffer unless @edited
+    return @edited unless @edited
 
     header, @body = parse_file @file.path
     @header = header - NON_EDITABLE_HEADERS
     handle_new_text @header, @body
     update
+
+    @edited
   end
 
   def killable?