Function: ediff-write-merge-buffer-and-maybe-kill
ediff-write-merge-buffer-and-maybe-kill is a byte-compiled function
defined in ediff-util.el.gz.
Signature
(ediff-write-merge-buffer-and-maybe-kill BUF FILE &optional SHOW-FILE SAVE-AND-CONTINUE)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-util.el.gz
;; write merge buffer. If the optional argument save-and-continue is non-nil,
;; then don't kill the merge buffer
(defun ediff-write-merge-buffer-and-maybe-kill (buf file
&optional
show-file save-and-continue)
(if (not (eq (find-buffer-visiting file) buf))
(let ((warn-message
(format "Another buffer is visiting file %s. Too dangerous to save the merge buffer"
file)))
(beep)
(message "%s" warn-message)
(with-output-to-temp-buffer ediff-msg-buffer
(princ "\n\n")
(princ warn-message)
(princ "\n\n")
)
(sit-for 2))
(ediff-with-current-buffer buf
(if (or (not (file-exists-p file))
(y-or-n-p (format "File %s exists, overwrite? " file)))
(progn
;;(write-region nil nil file)
(ediff-with-current-buffer buf
(set-visited-file-name file)
(save-buffer))
(if show-file
(progn
(message "Merge buffer saved in: %s" file)
(set-buffer-modified-p nil)
(sit-for 3)))
(if (and
(not save-and-continue)
(y-or-n-p "Merge buffer saved. Now kill the buffer? "))
(ediff-kill-buffer-carefully buf)))))
))