3972
+ − 1 2007-05-18 Francesco Potort� <pot@gnu.org>
+ − 2
+ − 3 * etags.c: Extern definitions of some more pointer functions for
+ − 4 standalone compilation, especially important for 64bit platforms.
+ − 5 (main, print_help): --members is now the default for etags.
+ − 6 (C_entries): Parse start of C comment as a space == end of token.
+ − 7 This is not necessary for C++ comment, already parsed as newline.
+ − 8
+ − 9 2007-02-05 Francesco Potort� <pot@gnu.org>
+ − 10
+ − 11 * etags.c (default_C_help, Cplusplus_help, PHP_help, print_help)
+ − 12 (main): Now --members is the default for etags, not for ctags yet.
+ − 13
+ − 14 2007-01-02 Francesco Potort� <pot@gnu.org>
+ − 15
+ − 16 * etags.c (longopts): New undocumented option --no-duplicates.
+ − 17 (no_duplicates): Static variables for the above option.
+ − 18 (print_help): Do not print help for --no-warn, now undocumented.
+ − 19 (add_node): Allow duplicate tags in ctags mode unless --no-duplicates.
+ − 20 (main): Pass the -u option to sort in ctags mode.
+ − 21
+ − 22 2006-12-28 Francesco Potort� <pot@gnu.org>
+ − 23
+ − 24 * etags.c (readline): When creating a relative file name from a
+ − 25 #line directive, leave the file name alone. The previous
+ − 26 behaviour was to make it relative to the tags file directory,
+ − 27 under the hypothesis that the #line directive file name was
+ − 28 relative to the directory of the tagged file. That hypothesis is
+ − 29 wrong with Cpp and Lex.
+ − 30
+ − 31 2006-12-20 Francesco Potort� <pot@gnu.org>
+ − 32
+ − 33 * etags.c (C_entries): DEFUN names were longer by one: corrected.
+ − 34 (Makefile_targets): Do not include spaces in tag names.
+ − 35
+ − 36 2006-08-12 Kevin Ryde <user42@zip.com.au>
+ − 37
+ − 38 * etags.c (readline): Check for double quote after #line.
+ − 39
+ − 40 2006-08-12 Jan Dj�rv <jan.h.d@swipnet.se>
+ − 41
+ − 42 * etags.c (readline): sscanf could in principle return 2.
+ − 43
+ − 44 2006-08-12 Francesco Potort� <pot@gnu.org>
+ − 45
+ − 46 * etags.c (readline): lno is unsigned.
+ − 47 (TeX_commands): Use p++ (rather than *p++) to increment p.
+ − 48 (Lua_functions): Explicitely discard LOOKING_AT's return value.
+ − 49
+ − 50 2006-08-07 Masatake YAMATO <jet@gyve.org>
+ − 51
+ − 52 * etags.c (TEX_mode): Check getc retruns EOF.
+ − 53 File ended without newline causes infinite loop.
+ − 54
+ − 55 2002-07-14 Adrian Aichner <adrian@xemacs.org> (tiny change)
+ − 56
+ − 57 * etags.c: It's XEmacs, not Xemacs: change all the occurences.
+ − 58
+ − 59 2006-07-10 Francesco Potort� <pot@gnu.org>
+ − 60
+ − 61 * etags.c [ETAGS_REGEXPS]: #ifdef's deleted, define unconditionally.
+ − 62 [LONG_OPTIONS]: Changed to NO_LONG_OPTIONS, now normally undefined.
+ − 63 (Objc_suffixes): Suggest using --lang=c for full help.
+ − 64 (C_entries): Initialise savetoken to 0 to shut up the compiler.
+ − 65
+ − 66 2006-07-10 Francesco Potort� <pot@gnu.org>
+ − 67
+ − 68 * etags.c (absolute_filename): Free unused space (cosmetic change).
+ − 69 (in_word_set): In C, also tag #undef symbols.
+ − 70
+ − 71 2006-05-02 Francesco Potort� <pot@gnu.org>
+ − 72
+ − 73 * etags.c (Perl_functions): Free space allocated for var package.
+ − 74 (Erlang_functions): Possibly free space allocated for var last.
+ − 75 (Prolog_functions): Possibly free space allocated for var last.
+ − 76
+ − 77 2005-11-18 Hideki IWAMOTO <h-iwamoto@kit.hi-ho.ne.jp> (tiny change)
+ − 78
+ − 79 * etags.c (main): Cxref mode writes to stdout: do not close tagf,
+ − 80 which was never opened.
+ − 81
+ − 82 2005-09-27 Francesco Potort� <pot@gnu.org>
+ − 83
+ − 84 * etags.c: Preliminary Forth support.
+ − 85 (prolog_pr): Cast strlen to int before comparison.
+ − 86 (LOOKING_AT, LOOKING_AT_NOCASE): Let the preprocessor check that
+ − 87 the second argument is indeed a literal string.
+ − 88 (main): In append mode, sort the tags file after writing it.
+ − 89
+ − 90 2005-09-27 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
+ − 91
+ − 92 * etags.c (longopts, print_help, main): The -a (--append) option
+ − 93 can be used in ctags also; for one, the Linux make file uses it.
+ − 94
+ − 95 2004-09-13 Francesco Potort� <pot@gnu.org>
+ − 96
+ − 97 * etags.c (main): When relative file names are given as argument,
+ − 98 make them relative to the current working dir, rather than
+ − 99 relative to the output tags file, if the latter is in /dev.
+ − 100
+ − 101 2004-09-13 David A. Capello <dacap@users.sourceforge.net> (tiny change)
+ − 102
+ − 103 * etags.c: (Lua_suffixes, Lua_help, lang_names, Lua_functions):
+ − 104 Support the Lua scripting language <http://www.lua.org>.
+ − 105
+ − 106 2004-09-13 Francesco Potort� <pot@gnu.org>
+ − 107
+ − 108 * etags.c [EXIT_SUCCESS, EXIT_FAILURE]: Define them when no
+ − 109 <stdlib.h> is available.
+ − 110 (enum sym_type): New st_C_attribute value for parsing
+ − 111 gcc's __attribute__. Deleted st_C_typespec value.
+ − 112 (gperf, in_word_set): Use gperf 3, options changed. Added the
+ − 113 __attribute__ keyword, removed all the st_C_typespec keywords,
+ − 114 changed attribute for Java to (C_JAVA & !C_PLPL).
+ − 115 (inattribute): New global bool, part of the C state machine.
+ − 116 (cblev): Identifier renamed to bracelev throughout.
+ − 117 (consider_token, C_entries): Numerous changes for making the
+ − 118 parser more robust and adding support for __attribute__.
+ − 119
+ − 120 2004-09-08 Francesco Potort� <pot@gnu.org>
+ − 121
+ − 122 * etags.c: Add arch taglines
+ − 123 [LONG_OPTIONS]: make it TRUE (ifdef) or FALSE for ease of use.
+ − 124 [GOOD, BAD]: renamed to EXIT_SUCCESS, EXIT_FAILURE.
+ − 125 (suggest_asking_for_help): Fix having macros in a printf statement.
+ − 126 (consider_token): check C++ `operator' only when the token len is
+ − 127 long enough.
+ − 128
+ − 129 2003-01-09 Francesco Potort� <pot@gnu.org>
+ − 130
+ − 131 * etags.c: changes for language-sepcific help by Philippe
+ − 132 Waroquiers <wao@cfmu.eurocontrol.be> applied and largely revised.
+ − 133 (language): Added a `help' member.
+ − 134 (arg_type): Added an at_end constant.
+ − 135 (plain_C_suffixes): Some items removed from here.
+ − 136 (Objc_suffixes): And put here (new constant).
+ − 137 (Ada_help, Asm_help, default_C_help, Cplusplus_help, Cjava_help,
+ − 138 Cobol_help, Erlang_help, Fortran_help, HTML_help, Lisp_help,
+ − 139 Makefile_help, Objc_help, Pascal_help, Perl_help, PHP_help,
+ − 140 PS_help, Prolog_help, Python_help, Scheme_help, TeX_help,
+ − 141 Texinfo_help, Yacc_help, auto_help, none-help, no_lang_help): New
+ − 142 constants.
+ − 143 (PS_functions, PS_suffixes): Renamed from Postscript_functions and
+ − 144 Postscript_suffixes.
+ − 145 (lang_names): Adapted to the new language structure, new language
+ − 146 "objc" added (was previously merged with "proc").
+ − 147 (print_language_names): Some help strings corrected.
+ − 148 (print_help): Now takes an argument and possibly prints lang help.
+ − 149 (print_help): Some help strings corrected. Documents
+ − 150 language-specific help.
+ − 151 (main): Only print help after having parsed all the arguments.
+ − 152
+ − 153 2002-09-03 Francesco Potorti` <pot@gnu.org>
+ − 154
+ − 155 * etags.c (regex_tag_multiline, readline): Never pass pfnote a
+ − 156 string that cannot be freed.
+ − 157
+ − 158 2002-08-30 Francesco Potorti` <pot@gnu.org>
+ − 159
+ − 160 * etags.c (consider_token, C_entries): Switch to C++ parsing when
+ − 161 auto-detection is enabled and the `::' qualifier is met.
+ − 162 (consider_token, C_entries): Several bugs corrected that tagged
+ − 163 some declarations even though --declarations was not used.
+ − 164 (plainc): New macro.
+ − 165 (C_entries): Use it.
+ − 166 (C_entries): Several cosmetic changes.
+ − 167 (C_entries): Invalidate the token is some cases.
+ − 168
+ − 169 2002-08-29 Francesco Potorti` <pot@gnu.org>
+ − 170
+ − 171 * etags.c (C_entries): Corrected a problem with const C++ funcs.
+ − 172 (ignoreindent): Renamed from noindentypedefs.
+ − 173 (cjava, cplpl): They are now macros instead of local vars.
+ − 174
+ − 175 2002-08-28 Francesco Potorti` <pot@gnu.org>
+ − 176
+ − 177 * etags.c (HTML_labels): Tag ID= also.
+ − 178
+ − 179 2002-08-27 Francesco Potorti` <pot@gnu.org>
+ − 180
+ − 181 * etags.c (Ada_funcs): Do not tag "use type Xxxx;".
+ − 182
+ − 183 2002-06-25 Francesco Potorti` <pot@gnu.org>
+ − 184
+ − 185 * etags.c: New language HTML.
+ − 186 (make_tag): Never generate null length tag names.
+ − 187 (linebuffer_init): Renamed from initbuffer. All callers changed.
+ − 188 (pattern): Structure renamed to `regexp', member regex renamed to
+ − 189 pattern.
+ − 190 (node_st): Member pat renamed to regex.
+ − 191 (pattern); New member force_explicit_name, for future use. Now
+ − 192 always set to true, cannot be reset.
+ − 193 (add_regex, regex_tag_multiline, readline): Use it.
+ − 194 (main): Free some global structures.
+ − 195
+ − 196 2002-06-21 Francesco Potorti` <pot@gnu.org>
+ − 197
+ − 198 * etags.c (fdesc): New member `written'.
+ − 199 (readline, process_file): Initialise it.
+ − 200 (put_entries): Set it.
+ − 201 (main): Use it to create entries for files without tags.
+ − 202 (total_size_of_entries): Do not count invalid tags.
+ − 203 (etags_strcasecmp): Like BSD's, for compatibility.
+ − 204 (strcaseeq): Make it into a macro.
+ − 205
+ − 206 2002-06-21 Francesco Potorti` <pot@gnu.org>
+ − 207
+ − 208 * etags.c: (F_getit, Fortran_functions, Ada_getit, Asm_labels)
+ − 209 (Python_functions, PHP_functions, PHP_functions, PHP_functions)
+ − 210 (PHP_functions, PHP_functions, Cobol_paragraphs)
+ − 211 (Makefile_targets, Postscript_functions, Texinfo_nodes)
+ − 212 (prolog_pr, erlang_func, erlang_attribute)
+ − 213 (Perl_functions, Perl_functions, Pascal_functions)
+ − 214 (TeX_commands, get_tag): Use make_tag instead of pfnote.
+ − 215 (get_tag): Prototype changed, all callers changed.
+ − 216
+ − 217 2002-06-20 Francesco Potorti` <pot@gnu.org>
+ − 218
+ − 219 * etags.c: Use, together with etags.el, an optimised form of tags,
+ − 220 which are almost always unnamed. etags.el looks for an explicit
+ − 221 tag name, then for an implicit one. See make_tag for details.
+ − 222 The change is both forwards and backwards compatible.
+ − 223 (make_tag): New function (was the disabled function new_pfnote).
+ − 224 (make_C_tag): Use it.
+ − 225
+ − 226 2002-06-19 Francesco Potorti` <pot@gnu.org>
+ − 227
+ − 228 * etags.c (add_regex): Invalid regexp modifiers are ignored.
+ − 229 (Makefile_targets): Tag variables unless --no-globals.
+ − 230 (LOOP_ON_INPUT_LINES): Serious bug corrected.
+ − 231
+ − 232 2002-06-13 Francesco Potorti` <pot@gnu.org>
+ − 233
+ − 234 * etags.c (erlang_atom, erlang_attribute): Bugs corrected.
+ − 235 (invalidate_nodes): Bug corrected.
+ − 236 (print_help): Better help for regexps.
+ − 237
+ − 238 2002-06-12 Francesco Potorti` <pot@gnu.org>
+ − 239
+ − 240 * etags.c (arg_type): at_icregexp label removed (obsolete).
+ − 241 (pattern): New member multi_line for multi-line regexps.
+ − 242 (filebuf): A global buffer containing the whole file as a string
+ − 243 for multi-line regexp matching.
+ − 244 (need_filebuf): Global flag raised if multi-line regexps used.
+ − 245 (print_help): Document new regexp modifiers, remove references to
+ − 246 obsolete option --ignore-case-regexp.
+ − 247 (main): Do not set regexp syntax and translation table here.
+ − 248 (main): Treat -c option as a backward compatibility hack.
+ − 249 (main, find_entries): Init and free filebuf.
+ − 250 (find_entries): Call regex_tag_multiline after the regular parser.
+ − 251 (scan_separators): Check for untermintaed regexp and return NULL.
+ − 252 (analyse_regex, add_regex): Remove the ignore_case argument, which
+ − 253 is now a modifier to the regexp. All callers changed.
+ − 254 (add_regex): Manage the regexp modifiers.
+ − 255 (regex_tag_multiline): New function. Reads from filebuf.
+ − 256 (readline_internal): If necessary, copy the whole file into filebuf.
+ − 257 (readline): Skip multi-line regexps, leave them to regex_tag_multiline.
+ − 258
+ − 259 2002-06-11 Francesco Potorti` <pot@gnu.org>
+ − 260
+ − 261 * etags.c (add_regex): Better check for null regexps.
+ − 262 (readline): Check for regex matching null string.
+ − 263
+ − 264 2002-06-07 Francesco Potorti` <pot@gnu.org>
+ − 265
+ − 266 * etags.c (find_entries): Reorganisation.
+ − 267
+ − 268 2002-06-07 Francesco Potorti` <pot@gnu.org>
+ − 269
+ − 270 * etags.c (scan_separators): Support all character escape
+ − 271 sequences supported by gcc.
+ − 272 (find_entries): rewind unconditionally.
+ − 273 (find_entries): Do not call language functions directly, now calls
+ − 274 itself.
+ − 275 (find_entries): Do general initialisations here.
+ − 276 (CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit)
+ − 277 (Ada_getit, Pascal_functions, Pascal_functions)
+ − 278 (prolog_skip_comment): Do not do them here.
+ − 279 (readline_internal): Increment lineno here.
+ − 280 (readline): Conditionally undo readline_internal increment.
+ − 281 (readline): Do not return a value.
+ − 282
+ − 283 2002-06-06 Francesco Potorti` <pot@gnu.org>
+ − 284
+ − 285 * etags.c (enum arg_type): New label at_stdin.
+ − 286 (STDIN): New constant.
+ − 287 (parsing_stdin): New flag.
+ − 288 (longopts): New option --parse-stdin=NAME.
+ − 289 (print_help): Document it.
+ − 290 (main): Handle it.
+ − 291 (process_file): Split into process_file and process_file_name.
+ − 292 (process_file_name): New function.
+ − 293
+ − 294 2002-06-06 Francesco Potorti` <pot@gnu.org>
+ − 295
+ − 296 * etags.c (main): Avoid a buffer overrun with sprintf.
+ − 297 (TEX_cmt): Make it a static char and move it before TeX_commands.
+ − 298 (TeX_commands): Skip comments.
+ − 299 (TEX_defenv): Now contains more contructs.
+ − 300 (TeX_commands): Shorten the tag to the brace after the name.
+ − 301 (TeX_commands): Allow for names with embedded spaces.
+ − 302 (TeX_commands): Names now include the initial backslash.
+ − 303 (TeX_commands): Names do not include numeric args #n.
+ − 304 (TeX_commands): Correct line char number in tags.
+ − 305 (TEX_tabent, TEX_token): Deleted.
+ − 306 (TeX_commands, TEX_decode_env): Streamlined.
+ − 307
+ − 308 2002-05-31 Paul Eggert <eggert@twinsun.com>
+ − 309
+ − 310 * etags.c (main): Use `sort -o TAGFILE TAGFILE' instead of
+ − 311 `sort TAGFILE -o TAGFILE', as POSIX 1003.1-2001 disallows
+ − 312 the latter usage.
+ − 313
+ − 314 2002-04-22 Francesco Potorti` <pot@gnu.org>
+ − 315
+ − 316 * etags.c: (last_node): Make it a global variable.
+ − 317 (process_file): Print the tags from the nodes as soon as
+ − 318 possible, and delete the nodes. This brings down the memory
+ − 319 occupancy as etags to almost the same level as when the #line
+ − 320 directives were not parsed.
+ − 321 (free_fdesc): New function.
+ − 322 (find_entries): Use it.
+ − 323 (invalidate_nodes): In etags mode, do not just mark the nodes as
+ − 324 invalid, do delete them.
+ − 325
+ − 326 2002-04-16 Francesco Potorti` <pot@gnu.org>
+ − 327
+ − 328 * etags.c (find_entries): Bug fix in list management.
+ − 329
+ − 330 2002-04-15 Francesco Potorti` <pot@gnu.org>
+ − 331
+ − 332 * etags.c (get_language_from_filename): Add one argument.
+ − 333 (strcaseeq): New function.
+ − 334 (get_language_from_filename): Use it to do a case insenstitive
+ − 335 comparison if called with appropriate args.
+ − 336 (find_entries): Try with case insensitive match.
+ − 337 (process_file): Bug fixed.
+ − 338
+ − 339 2002-04-13 Francesco Potorti` <pot@gnu.org>
+ − 340
+ − 341 * etags.c (find_entries): Delete tags previously obtained from
+ − 342 file xxx.c's #line directives when parsing file xxx.y. This is
+ − 343 generally done for automatically generated files containing
+ − 344 #line directives. This handles the case when xxx.y is tagged
+ − 345 before xxx.c, and the entries of xxx.c pointing to xxx.y should
+ − 346 be discarded.
+ − 347 (language): Added the metasource member. Initializers changed.
+ − 348 (invalidate_nodes): New function.
+ − 349
+ − 350 2002-03-21 Francesco Potorti` <pot@gnu.org>
+ − 351
+ − 352 * etags.c (readline): Discard lines after having found a #line
+ − 353 directive pointing to an already tagged file. This handles the
+ − 354 case when xxx.y is tagged before xxx.c, and the entries of
+ − 355 xxx.c pointing to xxx.y should be discarded.
+ − 356
+ − 357 2002-03-15 Francesco Potorti` <pot@gnu.org>
+ − 358
+ − 359 * etags.c (fdesc): New structure for keeping track of input files.
+ − 360 (fdesc): Remove `file' member (a string) and use instead a pointer
+ − 361 to a file description structure.
+ − 362 (curfile, curfiledir, curtagfname, curlang, nocharno,
+ − 363 forced_lang): Global variables removed in favor of fdhead and
+ − 364 curfdp, pointers to file description strucures.
+ − 365 (longopts, main, print_help): Use the CTAGS conditional to include
+ − 366 or exclude options that work on etags or ctags only.
+ − 367 (process_file, find_entries, pfnote, add_node, put_entries,
+ − 368 readline): Use fdhead and curfdp.
+ − 369 (process_file, find_entries): Do not take an arg string, all
+ − 370 callers changed.
+ − 371
+ − 372 2002-03-13 Francesco Potorti` <pot@gnu.org>
+ − 373
+ − 374 * etags.c (longopts, print_help, main): Test CTAGS to disallow
+ − 375 options that are not right for either etags or ctags.
+ − 376
+ − 377 2002-03-12 Francesco Potorti` <pot@gnu.org>
+ − 378
+ − 379 * etags.c (number_len, total_size_of_entries): Define them also
+ − 380 in CTAGS mode, because gcc does not compile all refs away.
+ − 381 (Python_functions, PHP_functions): Name tags, for ctags' sake.
+ − 382 (TeX_commands): Name tags. Correction of old disabled code.
+ − 383
+ − 384 2002-03-06 Francesco Potorti` <pot@gnu.org>
+ − 385
+ − 386 * etags.c (Python_functions): Consider indented "def" and "class".
+ − 387
+ − 388 2002-03-05 Francesco Potorti` <pot@gnu.org>
+ − 389
+ − 390 * etags.c (curfiledir, curtagfname): New global variables.
+ − 391 (process_file): Initialise them.
+ − 392 (readline): Canonicalize the name found in #line directive.
+ − 393
+ − 394 2002-03-05 Francesco Potorti` <pot@gnu.org>
+ − 395
+ − 396 * etags.c: Honour #line directives.
+ − 397 (no_line_directive): New global var; set it for old behaviour.
+ − 398 (main): Remove some #ifdef in the getopt switch.
+ − 399 (add_node, put_entries): Code added to merge different chunks of
+ − 400 nodes referring to the same file. Currently the tags are just
+ − 401 appended, without any check for duplicates.
+ − 402 (Perl_functions): Do not special case ctags.
+ − 403 (readline): Identify #line directives and do the right thing.
+ − 404 (nocharno, invalidcharno): New global vars.
+ − 405 (process_file): Reset nocharno.
+ − 406 (readline): Set nocharno.
+ − 407 (pfnote): Read nocharno and maybe put invalidcharno in node.
+ − 408 (total_size_of_entries, put_entries): Use invalidcharno.
+ − 409
+ − 410 2002-03-04 Francesco Potorti` <pot@gnu.org>
+ − 411
+ − 412 * etags.c: Keep the whole tag table in memory, even in etags mode.
+ − 413 (main): Call put_entries here even in CTAGS mode.
+ − 414 (main, process_file): Check the return values of fclose and pclose.
+ − 415 (process_file): Do not call put_entries after parsing each file.
+ − 416 (process_file): Canonicalise file names even for ctags.
+ − 417 (process_file): Set curfile here...
+ − 418 (find_entries): ... not here any more.
+ − 419 (add_node): In etags mode, build a linked list of entries (on
+ − 420 right pointer) for each file, and link the first entry of each
+ − 421 file on left nodes.
+ − 422 (put_entries): Print here the name of the file.
+ − 423 (put_entries): Print the entries starting from the first file.
+ − 424 (number_len, total_size_of_entries): Define these only iin etags
+ − 425 mode, make the second work only on the right nodes.
+ − 426
+ − 427 2002-01-03 Francesco Potorti` <pot@gnu.org>
+ − 428
+ − 429 * etags.c: Make all global variables static.
+ − 430
+ − 431 2001-12-21 Francesco Potorti` <pot@gnu.org>
+ − 432
+ − 433 * etags.c (Perl_functions): Tag packages and use them in sub tags.
+ − 434 (get_tag): Return a pointer to the tag that is found.
+ − 435
+ − 436 2001-12-21 Francesco Potorti` <pot@gnu.org>
+ − 437
+ − 438 * etags.c (LOOKING_AT): Use !intoken instead of iswhite.
+ − 439 (F_takeprec): Renamed from takeprec. All callers changed.
+ − 440 (F_getit): Renamed from getit. All callers changed.
+ − 441 (nocase_tail): Renamed from tail. All callers changed.
+ − 442 (Ada_getit): Renamed from adagetit. All callers changed.
+ − 443 (L_getit): Simplified by using get_tag.
+ − 444 (Perl_functions, Postscript_functions, erlang_attribute): Use the
+ − 445 modified LOOKING_AT.
+ − 446 (notinname): Removed '[' and added ')' to the recognised chars.
+ − 447 (LOOKING_AT, get_tag, PHP_functions): Use notinname.
+ − 448 (Ada_getit, Ada_funcs, Python_functions, Scheme_functions):
+ − 449 Clarified, using strneq or notinname.
+ − 450 (L_isdef, L_isquote): Removed.
+ − 451 (Lisp_functions, L_getit): Clarified.
+ − 452
+ − 453 2001-12-17 Francesco Potorti` <pot@gnu.org>
+ − 454
+ − 455 * etags.c: [P_]: Renamed to __P for consistency with config.h.
+ − 456 [HAVE_CONFIG_H]: Let config.h deal with __P.
+ − 457 [__STDC__] [!HAVE_CONFIG_H]: Define PTR as in config.h.
+ − 458 [!__STDC__] [!HAVE_CONFIG_H]: Do not undefine static, because
+ − 459 gperf code needs it.
+ − 460 [HAVE_CONFIG_H] [!PTR]: Define PTR (for use with Xemacs).
+ − 461 [HAVE_CONFIG_H] [!__P]: Define __P (for use with Xemacs).
+ − 462 (xmalloc, xrealloc): Use PTR instead of long *.
+ − 463 (bool): Make it a define, not a typedef, for C++ compilers.
+ − 464 (pattern): Members renamed to avoid name clash in some C++ compilers.
+ − 465 (get_language_from_langname): Use const argument.
+ − 466
+ − 467 2001-12-12 Francesco Potorti` <pot@gnu.org>
+ − 468
+ − 469 * etags.c (PHP_functions): New function by Diez B. Roggisch,
+ − 470 heavily adapted by me, for parsing PHP.
+ − 471 (LOOKING_AT): New macro.
+ − 472 (Perl_functions, Python_functions, PHP_functions)
+ − 473 (Scheme_functions, Texinfo_nodes): Use it.
+ − 474 (Perl_functions): Use strneq.
+ − 475 (prolog_pred): Renamed to prolog_pr.
+ − 476 (prolog_pr): Recognise Prolog rules (thanks to Geert Kloosterman)
+ − 477 in addition to predicates.
+ − 478 [ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent
+ − 479 unmodified compile, as Cygwin's regex.h is incompatible with us
+ − 480 (thanks to Markus Hoenicka).
+ − 481 [!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string.
+ − 482
+ − 483 2001-05-11 Francesco Potorti` <pot@gnu.org>
+ − 484
+ − 485 * etags.c (add_regex): Reset the whole newly allocated pattern
+ − 486 buffer instead of the individual members. It's safer and works
+ − 487 with Xemacs.
+ − 488
+ − 489 2001-02-23 Francesco Potorti` <pot@gnu.org>
+ − 490
+ − 491 * etags.c (enum sym_type): New label st_C_template.
+ − 492 (gperf input): Use it for switching to C++ from C.
+ − 493 (consider_token): Do it.
+ − 494
+ − 495 2001-02-16 Francesco Potorti` <pot@gnu.org>
+ − 496
+ − 497 * etags.c (C_entries): Initialise typdefcblev to quiet compilers.
+ − 498
+ − 499 2001-02-06 Francesco Potorti` <pot@gnu.org>
+ − 500
+ − 501 * etags.c [!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing.
+ − 502
+ − 503 2001-01-31 Francesco Potorti` <pot@gnu.org>
+ − 504
+ − 505 * etags.c: [NDEBUG] #undef assert and #define it as ((void)0), for
+ − 506 the sake of some buggy assert.h (e.g. in MinGW and sunos4 pcc).
+ − 507 (C_entries): Tag token renamed to still_in_token because sunos4
+ − 508 pcc wants to expand it as the token() macro even though it has no
+ − 509 arguments.
+ − 510
+ − 511 2001-01-30 Francesco Potorti` <pot@gnu.org>
+ − 512
+ − 513 * etags.c: [WIN32-NATIVE]: #undef MSDOS, #undef WINDOWSNT and
+ − 514 #define it for the sake of Xemacs.
+ − 515 [WINDOWSNT]: #undef HAVE_NTGUI even if built without
+ − 516 HAVE_CONFIG_H. This change only affects a standalone etags.
+ − 517 [WINDOWSNT]: #undef DOS_NT and #define it even if built with
+ − 518 HAVE_CONFIG_H. This change does nothing in Emacs, as DOS_NT is
+ − 519 always defined when HAVE_CONFIG_H and WINDOWS are both defined.
+ − 520 [!HAVE_UNISTD_H]: use defined(WINDOWSNT) instead of the bare
+ − 521 WINDOWSNT, as this is the correct way to use it.
+ − 522
+ − 523 2001-01-28 Francesco Potorti` <pot@gnu.org>
+ − 524
+ − 525 * etags.c: Be capable to parse nested struct-like structures.
+ − 526 (structdef, structtag): Struct state machine revisited.
+ − 527 (struct tok): Revisited.
+ − 528 (cstack, nestlev, instruct): New struct and macros.
+ − 529 (pushclass_above, popclass_above, write_classname): New functions
+ − 530 for dealing with nested class names, inspired by Mykola Dzyuba.
+ − 531 (consider_token, make_C_tag, C_entries): Many changes for dealing
+ − 532 with arbitrarily nested structures.
+ − 533 (etags_getcwd): #if MSDOS, not #ifdef MSDOS!
+ − 534 (C_entries): Consider templates in C++.
+ − 535 (sym_type): New constant st_C_class for detecting "class" also in
+ − 536 C mode.
+ − 537 (C_AUTO): New macro for automatic detection of C++.
+ − 538 (consider_token): Automatic set C++ mode.
+ − 539 (C_entries): New security check for yacc.
+ − 540 (print_language_names, print_help): Mention the autodetect
+ − 541 feature, do not show help for the -C option, now mostly useless.
+ − 542 (C_entries): Tag C++ forward declarations if --declarations.
+ − 543 (C_entries): Don't be fooled by things like XDEFUN.
+ − 544 (consider_token): Discard asm pseudo function.
+ − 545
+ − 546 2001-01-25 Francesco Potorti` <pot@potorti.it>
+ − 547
+ − 548 * etags.c (struct tok): Renamed from struct token.
+ − 549 (token): Renamed from tok.
+ − 550 (structtype): Make it a local variable.
+ − 551 [DEBUG]: Use assert.
+ − 552 (xrnew): Change the synopsis.
+ − 553 (typedefs_or_cplusplus): Renamed from typedefs_and_cplusplus.
+ − 554 (grow_linebuffer): Don't call xrnew when not needed.
+ − 555 (token): buffer renamed to line.
+ − 556 (C_entries): Three calls to inibuffer moved here from main.
+ − 557 (C_entries): Removed all references to var methodlen, delete it.
+ − 558 (linebuffer_setlen): Was grow_buffer, now also sets len.
+ − 559 (consider_token, C_entries, Pascal_functions): Use it.
+ − 560 (C_entries): Preventing problems relative to extern "C".
+ − 561 (C_entries): Can tag more than one variable or func separated by
+ − 562 comma when --declarations is used.
+ − 563 (C_entries): More accurate tagging of members and declarations.
+ − 564 (yacc_rules): Was global, made local to C_entries.
+ − 565 (next_token_is_func): Removed.
+ − 566 (fvdef): New constants fdefunkey, fdefunname.
+ − 567 (consider_token, C_entries): Use them.
+ − 568 (C_entries): Build proper lisp names for Emacs DEFUNs.
+ − 569
+ − 570 2001-01-15 Francesco Potorti` <pot@pot.cnuce.cnr.it>
+ − 571
+ − 572 * etags.c (print_language_names): Print filenames in addition to
+ − 573 suffixes.
+ − 574
+ − 575 2001-01-12 Francesco Potorti` <pot@gnu.org>
+ − 576
+ − 577 * etags.c (get_language_from_langname): Renamed from
+ − 578 get_language_from_name.
+ − 579 (get_language_from_filename): Renamed from
+ − 580 get_language_from_suffix. Now first looks for the complete file
+ − 581 name.
+ − 582 (language): New member char **filenames.
+ − 583 (Makefile_filenames): List of possible filenames for makefiles.
+ − 584 (lang_names): Added a NULL member for every entry, added an entry
+ − 585 for makefiles.
+ − 586 (Makefile_targets): New function, inspired by Assar Westerlund
+ − 587 <assar@sics.se>.
+ − 588
+ − 589 2000-11-07 Francesco Potort� <pot@pot.cnuce.cnr.it>
+ − 590
+ − 591 * etags.c (Texinfo_nodes): Renamed from Texinfo_fuctions and made
+ − 592 it conformant to the style of the rest of the code.
+ − 593
+ − 594 2000-02-10 Francesco Potorti` <pot@gnu.org>
+ − 595
+ − 596 * etags.c (iswhite): Redefined not to consider '\0' as white
+ − 597 space, and use it throughout in place of isspace, thus preventing a
+ − 598 potential signed char to int conversion problem.
+ − 599 (MSDOS): #undefine befere redefining
+ − 600
+ − 601 2000-02-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 602
+ − 603 * etags.c (many functions): Add prototypes.
+ − 604
+ − 605 2000-01-31 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 606
+ − 607 * etags.c [MSDOS]: Set MSDOS to 1 if #defined, 0 otherwise.
+ − 608 (get_compressor_from_suffix, process_file): Use MSDOS in if clause.
+ − 609 (etags_strchr, etags_strrchr): Use const char * and int as arguments.
+ − 610 (getenv, getcwd): Only declare them if necessary.
+ − 611 (EMACS_NAME): New constant macro.
+ − 612 (print_version): Use it.
+ − 613 (P_) [__STDC__]: Macro for defining function prototypes.
+ − 614
+ − 615 2000-01-18 Fabrice Popineau <Fabrice.Popineau@supelec.fr>
+ − 616
+ − 617 * etags.c [WINDOWSNT]: #include <direct.h>
+ − 618
+ − 619 2000-01-18 Martin Buchholz <martin@xemacs.org>
+ − 620
+ − 621 * etags.c (all functions): Made them static.
+ − 622 (all functions): Write prototypes.
+ − 623
+ − 624 1999-11-19 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 625
+ − 626 * etags.c (_GNU_SOURCE): Define only if undefined.
+ − 627 (get_scheme): Declaration deleted.
+ − 628 (main): error was called with an integer as second arg, instead of
+ − 629 a char pointer.
+ − 630 (canonicalize_filename): Bug removed.
+ − 631
+ − 632 1999-11-18 Dave Love <d.love@dl.ac.uk>
+ − 633
+ − 634 * etags.c (C_entries): Rename label `intoken', avoiding K&R
+ − 635 lossage from name clash with macro.
+ − 636
+ − 637 1999-09-14 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 638
+ − 639 * etags.c: Add suffix psw for PSWrap.
+ − 640 (L_getit): Generalize a "cp!=' '" into "!isspace(*cp)".
+ − 641 (Postscript_functions): Add code for PSWrap.
+ − 642 (Scheme_functions): Use local pointer and new get_tag function.
+ − 643 (get_tag): New name for old get_scheme.
+ − 644 (process_file): Do not free NULL when file does not exist.
+ − 645 (typdef): ttypedefseen renamed to tkeyseen, new label ttypeseen.
+ − 646 (C_entries): Modifications that make --members tag even inside
+ − 647 typedefs and C nested structs (one level only).
+ − 648 (consider_token): Corrected a bug which prevented tagging of enum
+ − 649 constants.
+ − 650 (C_stab_entry): Added if, for, while, switch, return as
+ − 651 st_C_ignore. This makes it simpler to work when cblev!=0.
+ − 652
+ − 653 1999-04-21 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 654
+ − 655 * etags.c (C_entries): tag member function declarations when
+ − 656 --declarations is used.
+ − 657
+ − 658 1999-04-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 659
+ − 660 * etags.c (C_entries, consider_token): C++ `operator' now is
+ − 661 tagged in most cases.
+ − 662 As before, :: is not recognised if surrounded by spaces.
+ − 663
+ − 664 1999-01-14 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 665
+ − 666 * etags.c (relative_filename): Account for DOS file names such
+ − 667 that is impossible to make one relative to another.
+ − 668
+ − 669 1998-10-09 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 670
+ − 671 * etags.c (sym_type): New st_C_extern tag.
+ − 672 (gperf input): Use it for spotting external declarations.
+ − 673 (print_help): Document the new behaviour of --declarations.
+ − 674 (fvextern): New global variable.
+ − 675 (consider_token, C_entries): Use it.
+ − 676
+ − 677 1998-06-19 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 678
+ − 679 * etags.c (HAVE_GETCWD) [WINDOWSNT]: Define if undefined.
+ − 680 (etags_getcwd): Remove test for WINDOWSNT.
+ − 681
+ − 682 1998-06-16 Eli Zaretskii <eliz@is.elta.co.il>
+ − 683
+ − 684 * etags.c (process_file) [MSDOS]: If foo.c.gz is not found, try
+ − 685 foo.cgz, foo.cz, etc.
+ − 686
+ − 687 1998-06-15 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 688
+ − 689 * etags.c (declarations): New global switch.
+ − 690 (longopts): Describe it.
+ − 691 (print_help): Document it.
+ − 692 (C_entries): Use it.
+ − 693 (process_file): Don't process a file twice.
+ − 694
+ − 695 1998-06-02 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 696
+ − 697 * etags.c (Fortran_functions): No tags for "procedure".
+ − 698
+ − 699 1998-05-29 Eli Zaretskii <eliz@is.elta.co.il>
+ − 700
+ − 701 * etags.c (get_compressor_from_suffix): Second argument EXTPTR, if
+ − 702 non-zero, returns a pointer to where the extension begins; callers
+ − 703 changed.
+ − 704 [MSDOS]: Support DOS file names by handling e.g. foo.cgz as if it
+ − 705 were foo.c.gz.
+ − 706
+ − 707 1998-05-18 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 708
+ − 709 * etags.c (sym_type, C_stab_entry): New constant st_C_operator.
+ − 710 (fvdev): New constant foperator.
+ − 711 (consider_token): Use it to get "operator" in C++.
+ − 712 (C_entries): Extend length of operator@ function name.
+ − 713 (C_entries): Use foperator when necessary.
+ − 714
+ − 715 1998-05-13 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 716
+ − 717 * etags.c (main) [!ETAGS_REGEXPS]: Do not call free_patterns.
+ − 718
+ − 719 1998-05-12 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 720
+ − 721 * etags.c (compressor): New struct for compressed files.
+ − 722 (get_compressor_from_suffix): New function.
+ − 723 (get_language_from_suffix): Use it. Also, semantics changed.
+ − 724 (process_file): Consider compressed files, close file.
+ − 725 (find_entries): Use different call arg for get_language_from_suffix,
+ − 726 don't close file.
+ − 727
+ − 728 1998-05-11 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 729
+ − 730 * etags.c (main): Call free_tree.
+ − 731 (find_entries): Do not free curfile.
+ − 732 (pfnote): Cosmetic change: NULL and '\0' where appropriate.
+ − 733 (prolog_pred, erlang_func, substitute): Cast strlen to int when
+ − 734 comparing.
+ − 735 (canonicalize_filename): Shut up compiler warning.
+ − 736 (Perl_functions): Make tag significant.
+ − 737
+ − 738 1997-11-27 Dave Love <d.love@dl.ac.uk>
+ − 739
+ − 740 * etags.c (longopts, optstring): New option --ignore-case-regex (-c).
+ − 741 (argument_type): New member at_icregexp.
+ − 742 (lc_trans): New global.
+ − 743 (main): Fill lc_trans. Process -c args.
+ − 744 (add_regex): New arg determining whether to use translation table.
+ − 745 (analyse_regex): New arg. Use it for add_regex.
+ − 746
+ − 747 1997-09-30 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 748
+ − 749 * etags.c (init): Cosmetic change: NULL --> '\0'.
+ − 750 (erlang_attribute): Bug corrected (uninitialized variable).
+ − 751 (filename_is_absolute): New function replaces absolutefn macro and
+ − 752 corrects a bug. All callers changed.
+ − 753 (canonicalize_filename): New function.
+ − 754 (process_file, etags_getcwd, absolute_dirname): Use it.
+ − 755 (relative_filename, absolute_filename): Removed var shadowing.
+ − 756 (C_entries, Pascal_functions): Add fake initializations to keep
+ − 757 compilers quiet.
+ − 758 (TeX_functions, Prolog_functions, Erlang_functions): Cleanup.
+ − 759
+ − 760 1997-09-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 761
+ − 762 * etags.c (xrnew): New macro. All callers of xrealloc changed.
+ − 763 (language): New typedef (was struct lang_entry).
+ − 764 (curlang): New global variable.
+ − 765 (node): typedef renamed from NODE.
+ − 766 (linebuffer): New typedef (was struct linebuffer).
+ − 767 (pattern): New typedef (was struct pattern). Some members added.
+ − 768 Now used as element of a linked list.
+ − 769 (patterns, num_patterns): Global variables deleted.
+ − 770 (p_head): New global variable.
+ − 771 (forced_lang): New global variable (replaces lang_func).
+ − 772 (get_language_from_name, get_language_from_interpreter,
+ − 773 get_language_from_suffix): Semantics changed. All callers changed.
+ − 774 (last_node): New global variable.
+ − 775 (free_tree, add_node, put_entries, total_size_of_entries): Change
+ − 776 name of local vars to avoid clashes with typedef node.
+ − 777 (number_len): Rewritten for elegance.
+ − 778 (token): New typedef replaces TOKEN.
+ − 779 (analyse_regex, add_regex): Rewritten for new functionality.
+ − 780 (free_patterns): New function called from main and add_regex.
+ − 781 (initbuffer, readline_internal, readline, grow_linebuffer):
+ − 782 Change name of local vars to avoid clashes with typedef
+ − 783 linebuffer.
+ − 784 (readline): Rewritten for new functionality.
+ − 785
+ − 786 1997-09-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 787
+ − 788 * etags.c: (Scheme_suffixes): New suffix ".ss".
+ − 789 (print_help): --globals is now used for more than C-type languages.
+ − 790 (Perl_functions): Tag global variables ("my" and "local").
+ − 791
+ − 792 1997-08-22 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 793
+ − 794 * etags.c (print_help): Some messages clarified.
+ − 795 (LOOP_ON_INPUT_LINES): New macro.
+ − 796 (just_read_file, Fortran_functions, Asm_labels, Perl_functions,
+ − 797 Python_functions, Cobol_paragraphs, Pascal_functions,
+ − 798 Lisp_functions, Postscript_functions, Scheme_functions,
+ − 799 TeX_functions, Prolog_functions, Erlang_functions): Use it.
+ − 800 (Cobol_paragraphs, Postscript_functions, TeX_functions,
+ − 801 Prolog_functions, Erlang_functions): Use a local variable instead
+ − 802 of the global variable dbp.
+ − 803 (Pascal_functions, L_isquote, Scheme_functions): Use GNU coding
+ − 804 standard indentation.
+ − 805
+ − 806 1997-08-21 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 807
+ − 808 * etags.c (Python_suffixes, lang_names, Python_functions): Python
+ − 809 support.
+ − 810 (skip_spaces, skip_non_spaces): Utility functions.
+ − 811 (find_entries, takeprec, getit, Fortran_functions, Perl_functions,
+ − 812 Python_functions, L_getit, Lisp_functions, Scheme_functions,
+ − 813 prolog_pred, erlanf_func, erlang_attribute): Use them.
+ − 814 (eat_white): Deleted.
+ − 815
+ − 816 1997-08-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 817
+ − 818 * etags.c (CHAR, init): Keep into account non US-ASCII
+ − 819 characters and compilers with default signed chars.
+ − 820 (L_getit): Tag "(defstruct (foo", "(defun (operator" and similar
+ − 821 constructs.
+ − 822
+ − 823 1997-07-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 824
+ − 825 * (C_stab_entry): "interface" in Java behaves like "class".
+ − 826
+ − 827 1997-06-23 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 828
+ − 829 * etags.c: (HAVE_NTGUI) [WINDOWSNT]: #undef if HAVE_CONFIG_H.
+ − 830 (main): Put interval syntax here.
+ − 831 (add_regex): And remove it from here.
+ − 832
+ − 833 1997-06-17 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 834
+ − 835 * etags.c (suggest_asking_for_help): Provide a
+ − 836 meaningful help message with and without LONG_OPTIONS.
+ − 837
+ − 838 1997-06-09 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 839
+ − 840 * etags.c: <io.h> [MSDOS]: Include it, don't include string.h.
+ − 841 <stdlib.h, string.h>: Don't test MSDOS when including them.
+ − 842 (white, nonam, endtk): Like elsewhere, use \r instead of \013.
+ − 843 (put_entries): Correctly use %ld instead of %d in printf.
+ − 844
+ − 845 1997-06-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it>
+ − 846
+ − 847 * etags.c: <unistd.h> [HAVE_UNISTD_H]: Include conditionally, else
+ − 848 declare getcwd if HAVE_GETCWD.
+ − 849 (consider_token): Dead break instruction removed.