Function: ediff-unselect-and-select-difference
ediff-unselect-and-select-difference is a byte-compiled function
defined in ediff-util.el.gz.
Signature
(ediff-unselect-and-select-difference N &optional FLAG NO-RECENTER)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-util.el.gz
;; Unselects prev diff and selects a new one, if FLAG has value other than
;; 'select-only or 'unselect-only. If FLAG is 'select-only, the
;; next difference is selected, but the current selection is not
;; unselected. If FLAG is 'unselect-only then the current selection is
;; unselected, but the next one is not selected. If NO-RECENTER is non-nil,
;; don't recenter buffers after selecting/unselecting.
(defun ediff-unselect-and-select-difference (n &optional flag no-recenter)
(let ((ediff-current-difference n))
(or no-recenter
(ediff-recenter 'no-rehighlight)))
(let ((control-buf ediff-control-buffer))
(unwind-protect
(progn
(or (eq flag 'select-only)
(ediff-unselect-difference ediff-current-difference))
(or (eq flag 'unselect-only)
(ediff-select-difference n))
;; need to set current diff here even though it is also set in
;; ediff-select-difference because ediff-select-difference might not
;; be called if unselect-only is specified
(setq ediff-current-difference n)
) ; end protected section
(ediff-with-current-buffer control-buf (ediff-refresh-mode-lines)))
))