Subject: bug#62749: 28.2; Emacs keeps opening related file from vc-diff buffer

From: Juri Linkov <[email-masked]>
Date: Tue, 16 May 2023 19:44:25 +0300

>>> After bisecting my long .emacs config I pinpointed the culprit:
>>>
>>> (which-func-mode 1)
>>
>> Maybe 'diff-syntax-fontify' could have a similar list of minor modes
>> that should be ignored.  Then such a list should at least contain
>> 'which-func-mode' by default.
>
> Do you mean that it's not feasible to fix the behavior when which-func-mode
> is enabled?

After debugging I realized it's not related to diff-font-lock-syntax.

The problem is that 'which-func-mode' is enabled in diff-mode.
'which-function' calls 'add-log-current-defun' that calls
'add-log-current-defun-function' that is 'diff-current-defun'
in diff-mode.  Finally, 'diff-find-source-location' visits
the source files without killing them afterwards.

I guess this is related to another annoying bug: after every commit need
to spend much time killing all buffers created by the commit command.