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 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351
|
___________________________________
| | | | | _ | | |
| |___| | | | | _| | | | GNU GLOBAL source code tagging system
| | | | | | | | | |
| ~~ | ~~| | ~ | | | ~~| for all hackers.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Copyright (c) 2000-2021
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
November 25 2024, Shigio YAMAGUCHI
[bt_close.c bt_conv.c bt_debug.c bt_delete.c bt_get.c bt_open.c
bt_overflow.c bt_page.c bt_put.c bt_search.c bt_seq.c bt_split.c
bt_utils.c db.c db.h mpool.c]
The definitions of the above files in libdb/ have been converted
to ANSI format.
June 6 2024, Shigio YAMAGUCHI
[plugin-factory/pygments_parser.py.in]
All regular expressions using '\' were made literal with 'r' flag.
'\s' -> r'\s'
Python 3.6 and later considers \s an invalid escape sequence
(DeprecationWarnings). But DeprecationWarnings are silenced by default.
Python 3.12 and later displays it as a SyntaxWarning by default.
[test.py]
+-------------
|print('\s')
+-------------
$ python3.11 test.py
\s
$ python3.12 test.py
/***/***/test.py:1: SyntaxWarning: invalid escape sequence '\s'
print('\s')
\s
April 23 2024, Shigio YAMAGUCHI
[plugin-factory/Makefile.am]
Added '-shared' option to XXXX_la_LDFLAGS not to install static library.
March 4 2024, Shigio YAMAGUCHI
Changed the limit values in libutil/xargs.c.
UNIX: Changed the limit value as follows:
if (limit > 20 * 1024)
limit = 20 * 1024;
|
v
if (limit > 128 * 1024)
limit = 128 * 1024;
This value is due to xargs in GNU findutils-4.9.0.
WIN32: Changed the limit value from 2047 to 8191.
December 14 2023, Shigo YAMAGUCHI
Now Pygments plug-in parser uses Universal Ctags instead of Exuberant Ctags.
Please note the following descriptions:
[gtags.conf.in]
pygments-parser|Pygments plug-in parser:\
...
:ctagscom=@UNIVERSAL_CTAGS@:\ <===
[plugin-factory/pygments_parser.py.in]
UNIVERSAL_CTAGS = "@UNIVERSAL_CTAGS@" <===
This means you have to do the following configuration to use Pygments.
$ ./configure --with-universal-ctags=...
November 19 2023, Shigo YAMAGUCHI
[plugin-factory/PLUGIN_HOWTO.pygments]
I changed the last sentence as follows:
Though it is considered a separate package, not part of GLOBAL proper,
we included it for user's convenience.
|
v
Now it is maintained as a part of GNU Global.
April 6 2023, Shigo YAMAGUCHI
The --with-pread-pwrite option of configure script was removed.
Now configure script automatically probes for pread()/pwrite().
However, it is not enabled on Cygwin environment, because it did not
work properly on Cygwin in the past. If requested by Cygwin users,
I will change it.
December 13 2021, Shigio YAMAGUHI
[plugin-factory/PLUGIN_HOWTO.universal-ctags]
[plugin-factory/uctags-scheme.c-diff]
I wrote a document titled 'How to get Universal Ctags to handle references.'
July 19 2021, Shigio YAMAGUHI
Now you can build Global with external SQLite3 library.
--with-sqlite3[=dir] By default, the embedded version is used.
$ ./configure --with-sqlite3=/opt/local
...
$ global --version
...
Powered by Berkeley DB 1.85 and SQLite3 3.35.5.
======= (depends on your system)
June 30 2021, Shigio YAMAGUHI
Shebang rules:
Shell use #!/bin/sh
It works 100% in POSIX.
Perl should be called as a command argument like follows:
$ perl ./xxxx.pl
#!@PERL@ should not be used, because perl scripts are used
before the config phase in Global,
Python use #!@PYTHON@
Don't use fixed names, because at least two incompatible versions
of python are distributed. The command name may be python2 or python3.
June 7 2019, Shigio YAMAGUCHI
Removed the -T option of perl from the CGI scripts in htags/,
because env(1) cannot treat it correctly without -S option on FreeBSD.
$ cat test.sh
#!/usr/bin/env perl -T
print "Hello!\n";
$ ./test.sh
env: perl -T: No such file or directory
March 21 2019, Shigio YAMAGUCHI
Moved convert.c, convert.h, output.c, output.h from 'global/' to 'libutil/'.
July 15 2018, Shigio YAMAGUCHI
[icons, jquery]
Moved 'icons/' and 'jquery/' from the root directory of the project to 'htags/'.
It seems to be a more suitable place.
June 11 2018, Shigio YAMAGUCHI
[gtags-cscope/find.c]
Replaced the system(3) function with the secure_popen utilities (libutil/secure_popen.c)
for security and readability.
March 15 2018, Shigio YAMAGUCHI
Moved sqlite3.c and sqlite3.h from 'libglibc/' to 'libdb/'.
It seems to be a more suitable place.
December 12 2017, Shigio YAMAGUCHI
[plugin-factory/maps2conf.pl]
Added new script 'maps2conf.pl', which converts from the output of
'ctags --list-maps' into a gtags.conf record. It supports Exuberant Ctags
and Universal Ctags.
[usage]
perl maps2conf.pl <ctags-path> <plugin-path> [<label>]
The default of <label> is 'default'. You can use this script to make
'gtags.conf' file for ctags plug-in parser. Please try this:
$ perl maps2conf.pl /usr/local/bin/ctags '$libdir/gtags/universal-ctags.la' >gtags.conf
$ gtags # use Universal Ctags as a parser
It assumed that '/usr/local/bin/ctags' above is Universal Ctags.
August 30 2017, Shigio YAMAGUCHI
[libutil/find.c]
In addition to the skip by regular expression, the following
files are skipped in ignore() function previously now.
o Files which start with '.'
o Tag files (GPATH, GTAGS, GRTAGS)
The regular expression is left, because xxx_filelist() functions
require it.
December 30 2016, Shigio YAMAGUCHI
Added taint mode to the following CGI scripts:
global.cgi.in
completion.cgi.in
December 21 2016, Shigio YAMAGUCHI
Rewrote the following functions without popen(3) in order not to cause
unnecessary security anxiety.
completion_idutils()
idutils()
These functions are called from CGI scripts of htags(1).
December 16 2016, Shigio YAMAGUCHI
Rewrote the following CGI scripts using perl5 syntax:
global.cgi.in
completion.cgi.in
There were many perl5.* incompatible with each other in the past.
Even then perl4 syntax always worked correctly. But this problem
was a thing of the past. Perl4 syntax is now meaningless.
October 22 2016, Shigio YAMAGUCHI
Removed the following files:
BOKIN_MODEL
BOKIN_MODEL_FAQ
BOKIN model was finished. Now GLOBAL is not a BOKINware.
October 8 2016, Shigio YAMAGUCHI
Added the following library source code. Though it's a GNU version,
I derived them from the latest Universal Ctags archive not to make
differences.
libglibc/fnmatch.c
libglibc/fnmatch.h
March 9 2016, Shigio YAMAGUCHI
Now, the following files in datadir are static.
- completion.cgi
- global.cgi
- jscode_suggest
- jscode_treeview
- style.css
February 3 2016, Shigio YAMAGUCHI
[Plug-in parser]
Added new plug-in parser 'universal-ctags.la'.
It is made using exuberant-ctags.c and -DUSE_EXTRA_FIELDS compile option.
[gtags.conf]
Added new entry 'universal-ctags'.
Added new variables 'ctagscom'.
[Plug-in interface]
Added new plug-in interface function getconf().
You can access config variables of gtags(1) from plug-in parsers.
Nov 30 2015, Shigio YAMAGUCHI
Replaced @libdir_QUOTED@ with configuration variable in gtags.conf.in.
Nov 21 2015, Shigio YAMAGUCHI
Removed ctags-5.8.patch, because Universal Ctags supports reference tags
by itself now.
Added new test for Universal Ctags.
Oct 14 2015, Shigio YAMAGUCHI
[configure.ac]
Replaced @prefix_QUOTED@ with @libdir_QUOTED@ in gtags.conf.in.
From now on, you can use the --prefix, --exec-prefix and --libdir
options to set a value of @libdir_QUOTED@. This was done by Kevin Farshaw.
[libparser/parser.c]
Changed dynamic loading code using ld_dlopenext().
(Fedora packaging guidelines prohibit .la files)
if (ld_dlopen('foo.la') == FAILED)
error_and_exit();
|
v
if (ld_dlopen('foo.la') == FAILED)
if (ld_dlopenext('foo') == FAILED)
error_and_exit();
From now on, extension of DLL is needless.
June 22 2015, Shigio YAMAGUCHI
To recover easiness of reading source code, removed Doxygen tags
in the source code except for the followings:
('description' should be plain text)
/**< description */
/**
* description
* @param[in] var description
* @param[out] var description
* @param[in,out] var description
* @return description
*/
November 10 2014, Shigio YAMAGUCHI
Included SQLite3 version 3.8.7.1 into 'libglibc'.
November 7 2014, Shigio YAMAGUCHI
Added support of Sqlite3 API for tag files (alpha quality).
If you will test the code then please do as follows:
[building phase]
$ ./configure --with-sqlite3
[executing phase]
$ gtags --sqlite3
June 28 2014, Shigio YAMAGUCHI
New environment variable GTAGSLOGICALPATH was added.
If it is set then GLOBAL use logical path (PWD), else
physical path. This variable is now undocumented.
March 17 2014, Shigio YAMAGUCHI
libutil/pathconvert.c module was divided into the following two modules:
o libutil/encodepath.c
o global/convert.c
According to the change, the function of the --path command of gtags(1)
(undocumented) was moved to global(1)'s --path-convert command.
December 18 2013, Shigio YAMAGUCHI
The following paths were removed from the candidate list of configuration file.
/etc/global.conf (OLD_GTAGSCONF)
/etc/gtags/global.conf (OLD_DEBIANCONF)
These paths were not documented once.
November 17 2013, Shigio YAMAGUCHI
Added two functions: copyfile(), copydirectory(). They remove the necessity
of external command 'cp'.
June 17 2013, Shigio YAMAGUCHI
Dependence to dbop.c module was eliminated from assoc.c module.
June 12 2013, Shigio YAMAGUCHI
File 'HTML/sitekey' (--system-cgi option) was removed since it is unnecessary.
December 11 2012, Shigio YAMAGUCHI
Some Automake macros were changed as follows to avoid warning messages.
o INCLUDES was changed to AM_CPPFLAGS
o AC_PROG_RANLIB was removed.
December 3 2012, Shigio YAMAGUCHI
[global/literal.c]
Included fgrep's code of 4.3BSD.
October 20 2012, Shigio YAMAGUCHI
Added support for type string of ctags.
Configure script detects whether ctags has --gtags option or not.
However, I don't know whether the ctags which has this option will be released.
Exuberant Ctags with --gtags option:
$ ctags --gtags -x ...
D main 320 global/global.c main(int argc, char **argv)
R NULL 325 global/global.c const char *av = NULL;
=
^-- Type string (D: definition, R: other than definition)
October 13 2012, Shigio YAMAGUCHI
Comments were rewritten in the Doxygen style. Submitted by Simon Dommett.
To generate a document, please invoke make command in the root directory
of the project like follows:
$ make doxygen
doxygen 1.8.2 is required.
June 9 2012, Shigio YAMAGUCHI
Added BUILD_TOOLS file, which includes the list of version numbers
of the building tools used for building GLOBAL. It is automatically
generated by reconf.sh.
March 15 2011, Shigio YAMAGUCHI
Included cscope's source code.
[Added source files] [cscope-15.7]
m4/check_curses.m4 configure.in
gtags-cscope/manual.in doc/cscope.1
gtags-cscope/alloc.c src/alloc.c
gtags-cscope/alloc.h src/alloc.h
gtags-cscope/basename.c src/basename.c
gtags-cscope/build.c src/build.c
gtags-cscope/build.h src/build.h
gtags-cscope/command.c src/command.c
gtags-cscope/constants.h src/constants.h
gtags-cscope/display.c src/display.c
gtags-cscope/edit.c src/edit.c
gtags-cscope/exec.c src/exec.c
gtags-cscope/global-cscope.h src/global.h
gtags-cscope/gtags-cscope.c src/main.c
gtags-cscope/help.c src/help.c
gtags-cscope/history.c src/history.c
gtags-cscope/input.c src/input.c
gtags-cscope/library.h src/library.h
gtags-cscope/logdir.c src/logdir.c
gtags-cscope/mouse.c src/mouse.c
gtags-cscope/mygetenv.c src/mygetenv.c
gtags-cscope/mypopen.c src/mypopen.c
gtags-cscope/version-cscope.h src/version.h
February 4 2011, Shigio YAMAGUCHI
Configure.ac was modified to detect POSIX sort program automatically.
August 30 2010, Shigio YAMAGUCHI
Renamed the style sheet file in the source package from style.css to
style.css.tmpl, because to follow the custom of naming of other templates.
August 12 2010, Shigio YAMAGUCHI
Modification of the -S option.
o Renamed from '-S(--secure-cgi)' to '--system-cgi' because the
parameter is changed.
o Changed the site key directory from 'datadir' to 'localstatedir'
because 'datadir' is for read-only data.
o Changed the permission of the site key directory from 773 to 775.
These most was suggested by Ron Lee.
June 27 2010, Shigo YAMAGUCHI
Modification of the -S option.
1. New htags requires a unique key as the parameter of the -S option.
(It is a incompatible change.)
2. Htags makes a file whose name is the key in shared area, and
put the path of the HTML directory in it.
3. To make the file name unique, a key that already exists
is not allowed without --over-write option.
[in /var/src]
$ htags ... -S key1
====
|
+----------------+-----+
v |
[/usr/local/share/gtags/sitekeys/key1] |
+-------------------------------- |
|/var/src/HTML | ... (2)
|
[/var/src/HTML/index.html] |
+-------------------------------- |
|... v
|<input type='hidden' name='id' value='key1'> ... (1)
====
The center CGI script can know the path of the HTML directory by the following
method.
(1) get a unique key from the variable 'id'
=> 'key1'
(2) read directory name from '/usr/local/share/gtags/sitekeys/' + 'key1'
=> '/var/src/HTML'
This mechanism conceals the real path name of the HTML directory.
May 21 2010, Shigo YAMAGUCHI
* Removed support for command layer plug-in parser(gtags-parser/).
May 20 2010, Shigo YAMAGUCHI
* Changed the architecture of gtags(1) from 2 pass to 1 pass.
[Old]
Pass 1: +-------+
source files =============>| gtags |============> GTAGS
| |============> GPATH
| |============> temporary file
+-------+
Pass 2: +-------+
temporary file ============>| gtags |============> GRTAGS
GTAGS ============>| |============> GSYMS
+-------+
[New]
Pass 1: +-------+
source files =============>| gtags |============> GPATH
| |==>[sort]===> GTAGS
| |==>[sort]===> GRTAGS
+-------+
(1) 1 pass architecture
GLOBAL doesn't use GSYMS any longer. Symbols stored there before are
put into GRTAGS instead. The divergence to GRTAGS and GSYMS is done
in referring stage (gtags_first() and gtags_next()) not in generating
stage. This change removes complexity from the program very much.
(2) Sorted writing
The (1) brings a big GRTAGS and decrease at the writing speed.
To avoid it, the records written to tag files are sorted beforehand.
This function becomes effective if DBOP_SORTED_WRITE flag is specified
for function dbop_open(). It uses an external POSIX sort program.
Note: In the new method, temporary file doesn't become unnecessary.
Because the external sort program also uses temporary files for its job.
This small work greatly depends on the big work by Hideki IWAMOTO on February 1 2010.
April 27 2010, Shigo YAMAGUCHI
* Changed the cache format (htags/cache.c) like follows:
(1) Duplicate tag file
+--------------------+ +---------------------+
| <fid> <frequency>\0| -> | <fid>\0<frequency>\0|
+--------------------+ +---------------------+
'D/<fid>.html'
(2) Tag definition
+---------------------------+ +----------------------+
|<line number> <file name>\0| -> |<line number>\0<fid>\0|
+---------------------------+ +----------------------+
'S/<fid>.html#<line number>'
March 8 2010, Shigio YAMAGUCHI
* Changed the default parser of gtags(1) from gtags-parser(1) to libgloparser.a.
Config parameter 'use_builtin_parser' is not used any longer. If the config
variable GTAGS is defined then gtags(1) use the command layer parser specified
by the variable as well as before. But it is obsolete.
February 27 2010, Hideki IWAMOTO
* Added support of function layer plugin parser.
Libtool 2.2.6b or later is required to build CVS version.
February 3 2010, Shigio YAMAGUCHI
* Use invisible temporary files instead of visible files (htags/assoc.c).
February 1 2010, Hideki IWAMOTO
* Added built-in parser to improve the performance of making tag files.
When the built-in parser is used, the source files are parsed only once.
The candidate of reference and other symbols are written to the temporary
file in Pass1, and read in Pass2.
Pass 1:
+-------+
source files =============>| gtags |============> GTAGS
| |============> GPATH
| | tag record
| |============> temporary file
+-------+
Pass 2:
tag record +-------+
temporary file ============>| gtags |============> GRTAGS
| |
GTAGS ============>| |============> GSYMS
+-------+
February 18 2009, Shigio YAMAGUCHI
* Rewrote the stack in libutil/find.c using the varray (libutil/varray.c)
instead of static array.
* Changed gtags(1) not to do useless inspection for the files in the
directories which are listed in the skip list.
September 27 2008, by Shigio YAMAGUCHI
* Changed the default cache size of DB library from 5M to 50M bytes.
* Recovered the code in which pread/pwrite is used in BSD db library.
However, this code is not automatically used. To include the code,
please invoke configure script with the --with-pread-pwrite option.
The original code was written by Hideki IWAMOTO.
July 14 2008, by Shigio YAMAGUCHI
* Changed gtags(1) to skip all files whoes first character of name is '.'.
The following path was deleted from the DEFAULTSKIP in configure.ac, since new
rule covers them.
.notfunction
.gdbinit
.cvsrc
.cvsignore
.gitignore
.cvspass
.cvswrappers
.deps/
.snprj/
.svn/
.git/
April 21 2008, by Shigio YAMAGUCHI
* gtags.vim: Stopped use of temporary file.
March 25 2008, by Shigio YAMAGUCHI
* gtags.vim, gtags.pl: rewritten using new '--from-here' option of global(1).
* Added htags/ghtml.cgi.tmpl.
* Described the method of apache setting as a comment in htags/global.cgi.tmpl.in.
* Modifications to allow symbolic link.
To realize it, normalize_path() and abs2rel() in libutil/abs2rel.c module is used
instead of realpath(3) library function.
* gtags.el and gtags.vim are rewritten using new '--from-here' option of global(1).
October 26 2007, by Shigio YAMAGUCHI
* Added file 'DONORS' which includes the list of donations to GNU GLOBAL.
* Idset module: Performance improvement of idset module by using "unsigned long"
instead of "unsigned int" for bitmask. This is necessary to use 64 bit processor
effectively.
July 6 2007, by Shigio YAMAGUCHI
* Migrated to GPLv3 and LGPLv3.
* gtags.conf.in: Migrated to simple all-permissive license.
May 5 2007, by Shigio YAMAGUCHI
* New files: BOKIN_MODEL, BOKIN_MODEL_FAQ, DONORS
March 10 2007, Shigio YAMAGUCHI
* gtags.el: Added (provide 'gtags).
* libutil/env.c: Use putenv(3) if it is available else use setenv(3).
Some systems don't have setenv(3).
January 29 2007, Shigio YAMAGUCHI
* Further compression of tag file (format version 5).
- Tag name is compressed.
- Each line number might be expressed as difference from the previous
line number except for the head.
ex: 11,3,2 means '11 14 16'.
- In addition, successive line numbers are expressed as range (n1-n2).
ex: 11-3 means '11 12 13 14'.
* global(1): Sort filter was moved from the output filter to the input filter.
( input ) | ( m a i n ) | ( o u t p u t )
gtagsop | global | tagsort | pathconvert
---------------+---------------------+------------+--------------
expand tag +------------+ sort tag convert path
| |
+-------------------------------------+
v v
sort tag expand tag convert path
Instead, the processing of expanding tag was moved to the main module.
This improves the performance when compact format is used, since
sorting is done before expanding.
Recent architecture (GLOBAL-5.0 - 5.3)
+===========================================+
|global(write)->[sort filter]->[path filter]|->[stdout]
+===========================================+
New architecture (GLOBAL-5.4 -)
+===========================================+
|[sort filter]->global(write)->[path filter]|->[stdout]
+===========================================+
* Removed some code which call the following method:
putenv utimes
They are not natural method today.
pread pwrite
They are risky since they are not used so much and are not
often so tested. It was found that the pread and pwrite in cygwin
are buggy. Though it is not our business, user is not guilty too.
strdup
It is not needed since we use check_strdup() instead.
* Added some new modules.
pool - allocate and free memory for temporary use.
fileop - operation for opening and closing file.
* Added some new methods.
strmake module - strcmp_withterm()
* Removed some modules.
global/filter, libutil/tagsort
* idset module:
- Added new functions idset_first(), idset_next() and idset_empty().
- Changed bitmask from char(8 bits) to integer (maybe 32 or 64 bits)
to improve performance.
November 20 2006, Shigio YAMAGUCHI
* gtags.el:
- gtags-make-complete-list is deprecated.
Added gtags-completing-gtags, gtags-completing-gsyms and gtags-completing.
- Throw away the output of gozilla in 'gtags-display-browser'.
August 8 2006, Shigio YAMAGUCHI
* htags/fileindex.c: Rewritten using recursive call instead of stack structures.
* gozilla.c: Fixed getURL() according to new GPATH.
* Replaced malloc(), realloc() and stdup() with check_xxxx() functions.
* Added icon files (icons/*png).
June 10 2006, Shigio YAMAGUCHI
* Recovered original texinfo file names (.txi -> .texi).
April 21 2006, Shigio YAMAGUCHI
Change in tag format:
* Moved to new tag format. New tag format is as follows.
GTAGS (with compress option)
<file id> <tag name> <line number> <compressed line image>
GRTAGS, GSYMS (with compact option)
<file id> <tag name> <line number>[,...]
* Now, GPATH has path names of not only source files but
also other text files. The following commands no longer
traverse file system. They read GPATH instead.
global(1) with the --other option.
htags(1) with the --other option.
Change in architecture:
* Changed the filtering architecture of global(1).
Old architecture (- GLOBAL-4.7.8)
process1 process2 process3
+=============+ +===========+ +===========+
|global(write)|->|sort filter|->|path filter|->[stdout]
+=============+ +===========+ +===========+
New architecture (GLOBAL-5.0 -)
1 process
+============================================+
|global(write) ->[sort filter]->[path filter]|->[stdout]
+============================================+
For the convenience of debugging, the old architecture is
also available. If macro EXTERNAL_FILTER is defined in filter.c
old architecture is selected.
The following options are also offered. (These options will be
deleted perhaps sooner or later.)
gtags --path={absolute|relative} --format={path|ctags|ctags-x|grep}
gtags --sort --format={path|ctags|ctags-x|grep} [--unique]
global --nofilter=[{path|sort}]
global --filter=[{path|sort}]
global --nosource
Moved the processing by which various formats are generated from
the main body of global(1) to the path filter. The main body
generates only two formats: path and ctags-x.
Path filter generates various formats which are given by the
--result=<format> option.
Change in CGI mechanism:
* The 'cgi-bin/' directory which generated by htags(1) doesn't
have any tag files. CGI script uses the tag files in the root
directory of a source project instead.
New modules:
* Added strhash module (strhash.c and strhash.h) to libutil.
Replaced the hash mechanism for compact format with this module.
* Added xargs module (xargs.c and xargs.h) to libutil.
Replaced the xargs(1) like mechanism with this module.
* Added pathconvert module (pathconvert.c and pathconvert.h) to libutil.
This module composes a part of an internal pipeline.
* Added tagsort module (tagsort.c and tagsort.h) to libutil.
Replaced external sort filter (gnusort) with internal one
(tagsort module). Gnusort was removed. As a result, GLOBAL
became free from dependence on external commands.
* Included GLIBC files obstack.c, obstack.h, hash-string.c and
hash-string.h.
Internal options:
* Removed two hidden options, --find and --other from gtags(1),
since they are no longer used.
* Added new internal format 'ctags-xid' of global(1).
The anchor generation method of the global.cgi was changed.
Global.cgi script was modified to use the --result=ctags-xid
option of global(1)
* Removed the -cc, -ccc, -cccc option of gtags(1).
These options were undocumented and only for testing.
* Removed two hidden options, --find and --other from gtags(1),
since they are no longer used.
Coding style:
* End of support of K&R.
* Changed function declarations to ANSI C style.
September 30 2005, Shigio YAMAGUCHI
* Updated GNU Free Documentation License.(1.1->1.2)
* Updated doc/texinfo.tex using texinfo-4.8.
* BSD advertising clause was deleted, according to the declaration
by UCB.
* Added new module idset.
* Added new function exec_line_limit() in env.c.
* Added new function find_open_filelist() for the --file=xxx option.
Find_read() and find_close() is shared by both find_open_filelist()
and find_open().
* Added new config option --with-db185-compat[=DIR].
This is not for normal use, but for debugging.
* Decreased use of popen() by moving the conversion from tabs to
spaces into htags.
* Reimplemented 'gtags --sort' without gnusort.
* The default cache size was changed from 500000 to 5000000.
Though I was assuming the machine equipped with 32-64MB,
in a recent machine, even small one has 256-512MB memory.
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 dependency 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, because 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 sub-string.
* 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 reconstructed.
* 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: re-implement 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 referred 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 independence 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
because that conflicts against other library.
* gctags: rewritten completely.
Thanks to Ken Arnold and the other people who developed 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 on-line 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 future.)
* 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.
|