File: ChangeLog

package info (click to toggle)
global 6.6.4-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 18,308 kB
  • sloc: ansic: 39,547; javascript: 4,891; sh: 4,674; perl: 811; lisp: 696; makefile: 332; python: 213; yacc: 122
file content (1235 lines) | stat: -rw-r--r-- 44,065 bytes parent folder | download | duplicates (2)
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
___________________________________
|      |  |  |     |  _  |     |  |
|  |___|  |  |  |  |    _|  |  |  |    GNU GLOBAL source code tagging system
|  |   |  |  |  |  |     |     |  |
|  ~~  |   ~~|     |  ~  |  |  |   ~~|          for all hackers.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Copyright (c) 2000-2019
	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

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.