sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 3d0044b953b80472debba48d41eaed9810c1d49e
parent 41462a71ffc5f1867730795c577df01a4c567654
Author: William Morgan <wmorgan-sup@masanjin.net>
Date:   Mon, 21 Dec 2009 07:44:48 -0500

bugfix for default attachment save dir

The default setting of "" for :default_attachment_save_dir made the
default save directory "/". This fixes it so that it's $HOME when
unset or "", and otherwise uses the value correctly.

Based on an idea by David Riebenbauer .

Diffstat:
M lib/sup/modes/thread-view-mode.rb | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
@@ -326,8 +326,10 @@ EOS
     chunk = @chunk_lines[curpos] or return
     case chunk
     when Chunk::Attachment
-      default_dir = File.join(($config[:default_attachment_save_dir] || "."), chunk.filename)
-      fn = BufferManager.ask_for_filename :filename, "Save attachment to file: ", default_dir
+      default_dir = $config[:default_attachment_save_dir]
+      default_dir = ENV["HOME"] if default_dir.nil? || default_dir.empty?
+      default_fn = File.expand_path File.join(default_dir, chunk.filename)
+      fn = BufferManager.ask_for_filename :filename, "Save attachment to file: ", default_fn
       save_to_file(fn) { |f| f.print chunk.raw_content } if fn
     else
       m = @message_lines[curpos]