[Top][All Lists]

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

Announcement: xgtags.el

From: Marco Gidde
Subject: Announcement: xgtags.el
Date: Sat, 01 Apr 2006 13:17:27 +0200
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)


I'm happy to announce the availability of another emacs interface for

While gtags.el, that comes with the GLOBAL distribution, is more a
replacement for emacs' own find-tag/pop-tag-mark facility with some
extra stuff, xgtags.el tries to permit the same functionality as
gtags.el, but behaves more like xcscope.el, the emacs interface for
cscope (http://cscope.sourceforge.net).

The package can be downloaded from

The rest of this message is pasted from a mail I sent to the
help-global mailing list and describes my motivation and some features
of this new package.


Marco Gidde

> a few months ago I switched from cscope to global because cscope
> wasn't able to parse my c++ sources properly. Since xcscope.el is in
> my opinion superior to gtags.el I took gtags.el and rewrote it almost
> completely. ...

> Because I took the cscope interface as a guide xgtags.el differs from
> gtags.el in a lot of ways. First of all, it is completely stack based:
> there is only one *xgtags* buffer that is filled with the results of
> the current search. If you pop the stack, the previous search results
> are restored (this is even better than xcscope.el :-)) The
> xgtags-minor mode provides some useful operations on this
> search/select buffer (without switching to it): next and previous
> result, pop stack and (maybe the highlight) query-replace.

> Some aspects of the original gtags.el behavior can be customized:
> - overwrite the original find-tag/pop-tag bindings or not
> - mouse support
> - open files read only 
> - kill buffers on pop-stack
> The default values are like those of gtags.el.

> xgtags.el also supports queries on different GTAGS databases and
> automatic incremental update of the databases.

> The mode line entry of the minor mode provides you with the number of
> items currently on the stack, while the select major mode shows the
> number of search results and the number of the currently selected
> tag. The output looks like this:

> /home/mg/LANG/C++/global/libutil/find.c
> find_read[67]         *       while (path = find_read()) {
> find_read[469]                * find_read: read path without GPATH.
> find_read[474]                find_read(void)
> find_read[486]                die("find_read: internal error.");

> /home/mg/LANG/C++/global/libutil/find.h
> find_read[27]         char *find_read(void);

> /home/mg/LANG/C++/global/libutil/xargs.c
> find_read[104]                * repeatable find_read
> find_read[112]                return repeat_lastpath = find_read();

> What it misses (as you probably guessed) is some documentation. It
> should be quite usable, at least I use it every day on the job.
> Currently it is only tested with gnus emacs 21.3.1, but should also
> work with xemacs, when the usual compatibility packages are loaded.

reply via email to

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