Function: majutsu-conflict--refine-diff-region
majutsu-conflict--refine-diff-region is a natively compiled function
defined in majutsu-conflict.el.
Signature
(majutsu-conflict--refine-diff-region BEG END)
Documentation
Apply word-level refinement to diff lines between BEG and END.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-conflict.el
(defun majutsu-conflict--refine-diff-region (beg end)
"Apply word-level refinement to diff lines between BEG and END."
(save-excursion
(majutsu-conflict--clear-refine-overlays beg end)
(goto-char beg)
(let ((remove-beg nil)
(remove-end nil)
(add-beg nil)
(add-end nil))
(cl-labels
((flush ()
(majutsu-conflict--refine-pair
remove-beg remove-end add-beg add-end)
(setq remove-beg nil remove-end nil
add-beg nil add-end nil)))
(while (< (point) end)
(cond
((looking-at "^-")
(when add-beg (flush))
(let ((beg (1+ (line-beginning-position)))
(end (min end (1+ (line-end-position)))))
(if remove-beg
(setq remove-end end)
(setq remove-beg beg
remove-end end))))
((looking-at "^+")
(let ((beg (1+ (line-beginning-position)))
(end (min end (1+ (line-end-position)))))
(if add-beg
(setq add-end end)
(setq add-beg beg
add-end end))))
(t
(flush)))
(forward-line 1))
(flush)))))