I'm using a very recent build from git: 0a49f158f15. I see diff-mode being broken in 2 ways. I'm attaching a diff file, produced by C-x v D in a project using subversion (then cut down and de-contented). Breakage 1: 1. emacs -Q /tmp/tst.patch 2. M-k I would expect this to kill the first hunk. Instead emacs barfs: Args out of range: something something Breakage 2: 1. emacs -Q /tmp/tst.patch 2. M-g g 13 RET move point to the start of the 2nd hunk 3. M-k I would expect this to kill the hunk at point (2nd hunk). I would then expect the point to remain at the 2nd hunk 4. M-k Same as before. Should kill 2nd hunk 5. M-k Same as before. Should kill 2nd hunk Instead, M-k #2 kills the 2nd hunk and then moves the point to the 1st hunk. So that subsequent M-k #3 kills the 1st hunk.