Function: ediff-process-filter
ediff-process-filter is a byte-compiled function defined in
ediff-diff.el.gz.
Signature
(ediff-process-filter PROC STRING)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-diff.el.gz
;; This is shell-command-filter from simple.el in Emacs.
;; Copied here because XEmacs doesn't have it.
(defun ediff-process-filter (proc string)
;; Do save-excursion by hand so that we can leave point numerically unchanged
;; despite an insertion immediately after it.
(let* ((obuf (current-buffer))
(buffer (process-buffer proc))
opoint
(window (get-buffer-window buffer))
(pos (window-start window)))
(unwind-protect
(progn
(set-buffer buffer)
(or (= (point) (point-max))
(setq opoint (point)))
(goto-char (point-max))
(insert-before-markers string))
;; insert-before-markers moved this marker: set it back.
(set-window-start window pos)
;; Finish our save-excursion.
(if opoint
(goto-char opoint))
(set-buffer obuf))))