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

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

[elpa] 05/14: Fix #59: detect missing tag files and remove project cache


From: Leo Liu
Subject: [elpa] 05/14: Fix #59: detect missing tag files and remove project cache
Date: Sun, 22 Jun 2014 09:41:40 +0000

leoliu pushed a commit to branch master
in repository elpa.

commit 313a4c36932300518a4446cc68898cfbc7b49d50
Author: Leo Liu <address@hidden>
Date:   Wed May 21 18:37:13 2014 +0800

    Fix #59: detect missing tag files and remove project cache
---
 ggtags.el |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/ggtags.el b/ggtags.el
index b78384f..15b0b0e 100644
--- a/ggtags.el
+++ b/ggtags.el
@@ -1468,7 +1468,17 @@ commands `next-error' and `previous-error'.
       (funcall cont buf how)))
    ((string-prefix-p "exited abnormally" how)
     ;; If exit abnormally display the buffer for inspection.
-    (ggtags-global--display-buffer))
+    (ggtags-global--display-buffer)
+    (when (save-excursion
+            (goto-char (point-max))
+            (re-search-backward
+             (eval-when-compile
+               (format "^global: %s not found.$"
+                       (regexp-opt '("GTAGS" "GRTAGS" "GSYMS" "GPATH"))))
+             nil t))
+      (ggtags-echo "WARNING: Global tag files missing in `%s'"
+                   ggtags-project-root)
+      (remhash ggtags-project-root ggtags-projects)))
    (ggtags-auto-jump-to-match
     (if (pcase (compilation-next-single-property-change
                 (point-min) 'compilation-message)
@@ -1497,6 +1507,10 @@ commands `next-error' and `previous-error'.
   ;; Note: Place `ggtags-global-output-format' as first element for
   ;; `ggtags-abbreviate-files'.
   (setq-local compilation-error-regexp-alist (list 
ggtags-global-output-format))
+  (when (markerp ggtags-global-start-marker)
+    (setq ggtags-project-root
+          (buffer-local-value 'ggtags-project-root
+                              (marker-buffer ggtags-global-start-marker))))
   (pcase ggtags-auto-jump-to-match
     (`history (make-local-variable 'ggtags-auto-jump-to-match-target)
               (setq-local compilation-auto-jump-to-first-error



reply via email to

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