commit 53a96c24cc37ec36d691c3134ee85f76d52cd567
parent dad36d878f884d9dd90e61da4b792d132c6f5150
Author: Gaute Hope <eg@gaute.vetsj.com>
Date: Tue, 1 Oct 2013 08:50:55 +0200
Merge #148: Fallback to fix_encoding! when writing message body parts fail
Diffstat:
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/lib/sup/modes/edit_message_mode.rb b/lib/sup/modes/edit_message_mode.rb
@@ -197,7 +197,15 @@ EOS
@file = Tempfile.new ["sup.#{self.class.name.gsub(/.*::/, '').camel_to_hyphy}", ".eml"]
@file.puts format_headers(@header - NON_EDITABLE_HEADERS).first
@file.puts
- @file.puts @body.join("\n")
+
+ begin
+ text = @body.join("\n")
+ rescue Encoding::CompatibilityError
+ text = @body.map { |x| x.fix_encoding! }.join("\n")
+ debug "encoding problem while writing message, trying to rescue, but expect errors: #{text}"
+ end
+
+ @file.puts text
@file.puts sig if ($config[:edit_signature] and !@sig_edited)
@file.close
end
diff --git a/lib/sup/modes/thread_view_mode.rb b/lib/sup/modes/thread_view_mode.rb
@@ -786,7 +786,7 @@ private
@person_lines[start] = m.from
[[prefix_widget, open_widget, new_widget, attach_widget, starred_widget,
[color,
- "#{m.from ? m.from.mediumname.fix_encoding! : '?'}, #{m.date.to_nice_s.fix_encoding!} (#{m.date.to_nice_distance_s.fix_encoding!}) #{m.snippet.fix_encoding!}"]]]
+ "#{m.from ? m.from.mediumname.fix_encoding! : '?'}, #{m.date.to_nice_s.fix_encoding!} (#{m.date.to_nice_distance_s.fix_encoding!}) #{m.snippet ? m.snippet.fix_encoding! : ''}"]]]
when :detailed
@person_lines[start] = m.from