branch: externals/gtags-mode
commit 41e9847888e1c061c6c1212404bd770bc1e86119
Author: Jimmy Aguilar Mena <kratsbinov...@gmail.com>
Commit: Jimmy Aguilar Mena <kratsbinov...@gmail.com>

    Cleanup buffers also when updating.
    
    This may be uneeded, but avoids some race conditions I have seen in
    the past
---
 gtags-mode.el | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gtags-mode.el b/gtags-mode.el
index 680aa96817..9a50e9c646 100644
--- a/gtags-mode.el
+++ b/gtags-mode.el
@@ -338,9 +338,10 @@ This iterates over the buffers and tries to reset
 (defun gtags-mode-update ()
   "Update GLOBAL project database."
   (interactive)
-  (when (gtags-mode--local-plist default-directory)
-    (let ((default-directory (plist-get gtags-mode--plist :gtagsroot)))
-      (gtags-mode--exec-async 'gtags-mode--global "--update"))))
+  (when-let*  (((gtags-mode--local-plist default-directory))
+              (default-directory (plist-get gtags-mode--plist :gtagsroot))
+              (pr (gtags-mode--exec-async 'gtags-mode--global "--update")))
+    (process-put pr :extra-sentinel #'gtags-mode--update-buffers-plist)))
 
 ;; Hooks =============================================================
 (defun gtags-mode--after-save-hook ()

Reply via email to