leoliu pushed a commit to branch master
in repository elpa.
commit e7c5371028912e07c37de2bf1c80c88bf51a1fea
Author: Leo Liu <[email protected]>
Date: Wed Mar 12 17:48:43 2014 +0800
Fix ggtags-with-current-project to include GTAGSCONF
---
ggtags.el | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/ggtags.el b/ggtags.el
index 18f10b9..fa007a9 100644
--- a/ggtags.el
+++ b/ggtags.el
@@ -295,13 +295,15 @@ properly update `ggtags-mode-map'."
(:copier nil)
(:type vector)
:named)
- root tag-size has-refs has-path-style has-color dirty-p mtime timestamp)
+ root config tag-size has-refs has-path-style has-color dirty-p mtime
timestamp)
(defun ggtags-make-project (root)
(cl-check-type root string)
(pcase (nthcdr 5 (file-attributes (expand-file-name "GTAGS" root)))
(`(,mtime ,_ ,tag-size . ,_)
(let* ((default-directory (file-name-as-directory root))
+ (config (cl-some (lambda (c) (and (file-exists-p c) c))
+ '(".globalrc" "gtags.conf")))
(rtags-size (nth 7 (file-attributes "GRTAGS")))
(has-refs
(when rtags-size
@@ -322,6 +324,7 @@ properly update `ggtags-mode-map'."
'has-color))))
(puthash default-directory
(ggtags-project--make :root default-directory
+ :config config
:tag-size tag-size
:has-refs has-refs
:has-path-style has-path-style
@@ -481,7 +484,13 @@ Value is new modtime if updated."
(and ,gtagsroot (list (concat "GTAGSROOT=" ,gtagsroot)))
(and (ggtags-find-project)
(not (ggtags-project-has-refs (ggtags-find-project)))
- (list "GTAGSLABEL=ctags")))))
+ (list "GTAGSLABEL=ctags"))
+ (and ggtags-use-project-gtagsconf ,gtagsroot
+ (ggtags-project-config (ggtags-find-project))
+ (list (concat "GTAGSCONF="
+ (expand-file-name
(ggtags-project-config
+
(ggtags-find-project))
+ ,gtagsroot)))))))
(unwind-protect (save-current-buffer ,@body)
(setq ggtags-project-root ,root)))))