[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#12747: 23.4; diff-auto-refine-mode process only last hunk in diff (m
From: |
Stefan Monnier |
Subject: |
bug#12747: 23.4; diff-auto-refine-mode process only last hunk in diff (must ALL). |
Date: |
Sun, 28 Oct 2012 16:29:31 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) |
retitle 12747 Make diff-auto-refine-mode refine from jit/font-lock
severity 12747 wishlist
thanks
>> If so, that is a valid request for enhancement, and I fully agree.
> That is!
OK, title adjusted. I also would like to see this, FWIW.
> Also I would be glad to see alias for:
> (diff-auto-refine-mode 1)
> in form:
> (defun diff-auto-refine-mode-on () (diff-auto-refine-mode 1))
> to simplify usage in hooks...
This is not needed any more. Nowadays minor modes always enable the
mode if called without argument. IOW you can just use
diff-auto-refine-mode in your hooks without risk of it toggling the
minor mode off.
> (save-excursion
> (goto-char (point-min))
> (while (not (eobp))
> (diff-hunk-next))))
Problem with this, is that it can be slow when visiting large patch
files, and it may fail to refine all hunks in *vc-diff* buffers because
that might be run before the process has finished returning the diff.
> Does this mean register MATCHER with always fail but perform side
> effect by updating suggested 'diff--regions-displayed' variable?
Yes.
> Also I can't found function that return visible to user region to proper
> highlight all visible hunks instead current...
The font-lock-keywords rule suggested before does more or less.
Otherwise, you can go through all windows, check if they're displaying
your buffer and then use window-start and window-end to figure out what
is displayed, but that approach generally leads to madness (compare
jit-lock to lazy-lock, or linum.el to nlinum.el).
Stefan