The default sendmail command used for bouncing mail was derived from Account#sendmail in ThreadViewMode#bounce. Moved it to Account#bounce_sendmail. Part of work towards more DRY mail bouncing within mark-as-spam hook. The code also had a bug, "$1" (instead of $1 or "#{$1}"). Fixed it.
Signed-off-by: Tero Tilus <t...@tilus.net> --- lib/sup/account.rb | 11 +++++++++++ lib/sup/modes/thread-view-mode.rb | 7 +------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/sup/account.rb b/lib/sup/account.rb index eed2794..bf8a8a0 100644 --- a/lib/sup/account.rb +++ b/lib/sup/account.rb @@ -10,6 +10,17 @@ class Account < Person @sendmail = h[:sendmail] @signature = h[:signature] end + + # Default sendmail command for bouncing mail, + # deduced from #sendmail + def bounce_sendmail + sendmail.sub(/\s(\-(ti|it|t))\b/) do |match| + case $1 + when '-t' then '' + else ' -i' + end + end + end end class AccountManager diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb index 81197c2..e7f4a4f 100644 --- a/lib/sup/modes/thread-view-mode.rb +++ b/lib/sup/modes/thread-view-mode.rb @@ -202,12 +202,7 @@ EOS m = @message_lines[curpos] or return to = BufferManager.ask_for_contacts(:people, "Bounce To: ") or return - defcmd = AccountManager.default_account.sendmail.sub(/\s(\-(ti|it|t))\b/) do |match| - case "$1" - when '-t' then '' - else ' -i' - end - end + defcmd = AccountManager.default_account.bounce_sendmail cmd = case (hookcmd = HookManager.run "bounce-command", :from => m.from, :to => to) when nil, /^$/ then defcmd -- 1.5.6.5 -- Tero Tilus ## 050 3635 235 ## http://tero.tilus.net/ _______________________________________________ sup-talk mailing list sup-talk@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-talk