Mercurial > hg > xemacs-beta
diff etc/ETAGS.ChangeLog @ 3972:6cd3955b7e4d
[xemacs-hg @ 2007-05-21 03:50:13 by stephent]
Sync etags to pot version 17.32.
author | stephent |
---|---|
date | Mon, 21 May 2007 03:50:19 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/ETAGS.ChangeLog Mon May 21 03:50:19 2007 +0000 @@ -0,0 +1,849 @@ +2007-05-18 Francesco Potortì <pot@gnu.org> + + * etags.c: Extern definitions of some more pointer functions for + standalone compilation, especially important for 64bit platforms. + (main, print_help): --members is now the default for etags. + (C_entries): Parse start of C comment as a space == end of token. + This is not necessary for C++ comment, already parsed as newline. + +2007-02-05 Francesco Potortì <pot@gnu.org> + + * etags.c (default_C_help, Cplusplus_help, PHP_help, print_help) + (main): Now --members is the default for etags, not for ctags yet. + +2007-01-02 Francesco Potortì <pot@gnu.org> + + * etags.c (longopts): New undocumented option --no-duplicates. + (no_duplicates): Static variables for the above option. + (print_help): Do not print help for --no-warn, now undocumented. + (add_node): Allow duplicate tags in ctags mode unless --no-duplicates. + (main): Pass the -u option to sort in ctags mode. + +2006-12-28 Francesco Potortì <pot@gnu.org> + + * etags.c (readline): When creating a relative file name from a + #line directive, leave the file name alone. The previous + behaviour was to make it relative to the tags file directory, + under the hypothesis that the #line directive file name was + relative to the directory of the tagged file. That hypothesis is + wrong with Cpp and Lex. + +2006-12-20 Francesco Potortì <pot@gnu.org> + + * etags.c (C_entries): DEFUN names were longer by one: corrected. + (Makefile_targets): Do not include spaces in tag names. + +2006-08-12 Kevin Ryde <user42@zip.com.au> + + * etags.c (readline): Check for double quote after #line. + +2006-08-12 Jan Djärv <jan.h.d@swipnet.se> + + * etags.c (readline): sscanf could in principle return 2. + +2006-08-12 Francesco Potortì <pot@gnu.org> + + * etags.c (readline): lno is unsigned. + (TeX_commands): Use p++ (rather than *p++) to increment p. + (Lua_functions): Explicitely discard LOOKING_AT's return value. + +2006-08-07 Masatake YAMATO <jet@gyve.org> + + * etags.c (TEX_mode): Check getc retruns EOF. + File ended without newline causes infinite loop. + +2002-07-14 Adrian Aichner <adrian@xemacs.org> (tiny change) + + * etags.c: It's XEmacs, not Xemacs: change all the occurences. + +2006-07-10 Francesco Potortì <pot@gnu.org> + + * etags.c [ETAGS_REGEXPS]: #ifdef's deleted, define unconditionally. + [LONG_OPTIONS]: Changed to NO_LONG_OPTIONS, now normally undefined. + (Objc_suffixes): Suggest using --lang=c for full help. + (C_entries): Initialise savetoken to 0 to shut up the compiler. + +2006-07-10 Francesco Potortì <pot@gnu.org> + + * etags.c (absolute_filename): Free unused space (cosmetic change). + (in_word_set): In C, also tag #undef symbols. + +2006-05-02 Francesco Potortì <pot@gnu.org> + + * etags.c (Perl_functions): Free space allocated for var package. + (Erlang_functions): Possibly free space allocated for var last. + (Prolog_functions): Possibly free space allocated for var last. + +2005-11-18 Hideki IWAMOTO <h-iwamoto@kit.hi-ho.ne.jp> (tiny change) + + * etags.c (main): Cxref mode writes to stdout: do not close tagf, + which was never opened. + +2005-09-27 Francesco Potortì <pot@gnu.org> + + * etags.c: Preliminary Forth support. + (prolog_pr): Cast strlen to int before comparison. + (LOOKING_AT, LOOKING_AT_NOCASE): Let the preprocessor check that + the second argument is indeed a literal string. + (main): In append mode, sort the tags file after writing it. + +2005-09-27 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change) + + * etags.c (longopts, print_help, main): The -a (--append) option + can be used in ctags also; for one, the Linux make file uses it. + +2004-09-13 Francesco Potortì <pot@gnu.org> + + * etags.c (main): When relative file names are given as argument, + make them relative to the current working dir, rather than + relative to the output tags file, if the latter is in /dev. + +2004-09-13 David A. Capello <dacap@users.sourceforge.net> (tiny change) + + * etags.c: (Lua_suffixes, Lua_help, lang_names, Lua_functions): + Support the Lua scripting language <http://www.lua.org>. + +2004-09-13 Francesco Potortì <pot@gnu.org> + + * etags.c [EXIT_SUCCESS, EXIT_FAILURE]: Define them when no + <stdlib.h> is available. + (enum sym_type): New st_C_attribute value for parsing + gcc's __attribute__. Deleted st_C_typespec value. + (gperf, in_word_set): Use gperf 3, options changed. Added the + __attribute__ keyword, removed all the st_C_typespec keywords, + changed attribute for Java to (C_JAVA & !C_PLPL). + (inattribute): New global bool, part of the C state machine. + (cblev): Identifier renamed to bracelev throughout. + (consider_token, C_entries): Numerous changes for making the + parser more robust and adding support for __attribute__. + +2004-09-08 Francesco Potortì <pot@gnu.org> + + * etags.c: Add arch taglines + [LONG_OPTIONS]: make it TRUE (ifdef) or FALSE for ease of use. + [GOOD, BAD]: renamed to EXIT_SUCCESS, EXIT_FAILURE. + (suggest_asking_for_help): Fix having macros in a printf statement. + (consider_token): check C++ `operator' only when the token len is + long enough. + +2003-01-09 Francesco Potortì <pot@gnu.org> + + * etags.c: changes for language-sepcific help by Philippe + Waroquiers <wao@cfmu.eurocontrol.be> applied and largely revised. + (language): Added a `help' member. + (arg_type): Added an at_end constant. + (plain_C_suffixes): Some items removed from here. + (Objc_suffixes): And put here (new constant). + (Ada_help, Asm_help, default_C_help, Cplusplus_help, Cjava_help, + Cobol_help, Erlang_help, Fortran_help, HTML_help, Lisp_help, + Makefile_help, Objc_help, Pascal_help, Perl_help, PHP_help, + PS_help, Prolog_help, Python_help, Scheme_help, TeX_help, + Texinfo_help, Yacc_help, auto_help, none-help, no_lang_help): New + constants. + (PS_functions, PS_suffixes): Renamed from Postscript_functions and + Postscript_suffixes. + (lang_names): Adapted to the new language structure, new language + "objc" added (was previously merged with "proc"). + (print_language_names): Some help strings corrected. + (print_help): Now takes an argument and possibly prints lang help. + (print_help): Some help strings corrected. Documents + language-specific help. + (main): Only print help after having parsed all the arguments. + +2002-09-03 Francesco Potorti` <pot@gnu.org> + + * etags.c (regex_tag_multiline, readline): Never pass pfnote a + string that cannot be freed. + +2002-08-30 Francesco Potorti` <pot@gnu.org> + + * etags.c (consider_token, C_entries): Switch to C++ parsing when + auto-detection is enabled and the `::' qualifier is met. + (consider_token, C_entries): Several bugs corrected that tagged + some declarations even though --declarations was not used. + (plainc): New macro. + (C_entries): Use it. + (C_entries): Several cosmetic changes. + (C_entries): Invalidate the token is some cases. + +2002-08-29 Francesco Potorti` <pot@gnu.org> + + * etags.c (C_entries): Corrected a problem with const C++ funcs. + (ignoreindent): Renamed from noindentypedefs. + (cjava, cplpl): They are now macros instead of local vars. + +2002-08-28 Francesco Potorti` <pot@gnu.org> + + * etags.c (HTML_labels): Tag ID= also. + +2002-08-27 Francesco Potorti` <pot@gnu.org> + + * etags.c (Ada_funcs): Do not tag "use type Xxxx;". + +2002-06-25 Francesco Potorti` <pot@gnu.org> + + * etags.c: New language HTML. + (make_tag): Never generate null length tag names. + (linebuffer_init): Renamed from initbuffer. All callers changed. + (pattern): Structure renamed to `regexp', member regex renamed to + pattern. + (node_st): Member pat renamed to regex. + (pattern); New member force_explicit_name, for future use. Now + always set to true, cannot be reset. + (add_regex, regex_tag_multiline, readline): Use it. + (main): Free some global structures. + +2002-06-21 Francesco Potorti` <pot@gnu.org> + + * etags.c (fdesc): New member `written'. + (readline, process_file): Initialise it. + (put_entries): Set it. + (main): Use it to create entries for files without tags. + (total_size_of_entries): Do not count invalid tags. + (etags_strcasecmp): Like BSD's, for compatibility. + (strcaseeq): Make it into a macro. + +2002-06-21 Francesco Potorti` <pot@gnu.org> + + * etags.c: (F_getit, Fortran_functions, Ada_getit, Asm_labels) + (Python_functions, PHP_functions, PHP_functions, PHP_functions) + (PHP_functions, PHP_functions, Cobol_paragraphs) + (Makefile_targets, Postscript_functions, Texinfo_nodes) + (prolog_pr, erlang_func, erlang_attribute) + (Perl_functions, Perl_functions, Pascal_functions) + (TeX_commands, get_tag): Use make_tag instead of pfnote. + (get_tag): Prototype changed, all callers changed. + +2002-06-20 Francesco Potorti` <pot@gnu.org> + + * etags.c: Use, together with etags.el, an optimised form of tags, + which are almost always unnamed. etags.el looks for an explicit + tag name, then for an implicit one. See make_tag for details. + The change is both forwards and backwards compatible. + (make_tag): New function (was the disabled function new_pfnote). + (make_C_tag): Use it. + +2002-06-19 Francesco Potorti` <pot@gnu.org> + + * etags.c (add_regex): Invalid regexp modifiers are ignored. + (Makefile_targets): Tag variables unless --no-globals. + (LOOP_ON_INPUT_LINES): Serious bug corrected. + +2002-06-13 Francesco Potorti` <pot@gnu.org> + + * etags.c (erlang_atom, erlang_attribute): Bugs corrected. + (invalidate_nodes): Bug corrected. + (print_help): Better help for regexps. + +2002-06-12 Francesco Potorti` <pot@gnu.org> + + * etags.c (arg_type): at_icregexp label removed (obsolete). + (pattern): New member multi_line for multi-line regexps. + (filebuf): A global buffer containing the whole file as a string + for multi-line regexp matching. + (need_filebuf): Global flag raised if multi-line regexps used. + (print_help): Document new regexp modifiers, remove references to + obsolete option --ignore-case-regexp. + (main): Do not set regexp syntax and translation table here. + (main): Treat -c option as a backward compatibility hack. + (main, find_entries): Init and free filebuf. + (find_entries): Call regex_tag_multiline after the regular parser. + (scan_separators): Check for untermintaed regexp and return NULL. + (analyse_regex, add_regex): Remove the ignore_case argument, which + is now a modifier to the regexp. All callers changed. + (add_regex): Manage the regexp modifiers. + (regex_tag_multiline): New function. Reads from filebuf. + (readline_internal): If necessary, copy the whole file into filebuf. + (readline): Skip multi-line regexps, leave them to regex_tag_multiline. + +2002-06-11 Francesco Potorti` <pot@gnu.org> + + * etags.c (add_regex): Better check for null regexps. + (readline): Check for regex matching null string. + +2002-06-07 Francesco Potorti` <pot@gnu.org> + + * etags.c (find_entries): Reorganisation. + +2002-06-07 Francesco Potorti` <pot@gnu.org> + + * etags.c (scan_separators): Support all character escape + sequences supported by gcc. + (find_entries): rewind unconditionally. + (find_entries): Do not call language functions directly, now calls + itself. + (find_entries): Do general initialisations here. + (CNL_SAVE_DEFINEDEF, C_entries, LOOP_ON_INPUT_LINES, F_getit) + (Ada_getit, Pascal_functions, Pascal_functions) + (prolog_skip_comment): Do not do them here. + (readline_internal): Increment lineno here. + (readline): Conditionally undo readline_internal increment. + (readline): Do not return a value. + +2002-06-06 Francesco Potorti` <pot@gnu.org> + + * etags.c (enum arg_type): New label at_stdin. + (STDIN): New constant. + (parsing_stdin): New flag. + (longopts): New option --parse-stdin=NAME. + (print_help): Document it. + (main): Handle it. + (process_file): Split into process_file and process_file_name. + (process_file_name): New function. + +2002-06-06 Francesco Potorti` <pot@gnu.org> + + * etags.c (main): Avoid a buffer overrun with sprintf. + (TEX_cmt): Make it a static char and move it before TeX_commands. + (TeX_commands): Skip comments. + (TEX_defenv): Now contains more contructs. + (TeX_commands): Shorten the tag to the brace after the name. + (TeX_commands): Allow for names with embedded spaces. + (TeX_commands): Names now include the initial backslash. + (TeX_commands): Names do not include numeric args #n. + (TeX_commands): Correct line char number in tags. + (TEX_tabent, TEX_token): Deleted. + (TeX_commands, TEX_decode_env): Streamlined. + +2002-05-31 Paul Eggert <eggert@twinsun.com> + + * etags.c (main): Use `sort -o TAGFILE TAGFILE' instead of + `sort TAGFILE -o TAGFILE', as POSIX 1003.1-2001 disallows + the latter usage. + +2002-04-22 Francesco Potorti` <pot@gnu.org> + + * etags.c: (last_node): Make it a global variable. + (process_file): Print the tags from the nodes as soon as + possible, and delete the nodes. This brings down the memory + occupancy as etags to almost the same level as when the #line + directives were not parsed. + (free_fdesc): New function. + (find_entries): Use it. + (invalidate_nodes): In etags mode, do not just mark the nodes as + invalid, do delete them. + +2002-04-16 Francesco Potorti` <pot@gnu.org> + + * etags.c (find_entries): Bug fix in list management. + +2002-04-15 Francesco Potorti` <pot@gnu.org> + + * etags.c (get_language_from_filename): Add one argument. + (strcaseeq): New function. + (get_language_from_filename): Use it to do a case insenstitive + comparison if called with appropriate args. + (find_entries): Try with case insensitive match. + (process_file): Bug fixed. + +2002-04-13 Francesco Potorti` <pot@gnu.org> + + * etags.c (find_entries): Delete tags previously obtained from + file xxx.c's #line directives when parsing file xxx.y. This is + generally done for automatically generated files containing + #line directives. This handles the case when xxx.y is tagged + before xxx.c, and the entries of xxx.c pointing to xxx.y should + be discarded. + (language): Added the metasource member. Initializers changed. + (invalidate_nodes): New function. + +2002-03-21 Francesco Potorti` <pot@gnu.org> + + * etags.c (readline): Discard lines after having found a #line + directive pointing to an already tagged file. This handles the + case when xxx.y is tagged before xxx.c, and the entries of + xxx.c pointing to xxx.y should be discarded. + +2002-03-15 Francesco Potorti` <pot@gnu.org> + + * etags.c (fdesc): New structure for keeping track of input files. + (fdesc): Remove `file' member (a string) and use instead a pointer + to a file description structure. + (curfile, curfiledir, curtagfname, curlang, nocharno, + forced_lang): Global variables removed in favor of fdhead and + curfdp, pointers to file description strucures. + (longopts, main, print_help): Use the CTAGS conditional to include + or exclude options that work on etags or ctags only. + (process_file, find_entries, pfnote, add_node, put_entries, + readline): Use fdhead and curfdp. + (process_file, find_entries): Do not take an arg string, all + callers changed. + +2002-03-13 Francesco Potorti` <pot@gnu.org> + + * etags.c (longopts, print_help, main): Test CTAGS to disallow + options that are not right for either etags or ctags. + +2002-03-12 Francesco Potorti` <pot@gnu.org> + + * etags.c (number_len, total_size_of_entries): Define them also + in CTAGS mode, because gcc does not compile all refs away. + (Python_functions, PHP_functions): Name tags, for ctags' sake. + (TeX_commands): Name tags. Correction of old disabled code. + +2002-03-06 Francesco Potorti` <pot@gnu.org> + + * etags.c (Python_functions): Consider indented "def" and "class". + +2002-03-05 Francesco Potorti` <pot@gnu.org> + + * etags.c (curfiledir, curtagfname): New global variables. + (process_file): Initialise them. + (readline): Canonicalize the name found in #line directive. + +2002-03-05 Francesco Potorti` <pot@gnu.org> + + * etags.c: Honour #line directives. + (no_line_directive): New global var; set it for old behaviour. + (main): Remove some #ifdef in the getopt switch. + (add_node, put_entries): Code added to merge different chunks of + nodes referring to the same file. Currently the tags are just + appended, without any check for duplicates. + (Perl_functions): Do not special case ctags. + (readline): Identify #line directives and do the right thing. + (nocharno, invalidcharno): New global vars. + (process_file): Reset nocharno. + (readline): Set nocharno. + (pfnote): Read nocharno and maybe put invalidcharno in node. + (total_size_of_entries, put_entries): Use invalidcharno. + +2002-03-04 Francesco Potorti` <pot@gnu.org> + + * etags.c: Keep the whole tag table in memory, even in etags mode. + (main): Call put_entries here even in CTAGS mode. + (main, process_file): Check the return values of fclose and pclose. + (process_file): Do not call put_entries after parsing each file. + (process_file): Canonicalise file names even for ctags. + (process_file): Set curfile here... + (find_entries): ... not here any more. + (add_node): In etags mode, build a linked list of entries (on + right pointer) for each file, and link the first entry of each + file on left nodes. + (put_entries): Print here the name of the file. + (put_entries): Print the entries starting from the first file. + (number_len, total_size_of_entries): Define these only iin etags + mode, make the second work only on the right nodes. + +2002-01-03 Francesco Potorti` <pot@gnu.org> + + * etags.c: Make all global variables static. + +2001-12-21 Francesco Potorti` <pot@gnu.org> + + * etags.c (Perl_functions): Tag packages and use them in sub tags. + (get_tag): Return a pointer to the tag that is found. + +2001-12-21 Francesco Potorti` <pot@gnu.org> + + * etags.c (LOOKING_AT): Use !intoken instead of iswhite. + (F_takeprec): Renamed from takeprec. All callers changed. + (F_getit): Renamed from getit. All callers changed. + (nocase_tail): Renamed from tail. All callers changed. + (Ada_getit): Renamed from adagetit. All callers changed. + (L_getit): Simplified by using get_tag. + (Perl_functions, Postscript_functions, erlang_attribute): Use the + modified LOOKING_AT. + (notinname): Removed '[' and added ')' to the recognised chars. + (LOOKING_AT, get_tag, PHP_functions): Use notinname. + (Ada_getit, Ada_funcs, Python_functions, Scheme_functions): + Clarified, using strneq or notinname. + (L_isdef, L_isquote): Removed. + (Lisp_functions, L_getit): Clarified. + +2001-12-17 Francesco Potorti` <pot@gnu.org> + + * etags.c: [P_]: Renamed to __P for consistency with config.h. + [HAVE_CONFIG_H]: Let config.h deal with __P. + [__STDC__] [!HAVE_CONFIG_H]: Define PTR as in config.h. + [!__STDC__] [!HAVE_CONFIG_H]: Do not undefine static, because + gperf code needs it. + [HAVE_CONFIG_H] [!PTR]: Define PTR (for use with Xemacs). + [HAVE_CONFIG_H] [!__P]: Define __P (for use with Xemacs). + (xmalloc, xrealloc): Use PTR instead of long *. + (bool): Make it a define, not a typedef, for C++ compilers. + (pattern): Members renamed to avoid name clash in some C++ compilers. + (get_language_from_langname): Use const argument. + +2001-12-12 Francesco Potorti` <pot@gnu.org> + + * etags.c (PHP_functions): New function by Diez B. Roggisch, + heavily adapted by me, for parsing PHP. + (LOOKING_AT): New macro. + (Perl_functions, Python_functions, PHP_functions) + (Scheme_functions, Texinfo_nodes): Use it. + (Perl_functions): Use strneq. + (prolog_pred): Renamed to prolog_pr. + (prolog_pr): Recognise Prolog rules (thanks to Geert Kloosterman) + in addition to predicates. + [ETAGS_REGEXPS] [!HAVE_CONFIG_H] [__CYGWIN__]: Prevent + unmodified compile, as Cygwin's regex.h is incompatible with us + (thanks to Markus Hoenicka). + [!HAVE_CONFIG_H] [!__STDC__]: #define const as the empty string. + +2001-05-11 Francesco Potorti` <pot@gnu.org> + + * etags.c (add_regex): Reset the whole newly allocated pattern + buffer instead of the individual members. It's safer and works + with Xemacs. + +2001-02-23 Francesco Potorti` <pot@gnu.org> + + * etags.c (enum sym_type): New label st_C_template. + (gperf input): Use it for switching to C++ from C. + (consider_token): Do it. + +2001-02-16 Francesco Potorti` <pot@gnu.org> + + * etags.c (C_entries): Initialise typdefcblev to quiet compilers. + +2001-02-06 Francesco Potorti` <pot@gnu.org> + + * etags.c [!HAVE_CONFIG_H] [!__STDC__]: #define static as nothing. + +2001-01-31 Francesco Potorti` <pot@gnu.org> + + * etags.c: [NDEBUG] #undef assert and #define it as ((void)0), for + the sake of some buggy assert.h (e.g. in MinGW and sunos4 pcc). + (C_entries): Tag token renamed to still_in_token because sunos4 + pcc wants to expand it as the token() macro even though it has no + arguments. + +2001-01-30 Francesco Potorti` <pot@gnu.org> + + * etags.c: [WIN32-NATIVE]: #undef MSDOS, #undef WINDOWSNT and + #define it for the sake of Xemacs. + [WINDOWSNT]: #undef HAVE_NTGUI even if built without + HAVE_CONFIG_H. This change only affects a standalone etags. + [WINDOWSNT]: #undef DOS_NT and #define it even if built with + HAVE_CONFIG_H. This change does nothing in Emacs, as DOS_NT is + always defined when HAVE_CONFIG_H and WINDOWS are both defined. + [!HAVE_UNISTD_H]: use defined(WINDOWSNT) instead of the bare + WINDOWSNT, as this is the correct way to use it. + +2001-01-28 Francesco Potorti` <pot@gnu.org> + + * etags.c: Be capable to parse nested struct-like structures. + (structdef, structtag): Struct state machine revisited. + (struct tok): Revisited. + (cstack, nestlev, instruct): New struct and macros. + (pushclass_above, popclass_above, write_classname): New functions + for dealing with nested class names, inspired by Mykola Dzyuba. + (consider_token, make_C_tag, C_entries): Many changes for dealing + with arbitrarily nested structures. + (etags_getcwd): #if MSDOS, not #ifdef MSDOS! + (C_entries): Consider templates in C++. + (sym_type): New constant st_C_class for detecting "class" also in + C mode. + (C_AUTO): New macro for automatic detection of C++. + (consider_token): Automatic set C++ mode. + (C_entries): New security check for yacc. + (print_language_names, print_help): Mention the autodetect + feature, do not show help for the -C option, now mostly useless. + (C_entries): Tag C++ forward declarations if --declarations. + (C_entries): Don't be fooled by things like XDEFUN. + (consider_token): Discard asm pseudo function. + +2001-01-25 Francesco Potorti` <pot@potorti.it> + + * etags.c (struct tok): Renamed from struct token. + (token): Renamed from tok. + (structtype): Make it a local variable. + [DEBUG]: Use assert. + (xrnew): Change the synopsis. + (typedefs_or_cplusplus): Renamed from typedefs_and_cplusplus. + (grow_linebuffer): Don't call xrnew when not needed. + (token): buffer renamed to line. + (C_entries): Three calls to inibuffer moved here from main. + (C_entries): Removed all references to var methodlen, delete it. + (linebuffer_setlen): Was grow_buffer, now also sets len. + (consider_token, C_entries, Pascal_functions): Use it. + (C_entries): Preventing problems relative to extern "C". + (C_entries): Can tag more than one variable or func separated by + comma when --declarations is used. + (C_entries): More accurate tagging of members and declarations. + (yacc_rules): Was global, made local to C_entries. + (next_token_is_func): Removed. + (fvdef): New constants fdefunkey, fdefunname. + (consider_token, C_entries): Use them. + (C_entries): Build proper lisp names for Emacs DEFUNs. + +2001-01-15 Francesco Potorti` <pot@pot.cnuce.cnr.it> + + * etags.c (print_language_names): Print filenames in addition to + suffixes. + +2001-01-12 Francesco Potorti` <pot@gnu.org> + + * etags.c (get_language_from_langname): Renamed from + get_language_from_name. + (get_language_from_filename): Renamed from + get_language_from_suffix. Now first looks for the complete file + name. + (language): New member char **filenames. + (Makefile_filenames): List of possible filenames for makefiles. + (lang_names): Added a NULL member for every entry, added an entry + for makefiles. + (Makefile_targets): New function, inspired by Assar Westerlund + <assar@sics.se>. + +2000-11-07 Francesco Potortì <pot@pot.cnuce.cnr.it> + + * etags.c (Texinfo_nodes): Renamed from Texinfo_fuctions and made + it conformant to the style of the rest of the code. + +2000-02-10 Francesco Potorti` <pot@gnu.org> + + * etags.c (iswhite): Redefined not to consider '\0' as white + space, and use it throughout in place of isspace, thus preventing a + potential signed char to int conversion problem. + (MSDOS): #undefine befere redefining + +2000-02-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (many functions): Add prototypes. + +2000-01-31 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c [MSDOS]: Set MSDOS to 1 if #defined, 0 otherwise. + (get_compressor_from_suffix, process_file): Use MSDOS in if clause. + (etags_strchr, etags_strrchr): Use const char * and int as arguments. + (getenv, getcwd): Only declare them if necessary. + (EMACS_NAME): New constant macro. + (print_version): Use it. + (P_) [__STDC__]: Macro for defining function prototypes. + +2000-01-18 Fabrice Popineau <Fabrice.Popineau@supelec.fr> + + * etags.c [WINDOWSNT]: #include <direct.h> + +2000-01-18 Martin Buchholz <martin@xemacs.org> + + * etags.c (all functions): Made them static. + (all functions): Write prototypes. + +1999-11-19 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (_GNU_SOURCE): Define only if undefined. + (get_scheme): Declaration deleted. + (main): error was called with an integer as second arg, instead of + a char pointer. + (canonicalize_filename): Bug removed. + +1999-11-18 Dave Love <d.love@dl.ac.uk> + + * etags.c (C_entries): Rename label `intoken', avoiding K&R + lossage from name clash with macro. + +1999-09-14 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c: Add suffix psw for PSWrap. + (L_getit): Generalize a "cp!=' '" into "!isspace(*cp)". + (Postscript_functions): Add code for PSWrap. + (Scheme_functions): Use local pointer and new get_tag function. + (get_tag): New name for old get_scheme. + (process_file): Do not free NULL when file does not exist. + (typdef): ttypedefseen renamed to tkeyseen, new label ttypeseen. + (C_entries): Modifications that make --members tag even inside + typedefs and C nested structs (one level only). + (consider_token): Corrected a bug which prevented tagging of enum + constants. + (C_stab_entry): Added if, for, while, switch, return as + st_C_ignore. This makes it simpler to work when cblev!=0. + +1999-04-21 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (C_entries): tag member function declarations when + --declarations is used. + +1999-04-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (C_entries, consider_token): C++ `operator' now is + tagged in most cases. + As before, :: is not recognised if surrounded by spaces. + +1999-01-14 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (relative_filename): Account for DOS file names such + that is impossible to make one relative to another. + +1998-10-09 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (sym_type): New st_C_extern tag. + (gperf input): Use it for spotting external declarations. + (print_help): Document the new behaviour of --declarations. + (fvextern): New global variable. + (consider_token, C_entries): Use it. + +1998-06-19 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (HAVE_GETCWD) [WINDOWSNT]: Define if undefined. + (etags_getcwd): Remove test for WINDOWSNT. + +1998-06-16 Eli Zaretskii <eliz@is.elta.co.il> + + * etags.c (process_file) [MSDOS]: If foo.c.gz is not found, try + foo.cgz, foo.cz, etc. + +1998-06-15 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (declarations): New global switch. + (longopts): Describe it. + (print_help): Document it. + (C_entries): Use it. + (process_file): Don't process a file twice. + +1998-06-02 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (Fortran_functions): No tags for "procedure". + +1998-05-29 Eli Zaretskii <eliz@is.elta.co.il> + + * etags.c (get_compressor_from_suffix): Second argument EXTPTR, if + non-zero, returns a pointer to where the extension begins; callers + changed. + [MSDOS]: Support DOS file names by handling e.g. foo.cgz as if it + were foo.c.gz. + +1998-05-18 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (sym_type, C_stab_entry): New constant st_C_operator. + (fvdev): New constant foperator. + (consider_token): Use it to get "operator" in C++. + (C_entries): Extend length of operator@ function name. + (C_entries): Use foperator when necessary. + +1998-05-13 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (main) [!ETAGS_REGEXPS]: Do not call free_patterns. + +1998-05-12 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (compressor): New struct for compressed files. + (get_compressor_from_suffix): New function. + (get_language_from_suffix): Use it. Also, semantics changed. + (process_file): Consider compressed files, close file. + (find_entries): Use different call arg for get_language_from_suffix, + don't close file. + +1998-05-11 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (main): Call free_tree. + (find_entries): Do not free curfile. + (pfnote): Cosmetic change: NULL and '\0' where appropriate. + (prolog_pred, erlang_func, substitute): Cast strlen to int when + comparing. + (canonicalize_filename): Shut up compiler warning. + (Perl_functions): Make tag significant. + +1997-11-27 Dave Love <d.love@dl.ac.uk> + + * etags.c (longopts, optstring): New option --ignore-case-regex (-c). + (argument_type): New member at_icregexp. + (lc_trans): New global. + (main): Fill lc_trans. Process -c args. + (add_regex): New arg determining whether to use translation table. + (analyse_regex): New arg. Use it for add_regex. + +1997-09-30 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (init): Cosmetic change: NULL --> '\0'. + (erlang_attribute): Bug corrected (uninitialized variable). + (filename_is_absolute): New function replaces absolutefn macro and + corrects a bug. All callers changed. + (canonicalize_filename): New function. + (process_file, etags_getcwd, absolute_dirname): Use it. + (relative_filename, absolute_filename): Removed var shadowing. + (C_entries, Pascal_functions): Add fake initializations to keep + compilers quiet. + (TeX_functions, Prolog_functions, Erlang_functions): Cleanup. + +1997-09-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (xrnew): New macro. All callers of xrealloc changed. + (language): New typedef (was struct lang_entry). + (curlang): New global variable. + (node): typedef renamed from NODE. + (linebuffer): New typedef (was struct linebuffer). + (pattern): New typedef (was struct pattern). Some members added. + Now used as element of a linked list. + (patterns, num_patterns): Global variables deleted. + (p_head): New global variable. + (forced_lang): New global variable (replaces lang_func). + (get_language_from_name, get_language_from_interpreter, + get_language_from_suffix): Semantics changed. All callers changed. + (last_node): New global variable. + (free_tree, add_node, put_entries, total_size_of_entries): Change + name of local vars to avoid clashes with typedef node. + (number_len): Rewritten for elegance. + (token): New typedef replaces TOKEN. + (analyse_regex, add_regex): Rewritten for new functionality. + (free_patterns): New function called from main and add_regex. + (initbuffer, readline_internal, readline, grow_linebuffer): + Change name of local vars to avoid clashes with typedef + linebuffer. + (readline): Rewritten for new functionality. + +1997-09-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c: (Scheme_suffixes): New suffix ".ss". + (print_help): --globals is now used for more than C-type languages. + (Perl_functions): Tag global variables ("my" and "local"). + +1997-08-22 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (print_help): Some messages clarified. + (LOOP_ON_INPUT_LINES): New macro. + (just_read_file, Fortran_functions, Asm_labels, Perl_functions, + Python_functions, Cobol_paragraphs, Pascal_functions, + Lisp_functions, Postscript_functions, Scheme_functions, + TeX_functions, Prolog_functions, Erlang_functions): Use it. + (Cobol_paragraphs, Postscript_functions, TeX_functions, + Prolog_functions, Erlang_functions): Use a local variable instead + of the global variable dbp. + (Pascal_functions, L_isquote, Scheme_functions): Use GNU coding + standard indentation. + +1997-08-21 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (Python_suffixes, lang_names, Python_functions): Python + support. + (skip_spaces, skip_non_spaces): Utility functions. + (find_entries, takeprec, getit, Fortran_functions, Perl_functions, + Python_functions, L_getit, Lisp_functions, Scheme_functions, + prolog_pred, erlanf_func, erlang_attribute): Use them. + (eat_white): Deleted. + +1997-08-20 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (CHAR, init): Keep into account non US-ASCII + characters and compilers with default signed chars. + (L_getit): Tag "(defstruct (foo", "(defun (operator" and similar + constructs. + +1997-07-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * (C_stab_entry): "interface" in Java behaves like "class". + +1997-06-23 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c: (HAVE_NTGUI) [WINDOWSNT]: #undef if HAVE_CONFIG_H. + (main): Put interval syntax here. + (add_regex): And remove it from here. + +1997-06-17 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c (suggest_asking_for_help): Provide a + meaningful help message with and without LONG_OPTIONS. + +1997-06-09 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c: <io.h> [MSDOS]: Include it, don't include string.h. + <stdlib.h, string.h>: Don't test MSDOS when including them. + (white, nonam, endtk): Like elsewhere, use \r instead of \013. + (put_entries): Correctly use %ld instead of %d in printf. + +1997-06-04 Francesco Potorti` <F.Potorti@cnuce.cnr.it> + + * etags.c: <unistd.h> [HAVE_UNISTD_H]: Include conditionally, else + declare getcwd if HAVE_GETCWD. + (consider_token): Dead break instruction removed.