How can I tell if CEDET is using GNU Global?

2019-04-11 16:09发布

I have CEDET working for the most part on emacs 24.2 with the latest from bzr repository.

When I am searching for symbols or definitions, I see that the cedet mini-buffer shows parses through a lot of files, some that are not there as header-files, the files do not have any reference to the symbols I am searching. I will leave CEDET to its job, let it search for symbols as it sees fit.

Is there any debug mechanism or verbose mode that I can turn on to see 1) What are all the files it is searching. 2) If it has found the GTAGS file at the base of my project. I understand that CEDET only consults the GTAGS file to know about symbols.

I ask because there are some symbols that CEDET is unable to find the definition for, but I'm able to find it from the gtags command line.

Thanks to Alex and Eric for their Numerous posts through-out the net.

标签: cedet emacs24
1条回答
爷的心禁止访问
2楼-- · 2019-04-11 16:38

This is a multi-step process.

First, make sure you've setup Global in the ways you want, such as via ede's locate feature, and through Symref.

Next, while visiting a file in a project you care about, use:

M-x cedet-gnu-global-show-root RET

to see if it can find a Global index file in that project.

Next, to see if symref found it, you need to eval this:

M-: (semantic-symref-detect-symref-tool)

and it will give you a symbol representing the tool it has chosen to use. It will say 'grep if it failed to use Global.

If you were in the middle of configuring things, you might need to reset things for you buffer. An easy way is to kill the buffer, and find it again, or:

M-x (setq semantic-symref-tool 'detect) RET

to force a detection again.

查看更多
登录 后发表回答