1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537
|
___________________________________
| | | | | _ | | |
| |___| | | | | _| | | | GNU GLOBAL source code tag system
| | | | | | | | | |
| ~~ | ~~| | ~ | | | ~~| for all hackers.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005
Tama Communications Corporation
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
----------------------------------
ChangeLog about GNU GLOBAL
May 12 2005, Shigio YAMAGUCHI
* htags: New macro TOPDIR and SUBDIR added for readability.
* htags: Quoted the "&" in attribute value.
* Changed the address of FSF for each file.
April 19 2005, Shigio YAMAGUCHI
* htags: Added new functions to generate anchor tag.
For <a href=*** ...>
- gen_href_begin_with_title_target()
- gen_href_begin_simple()
- gen_href_begin()
- gen_href_begin_with_title()
- gen_href_end()
For <a name=***>
- gen_name_number()
- gen_name_string()
* htags, gtags-parser: Defined lex name generation rule.
- Change prefix * to *_.
- New lex name generation rule.
- New macro definition (LEXTEXT, LEXLENG, ...))
* Added new macro STATIC_STRBUF(sb).
* Added new macros (PART_TAG, PART_LNO, PART_PATH, PART_LINE).
* strbuf.[ch]: Memory management was made more efficient.
* Added const prefix to char * if it is suitable.
* Install gtags.el into the $datadir/gtags directory instead of
the site lisp directory because the installation procedure
fails when the site lisp directory doesn't exist.
February 26 2005, Shigio YAMAGUCHI
* Required version of autotools was updated.
- autoconf 2.59
- automake 1.9.3
Configure.ac was modified according to the new style.
* Install gtags.el into the site lisp directory.
* When child process terminates abnormally, the program
execution is ended.
* The gctags directory was renamed to gtags-parser according to
the renaming of the command.
* gtags-parser: Modified to use a switch table for switching
language.
November 11 2004, Shigio YAMAGUCHI
* Assembly language parser rewritten using Yacc.
* libutil/strmake.c: strtrim() added.
* libutil/varray.c added.
Decrease in dependancy to external commands:
* The sed(1), sort(1) and find(1) are not necessary any longer.
* The support of find(1) as a method of directory traversing
was ended. As a result, dirent(3) became indispensable.
The configuration phase was changed like follows:
if dirent(3) exist then
use dirent(3)
else if find(1) exist then
use find(1)
else
ERROR
|
v
if dirent(3) exist then
use dirent(3)
else
ERROR
* Htags.pl was removed completely. Therefore, the --date, --pwd,
--write and --scandb option of gtags(1) which was used internally
by htags.pl, were removed.
* Includes GNU sort as part of GLOBAL package.
This solves following troubles:
- A certain operating system has another 'sort' command
that specification is different from GNU sort. Unluckily,
the command is often invoked for GLOBAL.
- Multi-language version of sort is often very slow. Since GLOBAL
doesn't support multi-language, the slowness is quite meaningless.
- In the past, the specification of sort command was changed.
October 6 2004, Shigio YAMAGUCHI
* libutil/langmap.c, langmap.h added.
Config variable 'langmap' will be added officially sooner or later.
* gctags/asm_res.in and htags/asm.l added.
* fileindex.c: makeincludeindex() was cut out from makefileindex()
for statistic.
* The priority of the method selection for directory traversing
was changed like follows:
if find(1) exist then
use find(1)
else
use dirent(3)
|
v
if dirent(3) exist then
use dirent(3)
else if find(1) exist then
use find(1)
else
ERROR
* gozilla: removed the Win32 version of sendbrowser, using a direct
call to ShellExecute (since the browser probably isn't on the path,
and -remote doesn't seem to work on Windows).
* htags/src2html.c: Modified to use a switch table for switching
language.
August 26 2004, Shigio YAMAGUCHI
* Moved function now() from gtags.c to libutil/date.c.
* htags: Changed so that the path passed to CGI might be encoded to %xx.
* htags: Rewritten in C language.
* htags: The use of the 'gtags --write' was stopped.
* die.c: New function sethandler() and warning() added.
* gctags/reserved.pl: The use of the --key-positions option of gperf(1)
was stopped. We need gperf-3.0.1 instead.
June 1 2004, Shigio YAMAGUCHI
* htags: Function usable() was changed to the same specification
as usable() in libutil/usable().
* htags: Execution path of global(1) was changed to the absolute path.
* htags: Write FILEMAP file for reference from external system.
* conf.c: New config variable 'bindir' and 'datadir' added.
* w32/ directory removed.
Feb 1 2004, Shigio YAMAGUCHI
* Rewrite strbuf_putn() without snprintf().
* Created datadir, the default is '/usr/local/share/gtags'.
The following files are installed into the directory:
AUTHORS COPYING ChangeLog FAQ INSTALL LICENSE NEWS README THANKS
globash.rc gtags.conf gtags.el gtags.pl gtags.vim nvi-1.79-gtags.diff
Oct 3 2003, Shigio YAMAGUCHI
* gtags.conf.in, libutil/conf.h.in: Now gtags.conf and conf.h
are generated by autoconf.
* The priority of the method of directory traverse was reversed again,
because, in some GNU/Linux, struct dirent has a member d_type but
always return 0. As the result, if find(1) is available then use it,
otherwise use dirent(3).
July 2 2003, Shigio YAMAGUCHI
* gctags: If you want to build this parser from original source in
CVS repository then it is necessary to install flex(1) and gperf(1)
in your environment. (Since both of them are GNU software,
you can get them from GNU ftp site.)
* reserved.pl: Generate C and Perl code for locating reserved words.
* gtags.c: The --createdb and the --readdb option which used for anchor
database were removed, becase there is no necessity any longer.
June 5 2003, Shigio YAMAGUCHI
* libutil/env.c: replace putenv() and setenv() with set_env();
* libutil/char.c,char.h: New files.
* libutil/find.c: Skip symbolic links to eliminate the difference
between find(1) version and dirent(3) version.
* htags.in: Remove tag name and line image from cache record.
This made cache file smaller.
* htags.in: Stop using anchor db. Up to now, only gtags had called
the parser. But hereafter, the parser will be called by both
gtags and htags.
* global.c: About the -g option, implementation using grep + xargs
was removed.
* libutil/find.c: The priority of the method of directory traverse
was reversed. If dirent(3) is available, then use it to traverse
directory tree. Otherwise use find(1).
* configure.ac: --with-cflags=[=VAL] was removed.
Please use ./configure CFLAGS=VAL instead.
* reconf.sh: --configure, --make and --install option added.
March 29 2003, Shigio YAMAGUCHI
* C.c,Cpp.c: move some code into condition_macro.
* C.h, Cpp.h, java.h: replace #define macro with enum member
for representing reserved words.
* htags.in: add reserved words.
* htags/manual.in: add description about configuration variable
'table_begin' and 'tabel_end'.
* htags.in, manual.in: add configuration variables
'colorize_warned_line', 'warned_line_begin', 'warned_line_end'.
* dbop.c: environment variable GTAGSCACHE added.
November 9 2002, Shigio YAMAGUCHI
* gtags.c: --convert/--createdb/--readdb/--scandb option added.
* btreeop: replaced with gtags and removed.
* split.c: use SPLIT structure which manage substring.
* gtagsop.c: now format version is 3 (pathindex format).
* configure.ac: fixed for autoconf-2.53 and renamed.
* acconfig.h: removed because it is considered to be obsoleted.
* gctags: inittable() added for each parser, which set up reserved
word table.
* doc/*.texi: renamed from *.texi to *.txi for djgpp.
* libutil: linetable.[ch] added.
July 4 2002, Shigio YAMAGUCHI
* gctags.c: allows second argument in *ENTRY for 4.3BSD.
* split.c: splitting function added.
* strlimcpy.c: replaced strcpy() and strncpy() with strlimcpy().
* strbuf.c: strbuf_putn() added.
* conf.c find.c: shut buffer overflow.
* gtags, htags: './' removed from path name in verbose message.
* *.c, *.h: copyright year fixed.
* configure.in: macro AG_BYTE_ORDER recovered.
* htags: sort command replaced with gtags --sort in makedupindex()
so that sort can treat smaller number of tag lines.
* htags: makedupindex() rewritten for performance.
March 30 2002, Shigio YAMAGUCHI
* conf.c: added GPATH,GTAGS,GRTAGS,GSYMS,tags,TAGS,ID to DEFAULTSKIP.
* find.c: decreased dependency on find(1).
removed length argument from find_read().
* global.texi: documentation reconstucted.
* globash.rc: --no-wait option added to emacsclient.
* gozilla: gozilla directory added.
* abs2rel.c: added for path conversion. pathfilter with sed(1)
is replaced gtags(1) --relative or --absolute.
* global: use lid(1) rather than gid(1).
* usable.c: locate command for BINDIR before PATH.
* htags: bless.sh remove cgi-bin/global.cgi because it is not needed.
* htags: changed open into 'open + exec' to avoid command substitutions
in pattern.
January 22 2002, Shigio YAMAGUCHI
* htags: build trouble fixed.
global.cgi wasn't generated correctly.
January 10 2002, Shigio YAMAGUCHI
* DJGPP support code added.
Jason Hood ported Global-4.0.1 into DJGPP environment.
I have merged his code into this version.
* gtags.pl added.
* Convert.pl added. From now on, usage, help, man, info are
generated automatically by this script from */manual.in files.
* gtags, global: make exit code rule:
0:normal, 1:exception, 2:usage, 3:GTAGS not found.
November 23 2001, Shigio YAMAGUCHI
* gtags: format char for strftime() changed (%e -> %d).
* gtags: the path of gctags changed from 'gctags' to '$bindir/gctags'.
* htags: use gtags --date and gtags --pwd instead of date and pwd.
Above changes are for Windows 32 environment.
* rename file: pathop.[ch] -> gpathop.[ch].
* rename functions: pathxxx -> gpath_xxx, gtagsxxx -> gtags_xxx.
* rename functions: ffindxxx -> find_xxx, gfindxxx -> gfind_xxx.
* libglibc/snprintf.c added.
* move gfind_xxx from libutil/find.c to libutil/gpathop.c.
July 31 2001, Shigio YAMAGUCHI
* VERSION: removed.
* compat.h: moved to libdb/.
* machine/: removed.
* htags: WWW link in hypertext was modified.
* gtags.c, global.c: rewrite code for putenv(3) using malloc(3).
July 12 2001, Shigio YAMAGUCHI
* config variable HAVE_SNPRINTF and AC_FUNC_ALLOCA added.
* stop using MAXENVLEN because it brings buffer overflow.
* htags.pl: the value of id changed from src directory
to HTML directory.
* libutil/conf.c: error check added.
* libutil/gtagsop.c: replace notnamechar() with isregex().
* put '#assert' into reserved word.
* reconf.sh: command for generating configure added.
* Copyright notice added for short files that are not important
enough to worry about copylefting.
* libdb/db.h: typdefs pgno_t, indx_t and recno_t changed into macros.
* gctags/{C.c,Cpp.c}: memory violation fixed.
* libutil/getopt* and libregex/* moved to new libglibc/ directory.
September 26 2000, Shigio YAMAGUCHI
* htags.pl: use generated path of perl for global.cgi.
* global.1, htags.1, btreeop.1: fix missing .El.
* make version number 'major.minor.fixed'.
September 3 2000, Shigio YAMAGUCHI
* license changed from BSD-style to GPL.
* now generated automatically by automake and autoconf.
* nvi-1.79-gtags.diff: put into the public domain.
* htags.pl: command path in global.cgi becomes generated
at execution time. usable() changed to return path.
* htags.pl: optimized about temporary database.
* htags.pl: most code which depend on javascript are removed
because most of browsers don't support the language.
* mgets.c: now belongs strbuf.c as strbuf_fgets().
* strbuf.c: new argument 'initial buffer size' of strbuf_open().
* global.conf: one line script for ctags-exuberant fixed.
* Cpp.h, java.h: MAXCLASSSTACK changed from 10 to 100.
* use snprintf(3) instead of sprintf(3).
* replace Henry Spencer's regex(3) with GNU's one.
* gctags/C.c: ignore 'extern' to treat 'extern func() { ...}'.
* global.c: use grep(1) if grep and xargs(1) are available.
* global.c: use find(1) if find is available.
* gtags.el: reimplement as a minor mode (gtags-mode) and
a major mode (gtags-select-mode) to work with other major mode
like c-mode.
prefix 'gtags-' added to all functions to avoid conflicts with
other packages..
December 23, 1999, Shigio YAMAGUCHI
* htags.pl: change the process of removing cache file.
* global.c, gtagsop.c, dbop.c: processing of regular expression
is moved from command level (global.c) to library level
(gtagsop.c) for optimizing -s option.
* find.c: gfindopen(), gfindread(), gfindclose() added for
optimizing -g option.
November 3, 1999, Shigio YAMAGUCHI
* htags: stop memory cache.
* token.c: change buffer type from char to unsigned char.
September 17, 1999, Shigio YAMAGUCHI
* compat.h: macro for solaris added.
* Makefile.bsd: delete libregex.a target because BSD has it in libc.
August 29, 1999, Shigio YAMAGUCHI
* gozilla: add DDE communication code in Windows 32.
August 26, 1999, Shigio YAMAGUCHI
* Cygwin support code added.
David Aspinwall ported Global-3.44 into cygwin32 environment.
I refered his code but I didn't use it in as is style, because it
conflicted against Dan Fandrich's Windows 32 code. I wrote new
code for cygwin32 borrowing David's idea.
So any bugs in this area are therefore my fault, not David's.
* htags: stop using cp(1).
August 23, 1999, Shigio YAMAGUCHI
* Windows 32 support code added.
Dan Fandrich ported Global-3.44 into Windows 32 environment.
I have included his code into this version (3.5) and altered them
for some (mainly licensing) reasons, so any bugs in this area
are therefore my fault, not Dan's.
* copyright notice of Tama Communications Corporation added.
* Henry Spencer's regex(3) imported.
* gtags.el: now detect XEmacs.
* htags: rewrite header #!/usr/bin/perl -> #!/usr/bin/env perl
* find.c: USEFIND undefined by default.
March 22, 1999, Shigio YAMAGUCHI
* htags: internal path changed for ISO9660 file system.
* htags: --action=url, --id=id and --nocgi options added to realize
Ron Lee's htmake. (internal use only - undocumented)
* Makefile.generic: DESTDIR macro added.
* db(3) 1.85 imported to keep machine independency in generic make.
'dbpatches' already has been applied.
January 20, 1999, Shigio YAMAGUCHI
* wrong copyright notice fixed. (regents -> author)
* gtags.el: stop auto execution of gtags-make-complete-list.
* gtags: prohibit user from using a path including blanks.
* gozilla: path conversion rule added.(It will be used in the future.)
* htags: META TAG added to reject robots.
January 8, 1999, Shigio YAMAGUCHI
* 'void main()' changed into 'int main()'.
December 10, 1998, Shigio YAMAGUCHI
* rename db_XXX to dbop_XXX because some of them conflict against
functions in db-2.X.
* nvi-1.79-m17n.diff: deleted because it is hard for me to maintain
it. Sorry.
November 8, 1998, Shigio YAMAGUCHI
* global: --filter option added. (internal use only - undocumented)
* htags: tabs parameter added in global.conf to change tab stop.
* Makefile.generic: make sub makefiles inherit the macros from
the root Makefile.
September 13, 1998, Shigio YAMAGUCHI
* Makefile: library name changed from libutil.a to libgloutil.a
becase that conflicts against other library.
* gctags: rewritten completely.
Thanks to Ken Arnold and the other people who developped BSD ctags(1).
Without it, GLOBAL had never been here.
August 31, 1998, Shigio YAMAGUCHI
* nvi-1.79-m17n.diff: patch for multilingual nvi added.
* nvi-1.66.diff: patch for nvi-1.66 added.
* nvi-1.34.diff: deleted because it is old enough to support.
* gozilla/Imakefile: make it possible to build gozilla alone without
building libgloutil.a.
August 4, 1998, Shigio YAMAGUCHI
* gtags: --find option and --expand option added.
(internal use only - undocumented)
* global.conf, lib/conf.c: 'CVS/' added to 'skip' parameter.
* gtags.conf: 'reserved_words' variable for htags(1) deleted.
It is now hard coded.
* find.c: dirent version added.
July 5, 1998, Shigio YAMAGUCHI
* fixed warning by -Wall -Wmissing-prototypes.
June 25, 1998, Shigio YAMAGUCHI
* gctags, gtags: -c option moved from gctags to gtags.
(It is needed for supporting plugged-in parser.)
* htags: URL of GLOBAL home page changed.
* gtags.c: replace "%+" of strftime with "%a %b %e %H:%M:%S %Z %Y".
for Debian GNU linux 1.3.1.
January 13, 1998, Shigio YAMAGUCHI
* gctags/Makefile, gctags/Makefile.generic, gctags/ctags.h:
definitions of GLOBAL and YACC moved from Makefile to ctags.h.
December 11, 1997, Shigio YAMAGUCHI
* lib/Makefile.generic:
change MANDIR definition from /usr/share/man to /usr/man.
replace `lorder $(OBJS) | tsort -q` to already sorted list
for S.u.S.E Linux 5.1.
* gtags, lib/test.c: a few changes for Solaris environment.
* htags/Makefile, systags/Makefile:
rewrite ${DESTDIR}/usr/bin to ${DESTDIR}${BINDIR}.
December 7, 1997, Shigio YAMAGUCHI
* global,gtags,gozilla: rewritten with C for performance.
* htags: shape up anchor database.
November 7, 1997, Shigio YAMAGUCHI
* Makefile.generic: a few change for Debian GNU/Linux.
September 20, 1997, Shigio YAMAGUCHI
* gctags, btreeop: remove <err.h> for portability.
* btreeop: 'detab() + fprintf' is replaced with 'detab_print()'.
* gtags, htags, global: don't restrict PATH to '/bin:/usr/bin'
like version 1.9 and the former.
* htags: shut a security hole.
* all command: description of exit code in online manual fixed.
* gozilla: support X-property communication to mozilla.
See http://home.netscape.com/newsref/std/x-remote.html.
July 7, 1997, Shigio YAMAGUCHI
* htags: tuned for performance.
* gtags, gctags: move some code for assembly source from gtags
to gctags.
* gtags, htags, global: restrict PATH to '/bin:/usr/bin'.
* nvi-1.76.diff: deleted because it is old enough.
April 21, 1997, Shigio YAMAGUCHI
* gctags, btreeop: a few changes for SunOS 4.1.3.
* global: 'format version record' implemented.
(It will be used in the furture.)
* htags: use temporary directory specified by TMPDIR environment
variable.
* nvi-1.79.diff: added for nvi-1.79.
April 5, 1997, Shigio YAMAGUCHI
* gctags, btreeop, Makefile: a few changed for Linux and Solaris.
* htags: changed internal separator from '|' to ' ', because some OS
cannot treat '|' in a path.
* gctags, htags: regard 'entry' as a reserved word.
February 17, 1997, Shigio YAMAGUCHI
* htags: htags no longer makes frame.html. index.html includes frame.
* htags: tuned for performance.
January 21, 1997, Shigio YAMAGUCHI
* gctags: import ctags.c and apply ctags.diff for generic UNIX.
* htags: cease using <BLOCKQUOTE> because lynx doesn't understand it.
* global,htags: replace 'sort -u' with 'sort | uniq' for compatibility.
* nvi-1.76.diff: added for nvi 1.76.
October 26, 1996, Shigio YAMAGUCHI
* ctags.diff: now search all part of a yacc file for C functions.
(original only 3rd part)
* ctags.diff: no longer consider a yacc rule to be an object.
June 7, 1996, Shigio YAMAGUCHI
* use bsearch(3) for searching reserved words.
April 21, 1996, Shigio YAMAGUCHI
* global.pl, gtags.sh, btreeop.c, ctags.diff, Makefile.
* only support FreeBSD 2.0.5R, 2.1R and 2.1.5R.
|