[BUG] gtags-find-rtag doesn't work through GTAGSLIBPATH

View: New views
2 Messages — Rating Filter:   Alert me  

[BUG] gtags-find-rtag doesn't work through GTAGSLIBPATH

by Gini-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

- under emacs, gtags-find-rtag doesn't work through GTAGSLIBPATH
- to overcome this you must first gtags-find-tag and then at the point
of definition
execute again gtags-find-rtag ... which is not ok

The following environment was setup:

1. the directory was created $HOME/work/linux-2.6.26 with the linux
kernel sources
2. the file was created $HOME/work/modules/hello_word.c
3. global installed via apt-get install global
4. in directory $HOME/work/linux-2.6.26 the gtags command was executed and
the 4 G* files ware created
5. in directory $HOME/work/modules the gtags command was exectuted and
the 4 G* files ware created
6. in the shell export GTAGSLIBPATH=$HOME/work/linux-2.6.26 was executed
7. in the same shell we do:
$ cd $HOME/work/modules
$ emacs hellow_word.c
Under emacs editor do:
- M-x gtags-mode
- M-x gtags-find-rtag <a simple kernel symbol, eg printk >

printk: tag not found

Note:
I can successfully search symbols with gtags-find-tag that are inside
kernel tree files from
hello_word.c

---

I have a second observation which is not releated to the previous bug:

- in the documentation for gtags usage is not very clear that GTAGSLIBPATH work
properly _only_ if the four G* files are found somewhere on the path
to the root from
the current point (that is if you are under some "project" files then
GTAGSLIBPATH is follow)
- I use gtags for emacs to browse files and expect gtags to follow
GTAGSLIBPATH to search
other files despite that the four G* files are not present somewhere
on the path to the root.


_______________________________________________
Bug-global mailing list
Bug-global@...
http://lists.gnu.org/mailman/listinfo/bug-global

Re: [BUG] gtags-find-rtag doesn't work through GTAGSLIBPATH

by Shigio YAMAGUCHI-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,
> - under emacs, gtags-find-rtag doesn't work through GTAGSLIBPATH

Yes. It is the specification of GLOBAL itself, it is unrelated to gtags.el.
Please see: http://lists.gnu.org/archive/html/bug-global/2006-08/msg00012.html

However, it is certain that the specification of GTAGSLIBPATH is not
neatly written in the manual. I feel it apologize very much.

> - to overcome this you must first gtags-find-tag and then at the point
> of definition
> execute again gtags-find-rtag ... which is not ok

This occurring is because emacs changes the current directory at each file.
You can fix the current project using gtags-visit-root command.

> - in the documentation for gtags usage is not very clear that GTAGSLIBPATH work
> properly _only_ if the four G* files are found somewhere on the path
> to the root from
> the current point (that is if you are under some "project" files then
> GTAGSLIBPATH is follow)

In the present specification, you must invoke global(1) in a project.
Global(1) looks for GTAGS file aiming at the system's root directory.
If GTAGS file is not found then global(1) exits with a error message
"global: GTAGS not found.".  It is unrelated to GTAGSLIBPATH.
Are you proposing the change in this specification?

> - I use gtags for emacs to browse files and expect gtags to follow
> GTAGSLIBPATH to search
> other files despite that the four G* files are not present somewhere
> on the path to the root.

Is your wanting to do this?

+------------------------------
|#!/bin/sh
|for d in <directory list>
|do
|        (cd $d && global -a $*)
|done
+------------------------------
--
Shigio YAMAGUCHI <shigio@...>
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3


_______________________________________________
Bug-global mailing list
Bug-global@...
http://lists.gnu.org/mailman/listinfo/bug-global