"Fossies" - the Fresh Open Source Software Archive 
Member "global-6.6.5/ChangeLog" (3 Sep 2020, 44065 Bytes) of package /linux/misc/global-6.6.5.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the last
Fossies "Diffs" side-by-side code changes report for "ChangeLog":
6.6.3_vs_6.6.4.
1 ___________________________________
2 | | | | | _ | | |
3 | |___| | | | | _| | | | GNU GLOBAL source code tagging system
4 | | | | | | | | | |
5 | ~~ | ~~| | ~ | | | ~~| for all hackers.
6 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7 Copyright (c) 2000-2019
8 Tama Communications Corporation
9
10 This file is free software; as a special exception the author gives
11 unlimited permission to copy and/or distribute it, with or without
12 modifications, as long as this notice is preserved.
13
14 This program is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
16 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17
18 ----------------------------------
19
20 ChangeLog about GNU GLOBAL
21
22 June 7 2019, Shigio YAMAGUCHI
23
24 Removed the -T option of perl from the CGI scripts in htags/,
25 because env(1) cannot treat it correctly without -S option on FreeBSD.
26
27 $ cat test.sh
28 #!/usr/bin/env perl -T
29 print "Hello!\n";
30 $ ./test.sh
31 env: perl -T: No such file or directory
32
33 March 21 2019, Shigio YAMAGUCHI
34
35 Moved convert.c, convert.h, output.c, output.h from 'global/' to 'libutil/'.
36
37 July 15 2018, Shigio YAMAGUCHI
38
39 [icons, jquery]
40 Moved 'icons/' and 'jquery/' from the root directory of the project to 'htags/'.
41 It seems to be a more suitable place.
42
43 June 11 2018, Shigio YAMAGUCHI
44
45 [gtags-cscope/find.c]
46 Replaced the system(3) function with the secure_popen utilities (libutil/secure_popen.c)
47 for security and readability.
48
49 March 15 2018, Shigio YAMAGUCHI
50
51 Moved sqlite3.c and sqlite3.h from 'libglibc/' to 'libdb/'.
52 It seems to be a more suitable place.
53
54 December 12 2017, Shigio YAMAGUCHI
55
56 [plugin-factory/maps2conf.pl]
57 Added new script 'maps2conf.pl', which converts from the output of
58 'ctags --list-maps' into a gtags.conf record. It supports Exuberant Ctags
59 and Universal Ctags.
60
61 [usage]
62 perl maps2conf.pl <ctags-path> <plugin-path> [<label>]
63
64 The default of <label> is 'default'. You can use this script to make
65 'gtags.conf' file for ctags plug-in parser. Please try this:
66
67 $ perl maps2conf.pl /usr/local/bin/ctags '$libdir/gtags/universal-ctags.la' >gtags.conf
68 $ gtags # use Universal Ctags as a parser
69
70 It assumed that '/usr/local/bin/ctags' above is Universal Ctags.
71
72 August 30 2017, Shigio YAMAGUCHI
73
74 [libutil/find.c]
75 In addition to the skip by regular expression, the following
76 files are skipped in ignore() function previously now.
77 o Files which start with '.'
78 o Tag files (GPATH, GTAGS, GRTAGS)
79
80 The regular expression is left, because xxx_filelist() functions
81 require it.
82
83 December 30 2016, Shigio YAMAGUCHI
84
85 Added taint mode to the following CGI scripts:
86 global.cgi.in
87 completion.cgi.in
88
89 December 21 2016, Shigio YAMAGUCHI
90
91 Rewrote the following functions without popen(3) in order not to cause
92 unnecessary security anxiety.
93 completion_idutils()
94 idutils()
95
96 These functions are called from CGI scripts of htags(1).
97
98 December 16 2016, Shigio YAMAGUCHI
99
100 Rewrote the following CGI scripts using perl5 syntax:
101 global.cgi.in
102 completion.cgi.in
103
104 There were many perl5.* incompatible with each other in the past.
105 Even then perl4 syntax always worked correctly. But this problem
106 was a thing of the past. Perl4 syntax is now meaningless.
107
108 October 22 2016, Shigio YAMAGUCHI
109
110 Removed the following files:
111 BOKIN_MODEL
112 BOKIN_MODEL_FAQ
113
114 BOKIN model was finished. Now GLOBAL is not a BOKINware.
115
116 October 8 2016, Shigio YAMAGUCHI
117
118 Added the following library source code. Though it's a GNU version,
119 I derived them from the latest Universal Ctags archive not to make
120 differences.
121
122 libglibc/fnmatch.c
123 libglibc/fnmatch.h
124
125 March 9 2016, Shigio YAMAGUCHI
126
127 Now, the following files in datadir are static.
128 - completion.cgi
129 - global.cgi
130 - jscode_suggest
131 - jscode_treeview
132 - style.css
133
134 February 3 2016, Shigio YAMAGUCHI
135
136 [Plug-in parser]
137 Added new plug-in parser 'universal-ctags.la'.
138 It is made using exuberant-ctags.c and -DUSE_EXTRA_FIELDS compile option.
139
140 [gtags.conf]
141 Added new entry 'universal-ctags'.
142 Added new variables 'ctagscom'.
143
144 [Plug-in interface]
145 Added new plug-in interface function getconf().
146 You can access config variables of gtags(1) from plug-in parsers.
147
148 Nov 30 2015, Shigio YAMAGUCHI
149
150 Replaced @libdir_QUOTED@ with configuration variable in gtags.conf.in.
151
152 Nov 21 2015, Shigio YAMAGUCHI
153
154 Removed ctags-5.8.patch, because Universal Ctags supports reference tags
155 by itself now.
156 Added new test for Universal Ctags.
157
158 Oct 14 2015, Shigio YAMAGUCHI
159
160 [configure.ac]
161 Replaced @prefix_QUOTED@ with @libdir_QUOTED@ in gtags.conf.in.
162 From now on, you can use the --prefix, --exec-prefix and --libdir
163 options to set a value of @libdir_QUOTED@. This was done by Kevin Farshaw.
164
165 [libparser/parser.c]
166 Changed dynamic loading code using ld_dlopenext().
167 (Fedora packaging guidelines prohibit .la files)
168
169 if (ld_dlopen('foo.la') == FAILED)
170 error_and_exit();
171 |
172 v
173 if (ld_dlopen('foo.la') == FAILED)
174 if (ld_dlopenext('foo') == FAILED)
175 error_and_exit();
176
177 From now on, extension of DLL is needless.
178
179 June 22 2015, Shigio YAMAGUCHI
180
181 To recover easiness of reading source code, removed Doxygen tags
182 in the source code except for the followings:
183 ('description' should be plain text)
184
185 /**< description */
186
187 /**
188 * description
189 * @param[in] var description
190 * @param[out] var description
191 * @param[in,out] var description
192 * @return description
193 */
194
195 November 10 2014, Shigio YAMAGUCHI
196
197 Included SQLite3 version 3.8.7.1 into 'libglibc'.
198
199 November 7 2014, Shigio YAMAGUCHI
200
201 Added support of Sqlite3 API for tag files (alpha quality).
202 If you will test the code then please do as follows:
203
204 [building phase]
205 $ ./configure --with-sqlite3
206
207 [executing phase]
208 $ gtags --sqlite3
209
210 June 28 2014, Shigio YAMAGUCHI
211
212 New environment variable GTAGSLOGICALPATH was added.
213 If it is set then GLOBAL use logical path (PWD), else
214 physical path. This variable is now undocumented.
215
216 March 17 2014, Shigio YAMAGUCHI
217
218 libutil/pathconvert.c module was divided into the following two modules:
219 o libutil/encodepath.c
220 o global/convert.c
221 According to the change, the function of the --path command of gtags(1)
222 (undocumented) was moved to global(1)'s --path-convert command.
223
224 December 18 2013, Shigio YAMAGUCHI
225
226 The following paths were removed from the candidate list of configuration file.
227
228 /etc/global.conf (OLD_GTAGSCONF)
229 /etc/gtags/global.conf (OLD_DEBIANCONF)
230
231 These paths were not documented once.
232
233 November 17 2013, Shigio YAMAGUCHI
234
235 Added two functions: copyfile(), copydirectory(). They remove the necessity
236 of external command 'cp'.
237
238 June 17 2013, Shigio YAMAGUCHI
239
240 Dependence to dbop.c module was eliminated from assoc.c module.
241
242 June 12 2013, Shigio YAMAGUCHI
243
244 File 'HTML/sitekey' (--system-cgi option) was removed since it is unnecessary.
245
246 December 11 2012, Shigio YAMAGUCHI
247
248 Some Automake macros were changed as follows to avoid warning messages.
249 o INCLUDES was changed to AM_CPPFLAGS
250 o AC_PROG_RANLIB was removed.
251
252 December 3 2012, Shigio YAMAGUCHI
253
254 [global/literal.c]
255 Included fgrep's code of 4.3BSD.
256
257 October 20 2012, Shigio YAMAGUCHI
258
259 Added support for type string of ctags.
260 Configure script detects whether ctags has --gtags option or not.
261 However, I don't know whether the ctags which has this option will be released.
262
263 Exuberant Ctags with --gtags option:
264 $ ctags --gtags -x ...
265 D main 320 global/global.c main(int argc, char **argv)
266 R NULL 325 global/global.c const char *av = NULL;
267 =
268 ^-- Type string (D: definition, R: other than definition)
269
270 October 13 2012, Shigio YAMAGUCHI
271
272 Comments were rewritten in the Doxygen style. Submitted by Simon Dommett.
273 To generate a document, please invoke make command in the root directory
274 of the project like follows:
275
276 $ make doxygen
277
278 doxygen 1.8.2 is required.
279
280 June 9 2012, Shigio YAMAGUCHI
281
282 Added BUILD_TOOLS file, which includes the list of version numbers
283 of the building tools used for building GLOBAL. It is automatically
284 generated by reconf.sh.
285
286 March 15 2011, Shigio YAMAGUCHI
287
288 Included cscope's source code.
289
290 [Added source files] [cscope-15.7]
291 m4/check_curses.m4 configure.in
292 gtags-cscope/manual.in doc/cscope.1
293 gtags-cscope/alloc.c src/alloc.c
294 gtags-cscope/alloc.h src/alloc.h
295 gtags-cscope/basename.c src/basename.c
296 gtags-cscope/build.c src/build.c
297 gtags-cscope/build.h src/build.h
298 gtags-cscope/command.c src/command.c
299 gtags-cscope/constants.h src/constants.h
300 gtags-cscope/display.c src/display.c
301 gtags-cscope/edit.c src/edit.c
302 gtags-cscope/exec.c src/exec.c
303 gtags-cscope/global-cscope.h src/global.h
304 gtags-cscope/gtags-cscope.c src/main.c
305 gtags-cscope/help.c src/help.c
306 gtags-cscope/history.c src/history.c
307 gtags-cscope/input.c src/input.c
308 gtags-cscope/library.h src/library.h
309 gtags-cscope/logdir.c src/logdir.c
310 gtags-cscope/mouse.c src/mouse.c
311 gtags-cscope/mygetenv.c src/mygetenv.c
312 gtags-cscope/mypopen.c src/mypopen.c
313 gtags-cscope/version-cscope.h src/version.h
314
315 February 4 2011, Shigio YAMAGUCHI
316
317 Configure.ac was modified to detect POSIX sort program automatically.
318
319 August 30 2010, Shigio YAMAGUCHI
320
321 Renamed the style sheet file in the source package from style.css to
322 style.css.tmpl, because to follow the custom of naming of other templates.
323
324 August 12 2010, Shigio YAMAGUCHI
325
326 Modification of the -S option.
327
328 o Renamed from '-S(--secure-cgi)' to '--system-cgi' because the
329 parameter is changed.
330 o Changed the site key directory from 'datadir' to 'localstatedir'
331 because 'datadir' is for read-only data.
332 o Changed the permission of the site key directory from 773 to 775.
333
334 These most was suggested by Ron Lee.
335
336 June 27 2010, Shigo YAMAGUCHI
337
338 Modification of the -S option.
339
340 1. New htags requires a unique key as the parameter of the -S option.
341 (It is a incompatible change.)
342 2. Htags makes a file whose name is the key in shared area, and
343 put the path of the HTML directory in it.
344 3. To make the file name unique, a key that already exists
345 is not allowed without --over-write option.
346
347 [in /var/src]
348 $ htags ... -S key1
349 ====
350 |
351 +----------------+-----+
352 v |
353 [/usr/local/share/gtags/sitekeys/key1] |
354 +-------------------------------- |
355 |/var/src/HTML | ... (2)
356 |
357 [/var/src/HTML/index.html] |
358 +-------------------------------- |
359 |... v
360 |<input type='hidden' name='id' value='key1'> ... (1)
361 ====
362
363 The center CGI script can know the path of the HTML directory by the following
364 method.
365
366 (1) get a unique key from the variable 'id'
367 => 'key1'
368 (2) read directory name from '/usr/local/share/gtags/sitekeys/' + 'key1'
369 => '/var/src/HTML'
370
371 This mechanism conceals the real path name of the HTML directory.
372
373 May 21 2010, Shigo YAMAGUCHI
374
375 * Removed support for command layer plug-in parser(gtags-parser/).
376
377 May 20 2010, Shigo YAMAGUCHI
378
379 * Changed the architecture of gtags(1) from 2 pass to 1 pass.
380
381 [Old]
382
383 Pass 1: +-------+
384 source files =============>| gtags |============> GTAGS
385 | |============> GPATH
386 | |============> temporary file
387 +-------+
388 Pass 2: +-------+
389 temporary file ============>| gtags |============> GRTAGS
390 GTAGS ============>| |============> GSYMS
391 +-------+
392 [New]
393
394 Pass 1: +-------+
395 source files =============>| gtags |============> GPATH
396 | |==>[sort]===> GTAGS
397 | |==>[sort]===> GRTAGS
398 +-------+
399 (1) 1 pass architecture
400 GLOBAL doesn't use GSYMS any longer. Symbols stored there before are
401 put into GRTAGS instead. The divergence to GRTAGS and GSYMS is done
402 in referring stage (gtags_first() and gtags_next()) not in generating
403 stage. This change removes complexity from the program very much.
404
405 (2) Sorted writing
406 The (1) brings a big GRTAGS and decrease at the writing speed.
407 To avoid it, the records written to tag files are sorted beforehand.
408 This function becomes effective if DBOP_SORTED_WRITE flag is specified
409 for function dbop_open(). It uses an external POSIX sort program.
410
411 Note: In the new method, temporary file doesn't become unnecessary.
412 Because the external sort program also uses temporary files for its job.
413
414 This small work greatly depends on the big work by Hideki IWAMOTO on February 1 2010.
415
416 April 27 2010, Shigo YAMAGUCHI
417
418 * Changed the cache format (htags/cache.c) like follows:
419
420 (1) Duplicate tag file
421 +--------------------+ +---------------------+
422 | <fid> <frequency>\0| -> | <fid>\0<frequency>\0|
423 +--------------------+ +---------------------+
424 'D/<fid>.html'
425 (2) Tag definition
426 +---------------------------+ +----------------------+
427 |<line number> <file name>\0| -> |<line number>\0<fid>\0|
428 +---------------------------+ +----------------------+
429 'S/<fid>.html#<line number>'
430
431 March 8 2010, Shigio YAMAGUCHI
432
433 * Changed the default parser of gtags(1) from gtags-parser(1) to libgloparser.a.
434 Config parameter 'use_builtin_parser' is not used any longer. If the config
435 variable GTAGS is defined then gtags(1) use the command layer parser specified
436 by the variable as well as before. But it is obsolete.
437
438 February 27 2010, Hideki IWAMOTO
439
440 * Added support of function layer plugin parser.
441 Libtool 2.2.6b or later is required to build CVS version.
442
443 February 3 2010, Shigio YAMAGUCHI
444
445 * Use invisible temporary files instead of visible files (htags/assoc.c).
446
447 February 1 2010, Hideki IWAMOTO
448
449 * Added built-in parser to improve the performance of making tag files.
450
451 When the built-in parser is used, the source files are parsed only once.
452 The candidate of reference and other symbols are written to the temporary
453 file in Pass1, and read in Pass2.
454
455 Pass 1:
456 +-------+
457 source files =============>| gtags |============> GTAGS
458 | |============> GPATH
459 | | tag record
460 | |============> temporary file
461 +-------+
462 Pass 2:
463 tag record +-------+
464 temporary file ============>| gtags |============> GRTAGS
465 | |
466 GTAGS ============>| |============> GSYMS
467 +-------+
468
469 February 18 2009, Shigio YAMAGUCHI
470
471 * Rewrote the stack in libutil/find.c using the varray (libutil/varray.c)
472 instead of static array.
473 * Changed gtags(1) not to do useless inspection for the files in the
474 directories which are listed in the skip list.
475
476 September 27 2008, by Shigio YAMAGUCHI
477
478 * Changed the default cache size of DB library from 5M to 50M bytes.
479 * Recovered the code in which pread/pwrite is used in BSD db library.
480 However, this code is not automatically used. To include the code,
481 please invoke configure script with the --with-pread-pwrite option.
482 The original code was written by Hideki IWAMOTO.
483
484 July 14 2008, by Shigio YAMAGUCHI
485
486 * Changed gtags(1) to skip all files whoes first character of name is '.'.
487
488 The following path was deleted from the DEFAULTSKIP in configure.ac, since new
489 rule covers them.
490
491 .notfunction
492 .gdbinit
493 .cvsrc
494 .cvsignore
495 .gitignore
496 .cvspass
497 .cvswrappers
498 .deps/
499 .snprj/
500 .svn/
501 .git/
502
503 April 21 2008, by Shigio YAMAGUCHI
504
505 * gtags.vim: Stopped use of temporary file.
506
507 March 25 2008, by Shigio YAMAGUCHI
508
509 * gtags.vim, gtags.pl: rewritten using new '--from-here' option of global(1).
510 * Added htags/ghtml.cgi.tmpl.
511 * Described the method of apache setting as a comment in htags/global.cgi.tmpl.in.
512 * Modifications to allow symbolic link.
513 To realize it, normalize_path() and abs2rel() in libutil/abs2rel.c module is used
514 instead of realpath(3) library function.
515 * gtags.el and gtags.vim are rewritten using new '--from-here' option of global(1).
516
517 October 26 2007, by Shigio YAMAGUCHI
518
519 * Added file 'DONORS' which includes the list of donations to GNU GLOBAL.
520 * Idset module: Performance improvement of idset module by using "unsigned long"
521 instead of "unsigned int" for bitmask. This is necessary to use 64 bit processor
522 effectively.
523
524 July 6 2007, by Shigio YAMAGUCHI
525
526 * Migrated to GPLv3 and LGPLv3.
527 * gtags.conf.in: Migrated to simple all-permissive license.
528
529 May 5 2007, by Shigio YAMAGUCHI
530
531 * New files: BOKIN_MODEL, BOKIN_MODEL_FAQ, DONORS
532
533 March 10 2007, Shigio YAMAGUCHI
534
535 * gtags.el: Added (provide 'gtags).
536 * libutil/env.c: Use putenv(3) if it is available else use setenv(3).
537 Some systems don't have setenv(3).
538
539 January 29 2007, Shigio YAMAGUCHI
540
541 * Further compression of tag file (format version 5).
542 - Tag name is compressed.
543 - Each line number might be expressed as difference from the previous
544 line number except for the head.
545 ex: 11,3,2 means '11 14 16'.
546 - In addition, successive line numbers are expressed as range (n1-n2).
547 ex: 11-3 means '11 12 13 14'.
548
549 * global(1): Sort filter was moved from the output filter to the input filter.
550
551 ( input ) | ( m a i n ) | ( o u t p u t )
552 gtagsop | global | tagsort | pathconvert
553 ---------------+---------------------+------------+--------------
554 expand tag +------------+ sort tag convert path
555 | |
556 +-------------------------------------+
557 v v
558 sort tag expand tag convert path
559
560 Instead, the processing of expanding tag was moved to the main module.
561 This improves the performance when compact format is used, since
562 sorting is done before expanding.
563
564 Recent architecture (GLOBAL-5.0 - 5.3)
565
566 +===========================================+
567 |global(write)->[sort filter]->[path filter]|->[stdout]
568 +===========================================+
569
570 New architecture (GLOBAL-5.4 -)
571
572 +===========================================+
573 |[sort filter]->global(write)->[path filter]|->[stdout]
574 +===========================================+
575
576 * Removed some code which call the following method:
577 putenv utimes
578 They are not natural method today.
579 pread pwrite
580 They are risky since they are not used so much and are not
581 often so tested. It was found that the pread and pwrite in cygwin
582 are buggy. Though it is not our business, user is not guilty too.
583 strdup
584 It is not needed since we use check_strdup() instead.
585 * Added some new modules.
586 pool - allocate and free memory for temporary use.
587 fileop - operation for opening and closing file.
588 * Added some new methods.
589 strmake module - strcmp_withterm()
590 * Removed some modules.
591 global/filter, libutil/tagsort
592 * idset module:
593 - Added new functions idset_first(), idset_next() and idset_empty().
594 - Changed bitmask from char(8 bits) to integer (maybe 32 or 64 bits)
595 to improve performance.
596
597 November 20 2006, Shigio YAMAGUCHI
598
599 * gtags.el:
600 - gtags-make-complete-list is deprecated.
601 Added gtags-completing-gtags, gtags-completing-gsyms and gtags-completing.
602 - Throw away the output of gozilla in 'gtags-display-browser'.
603
604 August 8 2006, Shigio YAMAGUCHI
605
606 * htags/fileindex.c: Rewritten using recursive call instead of stack structures.
607 * gozilla.c: Fixed getURL() according to new GPATH.
608 * Replaced malloc(), realloc() and stdup() with check_xxxx() functions.
609 * Added icon files (icons/*png).
610
611 June 10 2006, Shigio YAMAGUCHI
612
613 * Recovered original texinfo file names (.txi -> .texi).
614
615 April 21 2006, Shigio YAMAGUCHI
616
617 Change in tag format:
618 * Moved to new tag format. New tag format is as follows.
619 GTAGS (with compress option)
620 <file id> <tag name> <line number> <compressed line image>
621 GRTAGS, GSYMS (with compact option)
622 <file id> <tag name> <line number>[,...]
623 * Now, GPATH has path names of not only source files but
624 also other text files. The following commands no longer
625 traverse file system. They read GPATH instead.
626 global(1) with the --other option.
627 htags(1) with the --other option.
628
629 Change in architecture:
630 * Changed the filtering architecture of global(1).
631
632 Old architecture (- GLOBAL-4.7.8)
633
634 process1 process2 process3
635 +=============+ +===========+ +===========+
636 |global(write)|->|sort filter|->|path filter|->[stdout]
637 +=============+ +===========+ +===========+
638
639 New architecture (GLOBAL-5.0 -)
640
641 1 process
642 +============================================+
643 |global(write) ->[sort filter]->[path filter]|->[stdout]
644 +============================================+
645
646 For the convenience of debugging, the old architecture is
647 also available. If macro EXTERNAL_FILTER is defined in filter.c
648 old architecture is selected.
649
650 The following options are also offered. (These options will be
651 deleted perhaps sooner or later.)
652
653 gtags --path={absolute|relative} --format={path|ctags|ctags-x|grep}
654 gtags --sort --format={path|ctags|ctags-x|grep} [--unique]
655 global --nofilter=[{path|sort}]
656 global --filter=[{path|sort}]
657 global --nosource
658
659 Moved the processing by which various formats are generated from
660 the main body of global(1) to the path filter. The main body
661 generates only two formats: path and ctags-x.
662 Path filter generates various formats which are given by the
663 --result=<format> option.
664
665 Change in CGI mechanism:
666 * The 'cgi-bin/' directory which generated by htags(1) doesn't
667 have any tag files. CGI script uses the tag files in the root
668 directory of a source project instead.
669
670 New modules:
671 * Added strhash module (strhash.c and strhash.h) to libutil.
672 Replaced the hash mechanism for compact format with this module.
673 * Added xargs module (xargs.c and xargs.h) to libutil.
674 Replaced the xargs(1) like mechanism with this module.
675 * Added pathconvert module (pathconvert.c and pathconvert.h) to libutil.
676 This module composes a part of an internal pipeline.
677 * Added tagsort module (tagsort.c and tagsort.h) to libutil.
678 Replaced external sort filter (gnusort) with internal one
679 (tagsort module). Gnusort was removed. As a result, GLOBAL
680 became free from dependence on external commands.
681 * Included GLIBC files obstack.c, obstack.h, hash-string.c and
682 hash-string.h.
683
684 Internal options:
685 * Removed two hidden options, --find and --other from gtags(1),
686 since they are no longer used.
687 * Added new internal format 'ctags-xid' of global(1).
688 The anchor generation method of the global.cgi was changed.
689 Global.cgi script was modified to use the --result=ctags-xid
690 option of global(1)
691 * Removed the -cc, -ccc, -cccc option of gtags(1).
692 These options were undocumented and only for testing.
693 * Removed two hidden options, --find and --other from gtags(1),
694 since they are no longer used.
695
696 Coding style:
697 * End of support of K&R.
698 * Changed function declarations to ANSI C style.
699
700 September 30 2005, Shigio YAMAGUCHI
701
702 * Updated GNU Free Documentation License.(1.1->1.2)
703 * Updated doc/texinfo.tex using texinfo-4.8.
704 * BSD advertising clause was deleted, according to the declaration
705 by UCB.
706 * Added new module idset.
707 * Added new function exec_line_limit() in env.c.
708 * Added new function find_open_filelist() for the --file=xxx option.
709 Find_read() and find_close() is shared by both find_open_filelist()
710 and find_open().
711 * Added new config option --with-db185-compat[=DIR].
712 This is not for normal use, but for debugging.
713 * Decreased use of popen() by moving the conversion from tabs to
714 spaces into htags.
715 * Reimplemented 'gtags --sort' without gnusort.
716 * The default cache size was changed from 500000 to 5000000.
717 Though I was assuming the machine equipped with 32-64MB,
718 in a recent machine, even small one has 256-512MB memory.
719
720 May 12 2005, Shigio YAMAGUCHI
721
722 * htags: New macro TOPDIR and SUBDIR added for readability.
723 * htags: Quoted the "&" in attribute value.
724 * Changed the address of FSF for each file.
725
726 April 19 2005, Shigio YAMAGUCHI
727
728 * htags: Added new functions to generate anchor tag.
729 For <a href=*** ...>
730 - gen_href_begin_with_title_target()
731 - gen_href_begin_simple()
732 - gen_href_begin()
733 - gen_href_begin_with_title()
734 - gen_href_end()
735 For <a name=***>
736 - gen_name_number()
737 - gen_name_string()
738 * htags, gtags-parser: Defined lex name generation rule.
739 - Change prefix * to *_.
740 - New lex name generation rule.
741 - New macro definition (LEXTEXT, LEXLENG, ...))
742 * Added new macro STATIC_STRBUF(sb).
743 * Added new macros (PART_TAG, PART_LNO, PART_PATH, PART_LINE).
744 * strbuf.[ch]: Memory management was made more efficient.
745 * Added const prefix to char * if it is suitable.
746 * Install gtags.el into the $datadir/gtags directory instead of
747 the site lisp directory because the installation procedure
748 fails when the site lisp directory doesn't exist.
749
750 February 26 2005, Shigio YAMAGUCHI
751
752 * Required version of autotools was updated.
753 - Autoconf 2.59
754 - Automake 1.9.3
755 Configure.ac was modified according to the new style.
756 * Install gtags.el into the site lisp directory.
757 * When child process terminates abnormally, the program
758 execution is ended.
759 * The gctags directory was renamed to gtags-parser according to
760 the renaming of the command.
761 * gtags-parser: Modified to use a switch table for switching
762 language.
763
764 November 11 2004, Shigio YAMAGUCHI
765
766 * Assembly language parser rewritten using Yacc.
767 * libutil/strmake.c: strtrim() added.
768 * libutil/varray.c added.
769
770 Decrease in dependency to external commands:
771 * The sed(1), sort(1) and find(1) are not necessary any longer.
772 * The support of find(1) as a method of directory traversing
773 was ended. As a result, dirent(3) became indispensable.
774 The configuration phase was changed like follows:
775
776 if dirent(3) exist then
777 use dirent(3)
778 else if find(1) exist then
779 use find(1)
780 else
781 ERROR
782 |
783 v
784 if dirent(3) exist then
785 use dirent(3)
786 else
787 ERROR
788 * Htags.pl was removed completely. Therefore, the --date, --pwd,
789 --write and --scandb option of gtags(1) which was used internally
790 by htags.pl, were removed.
791 * Includes GNU sort as part of GLOBAL package.
792 This solves following troubles:
793 - A certain operating system has another 'sort' command
794 that specification is different from GNU sort. Unluckily,
795 the command is often invoked for GLOBAL.
796 - Multi-language version of sort is often very slow. Since GLOBAL
797 doesn't support multi-language, the slowness is quite meaningless.
798 - In the past, the specification of sort command was changed.
799
800 October 6 2004, Shigio YAMAGUCHI
801
802 * libutil/langmap.c, langmap.h added.
803 Config variable 'langmap' will be added officially sooner or later.
804 * gctags/asm_res.in and htags/asm.l added.
805 * fileindex.c: makeincludeindex() was cut out from makefileindex()
806 for statistic.
807 * The priority of the method selection for directory traversing
808 was changed like follows:
809
810 if find(1) exist then
811 use find(1)
812 else
813 use dirent(3)
814 |
815 v
816 if dirent(3) exist then
817 use dirent(3)
818 else if find(1) exist then
819 use find(1)
820 else
821 ERROR
822
823 * gozilla: removed the Win32 version of sendbrowser, using a direct
824 call to ShellExecute (since the browser probably isn't on the path,
825 and -remote doesn't seem to work on Windows).
826 * htags/src2html.c: Modified to use a switch table for switching
827 language.
828
829 August 26 2004, Shigio YAMAGUCHI
830
831 * Moved function now() from gtags.c to libutil/date.c.
832 * htags: Changed so that the path passed to CGI might be encoded to %xx.
833 * htags: Rewritten in C language.
834 * htags: The use of the 'gtags --write' was stopped.
835 * die.c: New function sethandler() and warning() added.
836 * gctags/reserved.pl: The use of the --key-positions option of gperf(1)
837 was stopped. We need gperf-3.0.1 instead.
838
839 June 1 2004, Shigio YAMAGUCHI
840
841 * htags: Function usable() was changed to the same specification
842 as usable() in libutil/usable().
843 * htags: Execution path of global(1) was changed to the absolute path.
844 * htags: Write FILEMAP file for reference from external system.
845 * conf.c: New config variable 'bindir' and 'datadir' added.
846 * w32/ directory removed.
847
848 Feb 1 2004, Shigio YAMAGUCHI
849
850 * Rewrite strbuf_putn() without snprintf().
851 * Created datadir, the default is '/usr/local/share/gtags'.
852 The following files are installed into the directory:
853 AUTHORS COPYING ChangeLog FAQ INSTALL LICENSE NEWS README THANKS
854 globash.rc gtags.conf gtags.el gtags.pl gtags.vim nvi-1.79-gtags.diff
855
856 Oct 3 2003, Shigio YAMAGUCHI
857
858 * gtags.conf.in, libutil/conf.h.in: Now gtags.conf and conf.h
859 are generated by Autoconf.
860 * The priority of the method of directory traverse was reversed again,
861 because, in some GNU/Linux, struct dirent has a member d_type but
862 always return 0. As the result, if find(1) is available then use it,
863 otherwise use dirent(3).
864
865 July 2 2003, Shigio YAMAGUCHI
866
867 * gctags: If you want to build this parser from original source in
868 CVS repository then it is necessary to install flex(1) and gperf(1)
869 in your environment. (Since both of them are GNU software,
870 you can get them from GNU ftp site.)
871 * reserved.pl: Generate C and Perl code for locating reserved words.
872 * gtags.c: The --createdb and the --readdb option which used for anchor
873 database were removed, because there is no necessity any longer.
874
875 June 5 2003, Shigio YAMAGUCHI
876
877 * libutil/env.c: replace putenv() and setenv() with set_env();
878 * libutil/char.c,char.h: New files.
879 * libutil/find.c: Skip symbolic links to eliminate the difference
880 between find(1) version and dirent(3) version.
881 * htags.in: Remove tag name and line image from cache record.
882 This made cache file smaller.
883 * htags.in: Stop using anchor db. Up to now, only gtags had called
884 the parser. But hereafter, the parser will be called by both
885 gtags and htags.
886 * global.c: About the -g option, implementation using grep + xargs
887 was removed.
888 * libutil/find.c: The priority of the method of directory traverse
889 was reversed. If dirent(3) is available, then use it to traverse
890 directory tree. Otherwise use find(1).
891 * configure.ac: --with-cflags=[=VAL] was removed.
892 Please use ./configure CFLAGS=VAL instead.
893 * reconf.sh: --configure, --make and --install option added.
894
895 March 29 2003, Shigio YAMAGUCHI
896
897 * C.c,Cpp.c: move some code into condition_macro.
898 * C.h, Cpp.h, java.h: replace #define macro with enum member
899 for representing reserved words.
900 * htags.in: add reserved words.
901 * htags/manual.in: add description about configuration variable
902 'table_begin' and 'tabel_end'.
903 * htags.in, manual.in: add configuration variables
904 'colorize_warned_line', 'warned_line_begin', 'warned_line_end'.
905 * dbop.c: environment variable GTAGSCACHE added.
906
907 November 9 2002, Shigio YAMAGUCHI
908
909 * gtags.c: --convert/--createdb/--readdb/--scandb option added.
910 * btreeop: replaced with gtags and removed.
911 * split.c: use SPLIT structure which manage sub-string.
912 * gtagsop.c: now format version is 3 (pathindex format).
913 * configure.ac: fixed for Autoconf-2.53 and renamed.
914 * acconfig.h: removed because it is considered to be obsoleted.
915 * gctags: inittable() added for each parser, which set up reserved
916 word table.
917 * doc/*.texi: renamed from *.texi to *.txi for djgpp.
918 * libutil: linetable.[ch] added.
919
920 July 4 2002, Shigio YAMAGUCHI
921
922 * gctags.c: allows second argument in *ENTRY for 4.3BSD.
923 * split.c: splitting function added.
924 * strlimcpy.c: replaced strcpy() and strncpy() with strlimcpy().
925 * strbuf.c: strbuf_putn() added.
926 * conf.c find.c: shut buffer overflow.
927 * gtags, htags: './' removed from path name in verbose message.
928 * *.c, *.h: copyright year fixed.
929 * configure.in: macro AG_BYTE_ORDER recovered.
930 * htags: sort command replaced with gtags --sort in makedupindex()
931 so that sort can treat smaller number of tag lines.
932 * htags: makedupindex() rewritten for performance.
933
934 March 30 2002, Shigio YAMAGUCHI
935
936 * conf.c: added GPATH,GTAGS,GRTAGS,GSYMS,tags,TAGS,ID to DEFAULTSKIP.
937 * find.c: decreased dependency on find(1).
938 removed length argument from find_read().
939 * global.texi: documentation reconstructed.
940 * globash.rc: --no-wait option added to emacsclient.
941 * gozilla: gozilla directory added.
942 * abs2rel.c: added for path conversion. pathfilter with sed(1)
943 is replaced gtags(1) --relative or --absolute.
944 * global: use lid(1) rather than gid(1).
945 * usable.c: locate command for BINDIR before PATH.
946 * htags: bless.sh remove cgi-bin/global.cgi because it is not needed.
947 * htags: changed open into 'open + exec' to avoid command substitutions
948 in pattern.
949
950 January 22 2002, Shigio YAMAGUCHI
951
952 * htags: build trouble fixed.
953 global.cgi wasn't generated correctly.
954
955 January 10 2002, Shigio YAMAGUCHI
956
957 * DJGPP support code added.
958 Jason Hood ported Global-4.0.1 into DJGPP environment.
959 I have merged his code into this version.
960 * gtags.pl added.
961 * Convert.pl added. From now on, usage, help, man, info are
962 generated automatically by this script from */manual.in files.
963 * gtags, global: make exit code rule:
964 0:normal, 1:exception, 2:usage, 3:GTAGS not found.
965
966 November 23 2001, Shigio YAMAGUCHI
967
968 * gtags: format char for strftime() changed (%e -> %d).
969 * gtags: the path of gctags changed from 'gctags' to '$bindir/gctags'.
970 * htags: use gtags --date and gtags --pwd instead of date and pwd.
971 Above changes are for Windows 32 environment.
972 * rename file: pathop.[ch] -> gpathop.[ch].
973 * rename functions: pathxxx -> gpath_xxx, gtagsxxx -> gtags_xxx.
974 * rename functions: ffindxxx -> find_xxx, gfindxxx -> gfind_xxx.
975 * libglibc/snprintf.c added.
976 * move gfind_xxx from libutil/find.c to libutil/gpathop.c.
977
978 July 31 2001, Shigio YAMAGUCHI
979
980 * VERSION: removed.
981 * compat.h: moved to libdb/.
982 * machine/: removed.
983 * htags: WWW link in hypertext was modified.
984 * gtags.c, global.c: rewrite code for putenv(3) using malloc(3).
985
986 July 12 2001, Shigio YAMAGUCHI
987
988 * config variable HAVE_SNPRINTF and AC_FUNC_ALLOCA added.
989 * stop using MAXENVLEN because it brings buffer overflow.
990 * htags.pl: the value of id changed from src directory
991 to HTML directory.
992 * libutil/conf.c: error check added.
993 * libutil/gtagsop.c: replace notnamechar() with isregex().
994 * put '#assert' into reserved word.
995 * reconf.sh: command for generating configure added.
996 * Copyright notice added for short files that are not important
997 enough to worry about copylefting.
998 * libdb/db.h: typdefs pgno_t, indx_t and recno_t changed into macros.
999 * gctags/{C.c,Cpp.c}: memory violation fixed.
1000 * libutil/getopt* and libregex/* moved to new libglibc/ directory.
1001
1002 September 26 2000, Shigio YAMAGUCHI
1003
1004 * htags.pl: use generated path of perl for global.cgi.
1005 * global.1, htags.1, btreeop.1: fix missing .El.
1006 * make version number 'major.minor.fixed'.
1007
1008 September 3 2000, Shigio YAMAGUCHI
1009
1010 * license changed from BSD-style to GPL.
1011 * now generated automatically by Automake and Autoconf.
1012 * nvi-1.79-gtags.diff: put into the public domain.
1013 * htags.pl: command path in global.cgi becomes generated
1014 at execution time. usable() changed to return path.
1015 * htags.pl: optimized about temporary database.
1016 * htags.pl: most code which depend on javascript are removed
1017 because most of browsers don't support the language.
1018 * mgets.c: now belongs strbuf.c as strbuf_fgets().
1019 * strbuf.c: new argument 'initial buffer size' of strbuf_open().
1020 * global.conf: one line script for ctags-exuberant fixed.
1021 * Cpp.h, java.h: MAXCLASSSTACK changed from 10 to 100.
1022 * use snprintf(3) instead of sprintf(3).
1023 * replace Henry Spencer's regex(3) with GNU's one.
1024 * gctags/C.c: ignore 'extern' to treat 'extern func() { ...}'.
1025 * global.c: use grep(1) if grep and xargs(1) are available.
1026 * global.c: use find(1) if find is available.
1027 * gtags.el: re-implement as a minor mode (gtags-mode) and
1028 a major mode (gtags-select-mode) to work with other major mode
1029 like c-mode.
1030 prefix 'gtags-' added to all functions to avoid conflicts with
1031 other packages..
1032
1033 December 23, 1999, Shigio YAMAGUCHI
1034
1035 * htags.pl: change the process of removing cache file.
1036 * global.c, gtagsop.c, dbop.c: processing of regular expression
1037 is moved from command level (global.c) to library level
1038 (gtagsop.c) for optimizing -s option.
1039 * find.c: gfindopen(), gfindread(), gfindclose() added for
1040 optimizing -g option.
1041
1042 November 3, 1999, Shigio YAMAGUCHI
1043
1044 * htags: stop memory cache.
1045 * token.c: change buffer type from char to unsigned char.
1046
1047 September 17, 1999, Shigio YAMAGUCHI
1048
1049 * compat.h: macro for solaris added.
1050 * Makefile.bsd: delete libregex.a target because BSD has it in libc.
1051
1052 August 29, 1999, Shigio YAMAGUCHI
1053
1054 * gozilla: add DDE communication code in Windows 32.
1055
1056 August 26, 1999, Shigio YAMAGUCHI
1057
1058 * Cygwin support code added.
1059 David Aspinwall ported Global-3.44 into cygwin32 environment.
1060 I referred his code but I didn't use it in as is style, because it
1061 conflicted against Dan Fandrich's Windows 32 code. I wrote new
1062 code for cygwin32 borrowing David's idea.
1063 So any bugs in this area are therefore my fault, not David's.
1064 * htags: stop using cp(1).
1065
1066 August 23, 1999, Shigio YAMAGUCHI
1067
1068 * Windows 32 support code added.
1069 Dan Fandrich ported Global-3.44 into Windows 32 environment.
1070 I have included his code into this version (3.5) and altered them
1071 for some (mainly licensing) reasons, so any bugs in this area
1072 are therefore my fault, not Dan's.
1073 * copyright notice of Tama Communications Corporation added.
1074 * Henry Spencer's regex(3) imported.
1075 * gtags.el: now detect XEmacs.
1076 * htags: rewrite header #!/usr/bin/perl -> #!/usr/bin/env perl
1077 * find.c: USEFIND undefined by default.
1078
1079 March 22, 1999, Shigio YAMAGUCHI
1080
1081 * htags: internal path changed for ISO9660 file system.
1082 * htags: --action=url, --id=id and --nocgi options added to realize
1083 Ron Lee's htmake. (internal use only - undocumented)
1084 * Makefile.generic: DESTDIR macro added.
1085 * db(3) 1.85 imported to keep machine independence in generic make.
1086 'dbpatches' already has been applied.
1087
1088 January 20, 1999, Shigio YAMAGUCHI
1089
1090 * wrong copyright notice fixed. (regents -> author)
1091 * gtags.el: stop auto execution of gtags-make-complete-list.
1092 * gtags: prohibit user from using a path including blanks.
1093 * gozilla: path conversion rule added.(It will be used in the future.)
1094 * htags: META TAG added to reject robots.
1095
1096 January 8, 1999, Shigio YAMAGUCHI
1097
1098 * 'void main()' changed into 'int main()'.
1099
1100 December 10, 1998, Shigio YAMAGUCHI
1101
1102 * rename db_XXX to dbop_XXX because some of them conflict against
1103 functions in db-2.X.
1104 * nvi-1.79-m17n.diff: deleted because it is hard for me to maintain
1105 it. Sorry.
1106
1107 November 8, 1998, Shigio YAMAGUCHI
1108
1109 * global: --filter option added. (internal use only - undocumented)
1110 * htags: tabs parameter added in global.conf to change tab stop.
1111 * Makefile.generic: make sub makefiles inherit the macros from
1112 the root Makefile.
1113
1114 September 13, 1998, Shigio YAMAGUCHI
1115
1116 * Makefile: library name changed from libutil.a to libgloutil.a
1117 because that conflicts against other library.
1118 * gctags: rewritten completely.
1119 Thanks to Ken Arnold and the other people who developed BSD ctags(1).
1120 Without it, GLOBAL had never been here.
1121
1122 August 31, 1998, Shigio YAMAGUCHI
1123
1124 * nvi-1.79-m17n.diff: patch for multilingual nvi added.
1125 * nvi-1.66.diff: patch for nvi-1.66 added.
1126 * nvi-1.34.diff: deleted because it is old enough to support.
1127 * gozilla/Imakefile: make it possible to build gozilla alone without
1128 building libgloutil.a.
1129
1130 August 4, 1998, Shigio YAMAGUCHI
1131
1132 * gtags: --find option and --expand option added.
1133 (internal use only - undocumented)
1134 * global.conf, lib/conf.c: 'CVS/' added to 'skip' parameter.
1135 * gtags.conf: 'reserved_words' variable for htags(1) deleted.
1136 It is now hard coded.
1137 * find.c: dirent version added.
1138
1139 July 5, 1998, Shigio YAMAGUCHI
1140
1141 * fixed warning by -Wall -Wmissing-prototypes.
1142
1143 June 25, 1998, Shigio YAMAGUCHI
1144
1145 * gctags, gtags: -c option moved from gctags to gtags.
1146 (It is needed for supporting plugged-in parser.)
1147 * htags: URL of GLOBAL home page changed.
1148 * gtags.c: replace "%+" of strftime with "%a %b %e %H:%M:%S %Z %Y".
1149 for Debian GNU linux 1.3.1.
1150
1151 January 13, 1998, Shigio YAMAGUCHI
1152
1153 * gctags/Makefile, gctags/Makefile.generic, gctags/ctags.h:
1154 definitions of GLOBAL and YACC moved from Makefile to ctags.h.
1155
1156 December 11, 1997, Shigio YAMAGUCHI
1157
1158 * lib/Makefile.generic:
1159 change MANDIR definition from /usr/share/man to /usr/man.
1160 replace `lorder $(OBJS) | tsort -q` to already sorted list
1161 for S.u.S.E Linux 5.1.
1162 * gtags, lib/test.c: a few changes for Solaris environment.
1163 * htags/Makefile, systags/Makefile:
1164 rewrite ${DESTDIR}/usr/bin to ${DESTDIR}${BINDIR}.
1165
1166 December 7, 1997, Shigio YAMAGUCHI
1167
1168 * global,gtags,gozilla: rewritten with C for performance.
1169 * htags: shape up anchor database.
1170
1171 November 7, 1997, Shigio YAMAGUCHI
1172
1173 * Makefile.generic: a few change for Debian GNU/Linux.
1174
1175 September 20, 1997, Shigio YAMAGUCHI
1176
1177 * gctags, btreeop: remove <err.h> for portability.
1178 * btreeop: 'detab() + fprintf' is replaced with 'detab_print()'.
1179 * gtags, htags, global: don't restrict PATH to '/bin:/usr/bin'
1180 like version 1.9 and the former.
1181 * htags: shut a security hole.
1182 * all command: description of exit code in on-line manual fixed.
1183 * gozilla: support X-property communication to mozilla.
1184 See http://home.netscape.com/newsref/std/x-remote.html.
1185
1186 July 7, 1997, Shigio YAMAGUCHI
1187
1188 * htags: tuned for performance.
1189 * gtags, gctags: move some code for assembly source from gtags
1190 to gctags.
1191 * gtags, htags, global: restrict PATH to '/bin:/usr/bin'.
1192 * nvi-1.76.diff: deleted because it is old enough.
1193
1194 April 21, 1997, Shigio YAMAGUCHI
1195
1196 * gctags, btreeop: a few changes for SunOS 4.1.3.
1197 * global: 'format version record' implemented.
1198 (It will be used in the future.)
1199 * htags: use temporary directory specified by TMPDIR environment
1200 variable.
1201 * nvi-1.79.diff: added for nvi-1.79.
1202
1203 April 5, 1997, Shigio YAMAGUCHI
1204
1205 * gctags, btreeop, Makefile: a few changed for Linux and Solaris.
1206 * htags: changed internal separator from '|' to ' ', because some OS
1207 cannot treat '|' in a path.
1208 * gctags, htags: regard 'entry' as a reserved word.
1209
1210 February 17, 1997, Shigio YAMAGUCHI
1211
1212 * htags: htags no longer makes frame.html. index.html includes frame.
1213 * htags: tuned for performance.
1214
1215 January 21, 1997, Shigio YAMAGUCHI
1216
1217 * gctags: import ctags.c and apply ctags.diff for generic UNIX.
1218 * htags: cease using <BLOCKQUOTE> because lynx doesn't understand it.
1219 * global,htags: replace 'sort -u' with 'sort | uniq' for compatibility.
1220 * nvi-1.76.diff: added for nvi 1.76.
1221
1222 October 26, 1996, Shigio YAMAGUCHI
1223
1224 * ctags.diff: now search all part of a yacc file for C functions.
1225 (original only 3rd part)
1226 * ctags.diff: no longer consider a yacc rule to be an object.
1227
1228 June 7, 1996, Shigio YAMAGUCHI
1229
1230 * use bsearch(3) for searching reserved words.
1231
1232 April 21, 1996, Shigio YAMAGUCHI
1233
1234 * global.pl, gtags.sh, btreeop.c, ctags.diff, Makefile.
1235 * only support FreeBSD 2.0.5R, 2.1R and 2.1.5R.