Function: ediff-meta-mark-equal-files
ediff-meta-mark-equal-files is an interactive and byte-compiled
function defined in ediff-mult.el.gz.
Signature
(ediff-meta-mark-equal-files &optional ACTION)
Documentation
Run through the session list and mark identical files.
This is used only for sessions that involve 2 or 3 files at the same time.
ACTION is an optional argument that can be ?h, ?m, ?=, to mark for hiding, mark
for operation, or simply indicate which are equal files. If it is nil, then
last-command-event is used to decide which action to take.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-mult.el.gz
;; ACTION is ?h, ?m, ?=: to mark for hiding, mark for operation, or simply
;; indicate which are equal files
(defun ediff-meta-mark-equal-files (&optional action)
"Run through the session list and mark identical files.
This is used only for sessions that involve 2 or 3 files at the same time.
ACTION is an optional argument that can be ?h, ?m, ?=, to mark for hiding, mark
for operation, or simply indicate which are equal files. If it is nil, then
`last-command-event' is used to decide which action to take."
(interactive)
(if (null action)
(setq action last-command-event))
(let ((list (cdr ediff-meta-list))
marked1 marked2 marked3
fileinfo1 fileinfo2 fileinfo3 elt)
(message "Comparing files...")
(while (setq elt (car list))
(setq fileinfo1 (ediff-get-session-objA elt)
fileinfo2 (ediff-get-session-objB elt)
fileinfo3 (ediff-get-session-objC elt))
(ediff-set-file-eqstatus fileinfo1 nil)
(ediff-set-file-eqstatus fileinfo2 nil)
(ediff-set-file-eqstatus fileinfo3 nil)
(setq marked1 t
marked2 t
marked3 t)
(or (ediff-mark-if-equal fileinfo1 fileinfo2)
(setq marked1 nil))
(if (ediff-metajob3)
(progn
(or (ediff-mark-if-equal fileinfo1 fileinfo3)
(setq marked2 nil))
(or (ediff-mark-if-equal fileinfo2 fileinfo3)
(setq marked3 nil))))
(if (and marked1 marked2 marked3)
(cond ((eq action ?h)
(ediff-mark-session-for-hiding elt 'mark))
((eq action ?m)
(ediff-mark-session-for-operation elt 'mark))
))
(setq list (cdr list)))
(message "Comparing files... Done"))
(setq ediff-recurse-to-subdirectories nil)
(ediff-update-meta-buffer (current-buffer) 'must-redraw))