branch: externals/diff-hl commit 08243a6e0b681c34eb4e4abf1d1c4c1b251ce91e Author: Dmitry Gutov <dmi...@gutov.dev> Commit: Dmitry Gutov <dmi...@gutov.dev>
Fix a freeze on macOS (ns port) Reported in #230. --- diff-hl.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/diff-hl.el b/diff-hl.el index 63835f0ade..010892eb1a 100644 --- a/diff-hl.el +++ b/diff-hl.el @@ -388,7 +388,13 @@ It can be a relative expression as well, such as \"HEAD^\" with Git, or (let* ((file buffer-file-name) (backend (vc-backend file))) (when backend - (let ((state (vc-state file backend))) + (let ((state (vc-state file backend)) + ;; Workaround for debbugs#78946. + ;; This is fiddly, but we basically allow the thread to start, while + ;; prohibiting the async process call inside. + ;; That still makes it partially async. + (diff-hl-update-async (and diff-hl-update-async + (not (eq window-system 'ns))))) (cond ((diff-hl-modified-p state) (diff-hl-changes-from-buffer