parseReturnType should start from the first non-brace token
[arduino-ctags.git] / NEWS
blobaeb8a07e6f20857b224c7ad4bce2f8e7a3220f50
1 Current Version: 5.8
3 ctags-5.8 (09 Jul 2009)
4 * Removed ".ml" as a Lisp extension (now OCaml) [Lisp].
5 * Added support for Ant language, contributed by David Fishburn.
6 * Added support for DOS Batch language, contributed by David Fishburn.
7 * Added support for Flex (Adobe) language, contributed by David Fishburn.
8 * Added support for MATLAB language, contributed by David Fishburn.
9 * Added support for Objective Camel (OCaml), provided by Vincent Berthoux [Patch #2738723].
10 * Added support for TeX language, contributed by David Fishburn.
11 * Added support for VHDL language, contributed by Nicolas Vincent [Bug #1943306].
12 * Added support for Pyrex/Cython declarations [Python].
13 * Added support for "v" kind, for variables [Python].
14 * Added support for class and member variables [PHP, Bug #1037086].
15 * Added support for recent enhancements to Eiffel language [Eiffel].
16 * Added support for ASP classes, contributed by Zendhi Nagao; changes meaning of 'c' kind flag [ASP].
17 * Added regex support when compiling with MinGW. Gnu regex module now included in all distributions.
18 * Fixed detection of triple strings inside other strings [Python, Bug #1988130].
19 * Fixed an endless loop with comments in triple strings [Python, Bug #1988027].
20 * Fixed bug where functions were sometimes seen as methods [Python, Bug #1988026].
21 * Fixed parsing of method parameter annotations, fix contributed by Paolo "blaisorblade" Giarrusso [Java, Bug #2049723, #2117073].
22 * Fixed parsing of global scope qualifiers in base class lists [C++, Bug #1799343].
23 * Fixed bug where namespace members were given kinds corresponding to globals [C++, Bug #1924919, #1575055].
24 * Fixed parsing of "else" [C#, Bug #1830344].
25 * Fixed parsing of derived enums [C#, Bug #1515910].
26 * Fixed parsing of "foreach" [C#, Bug #1830343].
27 * Fixed parsing of simple generic classes [C#, Bug #1515910].
28 * Fixed bug with detecting identifiers inside variables [Python, Bug #1809024].
29 * Fixed bug with detecting identifiers at the start of variables [Python, Bug #1856363].
30 * Fixed parsing of triple single-quoted multi-line strings [Python, Bug #1906062].
31 * Changed to newer version of autoconf, changing configure.in to configure.ac.
33 ctags-5.7 (04 Sep 2007)
34 * Added support for DIM AS [Freebasic, Bug #1741778].
35 * Added support for arbitrary nesting depth [Python, Bug #1684786, Debian bug #409078].
36 * Added support for verbatim string literals [C#, Bug #1515910].
37 * Added support for .ctags as well as ctags.cnf on Windows [Bug #1246506].
38 * Added support for non-extern, non-static functions returning wchar_t, contributed by Aaron Peromsik [C++, Patch #1458930].
39 * Added support for numerous revision control systems including Bazaar and Mercurial [Bug #1472894].
40 * Added support for enums [Java, Bug #1730485, Bug #1517143, Patch #1027395, Patch #1528507].
41 * Added support for multiple-level namespace declarations [C#].
42 * Added .svn to list of directories ignored during recursion (--recurse).
43 * Added support for BlitzBasic, PureBasic and FreeBasic [FR #1100506].
44 * Added support for interfaces and static/public/protected/private functions [PHP].
45 * Added support for 'package' keyword [Perl].
46 * Added support for multi-line subroutine, package, and constant definitions [Perl].
47 * Added support for optional subroutine declarations [Perl].
48 * Added support for formats [Perl].
49 * Added support for new convert keyword [Eiffel].
50 * Added optional tags for forward variable declarations (e.g. 'struct C;') [C, C++].
51 * Changed parsing of option input file (-L) to strip trailing white space.
52 * Ignore comments mixed into definitions and declarations [Perl].
53 * Fixed detecting labels with whitespace after label name [Perl, Bug #1752361]
54 * Fixed parsing of generic classes/interfaces [Java, Bug #1447756].
55 * Fixed misidentification of fully qualified function calls as labels [Perl].
56 * Fixed parsing of inner classes [Python, Bug #1411963].
57 * Fixed line continuation [Python, Bug #928001, Patch #819471].
58 * Fixed parsing of annotations [Java, Bug #1691412].
59 * Fixed block-comment parsing [Verilog, Patch #1458042, Bugs #960316, #1111214, #1606569, #1615060].
60 * Fixed typo in man page [Debian bug #366412].
61 * Fixed missing chunk of text in man page and over-use of hyphens in UTF-8 locales [Debian bug #271323].
62 * Fixed parsing of ` as a method name [Ruby].
63 * Fixed parsing of keywords in string literals [Ruby, Bug #1742588].
64 * Fixed potential segmentation violation [Bug #1672834, Bug #1222926].
65 * Fixed parsing of destructors with whitespace after the '~' [C++, Bug #1585745].
66 * Fixed default access of unions to be public [C++, Bug #1548443].
67 * Fixed various memory leaks, mostly contributed by Dmitry Antipov.
68 * Fixed parsing of `define [Verilog, Bug #961001].
69 * Fixed crashes involving '/' [Verilog, Bug #1743330].
70 * Fixed compilation problem on MinGW [Bug #1517424].
71 * Fixed generation of HTML-formatted man page [Bug #1645864].
72 * Fixed recognition of Python scripts having '#!/usr/bin/python' as first line [Bug #1764148].
73 * Fixed parsing of Fortran comment-to-end-of-line with no newline before EOF [Debian bug #432872].
74 * Fixed parsing of << [C/C++, Bugs #1020715, #1093123, #1770479, #1770607].
75 * Fixed parsing of fully-qualified type names [Java, Bug #814263].
76 * Fixed handling of lone carriage-return characters in file [Bug #1773926].
78 ctags-5.6 (Mon May 29 2006)
79 * Reformatted code for independence of tab stop setting.
80 * Changed default configuration to disable installation of etags links.
81 * Changed --langmap to first unmap each supplied extension from other languages.
82 * Added support for ASP constants [ASP, Patch #961842].
83 * Added support for GNU make extensions [Make].
84 * Added .mk as extension recognized as a make language file [Make].
85 * Added missing help for list-maps options [Bug #1201826].
86 * Added new extension field "typeref" [thanks to Bram Moolenaar].
87 * Extended functionality of Ruby parser with patch from Elliott Hughes [Ruby].
88 * Fixed creation of TAGS file with etags-include but no files [Bug #941233].
89 * Fixed problem reading last line of list file (-L) without final newline.
90 * Fixed infinite loop that could occur on files without final newline [C, Java].
91 * Fixed incorrect tag for first field of table [SQL].
92 * Fixed missing tags for functions beginning with underscore [Sh].
93 * Fixed missing tags for functions with variable arg list [C, Bug #1201689].
94 * Fixed parsing problem with parentheses in argument list [C, Bug #1085585].
95 * Fixed problem in preprocessor directive handling [C, Bug #1086609].
97 ctags-5.5.4 (Thu Mar 25 2004)
98 * Fixed broken -R option.
100 ctags-5.5.3 (Sun Mar 14 2004)
101 * Removed forgotten debug statement [Bug #811704].
102 * Added support for Perl labels.
103 * Added support for Perl "use constant" [Perl, Patch #853704, Feature Request
104   #710017].
105 * Added support for package qualification of tags, removing useless "package"
106   tag kind [Perl, Feature Request #448887].
107 * Added support for "and" keyword [SML, Bug #816636].
108 * Added support for variables [PHP].
109 * Fixed problem destroying tag file with certain info options [Bug #845502].
110 * Fixed portability problem [DJGPP].
111 * Fixed problem of double characters in signature field [C, Bug #852368].
112 * Fixed problem manifested by errant preprocessor conditionals [Bug #839162].
113 * Fixed incorrect line address in tag file for SQL tags [SQL, Bug #823000].
114 * Fixed incorrect recognition of POD paragraph [Perl, Bug #842077].
115 * Fixed spurious tags for for C++ member templtates [C++, Bug #849591].
116 * Fixed missing tags related to template specializations [C++, Bug #872494].
117 * Fixed spurious local tags for statements following labels [C].
118 * Fixed missing tags for certain scoped functions [Vim].
119 * Fixed infinite loop in Fortran parser.
120 * Fixed missing tags for certain initializers [Fortran, Bug #877956].
121 * Fixed problem with comment line after continuation character [Fortran,
122   Bug #858165].
124 ctags-5.5.2 (Wed Sep 17 2003)
125 * Added tags for local variables for C-based languages [C/C++/C#/Java/Vera,
126   Feature Request #449503].
127 * Fixed compilation problem due to type change made to accomodate change of
128   return type of _findfirst() in VisualStudio.Net [Win32, Bug #775789].
129 * Fixed problems with certain bit fields.
131 ctags-5.5.1 (Wed Jul 30 2003)
132 * Changed supported tag kinds for Verilog parser during overhaul.
133 * Restored exit of program after --help, --license, and --version options [Bug
134   #717311, #751240].
135 * Removed inclusion of general.h (GPL) from readtags.c (public domain).
136 * Added support for tags for labels [PL/SQL].
137 * Added support for tags for constant definitions [PHP].
138 * Fixed redundant parsing of configuration file [Windows, Bug #768814].
139 * Fixed missing tags for definitions spanning lines [Verilog, Bug #762027].
140 * Fixed compilation error for uncommon hosts.
141 * Fixed missing tags for Korn shell specific function definitions. [Sh,
142   Bug #769184]
143 * Fixed missing tags when semicolon separator appears [Fortran, Bug #734933].
144 * Fixed missing tags when endsubroutine keyword appears [Fortran, Bug #726712].
145 * Fixed problem with fixed-form line continuation following comment [Fortran,
146   Bug #726875].
147 * Fixed missing tags for nested blocks [PL/SQL, Bug #722501].
148 * Fixed missing tags for function typedefs [C].
149 * Fixed inability to map empty extension when path contained dot [Bug #742689].
151 ctags-5.5 (Tue Apr 1 2003)
152 * Changed kind indicator for methods from 'f' to 'm' [Tcl].
153 * Changed tags within interfaces to be disabled by default (like prototypes in
154   C/C++) [Fortran].
155 * Removed explicit descriptions of individual --<LANG>-types options from
156   --help output. See new --list-languages and --list-kinds options.
157 * Removed explicit list of supported languages and supported tag kinds and
158   mapping patterns from man page. See new --list-languages, --list-kinds, and
159   --list-maps options.
160 * Renamed --<LANG>-types option to --<LANG>-kinds (still accepts old name).
161 * Added --list-kinds option.
162 * Added --list-maps option.
163 * Added --list-languages option.
164 * Added support for dimensioned variables, contributed by Simon Bohlin [ASP].
165 * Added support for C# language.
166 * Added support for Erlang language, contributed by Brent Fulgham.
167 * Added support for HTML language files.
168 * Added support for JavaScript language files.
169 * Added support for SML (Standard ML) language, contributed by Venkatesh Prasad.
170 * Added mapping for .plx to Perl.
171 * Added tags for autocommand groups [Vim, Patch #664685].
172 * Added support for numerous language extensions [Fortran].
173 * Added '$', 'D', and 'd' in column 1 as comment characters [Fortran].
174 * Added special handling of --options=NONE to disable automatic reading of
175   options from configuration files or environment.
176 * Added check for case-insensitive filenames to configure.
177 * Fixed problem with lower case <SID> tag [Vim, Bug #657327].
178 * Fixed problem recognizing indented code [Vim, Patch #664685].
179 * Fixed problem with infinite loop in certain comments [PL/SQL, Bug #629115].
180 * Fixed problem of incorrect extension field [C, Bug #639639].
181 * Fixed problem of empty scoping extension field [C, Bug #639644].
182 * Fixed missing tags for functions split across lines [PHP, Bug #681824].
183 * Fixed missing tags for nested subprograms using 'contains' [Fortran,
184   Bug #670433].
185 * Fixed missing tags when variable has same name as keyword [Fortran].
186 * Fixed spurious tag when an array-spec occurs within an entity-decl [Fortran].
187 * Fixed mishandling of multiline raw strings [Python, Bug #699171].
188 * Fixed missing scope extension field on namespaces [C++, C#, Bug #665086].
189 * Fixed several bugs causing missed tags [Fortran].
190 * Fixed problem with --langmap option preventing clearing of map [Bug #688442].
191 * Fixed recognition of Unicode-8 characters [Java].
192 * Fixed man page errors and omissions.
193 * Fixed bug in readFieldValue() in readtags library.
194 * Fixed bug in option parsing in readtags command-line program.
195 * Fixed portability problems with DJGPP [Bug #692569].
196 * Fixed portability problems with Cygwin.
198 ctags-5.4 (Thu Oct 17 2002)
199 * Improved ability for tagsOpen() in readtags library to report failure to
200   open tag file, adding new fields to tagFileInfo structure.
201 * Improved Cobol support to include data, files, groups, and sections [Cobol].
202 * Added '$' a valid character for C identifier [VMS].
203 * Added support for recording routine argument declarations for C-like
204   languages. See the --fields option and man page section TAG FILE FORMAT for
205   more information [C, C++, Java].
206 * Added class and method support to TCL parser [TCL].
207 * Added support for PL/SQL language.
208 * Added support for Vera language, inspired by Dave Eggum [Vera].
209 * Fixed problem terminating Perl POD block [Perl, Bug #612621].
210 * Fixed problem re whitespace preceding subprogram name [Pascal, Bug #612019].
211 * Fixed problem with leading spaces before instruction [TCL, Bug #615928].
212 * Fixed problem with double precision functions [Fortran, Bug #620288].
213 * Fixed inverted test causing TMPDIR to be used for temporary files when
214   ctags is setuid instead of when not setuid [Bug #623713].
216 ctags-5.3.1 (Thu Sep 12 2002)
217 * Renamed tagsSetSorted() to tagsSetSortType() and "sorted" member of
218   tagFileInfo structure of readtags library to "sort".
219 * Added new function, tagsFirst() to readtags library.
220 * Fixed incorrect tag kinds [Verilog].
221 * Fixed null tags for unnamed BLOCK DATA statements [Fortran].
222 * Fixed missing tags for function preceded by "<SID>" [Vim].
223 * Fixed missing tags for equate statements not in column 1 [Asm, Bug #538629].
224 * Fixed Ruby parser (why didn't the compiler report my screw-up?) [Ruby].
226 ctags-5.3 (Wed Jul 17 2002)
227 * Allowed --etags-include option without input files.
228 * Changed Asm parser to back to C-based parser to remove redundant tags,
229   and extending its support for more variants [Asm].
230 * Changed to using _tempnam() to create temporary files on Windows, allowing
231   "TMP" environment variable to set temporary directory.
232 * Changed the -x output to match that of traditional ctags when the --format=1
233   option is supplied. The new format was also changed slightly to conform more
234   closely to the original format, with the addition of the extra tag type field.
235 * Added support for Verilog language, submitted by Nam SungHyun.
236 * Added support for RISC OS platform, contributed by Andrew Wingate.
237 * Added support for "#pragma weak", generating macro tags for weak symbols [C].
238 * Added support for mixins and class methods to Ruby parser, submitted by
239   Matthias Veit [Ruby].
240 * Added support to ctags and readtags library for case-folded sorting of tag
241   files, submitted by Flemming Madsen.
242 * Added identification of class methods [Python].
243 * Fixed portability problems [Bugs #541997, #571240].
244 * Fixed bug in configure script [Solaris, Bug #542966].
245 * Fixed invalid package name tags [Perl, Bug #535068].
246 * Fixed failure to output relative paths into etags TAGS files on Win32
247   [Bug #568365].
248 * Fixed incorrect line address in cases of line continuation [Fortran].
249 * Fixed missing tags for certain cases of invalid syntax [C].
250 * Fixed missing tags in Fortran with HPF extensions [Fortran, Bug #565813].
251 * Fixed spurious tag for clients portion of feature clause when following
252   an empty feature clause [Eiffel].
254 ctags-5.2.3 (Sun Feb 24 2002)
255 * Fixed portability problem in makefile [Solaris, FreeBSD].
256 * Fixed infinite loop for certain cases of invalid syntax [Eiffel].
257 * Changed Asm parser to regex, extending its support for more variants [Asm].
259 ctags-5.2.2 (Sat Feb 16 2002)
260 * Fixed spurious tags following empty feature clause [Eiffel].
261 * Fixed missing tags for classes specifying generic creation routine [Eiffel].
262 * Fixed missing tags when label not followed by white space [YACC].
263 * Fixed for portability [Solaris, MacOS X].
264 * Added support for type reference tool [Eiffel].
266 ctags-5.2.1 (Sun Jan 20 2002)
267 * Portability fixes [Mingw32].
268 * Added "RCS" and "CVS" to list of directories excluded by default.
269 * Fixed missing tags for function pointers declared const or volatile
270   [C, Bug #503764].
272 ctags-5.2 (Sun Dec 23 2001)
273 * Portability fixes [HP-UX, Solaris, VMS, OS/2].
274 * Made code compilable by a C++ compiler.
275 * Changed reading of option files to ignore blank lines.
276 * Changed and enhanced interface to readtags library (see readtags.h).
277 * Changed from using addLanguageRegex() to addTagRegex() in regex-based
278   parsers.
279 * Added support for Lua language, submitted by Max Ischenko.
280 * Added instructions to man page on using tags with NEdit.
281 * Added setargv.obj to link for wildcard expansion [MSVC].
282 * Added capability to have regex invoke a callback in a regex parser.
283 * Fixed regex tag problem which left newlines in back-references.
284 * Fixed missing class-qualified tags [Eiffel].
285 * Fixed spurious tags for entries in final indexing clause [Eiffel].
286 * Fixed problem with invalid filenames in preprocessor line directives.
287 * Fixed bug parsing scoped variables (e.g. "b:variable") [Vim, Bug #487608].
288 * Fixed problem compiling readtags.c on some hosts.
289 * Fixed memory overwrite problem in readtags library.
291 ctags-5.1 (Tue Nov 06 2001)
292 * Changed name of option configuration files for MSDOS, MSWindows, and OS/2.
293 * Changed regex support to enforce REG_NEWLINE. This fixes problem where the
294   newline character was explicity being matched by user patterns [Bug #431477].
295 * Added new public domain library for reading tag files (see readtags.h).
296 * Added support for variables and namespaces, provided by Jay Glanville [Vim].
297 * Added report of non-options in option configuration files and CTAGS
298   environment variable.
299 * Added support for YACC language, submitted by Nick Hibma [YACC].
300 * Added support for Perl packages, submitted by Nick Hibma [Perl].
301 * Added '$' as valid identifier character for DEC C compiler [VMS, Bug #425147].
302 * Added compilation date and time to --version output.
303 * Added configure check for HP-UX to determine if ANSI options needed [HP-UX].
304 * Removed tags for forward class/struct declarations [C/C++, Bug #432563].
305 * Eliminated ;" separator from end of tag line when no extension fields are
306   present.
307 * Fixed segmentation violation for some Lisp files [Lisp].
308 * Fixed segmentation violation occurring when file referenced in #line
309   directive was from an unknown language.
310 * Fixed loss of sync when parsing bit fields named with C++ reserved word [C].
311 * Fixed compilation problem on gcc-2.7.2.
312 * Fixed problem parsing verbatim strings [Eiffel].
313 * Fixed problem with PHP references [PHP].
314 * Fixed handling of Perl __DATA__ sections [Perl].
315 * Fixed problem resulting from white space in tag name due to regex name
316   specifier.
317 * Fixed double reading of $HOME/.ctags when current directory is $HOME.
318 * Fixed problem reading option configuration files using CR-LF newlines.
319 * Fixed problem preventing output control over tag kinds of regex patterns
320   [Bug #429869]
321 * Fixed incorrect parsing of Vim functions with ':' modifiers [Bug #466517].
323 ctags-5.0.1 (Sun Apr 15 2001)
324 * Fixed problem checking recursive links [SunOS 4.x].
325 * Improved security on hosts where mkstemp() is not available.
327 ctags-5.0 (Sun Mar 18 2001)
328 * Restructured code to simplify support for new language parsers.
329 * Changed source code to use ANSI-style function definitions.
330 * Changed scope-qualified tag entries to omit enumeration name [C/C++].
331 * Changed reading of files supplied to -I option to read one token per line.
332 * Changed reading of option files to read one argument per line.
333 * Changed default extension fields, now controlled by new option --fields.
334 * Changed detection of etags invocation to accept any name containing "etags".
335 * Removed -p option, which only caused confusion and is rendered obsolete by
336   the change immediately above.
337 * Removed 'A' flag to the --c-types, --eiffel-types, and --java-types
338   options, replacing its functionality with the new --fields option.
339 * Removed 'C' flag to the --c-types, --eiffel-types, and --java-types
340   options, replacing its functionality with the new --extra option.
341 * Deprecated -i option, which was long ago replaced with the --c-types option.
342 * Deprecated --file-tags option, now incorporated into new --extra option.
343 * Deprecated --kind-long option, now incorporated into new --fields option.
344 * Renamed --lang[uage] option to --language-force.
345 * Renamed makefiles for non-Unix platforms.
346 * Improved parsing of assembly language files [Asm].
347 * Improved parsing of Fortran language files, adding new tag kinds [Fortran].
348 * Added documentation explaining how to extend ctags with new parsers.
349 * Added support for regular expressions, using either Posix or Gnu interface.
350 * Added support for mapping file names to languages using shell patterns.
351 * Added support for ASP scripts, submitted by Patrick Dehne [ASP].
352 * Added support for Makefiles [Make].
353 * Added support for Pascal language [Pascal].
354 * Added support for PHP scripts, submitted by Jesus Castagnetto [PHP].
355 * Added support for REXX language [REXX], based on submission by Alexaner Mai.
356 * Added support for Ruby, submitted by Thaddeus Covert [Ruby].
357 * Added support for S-Lang, submitted by Francesc Rocher [SLang].
358 * Added support for Macintosh platform using MPW (by Maarten Hekkelman).
359 * Added .tk as recognized extension [Tcl].
360 * Added .cp and .hp as C++ extensions [C++].
361 * Added .zsh as shell script extension [Sh].
362 * Added support for trigraphs for C-based languages [C/C++].
363 * Added language recognition for shell scripts using "#!/usr/bin/env command".
364 * Added check for recursive directory links.
365 * Added support for "[" form of verbatim strings [Eiffel].
366 * Added --exclude option to exclude directories while recursing.
367 * Added --fields option to specify extension fields to include in output.
368 * Added --extra option to allow control over extra tags.
369 * Added --regex-<LANG> option to define language-specific regular expressions.
370 * Added --<LANG>-types options for all supported languages.
371 * Added --langdef option to define new languages to be parsed with regex.
372 * Added --languages option to restrict set of languages scanned for tags.
373 * Added --tag-relative option to make file paths recorded in tag file relative
374   to location of tag file itself instead of the current working directory when
375   file arguments are specified using relative paths.
376 * Added restriction of permissions of created temporary files when mkstemp()
377   is not available for security.
378 * Reimplemented line directive handling to work for all languages.
379 * Fixed tag generation for packages [Java].
380 * Fixed Lisp parser [Lisp].
381 * Fixed Mingw32 port [Win32].
382 * Fixed bug in procedure name parsing [Tcl].
383 * Fixed bug resulting in wrong column being checked for paragraphs [Cobol].
384 * Fixed bug in language dispatch for executable "#!" scripts [Unix].
385 * Fixed bugs resulting in incorrect scope entries in tag file [C++/Java].
386 * Fixed warning caused by reinstallation of etags link [Unix].
387 * Fixed destruction of existing tag file when no files supplied on invocation.
388 * Fixed problem in Makefile.in which prevented configuring and building in
389   non-source directory. Also changed Makefile.in to generate and use correct
390   object and executable file extensions when run on Win32.
392 ctags-4.0.3 (Sun Jul 16 2000)
393 * Fixed compiler warnings [Amiga].
394 * Fixed problem in configure.in causing struct stat st_ino member test to fail.
395 * Fixed problem with TAGS entries for files using DOS-style (CR-LF) new lines.
396 * Improved algorithm for locating Perl functions and skipping pods.
397 * Improved algorithm for locating shell functions [Sh].
398 * Renamed Makefile.amiga to Makefile.manx [Amiga].
399 * Added Makefile.sas for SAS C compiler [Amiga].
400 * Updated Makefile.qdos [QDOS].
401 * Improved support for DECC compiler [VAX].
403 ctags-4.0.2 (Mon Jul 10 2000)
404 * Now silently ignore -w option for backwards compatibility with SVR4 ctags.
405 * Fixed bug resulting in no extension flags when using --kind-long option.
407 ctags-4.0.1 (Wed Jun 28 2000)
408 * Fixed segmentation violation when using --file-tags.
410 ctags-4.0 (Thu Jun 22 2000)
411 * Fixed infinite loop on certain syntactically invalid class constructs [C++].
412 * Fixed problem of incorrect tags for some pure virtual functions [C++].
413 * Fixed inability to clear all tag types when using --c-types= (all languages).
414 * Fixed problem of arguments to parameterized class being reported as
415   ancestors in the "inherits" extension flag.
416 * Fixed missed tags for typedef-ed function pointers having a PROTO((a,b))
417   style argument list.
418 * Fixed missing file tags for referenced files when using --line-directives
419   option [C/C++].
420 * Fixed failure to recognize drive-qualified file name as a file name when
421   supplied as argument to -I option [Win32].
422 * Fixed problem with missing comma in "inherits" extension flag [Java].
423 * Fixed problem with incorrect or redundant parents listed for "inherits"
424   extension flag [Java].
425 * Added check to avoid recursive symbolic links to directories.
426 * Added warning message for -i option, which is deprecated and being dropped.
427 * Added support for Assembler, COBOL, LISP, PERL, and Scheme, taken from Gnu
428   etags.
429 * Added support for AWK, Bourne/Korn/Z Shell, Python, TCL, and Vim scripts.
430 * Added support for the BETA language, submitted by Erik Corry.
431 * Added ability to determine language from interpreter specified in first line
432   of executable files if they are not recognized by their extension.
433 * Added --options option.
434 * Added ability to specify files having no extension with -h and --langmap
435   options.
436 * Added compile time option to separate path components with a unix-style path
437   separator for sharing tag file across platforms, enabled by defining the
438   label UNIX_PATH_SEPARATOR [Win32].
439 * Fixed portability issues [VMS].
441 ctags-3.5.2 (Mon Apr 24 2000)
442 * Fixed problem preventing Emacs-style tags from being written to stdout.
444 ctags-3.5.1 (Sun Apr 23 2000)
445 * Fixed infinite loop in writing Emacs-style TAGS file on platforms using
446   tmpnam() instead of mkstemp() [Win32].
447 * Fixed minor problems in Borland makefiles [Win32].
448 * Fixed compiler warning [DJGPP].
450 ctags-3.5 (Fri Apr 14 2000)
451 * Fixed core dump when including access field in tag file [Java].
452 * Fixed failure to identify end of statement for block statements [Java].
453 * Fixed bug with lone "end" in feature adaptation part of inheritance clause
454   [Eiffel].
455 * Fixed problem preventing const functions from being recognized as pure
456   virtual [C/C++].
457 * Fixed problem with no tags found after certain macro calls [C/C++].
458 * Fixed bug in descrip.mms build file [VMS].
459 * Changed to use mkstemp() (when available) to create temporary files for
460   security reasons and allow configuring default temporary directory, and to
461   override this directory at run-time by setting TMPDIR environment variable.
462 * Added support for extracting inheritance information into new "inherits"
463   extension flag [C++, Java].
464 * Added Makefile.bc5 for Borland C++ version 5.5 compiler (free version).
465 * Added new question to FAQ regarding Xemacs.
466 * Updated FAQ regarding new release of NEdit.
467 * Renamed Borland 3.1 makefile from Makefile.bcc to Makefile.bc3.
468 * Renamed Microsoft Visual C++ makefile from Makefile.w32 to Makefile.mvc.
470 ctags-3.4 (Thu Jan 13 2000)
471 * Fixed sorting problems when LC_ALL environment variable was set to foreign
472   locale (not fixed by previous release).
473 * Fixed nested scoping reported in extension flags and class-qualified tags.
474 * Eliminated generation of class-qualified tag entries when --c-types=+C
475   option is in effect but scope is empty (e.g. "::main").
476 * Added support for default access of class members in Java.
477 * Added new extension flag "implementation", which indicates if a routine or
478   class is virtual or abstract.
479 * Minor changes for OS/2 compilation.
481 ctags-3.3.3 (Thu Dec 16 1999)
482 * Changed how input is read for -L and --filter options to permit file names
483   containing spaces (see man page).
484 * Fixed scope recorded for C++ class elements, especially in namespaces.
485 * Fixed spurious tag generated for MODULE PROCEDURE in interfaces [Fortran].
486 * Fixed sorting problems when LC_ALL environment variable was set to foreign
487   locale.
488 * Fixed crash on Windows when compiled with Mingw32 gcc compiler.
489 * Fixed compilation problems on Cray.
491 ctags-3.3.2 (Fri Sep 24 1999)
492 * Fixed compile problem on AIX 4.1.
493 * Improved recovery from syntax error [Fortran].
494 * Changed name of configure option (now --enable-custom-config).
495 * Changed Makefile.bcc to optimize for space, since code size exceeded 64KB.
497 ctags-3.3.1 (Mon Sep 20 1999)
498 * Fixed segmentation violation occurring when directory recursion was selected.
499 * Fixed misleading message when out of memory during internal sort.
501 ctags-3.3 (Fri Sep 17 1999)
502 * Fixed missing class-qualified tags [Java].
503 * Fixed missing tag for functions having function pointer argument [C].
504 * Fixed parsing of conversion functions [C++].
505 * Added missing space following "operator" keyword to the tag names generated
506   for function call operators [C++].
507 * Fixed string parsing to retry file as free source form upon EOF [Fortran].
508 * Fixed missing tags following comments [Fortran].
509 * Fixed missing labels for free source form [Fortran].
510 * Removed 72 character limit for fixed form source lines, since many compilers
511   relax this limit and it is commonly taken advantage of. This was sometimes
512   causing fixed form source to be parsed as free form source [Fortran].
513 * Changed misleading message when file could not be accessed.
514 * Changed behavior of --verbose option to display option processing.
515 * Changed -I option to permit clearing the token list with "-I-".
516 * Changed --lang option to accept new "auto" parameter.
517 * Changed --langmap option to accept new "default" parameter.
518 * Changed --eiffel-types option to accept new 'C' flag to generate
519   class-qualified tags.
520 * Changed -h option to accept new "default" parameter.
521 * Changed option processing. Most options may now appear anywhere on the
522   command line, affecting only those files which follow them.
523 * Added ability to specify default options in any of the files /etc/ctags.conf,
524   /usr/local/etc/ctags.conf, $HOME/.ctags, .ctags, and one optional file,
525   which can be supplied at configure time.
526 * Added --filter option.
527 * Added --filter-terminator option.
529 ctags-3.2.4 (Thu Jul 01 1999)
530 * Changed name of macro in Makefile.in to avoid being overriden by CTAGS
531   environment variable.
533 ctags-3.2.3 (Mon Jun 21 1999)
534 * Small portability change for EMX compiler on OS/2.
535 * Slight change to W32 and BCC makefiles.
537 ctags-3.2.2 (Sat May 29 1999)
538 * Fixed endless error loop in the case of unreadable file.
539 * Fixed redundant include entries in TAGS file when using --etags-include.
541 ctags-3.2.1 (Wed May 09 1999)
542 * Fixed problem reading -I token list from file.
543 * Fixed with "using" declarations which corrupted tag file [C++].
544 * Fixed configure.in to more reliably recognize existing prototypes.
545 * Added ability to ignore preprocessor directives in Fortran files.
546 * Added support for egcs/MingW32 compiler [Win32].
548 ctags-3.2 (Wed Mar 03 1999)
549 * Fixed spurious tags related to export specifiers of feature clauses [Eiffel].
550 * Fixed problem with template in ctor-initialer [C++].
551 * Fixed typo causing compiler error [MSVC].
552 * Extended -I option to allow token replacement [thanks to Flemming Madsen].
553 * Added --etags-include option to support TAGS file includes.
554 * Added support for QDOS [thanks to Thierry Godefroy].
556 ctags-3.1.2 (Tue Jan 26 1999)
557 * Changed extension flags to eliminate space between label and value to remain
558   true to the intent of the agreement on the extended format made with editor
559   authors.
560 * Added --links option to permit ignoring symbolic links.
561 * Fixed missing tags upon ANSI style variable function argument lists.
562 * Fixed missing tags for methods with fully qualified type names in argument
563   list [Java].
564 * Fixed double tags generated for enumerators followed by comma.
565 * Fixed missing path prefix for -p option [Win 95/NT].
567 ctags-3.1 (Wed Jan 20 1999)
568 * Changed -h and -langmap options to accept a plus sign as the first character
569   of their arguments to indicate that arguments should be added to current.
570 * Changed default for member tags to 'on' [C/C++].
571 * Changed default for local entities to 'off' [Eiffel].
572 * Added tags for forward class/struct/union/enum declarations when using
573   -c-types=+x [C/C++].
574 * Fixed memory overwrite bug causing general protection fault [Win 95/NT].
575 * Fixed missing tags for methods with throws clause [Java].
576 * Fixed bad tags generated for null macro names [C].
577 * Fixed spurious tag for features and entities of BIT type [Eiffel].
578 * Fixed spurious tags when local entity declaration list was empty [Eiffel].
579 * Fixed missing tags for contructors and destructors [C++].
580 * Fixed failure to recognize function when declaration for first argument
581   was of template type [C++].
583 ctags-3.0.3 (Mon Dec 21 1998)
584 * Fixed mistake made in previous version which caused macro tags to be missed.
585 * Fixed parsing of --langmap option.
587 ctags-3.0.2 (Mon Dec 21 1998)
588 * Added tags for names undefined with #undef [C/C++].
589 * Added tags for renamed features (Eiffel).
590 * Improved Emacs-style tag file contents (per Ian Zimmerman).
591 * Fixed problem handling deferred, external, once, obsolete features in Eiffel.
592 * Fixed porting problem [OSF1 V4.0].
594 ctags-3.0.1 (Sat Dec 12 1998)
595 * Fixed problem with certain macros and functions with no declared return type.
596 * Fixed problem causing endless loop on MSDOS/Win32 by restoring use of binary
597   mode on opening of source files.
598 * Fixed porting problems [SunOS 4.1.x and MSVC++ 5.0].
600 ctags-3.0 (Sun Dec 06 1998)
601 * Added support for the Eiffel language (everyone should learn Eiffel).
602 * Added support for the Fortran language.
603 * Added --c-types option to specify tag types to be included for C/C++.
604 * Added --eiffel-types option to specify tag types to be included for Eiffel.
605 * Added --fortran-types option to specify tag types to be included for Fortran.
606 * Added --file-scope option to place verbose tag description into tag file.
607 * Added --file-tags option to place tags for source file names into tag file.
608 * Added --java-types option to specify tag types to be included for Java.
609 * Added --kind-long option to place verbose tag description into tag file.
610 * Added --linedirectives option to enable processing of #line directives so
611   that running ctags on preprocessor output can generate line numbers and file
612   names which correspond to the original source files.
613 * Added -V option to enable verbose message for each file considered.
614 * Added special handling for macros of form "INIT(= value)".
615 * Added ability to suffix an ignored identifier (-I option) with the '+'
616   character, thus instructing ctags to also ignore any argument list which
617   may follow the identifier.
618 * Changed the -i option, moving Java language options to the new --java-types
619   option. The -i option is now deprecated in favor of the new language
620   specific tag type options.
621 * Changed behavior of handling of ignored identifiers (-I option) to still
622   generate a tag for any macro definition for that identifier.
623 * Changed handling of -h option so that include files are no longer assumed to
624   be C++ files.
625 * Changed tags for operators to always precede the operator with the string
626   "operator ", thus making it consistent for all operators. [C++]
627 * Changed C/C++ parsing, catching many more tricky constructs.
628 * Changed extension flags to place a space between the label and the value for
629   readability.
630 * Fixed core dump which occurred when using -iF (now --file-tags) together
631   with -e (etags) on a zero-length file.
632 * Fixed missing or incorrect tags for conversions operators or operator "()".
633 * Fixed incorrect parent class in extension flags for type declarations of the
634   form "class Bar { OtherClass::sometype foo; }".
635 * Fixed missing tags for "friend" and "static" prototypes in header files.
636 * Fixed problem of external "sort" reporting locale not available on HPUX.
637 * Fixed -p option.
638 * Fixed VMS support. It should now work for any source file type.
640 ctags-2.3.2 (Wed Sep 09 1998)
641 * Fixed -h option; broken since version 1.7, yet only just reported.
643 ctags-2.3.1 (Sun Aug 30 1998)
644 * Fixed improper handling of derived structs.
645 * Fixed wrong class name tag when a nested-name-specifier was present in class
646   declaration.
647 * Added parent information into tag extension flags for data structures to
648   match that already present for members.
649 * Add missing documentation for --langmap option in the --help output.
650 * Eliminated compiler warning [gcc 2.8.1].
652 ctags-2.3 (Thu Aug 20 1998)
653 * Eliminated compiler warnings [SGI MIPSpro].
655 ctags-2.2.7 (Mon Aug 17 1998)
656 * Fixed porting problem [Borland C++].
658 ctags-2.2.6 (Wed Aug 12 1998)
659 * Fixed core dump encountered on some platforms when the CTAGS environment
660   variable was set but empty.
661 * Fixed porting problem [MSVC].
662 * Added directory recursion support for Amiga.
664 ctags-2.2.3 (Sun Aug 02 1998)
665 ctags-2.2.2 (Fri Jul 24 1998)
666 * Fixed porting problems [AIX, HP-UX, OSF/1, SunOS, MSVC].
668 ctags-2.2.1 (Fri Jul 24 1998)
669 * Now uses a default directory name of "." when using -R or --recurse option
670   (e.g. "ctags -R" is equivalent to "ctags -R .").
671 * Directories named "SCCS" are skipped when using the -R or --recurse option
672   under Unix.
673 * Fixed porting problems [HP-UX, IRIX, SunOS, MSDOS/Windows].
675 ctags-2.2 (Mon Jul 20 1998)
676 * Added the --recurse and -R options to allow recursing into directories.
677   This allows running ctags on an entire source directory tree using the
678   single command "ctags -R <dir>". Currently, this option is only supported on
679   UNIX, MSDOS, Windows 95/NT, and OS/2. Other platforms will have to wait.
680 * Changed writing of Emacs-style TAGS file to binary mode [MSDOS/Windows].
681 * Fixed porting problems [HP-UX, OSF/1].
683 ctags-2.1.1 (Mon Jul 06 1998)
684 * Changed -h option to allow only periods to separate extensions.
685 * Added the --langmap option to allow overriding the default associations
686   between source language and file extension.
687 * Added configuration check and code work-around for putenv() prototypes
688   missing the const from the argument declaration [IRIX 5.2 and CRAY J90].
689 * Added makefile for VMS.
690 * Fixed porting problem [HP-UX].
692 ctags-2.1 (Wed Jul 01 1998)
693 * Added Java support.
694 * Eliminated the --keywords option introduced in the 2.0.4, replacing it with
695   automatic detection of the language (i.e. recognized keywords) based upon
696   the file extension.
697 * Added the --lang option for manually overriding the automatic selection of
698   the language.
699 * Added new flag 'i' to the -i option to allow generating tags for Java
700   interfaces.
701 * Added new flag 'n' to the -i option to allow generating tags for C++
702   namespaces.
703 * Added new flag 'x' to the -i option to allow generating tags for extern
704   variable declarations.
705 * Added new extension flags, "private", "protected", and "public", which
706   indicate the visibility of class members when it can be determined.
707 * Changed behavior of flag 'C' of the -i option to add tags of form
708   "class.member" for Java.
709 * Changed how files on command line are handled. Ctags will now only scan
710   those files whose extensions it knows about unless the --lang option is
711   specified. This allows running ctags on all files in a directory without
712   having to be specific (e.g. "ctags *").
713 * Removed support for duplicate tag warnings and the -w and -W options. These
714   options are silently ignored for now.
716 ctags-2.0.4 (Sat May 23 1998)
717 * Added sorting time to the output of the --totals option.
718 * Added the --keywords option to allow restricting the recognized
719   declaration keywords in order to handle legacy source code which uses
720   newer keywords for variable and parameter names.
721 * Ignore list now also applies to macro tags.
722 * /dev/stdout now properly handled as parameter to -f/-o option.
723 * Fixed problem handling an operator definition in C++ when white space
724   appeared between the "operator" keyword and the operator (e.g. "=").
725 * Fixed handling of non-symbolic operators (e.g. "new", "delete", etc.).
726 * Fixed sort order problem for some locale settings.
727 * Fixed segmentation violation when using ignore list (-I) on SunOS 4.x.
728 * Fixed a segmentation violation caused by a stack overwrite when testing a
729   particular kind of non-standard tag file format.
731 ctags-2.0.3 (Sun Mar 12 1998)
732 * Added configure check for "strip" program.
733 * Added new flag 'C' to the -i option to allow adding extra tags to the tag
734   file in the form "class::member" for class methods and members.
736 ctags-2.0.2 (Wed Feb 25 1998)
737 * Added stripping of installed binary for "install" target.
739 ctags-2.0.1 (Thu Feb 19 1998)
740 * Added support for C++.
741 * Added new flag 'F' to the -i option to allow adding an extra tag for the
742   basename of each source file supplied to ctags. This provides the ability to
743   jump to a source file in Vi using ":tag file.c".
744 * Added new flag 'm' to generate tags for class, structure, and union members
745   (disabled by default).
746 * Added several new flags to the -i option to allow finer specification of
747   which types of tags to include/exclude.
748 * Added ".hh" extension to the default list of files recognized as header
749   files.
750 * Added explicit handling of special gcc construct __attribute((..)),
751   which could lead to incorrect tag generation.
752 * Added configure option --disable-extended-format to allow building ctags
753   with the extended format disabled by default.
754 * Added configure option --enable-macro-patterns to change the default
755   behavior of ctags to generate patterns instead of line numbers for macro
756   (define) tags.
757 * Changed configure option --enable-internal-sort to --disable-external-sort.
758 * Changed makefile for OS/2.
759 * Removed support for the -d, -t and -T options which had been deprecated
760   for some time.
761 * Removed ANNOUNCE file in distribution, consolidating it with the README
762   file.
763 * Replaced CHANGES file with NEWS for more GNU-like standard distribution.
764 * Improved the detection of macros of the type generated by Microsoft Visual C
765   when generating source code. These caused subsequent statements to fail to
766   have tags generated for them. Still not bullet proof, though.
767 * Fixed a problem which prevented the use of / as a path separator under MSDOS
768   and Win 95/NT.
769 * Fixed problem of blank lines occuring in the tag file.
770 * Fixed recognition of declarations with parentheses.
771 * Fixed problem of missing tags for objects within extern "C" blocks.
772 * Fixed problem in source file counts when using --totals option.
773 * Extended the length of tag type field in -x output to be more verbose.
774 * Fixed option initialization error which caused static tags to be excluded.
776 ctags-1.7 (Mon Oct 13 1997)
777 * Tag files now use a new extended format which is backwards compatible with
778   existing Vi implementations, yet provides extended information which can be
779   used by supporting editors.
780 * Added documentation pseudo-tags (e.g. !_TAG_FILE_FORMAT) to tag file.
781 * Added the --excmd option as alternative to the -n and -N options.
782 * Added the --format option to allow forcing the old-style tag file format.
783 * Added the --if0 to control how "#if 0" branches are handled.
784 * Added the --sort option as alternative to -u option.
785 * Added the --totals option to print statistics of tag generation.
786 * Added the --version option.
787 * Improved handling of preprocessor conditionals.
788 * Code within an #if 0 is now never scanned for non-macro tags by default
789   since tags within that code could conceivably be overridden by more
790   desirable tags in the #else branch to follow. Macro tags in these branches
791   are always included.
792 * Fixed problem which could leave invalid tag entries in tag file when an
793   internal re-scan of a source file occurred.
794 * Fixed problem with internal sort mechanism when appending tags to existing
795   file.
796 * Changed external sort command to filter out duplicate identical tags lines
797   (including the pattern) unless warnings for duplicate tags are enabled.
798 * Added data to emacs style tag entries to more closely match that produced by
799   the GNU etags.
800 * Removed fixed limits on maximum tag line length.
801 * Correction to Amiga makefile.
802 * Improvements to Win32 portability with changes to Makefile.w32.
804 ctags-1.6 (Tue May 13 1997)
805 * Now using GNU autoconf to permit automatic host configuration.
806 * Added the -e option to generate Emacs style tag files
807 * Added ETAGS environment variable to be used when -e option is in effect.
808 * Added the -p option to supply a default path for source files.
809 * Fixed problem of incorrect line numbers in tag file when form feeds and
810   vertical tabs occured in the source file.
811 * Fixed problem preventing ignoring of identifiers specified via the -I option
812   when the identifiers were followed by a parameter list in the source code.
813 * Changed the search patterns generated for #define macros when using -N
814   option. It now includes the character following the name (or "$" if end of
815   line) instead of the "\>" used previously. Some editors did not support this
816   metacharacter for tag searches.
817 * Removed -u (unique) flag from sort command line invocation to retain exactly
818   indentical tag patterns in the same file. This is in preparation for editor
819   support of duplicate tags.
820 * Fixed problem resulting in no tags generated following a function-like
821   macro reference outside of a function block.
822 * Fixed problem of no tags generated for typedef for function or function
823   pointer.
824 * Fixed problem of no tags generated after encountering strange function
825   declarations (e.g. "foo(params) saywhat (void);")
827 ctags-1.5 (Sat Oct 5 1996)
828 * Added generation of tags for objects inside C++ extern blocks (e.g.
829   'extern "C" {...}' construct).
830 * Added generation of tags for function definitions inside brace-enclosed
831   ("{}") blocks, since function definitions are allowed inside classes and
832   extern blocks.
833 * Added the -N option to force patterns to be used for all tags (including
834   macro tags).
835 * Changed the search patterns generated for macro definitions to be terminated
836   with "\>", which allows the pattern to still match even when the #define
837   line beyond the macro name is changed.
838 * Fixed problem resulting in no tags generated for files containing a
839   function-like macro, such as 'MODULE_ID("$Id")', even when ignoring the
840   keyword. This also fixed a problem that caused tags to be missed for
841   initialized function pointer definitions.
842 * Redirected error messages to stdout for MSDOS version.
844 ctags-1.4 (Sun Aug 18 1996)
845 * Added recursive parsing of class/struct/enum blocks to look for
846   class/struct/enum tags and enumeration values.
847 * Added the -I option to specify keywords to ignore in the source files.
848 * Fixed problem resulting in no tag generated when declaring a pointer const
849   or volatile.
850 * Fixed problem resulting in no tag generated for comma terminated function
851   declarations.
853 ctags-1.3 (Sun Jun 16 1996)
854 * Fixed problem problem which caused "struct tag;" to be misinterpreted as a
855   variable definition.
856 * Added the -n option to use line numbers in the tag file instead of patterns.
857 * Added the -? option as an alternative for the --help option.
859 ctags-1.2 (Wed Jun 5 1996)
860 * Fixed a problem caused by an unitialized variable.
862 ctags-1.1 (Tue Jun 4 1996)
863 * Fixed problem reading parameter list to the -h option.
865 ctags-1.0a (Mon Jun 3 1996)
866 * Added ctags.lsm to distribution
868 ctags-1.0 (Fri May 31 1996)
869 * First public release.
871 vim:tw=78