Function: ediff-next-difference
ediff-next-difference is an interactive and byte-compiled function
defined in ediff-util.el.gz.
Signature
(ediff-next-difference &optional ARG)
Documentation
Advance to the next difference.
With a prefix argument ARG, go forward that many differences.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-util.el.gz
(defun ediff-next-difference (&optional arg)
"Advance to the next difference.
With a prefix argument ARG, go forward that many differences."
(interactive "p")
(ediff-barf-if-not-control-buffer)
(if (< ediff-current-difference ediff-number-of-differences)
(let ((n (min ediff-number-of-differences
(+ ediff-current-difference (or arg 1))))
non-clash-skip skip-changed regexp-skip)
(ediff-visible-region)
(or (>= n ediff-number-of-differences)
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
;; this won't exec if regexp-skip is t
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
skip-changed
(ediff-skip-merge-region-if-changed-from-default-p n))
(ediff-install-fine-diff-if-necessary n))
;; Skip loop
(while (and (< n ediff-number-of-differences)
(or
;; regexp skip
regexp-skip
;; skip clashes, if necessary
non-clash-skip
;; skip processed regions
skip-changed
;; skip difference regions that differ in white space
(and ediff-ignore-similar-regions
(ediff-merge-region-is-non-clash n)
(or (eq (ediff-no-fine-diffs-p n) t)
(and (ediff-merge-job)
(eq (ediff-no-fine-diffs-p n) 'C)))
)))
(setq n (1+ n))
(if (= 0 (mod n 20))
(message "Skipped over region %d and counting ..." n))
(or (>= n ediff-number-of-differences)
(setq regexp-skip (funcall ediff-skip-diff-region-function n))
;; this won't exec if regexp-skip is t
(setq non-clash-skip (ediff-merge-region-is-non-clash-to-skip n)
skip-changed
(ediff-skip-merge-region-if-changed-from-default-p n))
(ediff-install-fine-diff-if-necessary n))
)
(message "")
(ediff-unselect-and-select-difference n)
) ; let
(ediff-visible-region)
(user-error "At end of the difference list")))