Function: ediff-looks-like-combined-merge
ediff-looks-like-combined-merge is a byte-compiled function defined in
ediff-merg.el.gz.
Signature
(ediff-looks-like-combined-merge REGION-NUM)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-merg.el.gz
;; Checks if the region in buff C looks like a combination of the regions
;; in buffers A and B. Return a list (reg-a-beg reg-a-end reg-b-beg reg-b-end)
;; These refer to where the delimiters for region A, B, Ancestor start and end
;; in buffer C
(defun ediff-looks-like-combined-merge (region-num)
(if ediff-merge-job
(let ((combined (string-match (regexp-quote "(A+B)")
(or (ediff-get-state-of-diff region-num 'C)
"")))
(mrgreg-beg (ediff-get-diff-posn 'C 'beg region-num))
(mrgreg-end (ediff-get-diff-posn 'C 'end region-num))
(pattern-list ediff-combination-pattern)
delim reg-beg reg-end delim-regs-list)
(if combined
(ediff-with-current-buffer ediff-buffer-C
(while pattern-list
(goto-char mrgreg-beg)
(setq delim (nth 0 pattern-list))
(search-forward delim mrgreg-end 'noerror)
(setq reg-beg (match-beginning 0))
(setq reg-end (match-end 0))
(if (and reg-beg reg-end)
(setq delim-regs-list
;; in reverse
(cons reg-end (cons reg-beg delim-regs-list))))
(if (> (length pattern-list) 1)
(setq pattern-list (cdr (cdr pattern-list)))
(setq pattern-list nil))
)))
(reverse delim-regs-list)
)))