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

Re: [PATCH 2/2] send-email: rfc2047-quote subject lines with non-ascii characters

From
TLTeemu Likonen <tlikonen@iki.fi>
Date
Mar 26, 2008, 08:30 UTC
Message-ID
<20080326083033.GA13933@mithlond.arda.local>
In-Reply-To
<20080326062029.GA26286@coredump.intra.peff.net>
Jeff King wrote:
Show 11 quoted lines
> On Wed, Mar 26, 2008 at 07:59:48AM +0200, Teemu Likonen wrote:
> > These patches seem to work except that the quoting of Subject field
> > works only if user types a non-Ascii text to the "What subject
> > should the initial email start with?" prompt. If she changes the
> > subject in editor it won't be rfc2047-quoted.
>
> Ah, yes, I hadn't considered that. We should definitely do the quoting
> after all of the user's input. Replace 2/2 from my series with the
> patch below, which handles this case correctly (and as a bonus, the
> user sees the unencoded subject in the editor, which is much more
> readable).
It seems to work nicely after I fixed one unmatching bracket. See below.
Show 5 quoted lines
> git-format-patch recently got a --cover-letter option which does the
> same thing. I actually use a real MUA (mutt) instead of send-email,
> and this way you can avoid the message-id cutting and pasting that is
> required. It automatically does the right thing with encodings because
> I end up sending the message using my MUA.

I had missed the --cover-letter option completely. It may be useful too. I'm still trying to find the best way to send pathces. If I send intro message with real MUA I either need to wait for the message to show up on a mailing list or check my sent-mail folder to find the Message-Id. Once I know the Message-Id I can send the actual patch series with 'git send-email' as replies to the intro message. Well, this is OK.

Show 5 quoted lines
> > If portable content encoding detection is difficult or considered
> > unnecessary, then I think a documented configurable option is fine
> > (UTF-8 by default).
>
> I think that is sensible. Want to try adding it on top of my patches?

I'd like to, but I can only do sh/bash stuff and possibly some copy-and-paste programming with other scripting languages. You'd end up fixing my code anyway, sorry.

As you noticed, I accidentally sent you a couple of test emails because send-email CCed mails to patches' author (I think). Now I have set "suppresscc = all" and "suppressfrom = true" which should prevent such accidents. Shouldn't these be defaults? In my opinion it's generally the best practice to always explicitly define what parties emails are sent to.

There is unmatching bracket in your patch:
Show 16 quoted lines
> diff --git a/git-send-email.perl b/git-send-email.perl
> index 7c4f06c..3694f81 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -536,6 +536,15 @@ EOT
>  		if (!$in_body && /^MIME-Version:/i) {
>  			$need_8bit_cte = 0;
>  		}
> +		if (!$in_body && /^Subject: ?(.*)/i) {
> +			my $subject = $1;
> +			$_ = "Subject: " .
> +				($subject =~ /[^[:ascii:]]/ ?
> +				 quote_rfc2047($subject) :
> +				 $subject) .
> +				"\n";
> +			}
                        ^-- Shouldn't we remove this one?
> +		}
Previous: Jeff KingNext: Jeff King
Message 4 of 11 in “send-email: rfc2047-quote subject lines with non-ascii characters”
  1. 2/2 send-email: rfc2047-quote subject lines with non-ascii charactersJeff King, Mar 25, 2008
  2. Teemu LikonenMar 26, 2008
  3. Jeff KingMar 26, 2008
  4. Teemu LikonenMar 26, 2008
  5. Jeff KingMar 26, 2008
  6. Teemu LikonenMar 26, 2008
  7. Teemu LikonenMar 26, 2008
  8. Jeff KingMar 26, 2008
  9. Jeff KingMar 26, 2008
  10. Jeff KingMar 27, 2008
  11. Todd ZullingerMar 27, 2008

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.