Subject: Re: [PATCH] Don't add To: recipients to the Cc: header

From: Junio C Hamano <[email-masked]>
Date: Fri, 23 Nov 2007 11:48:48 -0800

Sergei Organov <[email-masked]> writes:

> Junio C Hamano <[email-masked]> writes:
>
>> Sergei Organov <[email-masked]> writes:
>>
>>> Junio C Hamano <[email-masked]> writes:
>>> [...]
>>>> Oops, forgot to say "no need to resend".  I asked only because I
>>>> wanted an independent datapoint for Emacs diff mode breakage.
>>>
>>> I bet I can damage any patch using any editor ;)
>>>
>>> More interesting is what version of Emacs it was?
>>
>> To be fair and honest, I do not think there is a simple fix for
>> this, although it probably is possible to fix it.
>>
>> What is causing the "breakage" is the fact that format-patch
>> output ends with the signature delimiter line "^-- $" that
>> immediately follows the patch text.
>
> Exactly. What causes breakage is the fact that the '-' character (as
> well as '+', ' ', '!', '#', and '\'), being the first symbol of a line
> has special meaning in the diff format.

That is correct only if they appear inside a hunk.  The number
of preimage and postimage lines in a hunk is recorded on the
hunk header line --- tools are given enough information to tell
a line that begins with a SP (or '+' or '-') outside a patch
from another such line that is inside the patch.

The diff editing mode of Emacs, at least the version that caused
this issue, however did not make use of that information.
That's the breakage.  Not format-patch output.