Function: emerge-extract-diffs3
emerge-extract-diffs3 is a byte-compiled function defined in
emerge.el.gz.
Signature
(emerge-extract-diffs3 DIFF-BUFFER)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/emerge.el.gz
(defun emerge-extract-diffs3 (diff-buffer)
(let (list)
(with-current-buffer
diff-buffer
(while (re-search-forward "^====\\(.?\\)$" nil t)
;; leave point after matched line
(beginning-of-line 2)
(let ((agreement (buffer-substring (match-beginning 1) (match-end 1))))
;; if the A and B files are the same, ignore the difference
(if (not (string-equal agreement "2"))
(setq list
(cons
(let (group-1 group-3 pos)
(setq pos (point))
(setq group-1 (emerge-get-diff3-group "1"))
(goto-char pos)
(setq group-3 (emerge-get-diff3-group "3"))
(vector (car group-1) (car (cdr group-1))
(car group-3) (car (cdr group-3))
(cond ((string-equal agreement "1") 'prefer-A)
((string-equal agreement "3") 'prefer-B)
(t 'default-A))))
list))))))
(nreverse list)))