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)))
    ))