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

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

[elpa] 10/18: Make ggtags-eldoc-function work better when no project roo


From: Leo Liu
Subject: [elpa] 10/18: Make ggtags-eldoc-function work better when no project root
Date: Sat, 05 Apr 2014 01:25:16 +0000

leoliu pushed a commit to branch master
in repository elpa.

commit 8f3bd01d82f916b03227f1bbe3683be39b62280f
Author: Leo Liu <address@hidden>
Date:   Thu Apr 3 08:24:50 2014 +0800

    Make ggtags-eldoc-function work better when no project root
    
    Make M-. on #include line also triggers indexing project if not
    already.
---
 ggtags.el |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ggtags.el b/ggtags.el
index 8c97c49..fb9627d 100644
--- a/ggtags.el
+++ b/ggtags.el
@@ -778,6 +778,7 @@ When called interactively with a prefix arg, always find
 definition tags."
   (interactive
    (let ((include (and (not current-prefix-arg) (ggtags-include-file))))
+     (ggtags-ensure-project)
      (if include (list include 'include)
        (list (ggtags-read-tag 'definition current-prefix-arg)
              (and current-prefix-arg 'definition)))))
@@ -1920,13 +1921,16 @@ to nil disables displaying this information.")
     (`nil nil)
     (tag (if (equal tag (car ggtags-eldoc-cache))
              (cadr ggtags-eldoc-cache)
-           (setq ggtags-eldoc-cache (list tag)) ;don't come back until done
-           (let* ((ggtags-print-definition-function
-                   (lambda (s)
-                     (setq ggtags-eldoc-cache (list tag s))
-                     (eldoc-message s))))
-             (ggtags-show-definition tag)
-             nil)))))
+           (and ggtags-project-root (ggtags-find-project)
+                (let* ((ggtags-print-definition-function
+                        (lambda (s)
+                          (setq ggtags-eldoc-cache (list tag s))
+                          (eldoc-message s))))
+                  ;; Prevent multiple runs of ggtags-show-definition
+                  ;; for the same tag.
+                  (setq ggtags-eldoc-cache (list tag))
+                  (ggtags-show-definition tag)
+                  nil))))))
 
 ;;; imenu
 



reply via email to

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