GLOBAL history -------------- version 1.0 Initial version [21-Apr-96] global, gtags, btreeop, extended ctags. version 1.1 Only bugfix [2-May-96] [fixed bug] global - makes corrupted path name by conversion error. - description of exit code in online manual is mistaken. btreeop - cannot treat a long line over BUFSIZ. With the result that gtags fails. extended ctags - when using -r option, considers a reserved word to be a function name. With the result that GRTAGS becomes too large. version 1.2 Support of 1.34 nvi [7-Jun-96] [changed] extended ctags - change to use bsearch(3) for searching reserved words. - change to consider '__P' as a reserved word. - unify the original patch (included in version1.0) and the bugfix patch (included in version1.1). [added] extended vi - VI tag support. version 1.3 Support of GTAGSLIBPATH [28-Jul-96] [changed] global - search not only in a source tree but also in library paths specified by environment variable GTAGSLIBPATH. extended ctags - change print format a little when -x option version 1.4 Support of yacc source file [26-Oct-96] [changed] extended ctags - support of yacc source file. - this version of ctags is NOT COMPATIBLE with original one. * search all part of a yacc file for C functions. (original only 3rd part) * no longer considers a yacc rule to be an object. version 1.5 Hypertext generator [12-Dec-96] [fixed bug] gtags - treat 'y.tab.c' as a C source.(we should treat only *.y) extended vi - free stack memory. free(3) in FreeBSD 2.1.5R seems to show a warning message when receive stack address. So it spoils the screen. [added] htags - new command (hypertext generator of C source file) gtags - error check code added. version 1.6 Support of 1.76 nvi and reconstruction for other OS [21-Jan-97] [changed] htags - cease using
because lynx doesn't understand it. global,htags - replace 'sort -u' with 'sort | uniq' for compatibility reason. [fixed bug] global - makes illegal path name when using GTAGSLIBPATH. gtags - error message mistaken. [added] nvi-1.76.diff - patch for nvi 1.76 to make extended vi. gctags - this is the same with extended ctags in older version. now GLOBAL includes BSD ctags in it. so no longer has patch file (ctags.diff). (I brought original ctags from FreeBSD 2.1.5R) Thanks to Gary Kline Hideki Mori for their advice. global - -a option added. version 1.7 Make suitable for large project (mainly FreeBSD kernel) [17-Feb-97] [changed] htags - htags no longer makes frame.html. Index.html offers frame function too. - works MUCH faster than previous version. [fixed bug] htags - generate path name including '¶m'. (It means special charactor in hypertertext.) So, changed internal separator from '&' to '|'. [added] gtags - -s option added. If specified, gtags extract ENTRY() and ALTENTRY() from *.[sS] files. htags - support one level nested index. It's always valid for file index when directories found, and valid for function index only when -a option specified. - -v and -t option added. systags.sh - script to make all tags (GTAGS,GRTAGS,HTML) for kernel source. (it is only for FreeBSD and Linux) version 1.8 Fix some bugs, add options and make more portable [5-Apr-97] [changed] gctags, btreeop, Makefile - modify for generic UNIX (Linux, Solaris) - modify to quiet compiler. Many thanks to A.E. Brouwer Oleg Checkulaev Emile Heyns gctags - modify to treat '\r' at the end of line. htags - changed internal separator from '|' to ' '. because some OS cannot treat '|' in a path. [fixed bug] htags - regard a part of path in #include as a reserved word. - generate illegal links when same tags exist in a line. - insufficient comment detection. Thanks to Jeffrey Friedl. I took his code for complete comment detection. gctags - regard function name as a definition in extern statement. - skip macro(no argment) body when -r specified. gctags, htags - regard 'entry' as a reserved word. [added] global - -c (complete) option added. htags - -d tagdir option added. - -w option added. version 1.81 Make global to understand 'obj' directory [14-Apr-97] [fixed bug] extended vi - doesn't hand '\' in a pattern to global. [changed] global - can find tag file in obj directory. version 1.9 Support of 1.79 nvi and some additional options [21-Apr-97] [fixed bug] htags - doesn't keep the code formatted correctly. So, changed to convert tabs in source files into spaces. (expand(1) needed) Thanks to Andy Newman for his bug report and fix method. - cannot print error message correctly. [changed] gctags, btreeop - modify for SunOS 4.1.3. Thanks to Yoshiharu Ito for his information. [added] btreeop - META record is available. (It will be used in the furture.) - -A and -D option added. (It will be used in the future.) global - 'format version record' is available. (It will be used in the furture.) htags - use temporary directory specified by TMPDIR environment variable. - -l option added. Thanks to Jeff Trawick. This option is his idea. nvi-1.79.diff - patch for nvi 1.79 to make extended vi. version 2.0 Support of Emacs and CGI Form [7-Jul-97] [fixed bug] gtags, htags - treat files under 'RCS/' or 'SCCS/' directory. global - allow relative path of GTAGSDBPATH and GTAGSROOT. htags - illegal tag generated when no definition found. [changed] htags - changed not to print line number by default. If you need it, -n option should be specified. - added the command name to error message. - avoid sort(1)'s bug. - changed for performance. systags - use -n, -f option for htags by default. doesn't use -w option for htags by default. gtags - rewritten with perl. gtags, gctags - move some code for assembler source from gtags to gctags. gtags, htags, global - restrict PATH to '/bin:/usr/bin'. btreeop - expand tabs into spaces of output. [deleted] nvi-1.76.diff [added] gtags.el- emacs support (emulation of 1.34 nvi) added. htags - hyperlink for include files added. - check if GTAGS is the latest one. - -f option added. With this option, you can use input form and dynamic index. (You need to setup httpd server for it.) - -n option added. global - -f option added. btreeop - -L option added. version 2.1 Symbol search, incremental update and gozilla [20-Sep-97] [changed] gtags - -e option and -s option were deleted. These options become default, so you need not to specify them. Gtags accepts these options for compatibility but no effect. global - understand not only 'obj'(MAKEOBJDIR) directory but also '/usr/obj'(MAKEOBJDIRPREFIX) directory of BSD build system. Thanks to Jordan K. Hubbard. This is his idea. gctags, btreeop - remove for portability. (Sorry, Philippe...) btreeop - output procedure rewritten. detab() + fprintf -> detab_print() gtags, htags, global - don't restrict PATH to '/bin:/usr/bin' like version 1.9 and the former. [fixed bug] gctags - cannot treat files which include '\r'. Thanks to Christoph Conrad for his bug report. - is disturbed by '_asm' statement. - write buffer beyoned the end when source file doesn't end with '\n'. It brings segmentation fault. gtags.el- ESC-r command doesn't work. htags - has a security hole in global.cgi. btreeop - corrupt database when interrupted. all command - description of exit code in online manual is fixed. [added] gozilla - new command. gtags, gctags, global - can locate specified symbol other than function name using GSYMS tag file. btreeop - support secondary key. Optional key number added to -K option and -D option. - -k option added.(prefix read) global - -g option added.(grep pattern) Thanks to Hideaki Okada for his advice. - -s option added.(symbol search) - -i option added.(incremental update) - -l option added.(search only under current directory) - -v option added.(verbose mode) gtags - -i option added.(incremental update) - -v option added.(verbose mode) - -o option added.(stop making GSYMS tag file) gtags.el- gtags-find-symbol command (ESC-s) added. It is equal to global's -s option. - gtags-find-pattern command (ESC-g) added. It is equal to global's -g option. version 2.11 Only bugfix [7-Nov-97] [fixed bug] htags, gtags - cannot treat symbolic link. Thanks to Yoshiharu Ito for his bug report. Makefile.generic - doens't work on Debian GNU/Linux. Thanks to Y.Yoshinaga for his patch. version 2.2 Rewritten with C for performance [7-Dec-97] [changed] gtags, global, gozilla - rewritten with C. global - adopted POSIX regular expression (extension) instead of perl's one. htags - shape up anchor database. btreeop - some options (-b, -c, -l, -p) were deleted. version 2.21 Bugfix and slightly modified [11-Dec-97] [fixed bug] gtags, global - doesn't skip RCS, SCCS, y.tab.c, y.tab.h. global - generates illegal path name when using GTAGSLIBPATH with -a option. [changed] lib/Makefile.generic - MANDIR = /usr/share/man -> MANDIR = /usr/man - replace `lorder $(OBJS) | tsort -q` to already sorted list. for S.u.S.E Linux 5.1. Thanks to Christoph Conrad for his information. gtags, lib/test.c - some change for Solaris environment. Thanks to Yamashita TAKAO for his information. htags/Makefile, systags/Makefile - ${DESTDIR}/usr/bin -> ${DESTDIR}${BINDIR} version 2.22 GRTAGS support for assembler source [26-Dec-97] [changed] gtags, gctags, htags - recognize following patterns as a function reference to C function xxx(). call EXT(xxx) call _xxx Thanks to Yamashita TAKAO for his idea. version 2.23 Bugfix and slightly modified [13-Jan-98] [fixed bug] gctags - GRTAGS support in version 2.22 doesn't work. Thanks to Yamashita TAKAO for his bug report. [changed] gctags/Makefile, gctags/Makefile.generic - -DGLOBAL -DYACC was removed. gctags/ctags.h - #define GLOBAL 1 and #define YACC 1 were added. [added] COPYING - Copyright notice was added. version 2.24 Only bugfix [20-Jan-98] [fixed bug] global - generates wrong path name when GTAGSROOT includes symbolic links. Thanks to Wolfgang Helbig for his bug report. htags - cannot treat path name which includes digit as the second character like 'i386'. (In fact it was expand(1)'s bug.) Thanks to Andrew Gallatin for his bug report. global - doesn't search 'obj' directory correctly.