Variable: diff-hl-update-async
diff-hl-update-async is a customizable variable defined in diff-hl.el.
Value
nil
Documentation
When non-nil, diff-hl-update will run asynchronously.
When the value is thread, it will call the diff process in a Lisp thread.
Any other non-nil value will make the the diff process called asynchronously in the main thread.
Note that the latter mechanism is only compatible with a recent Emacs
31+ (for built-in backends such as Git and Hg). Whereas using a thread can
help with older Emacs as well, but might crash in some configurations.
This feature makes Emacs more responsive with slower version control (VC) backends and large projects. But it's disabled in remote buffers, since current testing shows it doesn't work reliably over Tramp.
Source Code
;; Defined in /nix/store/cfz56rl3lp066226i0bmmgiicls3gcq7-emacs-packages-deps/share/emacs/site-lisp/elpa/diff-hl-20261001.135/diff-hl.el
(defcustom diff-hl-update-async nil
"When non-nil, `diff-hl-update' will run asynchronously.
When the value is `thread', it will call the diff process in a Lisp thread.
Any other non-nil value will make the the diff process called
asynchronously in the main thread.
Note that the latter mechanism is only compatible with a recent Emacs
31+ (for built-in backends such as Git and Hg). Whereas using a thread can
help with older Emacs as well, but might crash in some configurations.
This feature makes Emacs more responsive with slower version control (VC)
backends and large projects. But it's disabled in remote buffers, since
current testing shows it doesn't work reliably over Tramp."
:type '(choice
(const :tag "Disabled" nil)
(const :tag "Simple async" t)
(const :tag "Thread" thread)))