sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit aa1a09eed4c1aa91754e64442febfef8e3ebb9d5
parent dad36d878f884d9dd90e61da4b792d132c6f5150
Author: Gaute Hope <eg@gaute.vetsj.com>
Date:   Sun, 29 Sep 2013 13:50:22 +0200

rescue to fix_encoding when writing message fails due to encoding errors

Diffstat:
M lib/sup/modes/edit_message_mode.rb | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
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