branch: externals/diff-hl
commit bb9af85441b0cbb3281268d30256d50f0595ebfe
Author: Dmitry Gutov <[email protected]>
Commit: Dmitry Gutov <[email protected]>

    Change the workaround for #230 to allow the non-thread method [macOS]
---
 diff-hl.el | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/diff-hl.el b/diff-hl.el
index ef338f14fc..9c4b671d25 100644
--- a/diff-hl.el
+++ b/diff-hl.el
@@ -485,12 +485,14 @@ It can be a relative expression as well, such as 
\"HEAD^\" with Git, or
          (hide-staged (and (eq backend 'Git) (not 
diff-hl-show-staged-changes))))
     (when backend
       (let ((state (vc-state file backend))
-            ;; Workaround for debbugs#78946.
+            ;; Workaround for debbugs#78946 for the `thread' async update 
method.
             ;; 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 (not (eq window-system 'ns))
-                                       (eq diff-hl-update-async t))))
+            ;; That still makes it partially async on macOS.
+            ;; Or just use "simple async" if your Emacs is new enough.
+            (diff-hl-update-async (or (and (eq diff-hl-update-async 'thread)
+                                           (not (eq window-system 'ns)))
+                                      (eq diff-hl-update-async t))))
         (cond
          ((and
            (not diff-hl-highlight-reference-function)

Reply via email to