Remove leading and trailing whitespaces in from field before
interepreting it to improve consistency with other options.  The
split_addrs function already take care of trailing and leading
whitespaces for to, cc and bcc fields.
The from option now:

 - has the same behavior when passing arguments like
   "  j...@example.com ", "\t j...@example.com " or
   "j...@example.com".

 - interprets aliases in string containing leading and trailing
   whitespaces such as " alias" or "alias\t" like other options.

Signed-off-by: Remi Lespinet <remi.lespi...@ensimag.grenoble-inp.fr>
---
 git-send-email.perl   |  1 +
 t/t9001-send-email.sh | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/git-send-email.perl b/git-send-email.perl
index 8bf6656..749d809 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -786,6 +786,7 @@ if (!$force) {
 }
 
 if (defined $sender) {
+       $sender =~ s/^\s+|\s+$//g;
        ($sender) = expand_aliases($sender);
 } else {
        $sender = $repoauthor || $repocommitter || '';
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 3c5b853..8e21fb0 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -1719,4 +1719,28 @@ test_expect_success $PREREQ 'aliases work with email 
list' '
        test_cmp expected-list actual-list
 '
 
+test_expect_success $PREREQ 'leading and trailing whitespaces are removed' '
+       echo "alias to2 t...@example.com" >.mutt &&
+       echo "alias cc1 Cc 1 <c...@example.com>" >>.mutt &&
+       test_config sendemail.aliasesfile ".mutt" &&
+       test_config sendemail.aliasfiletype mutt &&
+       TO1=$(echo "QTo 1 <t...@example.com>" | q_to_tab) &&
+       TO2=$(echo "QZto2" | qz_to_tab_space) &&
+       CC1=$(echo "cc1" | append_cr) &&
+       BCC1=$(echo "Q b...@example.com Q" | q_to_nul) &&
+       git send-email \
+       --dry-run \
+       --from="        Example <f...@example.com>" \
+       --to="$TO1" \
+       --to="$TO2" \
+       --to="  t...@example.com   " \
+       --cc="$CC1" \
+       --cc="Cc2 <c...@example.com>" \
+       --bcc="$BCC1" \
+       --bcc="b...@example.com" \
+       0001-add-master.patch | replace_variable_fields \
+       >actual-list &&
+       test_cmp expected-list actual-list
+'
+
 test_done
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to