Function: ediff-prepare-error-list
ediff-prepare-error-list is a byte-compiled function defined in
ediff-diff.el.gz.
Signature
(ediff-prepare-error-list OK-REGEXP DIFF-BUFF)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-diff.el.gz
(defun ediff-prepare-error-list (ok-regexp diff-buff)
(or (ediff-buffer-live-p ediff-error-buffer)
(setq ediff-error-buffer
(get-buffer-create (ediff-unique-buffer-name
"*ediff-errors" "*"))))
(ediff-with-current-buffer ediff-error-buffer
(setq buffer-undo-list t)
(erase-buffer)
(insert (ediff-with-current-buffer diff-buff (buffer-string)))
(goto-char (point-min))
(delete-matching-lines ok-regexp))
;; If diff reports errors, show them then quit.
(if (/= 0 (ediff-with-current-buffer ediff-error-buffer (buffer-size)))
(let ((ctl-buf ediff-control-buffer)
(error-buf ediff-error-buffer))
(ediff-skip-unsuitable-frames)
(switch-to-buffer error-buf)
;; We output data from the diff command using `raw-text' as
;; the coding system, so decode before displaying.
(when (eq ediff-coding-system-for-read 'raw-text)
(decode-coding-region (point-min) (point-max) 'undecided))
(ediff-kill-buffer-carefully ctl-buf)
(user-error "Errors in diff output. Diff output is in %S" diff-buff))))