Re: master 268e055e051: Limit VC-Dir status process output processing

Dmitry Gutov <[email protected]> Tue, 11 Aug 2026 06:55:11 +0300
Newsgroups gmane.emacs.devel
Message-ID <[email protected]>
Hi Sean,

Do you think we could change this improvement in a way that doesn't make 
the 'dir-status-files' backend actions coupled to VC-Dir?

Some sort of setup that VC-Dir would do to its process buffer could lead 
to a more subtle approach.

On 26/06/2026 16:53, Sean Whitton wrote:
>       (let ((files (vc-git-dir-status-state->files git-state))
> -          (allowed-exit 1))
> +          (allowed-exit 1)
> +          (limit vc-dir-process-output-limit))
>         (erase-buffer)
>         (pcase (vc-git-dir-status-state->stage git-state)
>           ('update-index
> @@ -756,7 +760,10 @@ or an empty string if none."
>           ('diff-index
>            (git-cmd files "diff-index" "--relative" "-z" "-M" "HEAD" "--")))
>         (vc-run-delayed-success allowed-exit
> -        (vc-git-after-dir-status-stage git-state)))))
> +        (let ((vc-dir-process-output-limit limit))
> +          (vc-dir-maybe-narrow-and-show-more-button
> +           "(reported states may be incorrect)")
> +          (vc-git-after-dir-status-stage git-state))))))

The way it's implemented here any third-party caller of dir-status-files 
(diff-hl-dired might be the main one) now has to learn of the unrelated 
variable from vc-dir.el.

Originally: https://github.com/dgutov/diff-hl/pull/294