Function: smerge--refine-apply-diff

smerge--refine-apply-diff is a byte-compiled function defined in smerge-mode.el.gz.

Signature

(smerge--refine-apply-diff DIFFBUF OL1 OL2 PROPS-C PROPS-R PROPS-A)

Source Code

;; Defined in /usr/src/emacs/lisp/vc/smerge-mode.el.gz
(defun smerge--refine-apply-diff ( diffbuf ol1 ol2
                                   props-c props-r props-a)
  ;; `smerge--refine-apply-diff-1' isn't careful to preserve the
  ;; position of point, so do it here.
  (let ((pt1 (with-current-buffer (overlay-buffer ol1) (point)))
        (pt2 (with-current-buffer (overlay-buffer ol2) (point))))
    (unwind-protect
        (smerge--refine-apply-diff-1 diffbuf ol1 ol2
                                     props-c props-r props-a)
      (with-current-buffer (overlay-buffer ol1)
        (goto-char pt1)
        ;; Usually ol1 and ol2 are in the same buffer, so do the `set-buffer'
        ;; from ol1 to maximize the chance that it's a no-op.
        (with-current-buffer (overlay-buffer ol2) (goto-char pt2))))))