Function: smerge--refine-set-overlay-props
smerge--refine-set-overlay-props is a byte-compiled function defined
in smerge-mode.el.gz.
Signature
(smerge--refine-set-overlay-props OL1 OL2 PROPS-C PROPS-R PROPS-A)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/smerge-mode.el.gz
(defun smerge--refine-set-overlay-props (ol1 ol2 props-c props-r props-a)
(let ((common-props
(let ((props '((evaporate . t) (smerge--refine-region . t)
(cursor-sensor-functions
smerge--refine-shadow-cursor))))
(dolist (prop (or props-a props-c))
(when (and (not (memq (car prop) '(face font-lock-face)))
(member prop (or props-r props-c))
(or (not (and props-c props-a props-r))
(member prop props-c)))
;; This PROP is shared among all those overlays.
;; Better keep it also for the `smerge--refine-region'
;; overlays, so the client package recognizes them as
;; being part of the refinement (e.g. it will hopefully
;; delete them like the others).
(push prop props)))
props)))
(when smerge-refine-shadow-cursor
(cursor-sensor-mode 1))
(dolist (prop common-props)
(overlay-put ol1 (car prop) (cdr prop))
(overlay-put ol2 (car prop) (cdr prop)))))