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))))