Subject: 26.0.50; diff-mode is broken
From: Dima Kogan <[email-masked]>
To: [email-masked]
Date: Tue, 24 Jan 2017 22:42:08 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

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.

Index: Makefile.1
===================================================================
--- Makefile.1	(revision 81382)
+++ Makefile.1	(working copy)
@@ -220,2 +220,3 @@
 # 1111
+# 2222
 # 3333
Index: Makefile.2
===================================================================
--- Makefile.2	(revision 81382)
+++ Makefile.2	(working copy)
@@ -220,2 +220,3 @@
 # 2222
+# 3333
 # 4444
@@ -330,2 +330,3 @@
 # 3333
+# 4444
 # 5555
Index: Makefile.3
===================================================================
--- Makefile.3	(revision 81382)
+++ Makefile.3	(working copy)
@@ -220,2 +220,3 @@
 # 4444
+# 5555
 # 6666