Branko Čibej wrote:

> I'm digging through libsvn_diff and found this snippet in diff_memory.c:
> 
>     /* The string below is intentionally not marked for translation:
>        it's vital to correct operation of the diff(1)/patch(1)
>        program pair. */
>     APR_EOL_STR "\\ No newline at end of file" 
> 
> I was under the impression that we already cleared up this
> misconception? Only the leading backslash and space are important for
> signaling the no-trailing-eoln state. The text itself can be localized,
> or absent.

References?  The current GNU diff documentation says "The exact message may 
differ in non-English locales." [1]  I haven't found any more widely 
authoritative documentation of this "\ No newline..." at all, such as in 
POSIX/SUS.

There are some reports of other tools not working properly with other 
messages.  For example, 
<https://bugs.launchpad.net/ubuntu/+source/diffutils/+bug/708897>.  That's not 
a good bug report -- it doesn't say exactly what patch tools broke -- and maybe 
the patch tools should be considered broken, but it is an indication that there 
may be such breakages.

> I'm pretty sure we should mark the "No newline at end of file" for
> translation -- but /not/ the "\\ ".

Keeping it in English gives a much higher chance of it working with most patch 
programs.

- Julian

[1] GNU diff documentation, "Incomplete Lines" section, 
<http://www.gnu.org/software/diffutils/manual/html_node/Incomplete-Lines.html>.

Reply via email to