emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/eldoc-diffstat 98e0e18a41 1/6: Fix potential race conditio


From: ELPA Syncer
Subject: [nongnu] elpa/eldoc-diffstat 98e0e18a41 1/6: Fix potential race condition
Date: Sat, 14 Dec 2024 19:00:48 -0500 (EST)

branch: elpa/eldoc-diffstat
commit 98e0e18a411b1bfa5531c1a5057286a298a3b74e
Author: Johann Klähn <johann@jklaehn.de>
Commit: Johann Klähn <johann@jklaehn.de>

    Fix potential race condition
---
 eldoc-diffstat.el | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/eldoc-diffstat.el b/eldoc-diffstat.el
index 6433e3e88a..a9dcc41854 100644
--- a/eldoc-diffstat.el
+++ b/eldoc-diffstat.el
@@ -129,17 +129,15 @@ caching the result, see `eldoc-diffstat--get-cache' for 
details."
         (kill-process eldoc-diffstat--process)))
     (kill-buffer (process-buffer eldoc-diffstat--process)))
 
-  (setq
-   eldoc-diffstat--process
-   (make-process
-    :name "eldoc-diffstat"
-    :buffer (generate-new-buffer " *eldoc-diffstat*")
-    :noquery t
-    :command command
-    :sentinel
-    (lambda (&rest args)
-      (apply #'eldoc-diffstat--sentinel callback args))))
-  (process-put eldoc-diffstat--process :revision-info revision-info)
+  (let ((proc (make-process
+               :name "eldoc-diffstat"
+               :buffer (generate-new-buffer " *eldoc-diffstat*")
+               :noquery t
+               :command command
+               :sentinel
+               (apply-partially #'eldoc-diffstat--sentinel callback))))
+    (process-put proc :revision-info revision-info)
+    (setq eldoc-diffstat--process proc))
 
   ;; Signal that the doc string is computed asynchronously.
   t)
@@ -150,8 +148,8 @@ caching the result, see `eldoc-diffstat--get-cache' for 
details."
     (with-current-buffer (process-buffer proc)
       (eldoc-diffstat--format-output-buffer)
       (let ((result (buffer-string))
-            (revision-info (process-get eldoc-diffstat--process 
:revision-info)))
-        (process-put eldoc-diffstat--process :cached-result
+            (revision-info (process-get proc :revision-info)))
+        (process-put proc :cached-result
                      (cons revision-info result))
         (funcall callback result)))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]