Function: ediff-merge-changed-from-default-p

ediff-merge-changed-from-default-p is a byte-compiled function defined in ediff-merg.el.gz.

Signature

(ediff-merge-changed-from-default-p DIFF-NUM &optional PREFERS-TOO)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/ediff-merg.el.gz
;; Check if the non-preferred merge has been modified since originally set.
;; This affects only the regions that are marked as default-A/B or combined.
;; If PREFERS-TOO is non-nil, then look at the regions marked as prefers-A/B as
;; well.
(defun ediff-merge-changed-from-default-p (diff-num &optional prefers-too)
  (let ((reg-A (ediff-get-region-contents diff-num 'A ediff-control-buffer))
	(reg-B (ediff-get-region-contents diff-num 'B ediff-control-buffer))
	(reg-C (ediff-get-region-contents diff-num 'C ediff-control-buffer)))

    (setq state-of-merge (ediff-get-state-of-merge diff-num))

    ;; if region was edited since it was first set by default
    (or (and (string= state-of-merge "default-A")
	     (not (string= reg-A reg-C)))
	(and (string= state-of-merge "default-B")
	     (not (string= reg-B reg-C)))
	(and (string= state-of-merge "combined")
	     ;;(not (string= (ediff-make-combined-diff reg-A reg-B) reg-C)))
	     (not (string= (ediff-get-combined-region diff-num) reg-C)))
	(and prefers-too
	     (string= state-of-merge "prefer-A")
	     (not (string= reg-A reg-C)))
	(and prefers-too
	     (string= state-of-merge "prefer-B")
	     (not (string= reg-B reg-C)))
	)))