Function: ediff-get-patch-buffer
ediff-get-patch-buffer is a byte-compiled function defined in
ediff-ptch.el.gz.
Signature
(ediff-get-patch-buffer &optional ARG PATCH-BUF)
Documentation
Obtain patch buffer. If patch is already in a buffer---use it.
Else, read patch file into a new buffer. If patch buffer is passed as an optional argument, then use it.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-ptch.el.gz
(defun ediff-get-patch-buffer (&optional arg patch-buf)
"Obtain patch buffer. If patch is already in a buffer---use it.
Else, read patch file into a new buffer. If patch buffer is passed as an
optional argument, then use it."
(let ((last-nonmenu-event t) ; Emacs: don't use dialog box
last-command-event) ; XEmacs: don't use dialog box
(cond ((ediff-buffer-live-p patch-buf))
;; even prefix arg: patch in buffer
((and (integerp arg) (eq 0 (mod arg 2)))
(setq patch-buf (ediff-prompt-for-patch-buffer)))
;; odd prefix arg: get patch from a file
((and (integerp arg) (eq 1 (mod arg 2)))
(setq patch-buf (ediff-prompt-for-patch-file)))
(t (setq patch-buf
(if (y-or-n-p "Is the patch already in a buffer? ")
(ediff-prompt-for-patch-buffer)
(ediff-prompt-for-patch-file)))))
(ediff-with-current-buffer patch-buf
(goto-char (point-min))
(or (ediff-get-visible-buffer-window patch-buf)
(progn
(pop-to-buffer patch-buf 'other-window)
(select-window (previous-window)))))
(ediff-map-patch-buffer patch-buf)
patch-buf))