Subject: 23.4; diff-auto-refine-mode process only last hunk in diff (must ALL).

From: Oleksandr Gavenko <[email-masked]>
Date: Sun, 28 Oct 2012 14:13:36 +0200

In GNU Emacs 23.4.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.10) but seems that
current truck have same problem as related part of 'diff-mode.el' unchanged.

If I enable diff-auto-refine-mode in all diff-mode buffers:

  (defun my-diff-auto-refine-mode-on () (diff-auto-refine-mode 1))
  (add-hook 'diff-mode-hook 'my-diff-auto-refine-mode-on)

I see actions only on last hunk in diff. Look to definition:

  (define-minor-mode diff-auto-refine-mode
    (when diff-auto-refine-mode
      (condition-case-unless-debug nil (diff-refine-hunk) (error nil))))

and to doc string:

  diff-refine-hunk is an interactive compiled Lisp function in `diff-mode.el'.

  Highlight changes of hunk at point at a finer granularity.

So I think 'diff-auto-refine-mode' must iterate over all hunks and apply
'diff-refine-hunk' function on each of them.

-- 
Best regards!