(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.
This commit is contained in:
parent
cd1059fb84
commit
ed8bbc0e02
2 changed files with 46 additions and 33 deletions
|
@ -1,3 +1,10 @@
|
|||
2007-01-02 Francesco Potort,Al(B <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.
|
||||
|
||||
2006-12-28 Francesco Potort,Al(B <pot@gnu.org>
|
||||
|
||||
* etags.c (readline): When creating a relative file name from a
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
* configuration file containing regexp definitions for etags.
|
||||
*/
|
||||
|
||||
char pot_etags_version[] = "@(#) pot revision number is 17.25";
|
||||
char pot_etags_version[] = "@(#) pot revision number is 17.26";
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
@ -456,9 +456,10 @@ static bool globals; /* create tags for global variables */
|
|||
static bool declarations; /* --declarations: tag them and extern in C&Co*/
|
||||
static bool members; /* create tags for C member variables */
|
||||
static bool no_line_directive; /* ignore #line directives (undocumented) */
|
||||
static bool no_duplicates; /* no duplicate tags for ctags (undocumented) */
|
||||
static bool update; /* -u: update tags */
|
||||
static bool vgrind_style; /* -v: create vgrind style index output */
|
||||
static bool no_warnings; /* -w: suppress warnings */
|
||||
static bool no_warnings; /* -w: suppress warnings (undocumented) */
|
||||
static bool cxref_style; /* -x: create cxref style output */
|
||||
static bool cplusplus; /* .[hc] means C++, not C */
|
||||
static bool ignoreindent; /* -I: ignore indentation in C */
|
||||
|
@ -477,39 +478,40 @@ static bool need_filebuf; /* some regexes are multi-line */
|
|||
|
||||
static struct option longopts[] =
|
||||
{
|
||||
{ "append", no_argument, NULL, 'a' },
|
||||
{ "packages-only", no_argument, &packages_only, TRUE },
|
||||
{ "c++", no_argument, NULL, 'C' },
|
||||
{ "declarations", no_argument, &declarations, TRUE },
|
||||
{ "no-line-directive", no_argument, &no_line_directive, TRUE },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
{ "help", no_argument, NULL, 'H' },
|
||||
{ "ignore-indentation", no_argument, NULL, 'I' },
|
||||
{ "language", required_argument, NULL, 'l' },
|
||||
{ "members", no_argument, &members, TRUE },
|
||||
{ "no-members", no_argument, &members, FALSE },
|
||||
{ "output", required_argument, NULL, 'o' },
|
||||
{ "regex", required_argument, NULL, 'r' },
|
||||
{ "no-regex", no_argument, NULL, 'R' },
|
||||
{ "ignore-case-regex", required_argument, NULL, 'c' },
|
||||
{ "append", no_argument, NULL, 'a' },
|
||||
{ "packages-only", no_argument, &packages_only, TRUE },
|
||||
{ "c++", no_argument, NULL, 'C' },
|
||||
{ "declarations", no_argument, &declarations, TRUE },
|
||||
{ "no-line-directive", no_argument, &no_line_directive, TRUE },
|
||||
{ "no-duplicates", no_argument, &no_duplicates, TRUE },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
{ "help", no_argument, NULL, 'H' },
|
||||
{ "ignore-indentation", no_argument, NULL, 'I' },
|
||||
{ "language", required_argument, NULL, 'l' },
|
||||
{ "members", no_argument, &members, TRUE },
|
||||
{ "no-members", no_argument, &members, FALSE },
|
||||
{ "output", required_argument, NULL, 'o' },
|
||||
{ "regex", required_argument, NULL, 'r' },
|
||||
{ "no-regex", no_argument, NULL, 'R' },
|
||||
{ "ignore-case-regex", required_argument, NULL, 'c' },
|
||||
{ "parse-stdin", required_argument, NULL, STDIN },
|
||||
{ "version", no_argument, NULL, 'V' },
|
||||
{ "version", no_argument, NULL, 'V' },
|
||||
|
||||
#if CTAGS /* Ctags options */
|
||||
{ "backward-search", no_argument, NULL, 'B' },
|
||||
{ "cxref", no_argument, NULL, 'x' },
|
||||
{ "defines", no_argument, NULL, 'd' },
|
||||
{ "globals", no_argument, &globals, TRUE },
|
||||
{ "typedefs", no_argument, NULL, 't' },
|
||||
{ "typedefs-and-c++", no_argument, NULL, 'T' },
|
||||
{ "update", no_argument, NULL, 'u' },
|
||||
{ "vgrind", no_argument, NULL, 'v' },
|
||||
{ "no-warn", no_argument, NULL, 'w' },
|
||||
{ "backward-search", no_argument, NULL, 'B' },
|
||||
{ "cxref", no_argument, NULL, 'x' },
|
||||
{ "defines", no_argument, NULL, 'd' },
|
||||
{ "globals", no_argument, &globals, TRUE },
|
||||
{ "typedefs", no_argument, NULL, 't' },
|
||||
{ "typedefs-and-c++", no_argument, NULL, 'T' },
|
||||
{ "update", no_argument, NULL, 'u' },
|
||||
{ "vgrind", no_argument, NULL, 'v' },
|
||||
{ "no-warn", no_argument, NULL, 'w' },
|
||||
|
||||
#else /* Etags options */
|
||||
{ "no-defines", no_argument, NULL, 'D' },
|
||||
{ "no-globals", no_argument, &globals, FALSE },
|
||||
{ "include", required_argument, NULL, 'i' },
|
||||
{ "no-defines", no_argument, NULL, 'D' },
|
||||
{ "no-globals", no_argument, &globals, FALSE },
|
||||
{ "include", required_argument, NULL, 'i' },
|
||||
#endif
|
||||
{ NULL }
|
||||
};
|
||||
|
@ -976,9 +978,13 @@ Relative ones are stored relative to the output file's directory.\n");
|
|||
Print on the standard output an index of items intended for\n\
|
||||
human consumption, similar to the output of vgrind. The index\n\
|
||||
is sorted, and gives the page number of each item.");
|
||||
# if PRINT_UNDOCUMENTED_OPTIONS_HELP
|
||||
puts ("-w, --no-duplicates\n\
|
||||
Do not create duplicate tag entries, for compatibility with\n\
|
||||
traditional ctags.");
|
||||
puts ("-w, --no-warn\n\
|
||||
Suppress warning messages about entries defined in multiple\n\
|
||||
files.");
|
||||
Suppress warning messages about duplicate tag entries.");
|
||||
# endif /* PRINT_UNDOCUMENTED_OPTIONS_HELP */
|
||||
puts ("-x, --cxref\n\
|
||||
Like --vgrind, but in the style of cxref, rather than vgrind.\n\
|
||||
The output uses line numbers instead of page numbers, but\n\
|
||||
|
@ -2168,7 +2174,7 @@ add_node (np, cur_node_p)
|
|||
* If this tag name matches an existing one, then
|
||||
* do not add the node, but maybe print a warning.
|
||||
*/
|
||||
if (!dif)
|
||||
if (no_duplicates && !dif)
|
||||
{
|
||||
if (np->fdp == cur_node->fdp)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue