(diff-test-hunk, diff-apply-hunk): Remove unneeded `let'.
(diff-test-hunk): Make the return value agree with the doc string.
(diff-apply-hunk): Only advance if `diff-advance-after-apply-hunk'.
(diff-advance-after-apply-hunk): New variable.
(diff-hunk-text): Correctly use offsets rather than buffer-positions.
(diff-xor): New function.
(diff-find-source-location): Use it. Fix a stupid name clash.
(diff-hunk-status-msg): New function.
(diff-apply-hunk): Drop args OTHER-FILE, DRY-RUN, POPUP and NOERROR.
(diff-test-hunk): Use diff-find-source-location.
(diff-goto-source): Favor the `reverse'.
(diff-mode): Add support for add-log.el.
(diff-hunk-text): Use char offsets rather than line offsets.
(diff-find-source-location): Replace LINE with line-offset (nil
if not found) and always set POS to a meaningful position.
Adapt to the new char-offsets.
(diff-apply-hunk): Drop support for the unused `select' POPUP.
Adapt to the new diff-find-source-location.
(diff-goto-source): Adapt to the new diff-find-source-location.
Move code from diff-apply-hunk. Return buffer rather than file.
(diff-apply-hunk): Use the new result from diff-find-source-location.
(diff-goto-source): Use the new diff-find-source-location.
(diff-header-face, diff-comment-face): New faces.
(diff-font-lock-keywords): Highlight a bit differently.
(diff-find-source-location): Don't return SPAN any more.
(diff-hunk-text): Don't bother erasing the temp buffer.
(diff-find-text): Drop argument LINE.
(diff-apply-hunk): Update calls to diff-find-text.
(diff-goto-source): Use pop-to-buffer again and don't raise an error.
Add new optional arg LINE-OFFSET, and return a cons if it's non-nil.
(diff-apply-hunk):
Try to jump to the exact line in the source text corresponding to the
position of point in the in the hunk.
non-unified diffs. Some functionality moved into `diff-hunk-text' and
`diff-find-text'. Add OTHER-FILE, DRY-RUN, POPUP, and NOERROR
arguments. If DRY-RUN is true, don't actually modify anything. Only
reposition point in the patched file if the patch succeeds. Only pop
up another window if POPUP is true. Emit a message describing what
happened if successful, and at what line-offset. Automatically detect
reversed hunks and do something appropriate.
(diff-hunk-text, diff-find-text): New functions.
(diff-filter-lines): Function removed.
(diff-test-hunk): New function.
(diff-goto-source): Rewritten in terms of diff-apply-hunk.
(diff-find-source-location): New fun, extracted from diff-goto-source.
(diff-goto-source): Use it.
(diff-next-complex-hunk, diff-filter-lines): New function.
(diff-apply-hunk): New command.
(diff-goto-source, diff-unified->context, diff-context->unified)
(diff-reverse-direction, diff-fixup-modifs): Fix the regexps to
understand the format output by the `-p' argument to diff.
(diff-end-of-hunk): Return the end position for use in
`easy-mmode-define-navigation'.
(diff-recenter): Remove.
(diff-(next|prev)-*): Rename `diff-*-(prev|next)' and defined in terms
of `easy-mmode-define-navigation'.
(diff-kill-*): Rename `diff-*-kill' (for consistency with the
previous renaming) and fix to use new names.
(diff-merge-strings): Use \n as separator: simpler, faster.
(diff-mode): Use `define-derived-mode'.
(diff-reverse-direction): Use delete-and-extract-region.
(diff-post-command-hook): Restrict the area so that the hook also works
outside of any diff hunk. This is necessary for the minor-mode.
(diff-mode): Use toggle-read-only and minor-mode-overriding-map-alist.
(diff-minor-mode): Setup the hooks for header-hunk rewriting.
(diff-minor-mode, diff-minor-mode-prefix, diff-minor-mode-map):
New code to support the minor mode version.
(diff-recenter): New function.
(diff-next-hunk, diff-next-file): Use it.
(diff-remembered-files-alist): New var.
(diff-merge-strings): New function.
(diff-find-file-name): Make it smarter and use the user's input more.
(diff-mode): Cosmetic changes.