git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC] git-send-email: do not double-escape quotes from mutt

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 28, 2015, 22:34 UTC
Message-ID
<xmqqlh8ejj79.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20151227020810.1450-1-normalperson@yhbt.net>
Eric Wong <normalperson@yhbt.net> writes:
Show 10 quoted lines
> -			 # commas delimit multiple addresses
> -			$aliases{$alias} = [ split_addrs($addr) ];
> +			# commas delimit multiple addresses
> +			my @addr = split_addrs($addr);
> +
> +			# quotes may be escaped in the file,
> +			# remove them if paired so we do not
> +			# double-escape them later.
> +			s/^\\"(.*)\\"/"$1"/g foreach @addr;
> +			$aliases{$alias} = \@addr

Can one address have two or more double-quoted string pieces in it? If that is possible, (.*) above might want to become (.*?) or even ([^"]*) to make it less greedy, perhaps?

Show 29 quoted lines
>  		}}},
>  	mailrc => sub { my $fh = shift; while (<$fh>) {
>  		if (/^alias\s+(\S+)\s+(.*)$/) {
> diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
> index 3c49536..834d91a 100755
> --- a/t/t9001-send-email.sh
> +++ b/t/t9001-send-email.sh
> @@ -1527,6 +1527,21 @@ test_expect_success $PREREQ 'cccover adds Cc to all mail' '
>  	test_cover_addresses "Cc"
>  '
>  
> +test_expect_success $PREREQ 'escaped quotes in sendemail.aliasfiletype=mutt' '
> +	clean_fake_sendmail &&
> +	echo "alias sbd \\\"Dot U. Sir\\\" <somebody@example.org>" >.mutt &&
> +	git config --replace-all sendemail.aliasesfile "$(pwd)/.mutt" &&
> +	git config sendemail.aliasfiletype mutt &&
> +	git send-email \
> +		--from="Example <nobody@example.com>" \
> +		--to=sbd \
> +		--smtp-server="$(pwd)/fake.sendmail" \
> +		outdir/0001-*.patch \
> +		2>errors >out &&
> +	grep "^!somebody@example\.org!$" commandline1 &&
> +	grep -F "To: \"Dot U. Sir\" <somebody@example.org>" out
> +'
> +
>  test_expect_success $PREREQ 'sendemail.aliasfiletype=mailrc' '
>  	clean_fake_sendmail &&
>  	echo "alias sbd  somebody@example.org" >.mailrc &&
Previous: Eric WongNext: Eric Wong
Message 2 of 7 in “[RFC] git-send-email: do not double-escape quotes from mutt”
  1. Eric WongDec 27, 2015
  2. Junio C HamanoDec 28, 2015
  3. Eric WongDec 29, 2015
  4. Matthieu MoyJan 4, 2016
  5. git-send-email: do not double-escape quotes from muttEric Wong, Jan 4, 2016
  6. Junio C HamanoJan 4, 2016
  7. Eric WongJan 4, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.