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