I've been using the etags.el from GNU Emacs for a long time now
because I think it works a lot better. I began using it one day when
I was trying to find things in the GNU Libc sources. A tags search
using the XEmacs etags would land me one place, while a tags search
using the GNU Emacs etags would land me somewhere else... the GNU
Emacs etags put me in the right place, while the XEmacs etags did
Perhaps we should switch to the GNU Emacs etags.el, and merge any
features added to our etags into that? IIRC it runs out of the box
with only a few minor changes.
I wonder if it's worth it to support "gtags" (from BSD
"global" (google for it) makes a berkely DB btree index, afaik. If
XEmacs berkeley DB supported a btree index where each key can have
more than one value associated with it, we could support "gtags"
directly in Lisp.