branch: externals/diff-hl
commit 08243a6e0b681c34eb4e4abf1d1c4c1b251ce91e
Author: Dmitry Gutov <[email protected]>
Commit: Dmitry Gutov <[email protected]>
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