Function: ediff-collect-custom-diffs
ediff-collect-custom-diffs is an interactive and byte-compiled
function defined in ediff-mult.el.gz.
Signature
(ediff-collect-custom-diffs)
Documentation
Collect custom diffs of marked sessions in buffer *Ediff Multifile Diffs*.
This operation is defined only for ediff-directories and
ediff-directory-revisions, since its intent is to produce
multifile patches. For ediff-directory-revisions, we insist that
all marked sessions must be active.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-mult.el.gz
(defun ediff-collect-custom-diffs ()
"Collect custom diffs of marked sessions in buffer `*Ediff Multifile Diffs*'.
This operation is defined only for `ediff-directories' and
`ediff-directory-revisions', since its intent is to produce
multifile patches. For `ediff-directory-revisions', we insist that
all marked sessions must be active."
(interactive)
(let ((coding-system-for-read ediff-coding-system-for-read))
(unless (and (ediff-buffer-live-p ediff-meta-diff-buffer)
;; We assume `ediff-meta-diff-buffer' doesn't
;; visit any file. But if the user saves the
;; `ediff-meta-diff-buffer' to a file, that
;; assumption isn't right anymore. (Bug#3348)
;; So, if `ediff-meta-diff-buffer' is visiting some
;; file, create a new buffer rather than reusing it.
(not (buffer-file-name ediff-meta-diff-buffer)))
(setq ediff-meta-diff-buffer
(get-buffer-create
(ediff-unique-buffer-name "*Ediff Multifile Diffs" "*"))))
(ediff-with-current-buffer ediff-meta-diff-buffer
(setq buffer-read-only nil)
(erase-buffer))
(if (> (ediff-operate-on-marked-sessions #'ediff-append-custom-diff) 0)
;; did something
(progn
(display-buffer ediff-meta-diff-buffer 'not-this-window)
(ediff-with-current-buffer ediff-meta-diff-buffer
(set-buffer-modified-p nil)
(setq buffer-read-only t))
(if (fboundp 'diff-mode)
(with-current-buffer ediff-meta-diff-buffer
(diff-mode))))
(beep)
(message "No marked sessions found"))))