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!
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?