Then, if the user disabled showing the VC state in the mode-line, and doesn't
have any other packages installed that use the status, Git won't be called, at
least not right away.
It would be one's own responsibility to keep track if it is needed by other
applicaitons or not. This why I asked, if there is something else than modeline
that needs this.
I see defcustom declaration fo vc-display-status is changed from what it was in
29.2 to what is now in the master. I guess you (or someone) is already planning
something in this direction? Was it meant that vc-refresh (or something in the
chain of call) decide to call git or not based on the value of that variable?
Looks to me like that was the plan, but I don't know the intentions.
So I would welcome such an experiment, especially if one is careful to retain
support for vc-follow-symlinks.
vc-after-save could similarly avoid doing the full refresh until the file's
backend/state are requested again.
When they request for the backend state; they could do so asyncrhonously to, by
starting a timer? The update will not be immideate; run first when Emas is idle,
if it is just the modeline; but third party apps, if there are such, can be more
picky.