• Tino Calancha's avatar
    diff-hunk-kill independent of point inside headers · e5e42cef
    Tino Calancha authored
    Make diff-apply-hunk and diff-hunk-kill independent of the point
    position in a diff header (Bug#17544).
    This change allows to apply hunks in order.  It also makes possible to
    press M-k repeatedly to kill hunks in the order they appear in the buffer.
    See discussion on #Bug25105.
    * lisp/vc/diff-mode.el (diff-file-junk-re):
    Move definition before it's used.
    (diff--at-diff-header-p): New predicate; return non-nil when point
    is inside a hunk header, a file header, or within a line
    matching diff-file-junk-re.
    (diff-beginning-of-hunk): Use it.
    Check if the point is inside a diff header, in the middle of a hunk,
    or before the first hunk.
    (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
    before apply the hunk.
    (diff-hunk-kill, diff-file-kill):
    Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
    (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
diff-mode.el 88.8 KB