I currently use the following to do auto refining: (modified from http://emacs.stackexchange.com/a/28321/2755 ) (defun my-diff-refine-all () "Refine all diffs." (interactive) (save-excursion (goto-char (point-min)) (ignore-errors (diff-beginning-of-hunk t)) (ignore-errors (while (not (eobp)) (diff-refine-hunk) (diff-hunk-next))))) (defun my-diff-hunks-highlight-all () "Highlight all hunks in diff-mode." (add-hook 'font-lock-mode-hook #'my-diff-refine-all t t)) (add-hook 'diff-mode-hook 'my-diff-hunks-highlight-all) Not sure whether it is possible to merge into Emacs after some adjustment.