commit 263e56f5a2a91787b0e64cf95948fdb9232a808c
parent c6a67bdba5e46c1dad850c3aef2dc71c9f55e89e
Author: Hamish Downer <dmishd@gmail.com>
Date: Thu, 2 Jun 2011 21:00:30 +0100
Merge branch 'github_patches' into next
Diffstat:
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/lib/sup/draft.rb b/lib/sup/draft.rb
@@ -23,7 +23,7 @@ class DraftManager
def discard m
raise ArgumentError, "not a draft: source id #{m.source.id.inspect}, should be #{DraftManager.source_id.inspect} for #{m.id.inspect}" unless m.source.id.to_i == DraftManager.source_id
Index.delete m.id
- File.delete @source.fn_for_offset(m.source_info)
+ File.delete @source.fn_for_offset(m.source_info) rescue Errono::ENOENT
UpdateManager.relay self, :single_message_deleted, m
end
end
@@ -72,6 +72,7 @@ class DraftLoader < Source
end
def load_message offset
+ raise SourceError, "Draft not found" unless File.exists? fn_for_offset(offset)
File.open fn_for_offset(offset) do |f|
RMail::Mailbox::MBoxReader.new(f).each_message do |input|
return RMail::Parser.read(input)
diff --git a/lib/sup/modes/resume-mode.rb b/lib/sup/modes/resume-mode.rb
@@ -9,6 +9,9 @@ class ResumeMode < EditMessageMode
header.delete "Date"
super :header => header, :body => body, :have_signature => true
+ rescue Errno::ENOENT
+ DraftManager.discard @m
+ BufferManager.flash "Draft deleted outside of sup."
end
def unsaved?; !@safe end
diff --git a/lib/sup/sent.rb b/lib/sup/sent.rb
@@ -14,7 +14,7 @@ class SentManager
def source= s
raise FatalSourceError.new("Configured sent_source [#{s.uri}] can't store mail. Correct your configuration.") unless s.respond_to? :store_message
- @souce_uri = s.uri
+ @source_uri = s.uri
@source = s
end