home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.lang.c++:13015 comp.lang.c:12914
- Newsgroups: comp.lang.c++,comp.lang.c
- Path: sparky!uunet!centerline!shiv!kendall
- From: kendall@centerline.com (Sam Kendall)
- Subject: Tags++ (etags/ctags for C and C++) posted to comp.sources.misc
- Message-ID: <KENDALL.92Aug28113714@pen.centerline.com>
- Sender: news@centerline.com
- Nntp-Posting-Host: pen
- Organization: CenterLine Software, Inc.
- Date: Fri, 28 Aug 1992 16:37:14 GMT
- Lines: 78
-
- The basic idea of etags and ctags is to allow someone using a text
- editor (Emacs and vi, respectively) on a source program to ask the
- editor for the definition of a function, type, or other named entity.
- The editor then positions itself at the appropriate source file and
- line.
-
- Tags++ is an enhanced version of etags and tags.el (for use with GNU
- Emacs Version 18) and ctags (for use with vi). The enhancements support
- C++, and they support C better than the standard etags, tags.el, and
- ctags.
-
- This should work on all Unix(tm of AT&T) systems. It may work on VMS
- (with VMS GNU Emacs), but that has not been tested; please let me know
- if you have tried it on VMS, successfully or unsuccessfully.
-
- Tags++ has not changed significantly in several years and is robust.
-
-
- Advantages of Tags++
- --------------------
-
- The major advantage of tags++ over the standard version in Emacs
- Version 18 is support for C++. For example, given this program:
-
- class A {
- int i;
- public:
- A() { i = 5; }
- int get_i();
- };
-
- int A::get_i() { return i; }
-
- you can find the tags "A", "A::A", or "A::get_i". Caveat: if you are
- using ctags and vi, you must supply the "-T" switch when you run ctags
- to get this to happen.
-
- Even for C, tags++ finds more stuff (such as macro constants and
- structure tags) than other versions.
-
- In Emacs, you get name completion in the minibuffer (on all
- identifiers in the program). See the man page for an example of why
- this is useful. Note that the visit-tags-table operation is slow
- because it is building an alist for name completion.
-
- Also in Emacs, M-. finds exact matches first; then M-, (or C-U M-.)
- finds other exact matches, followed by successively less exact matches.
- For example, suppose you type M-. f RET, and your sources contain
- functions "efface", "f_internal", "foo", and "f" in that order. The
- standard tags facility will find these in that order -- frustrating if
- you just wanted "f". Tags++ will find "f" first (exact match), then
- "f_internal" (word match), then "efface" and "foo" (inexact matches).
-
-
- Compatibility
- -------------
-
- Tags++ is forward- and backward-compatible with the standard versions
- of etags and tags.el (for Emacs Version 18) and ctags. In other words,
- if some people at a site are using the standard tags facility and others
- are using tags++, no one will notice -- except that tags++ users will be
- unhappy with the sparse tags files produced by the standard etags or
- ctags.
-
- Tags++ almost certainly works with Epoch, although we haven't tried.
- Tags++ -- along with all other Emacs Version 18 tags programs -- is
- probably incompatible with the upcoming Emacs Version 19.
-
-
- For More Info
- -------------
-
- See the README file and man page including in the posting.
-
-
- ----
- Sam Kendall
- CenterLine Software, Inc. (formerly Saber Software)
-