Current Version: 4.0.1 ctags-4.0.1 (Wed Jun 28 2000) * Fixed segmentation violation when using --file-tags. ctags-4.0 (Thu Jun 22 2000) * Fixed infinite loop on certain syntactically invalid class constructs [C++]. * Fixed problem of incorrect tags for some pure virtual functions [C++]. * Fixed inability to clear all tag types when using --c-types= (all languages). * Fixed problem of arguments to parameterized class being reported as ancestors in the "inherits" extension flag. * Fixed missed tags for typedef-ed function pointers having a PROTO((a,b)) style argument list. * Fixed missing file tags for referenced files when using --line-directives option [C/C++]. * Fixed failure to recognize drive-qualified file name as a file name when supplied as argument to -I option [Win32]. * Fixed problem with missing comma in "inherits" extension flag [Java]. * Fixed problem with incorrect or redundant parents listed for "inherits" extension flag [Java]. * Added check to avoid recursive symbolic links to directories. * Added warning message for -i option, which is deprecated and being dropped. * Added support for Assembler, COBOL, LISP, PERL, and Scheme, taken from Gnu etags. * Added support for AWK, Bourne Shell, Python, TCL, and Vim scripts. * Added support for the BETA language, submitted by Erik Corry. * Added ability to determine language from interpreter specified in first line of executable files if they are not recognized by their extension. * Added --options option. * Added ability to specify files having no extension with -h and --langmap options. * Added compile time option to separate path components with a unix-style path separator for sharing tag file across platforms, enabled by defining the label UNIX_PATH_SEPARATOR [Win32]. * Fixed portability issues [VMS]. ctags-3.5.2 (Mon Apr 24 2000) * Fixed problem preventing Emacs-style tags from being written to stdout. ctags-3.5.1 (Sun Apr 23 2000) * Fixed infinite loop in writing Emacs-style TAGS file on platforms using tmpnam() instead of mkstemp() [Win32]. * Fixed minor problems in Borland makefiles [Win32]. * Fixed compiler warning [DJGPP]. ctags-3.5 (Fri Apr 14 2000) * Fixed core dump when including access field in tag file [Java]. * Fixed failure to identify end of statement for block statements [Java]. * Fixed bug with lone "end" in feature adaptation part of inheritance clause [Eiffel]. * Fixed problem preventing const functions from being recognized as pure virtual [C/C++]. * Fixed problem with no tags found after certain macro calls [C/C++]. * Fixed bug in descrip.mms build file [VMS]. * Changed to use mkstemp() (when available) to create temporary files for security reasons and allow configuring default temporary directory, and to override this directory at run-time by setting TMPDIR environment variable. * Added support for extracting inheritance information into new "inherits" extension flag [C++, Java]. * Added Makefile.bc5 for Borland C++ version 5.5 compiler (free version). * Added new question to FAQ regarding Xemacs. * Updated FAQ regarding new release of NEdit. * Renamed Borland 3.1 makefile from Makefile.bcc to Makefile.bc3. * Renamed Microsoft Visual C++ makefile from Makefile.w32 to Makefile.mvc. ctags-3.4 (Thu Jan 13 2000) * Fixed sorting problems when LC_ALL environment variable was set to foreign locale (not fixed by previous release). * Fixed nested scoping reported in extension flags and class-qualified tags. * Eliminated generation of class-qualified tag entries when --c-types=+C option is in effect but scope is empty (e.g. "::main"). * Added support for default access of class members in Java. * Added new extension flag "implementation", which indicates if a routine or class is virtual or abstract. * Minor changes for OS/2 compilation. ctags-3.3.3 (Thu Dec 16 1999) * Changed how input is read for -L and --filter options to permit file names containing spaces (see man page). * Fixed scope recorded for C++ class elements, especially in namespaces. * Fixed spurious tag generated for MODULE PROCEDURE in interfaces [Fortran]. * Fixed sorting problems when LC_ALL environment variable was set to foreign locale. * Fixed crash on Windows when compiled with Mingw32 gcc compiler. * Fixed compilation problems on Cray. ctags-3.3.2 (Fri Sep 24 1999) * Fixed compile problem on AIX 4.1. * Improved recovery from syntax error [Fortran]. * Changed name of configure option (now --enable-custom-config). * Changed Makefile.bcc to optimize for space, since code size exceeded 64KB. ctags-3.3.1 (Mon Sep 20 1999) * Fixed segmentation violation occurring when directory recursion was selected. * Fixed misleading message when out of memory during internal sort. ctags-3.3 (Fri Sep 17 1999) * Fixed missing class-qualified tags [Java]. * Fixed missing tag for functions having function pointer argument [C]. * Fixed parsing of conversion functions [C++]. * Added missing space following "operator" keyword to the tag names generated for function call operators [C++]. * Fixed string parsing to retry file as free source form upon EOF [Fortran]. * Fixed missing tags following comments [Fortran]. * Fixed missing labels for free source form [Fortran]. * Removed 72 character limit for fixed form source lines, since many compilers relax this limit and it is commonly taken advantage of. This was sometimes causing fixed form source to be parsed as free form source [Fortran]. * Changed misleading message when file could not be accessed. * Changed behavior of --verbose option to display option processing. * Changed -I option to permit clearing the token list with "-I-". * Changed --lang option to accept new "auto" parameter. * Changed --langmap option to accept new "default" parameter. * Changed --eiffel-types option to accept new 'C' flag to generate class-qualified tags. * Changed -h option to accept new "default" parameter. * Changed option processing. Most options may now appear anywhere on the command line, affecting only those files which follow them. * Added ability to specify default options in any of the files /etc/ctags.conf, /usr/local/etc/ctags.conf, $HOME/.ctags, .ctags, and one optional file, which can be supplied at configure time. * Added --filter option. * Added --filter-terminator option. ctags-3.2.4 (Thu Jul 01 1999) * Changed name of macro in Makefile.in to avoid being overriden by CTAGS environment variable. ctags-3.2.3 (Mon Jun 21 1999) * Small portability change for EMX compiler on OS/2. * Slight change to W32 and BCC makefiles. ctags-3.2.2 (Sat May 29 1999) * Fixed endless error loop in the case of unreadable file. * Fixed redundant include entries in TAGS file when using --etags-include. ctags-3.2.1 (Wed May 09 1999) * Fixed problem reading -I token list from file. * Fixed with "using" declarations which corrupted tag file [C++]. * Fixed configure.in to more reliably recognize existing prototypes. * Added ability to ignore preprocessor directives in Fortran files. * Added support for egcs/MingW32 compiler [Win32]. ctags-3.2 (Wed Mar 03 1999) * Fixed spurious tags related to export specifiers of feature clauses [Eiffel]. * Fixed problem with template in ctor-initialer [C++]. * Fixed typo causing compiler error [MSVC]. * Extended -I option to allow token replacement [thanks to Flemming Madsen]. * Added --etags-include option to support TAGS file includes. * Added support for QDOS [thanks to Thierry Godefroy]. ctags-3.1.2 (Tue Jan 26 1999) * Changed extension flags to eliminate space between label and value to remain true to the intent of the agreement on the extended format made with editor authors. * Added --links option to permit ignoring symbolic links. * Fixed missing tags upon ANSI style variable function argument lists. * Fixed missing tags for methods with fully qualified type names in argument list [Java]. * Fixed double tags generated for enumerators followed by comma. * Fixed missing path prefix for -p option [Win 95/NT]. ctags-3.1 (Wed Jan 20 1999) * Changed -h and -langmap options to accept a plus sign as the first character of their arguments to indicate that arguments should be added to current. * Changed default for member tags to 'on' [C/C++]. * Changed default for local entities to 'off' [Eiffel]. * Added tags for forward class/struct/union/enum declarations when using -c-types=+x [C/C++]. * Fixed memory overwrite bug causing general protection fault [Win 95/NT]. * Fixed missing tags for methods with throws clause [Java]. * Fixed bad tags generated for null macro names [C]. * Fixed spurious tag for features and entities of BIT type [Eiffel]. * Fixed spurious tags when local entity declaration list was empty [Eiffel]. * Fixed missing tags for contructors and destructors [C++]. * Fixed failure to recognize function when declaration for first argument was of template type [C++]. ctags-3.0.3 (Mon Dec 21 1998) * Fixed mistake made in previous version which caused macro tags to be missed. * Fixed parsing of --langmap option. ctags-3.0.2 (Mon Dec 21 1998) * Added tags for names undefined with #undef [C/C++]. * Added tags for renamed features (Eiffel). * Improved Emacs-style tag file contents (per Ian Zimmerman). * Fixed problem handling deferred, external, once, obsolete features in Eiffel. * Fixed porting problem [OSF1 V4.0]. ctags-3.0.1 (Sat Dec 12 1998) * Fixed problem with certain macros and functions with no declared return type. * Fixed problem causing endless loop on MSDOS/Win32 by restoring use of binary mode on opening of source files. * Fixed porting problems [SunOS 4.1.x and MSVC++ 5.0]. ctags-3.0 (Sun Dec 06 1998) * Added support for the Eiffel language (everyone should learn Eiffel). * Added support for the Fortran language. * Added --c-types option to specify tag types to be included for C/C++. * Added --eiffel-types option to specify tag types to be included for Eiffel. * Added --fortran-types option to specify tag types to be included for Fortran. * Added --file-scope option to place verbose tag description into tag file. * Added --file-tags option to place tags for source file names into tag file. * Added --java-types option to specify tag types to be included for Java. * Added --kind-long option to place verbose tag description into tag file. * Added --linedirectives option to enable processing of #line directives so that running ctags on preprocessor output can generate line numbers and file names which correspond to the original source files. * Added -V option to enable verbose message for each file considered. * Added special handling for macros of form "INIT(= value)". * Added ability to suffix an ignored identifier (-I option) with the '+' character, thus instructing ctags to also ignore any argument list which may follow the identifier. * Changed the -i option, moving Java language options to the new --java-types option. The -i option is now deprecated in favor of the new language specific tag type options. * Changed behavior of handling of ignored identifiers (-I option) to still generate a tag for any macro definition for that identifier. * Changed handling of -h option so that include files are no longer assumed to be C++ files. * Changed tags for operators to always precede the operator with the string "operator ", thus making it consistent for all operators. [C++] * Changed C/C++ parsing, catching many more tricky constructs. * Changed extension flags to place a space between the label and the value for readability. * Fixed core dump which occurred when using -iF (now --file-tags) together with -e (etags) on a zero-length file. * Fixed missing or incorrect tags for conversions operators or operator "()". * Fixed incorrect parent class in extension flags for type declarations of the form "class Bar { OtherClass::sometype foo; }". * Fixed missing tags for "friend" and "static" prototypes in header files. * Fixed problem of external "sort" reporting locale not available on HPUX. * Fixed -p option. * Fixed VMS support. It should now work for any source file type. ctags-2.3.2 (Wed Sep 09 1998) * Fixed -h option; broken since version 1.7, yet only just reported. ctags-2.3.1 (Sun Aug 30 1998) * Fixed improper handling of derived structs. * Fixed wrong class name tag when a nested-name-specifier was present in class declaration. * Added parent information into tag extension flags for data structures to match that already present for members. * Add missing documentation for --langmap option in the --help output. * Eliminated compiler warning [gcc 2.8.1]. ctags-2.3 (Thu Aug 20 1998) * Eliminated compiler warnings [SGI MIPSpro]. ctags-2.2.7 (Mon Aug 17 1998) * Fixed porting problem [Borland C++]. ctags-2.2.6 (Wed Aug 12 1998) * Fixed core dump encountered on some platforms when the CTAGS environment variable was set but empty. * Fixed porting problem [MSVC]. * Added directory recursion support for Amiga. ctags-2.2.3 (Sun Aug 02 1998) ctags-2.2.2 (Fri Jul 24 1998) * Fixed porting problems [AIX, HP-UX, OSF/1, SunOS, MSVC]. ctags-2.2.1 (Fri Jul 24 1998) * Now uses a default directory name of "." when using -R or --recurse option (e.g. "ctags -R" is equivalent to "ctags -R ."). * Directories named "SCCS" are skipped when using the -R or --recurse option under Unix. * Fixed porting problems [HP-UX, IRIX, SunOS, MSDOS/Windows]. ctags-2.2 (Mon Jul 20 1998) * Added the --recurse and -R options to allow recursing into directories. This allows running ctags on an entire source directory tree using the single command "ctags -R