Exuberant Ctags
===============

97-May-13  1.6: Changes since version 1.5:
------------------------------------------

Implemented GNU autoconf to permit automatic host configuration.

Split source code into several smaller modules and functions into
smaller pieces for easier development.

Added support for Emacs style tag files via the -e option and an ETAGS
environment variable.

Added -p option to supply a default path for source files. This is
primarily useful in makefiles.

Removed code which translated form feed and vertical tab characters into
newlines, since this is not the right thing to do and generates wrong
line numbers in the tag file.

Added additional intelligence for parsing of contents within
parentheses. This also corrects problems encountered when ignoring
identifiers followed by a parameter list.

Changed the search patterns generated for #define macros when using -N
option to terminate the pattern with the character following the name
(or "$" if end of line) instead of the "\>" used previously. Some
editors did not support this metacharacter for tag searches.

Removed -u (unique) flag from sort command line invocation to retain
exactly indentical tag patterns in the same file. This is in preparation
for editor support of duplicate tags.

Added simple check to ignore a macro invocation outside of a function
block, where it appears as if it were a function definition which never
ends.

Fixed problem of no tag generated for typedef for function or function
pointer.

Fixed problem of losing sync for strange function declarations (e.g.
"foo(params) saywhat (void);") and when calling macros outside of a
function block. These resulted in no non-macro tags generated beyond
such a line.


96-Oct-5  1.5: Changes since version 1.4:
-----------------------------------------
Added the ability to specify keywords to ignore on the command line.
**Note: the syntax of the -I option has changed.

Added ability to generate tags for objects inside C++ extern blocks
('extern "C" {...}' construct).

Allowed function definitions to be recognized inside brace-enclosed
("{}") blocks, since theses are allowed inside classes and extern blocks.

Added 'N' option to provide opposite effect of 'n'. The search patterns
for macro definitions are optimized to work even when portions of the
definition line beyond the macro name are changed.

Fixed problem that resulted in no tag generated for files containing a
function-like macro, such as 'MODULE_ID("$Id")', even when ignoring the
keyword. This also corrected a problem that caused tags to be missed for
initialized function pointer definitions.

Redirected error output to stdout for MSDOS version.

Various portability changes.

Updated man page to reflect new features.


96-Aug-18  1.4: Changes since version 1.3:
------------------------------------------

Updated man page to reflect new features.

Added ability to recursively parse into class/struct/enum blocks to look
for class/struct/enum tags and enumeration values.

Added -I option to allow a specified list of tokens to be ignored while
parsing the file. This is particularly useful when prototyping macros
appear before the parameter list.

Corrected problem where declaring a pointer const or volatile resulted
in no tag being generated.

Correction to bug causing a function tag to be generated for comma
terminated function declarations.

Various portability changes.


96-Jun-16  1.3: Changes since version 1.2:
------------------------------------------

Updated man page.

Corrected problem causing "struct tag;" to be misinterpreted as a variable
definition.

Added -n option to place line numbers into tag file instead of patterns.

Added -? option as synonym for --help.

Couple of other minor cleanup items.


96-Jun-5  1.2: Changes since version 1.1:
------------------------------------------

Corrected problem with uninitialized variable introduced in the 1.1 change.

Updated other files to reflect this bug fix.


96-Jun-4  1.1: Changes since version 1.0a:
------------------------------------------

Corrected bug in reading of header extension list for -h option.

Updated and corrected ANNOUNCE and ctags.lsm files.


96-Jun-3  1.0a: Changes since version 1.0:
------------------------------------------

Tiny modification to ctags.c and README to add package name.

Slight additions to man page.

Added ctags.lsm to package, an LSM file used for the Linux Software Map.

vim:tw=72
