Subject: diff-apply-hunk interacts poorly with line endings

From: Reuben Thomas <[email-masked]>
Date: Sun, 10 Aug 2014 16:34:23 +0100

I'm using Emacs 24.3. Consider the following two files:

foo:
----cut here----
This is a small test file.
It has DOS line endings.
----cut here----

bar:
----cut here----
This is a small test file.
It too has DOS line endings.
----cut here----

Save them with DOS line endings, and

diff foo bar > foo.patch
cp foo bar

Visit foo.patch. When I do that, each line ends in ^M.

Now, in the patch buffer, M-x diff-apply-hunk. Note that the ^Ms have been
added to the lines. Writing the buffer and examination with "hd" reveals
that each line now ends \r\r\n.

It seems what's happened here is that diff-mode doesn't try to diagnose the
character encoding of the patch file.

-- 
http://rrt.sc3d.org