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

From: Dmitry Gutov <[email-masked]>
Date: Tue, 16 May 2023 14:46:36 +0300

On 15/05/2023 19:46, Juri Linkov wrote:
>> After bisecting my long .emacs config I pinpointed the culprit:
>>
>> (which-func-mode 1)
>>
>> During the movement through a diff buffer this mode loads corresponding
>> files:
>>
>>    if the cursor reaches a new hunk - the corresponding file is opened ((
>>
>> This is done one by one file while I scroll down with the cursor.
>>
>> Removing the line significantly improved performance during scromming in VC
>> diff buffer in Cygwin and no more new files opened!
> This is an interesting problem, I can reproduce it by
> 'M-x which-function-mode'.
> 
>> I think which-function-mode is broken for diff-mode, the workaround for
>> those who wants this mode is to deal with:
>>
>> (defcustom which-func-modes t
>>    ;; '(emacs-lisp-mode c-mode c++-mode objc-mode perl-mode cperl-mode python-mode
>>    ;;               makefile-mode sh-mode fortran-mode f90-mode ada-mode
>>    ;;               diff-mode)
>>    "List of major modes for which Which Function mode should be used.
>> For other modes it is disabled.  If this is equal to t,
>> then Which Function mode is enabled in any major mode that supports it."
>>
>> What are the next actions?
> 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?