This commit is contained in:
parent
d5ac79e1c2
commit
960aaf2cea
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 9 13:48:55 CET 2007 - schwab@suse.de
|
||||
|
||||
- More etags fixes from CVS.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 30 10:36:34 CET 2006 - schwab@suse.de
|
||||
|
||||
|
12
ctags.spec
12
ctags.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package ctags (Version 2006.12.30)
|
||||
# spec file for package ctags (Version 2007.1.9)
|
||||
#
|
||||
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
@ -15,8 +15,8 @@ License: GNU General Public License (GPL)
|
||||
Group: Development/Tools/Navigators
|
||||
Autoreqprov: on
|
||||
%define exuberant_ver 5.6
|
||||
%define emacs_ver 17.25
|
||||
Version: 2006.12.30
|
||||
%define emacs_ver 17.26
|
||||
Version: 2007.1.9
|
||||
Release: 1
|
||||
Summary: A Program to Generate Tag Files for Use with vi and Other Editors
|
||||
URL: http://ctags.sourceforge.net/
|
||||
@ -26,7 +26,6 @@ Source2: README.SuSE
|
||||
Patch0: ctags-%{exuberant_ver}.diff
|
||||
Patch1: ctags-ycp-parser.diff
|
||||
Patch2: etags-%{emacs_ver}.diff
|
||||
Patch3: etags-gnuctags-allow-duplicates.diff
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -52,7 +51,6 @@ Authors:
|
||||
%patch1
|
||||
cd ../etags-%{emacs_ver}
|
||||
%patch2
|
||||
%patch3
|
||||
|
||||
%build
|
||||
CC=gcc
|
||||
@ -90,6 +88,8 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_docdir}/ctags
|
||||
|
||||
%changelog -n ctags
|
||||
* Tue Jan 09 2007 - schwab@suse.de
|
||||
- More etags fixes from CVS.
|
||||
* Sat Dec 30 2006 - schwab@suse.de
|
||||
- Fix handling of relative names in #line.
|
||||
* Wed Dec 20 2006 - schwab@suse.de
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ecbf99c89ea63f4e516aa3798e8c0e0c70f2f79afd286edbfa1e63421cd1538
|
||||
size 55432
|
3
etags-17.26.tar.gz
Normal file
3
etags-17.26.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:89c32356c97244e97bfc195d8426016c97663ebb2006b2c7bcc5b7514018a1dd
|
||||
size 55594
|
@ -1,90 +0,0 @@
|
||||
--- etags.1
|
||||
+++ etags.1
|
||||
@@ -26,12 +26,12 @@
|
||||
[\|\-\-help\|] [\|\-\-version\|]
|
||||
\fIfile\fP .\|.\|.
|
||||
|
||||
-\fBgnuctags\fP [\|\-aCdgIRVh\|] [\|\-BtTuvwx\|] [\|\-l \fIlanguage\fP\|]
|
||||
+\fBgnuctags\fP [\|\-aCdgIRVh\|] [\|\-ABtTuvwx\|] [\|\-l \fIlanguage\fP\|]
|
||||
.if n .br
|
||||
[\|\-o \fItagfile\fP\|] [\|\-r \fIregexp\fP\|]
|
||||
[\|\-\-parse\-stdin=\fIfile\fP\|]
|
||||
.br
|
||||
-[\|\-\-append\|] [\|\-\-backward\-search\|]
|
||||
+[\|\-\-allow\-duplicates\|] [\|\-\-append\|] [\|\-\-backward\-search\|]
|
||||
[\|\-\-cxref\|] [\|\-\-defines\|] [\|\-\-forward\-search\|]
|
||||
[\|\-\-globals\|] [\|\-\-ignore\-indentation\|]
|
||||
[\|\-\-language=\fIlanguage\fP\|] [\|\-\-members\|]
|
||||
@@ -75,6 +75,12 @@
|
||||
\fBetags\fP does not recognize them.
|
||||
The programs accept unambiguous abbreviations for long option names.
|
||||
.TP
|
||||
+.B \-A, \-\-allow\-duplicates
|
||||
+Create entries for duplicate tags. Some editors accept tags files with
|
||||
+entries for duplicate tags.
|
||||
+Since this is the default behavior of \fBetags\fP, only \fBgnuctags\fP
|
||||
+accepts this option.
|
||||
+.TP
|
||||
.B \-a, \-\-append
|
||||
Append to existing tag file. (For \fBvi\fP-format tag files, see also
|
||||
\fB\-\-update\fP.)
|
||||
--- etags.c
|
||||
+++ etags.c
|
||||
@@ -444,6 +444,7 @@
|
||||
*midtk = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz$0123456789";
|
||||
|
||||
static bool append_to_tagfile; /* -a: append to tags */
|
||||
+static bool allow_duplicates; /* -A: allow duplicate tags */
|
||||
/* The next four default to TRUE for etags, but to FALSE for ctags. */
|
||||
static bool typedefs; /* -t: create tags for C and Ada typedefs */
|
||||
static bool typedefs_or_cplusplus; /* -T: create tags for C typedefs, level */
|
||||
@@ -496,6 +497,7 @@
|
||||
{ "version", no_argument, NULL, 'V' },
|
||||
|
||||
#if CTAGS /* Ctags options */
|
||||
+ { "allow-duplicates", no_argument, NULL, 'A' },
|
||||
{ "backward-search", no_argument, NULL, 'B' },
|
||||
{ "cxref", no_argument, NULL, 'x' },
|
||||
{ "defines", no_argument, NULL, 'd' },
|
||||
@@ -875,6 +877,12 @@
|
||||
Absolute names are stored in the output file as they are.\n\
|
||||
Relative ones are stored relative to the output file's directory.\n");
|
||||
|
||||
+ if (CTAGS)
|
||||
+ {
|
||||
+ puts ("-A, --allow-duplicates\n\
|
||||
+ Allow duplicate tag entries.");
|
||||
+ }
|
||||
+
|
||||
puts ("-a, --append\n\
|
||||
Append tag entries to existing tags file.");
|
||||
|
||||
@@ -1175,7 +1183,7 @@
|
||||
non-options arguments to be at the end, but leaves them alone. */
|
||||
optstring = concat (NO_LONG_OPTIONS ? "" : "-",
|
||||
"ac:Cf:Il:o:r:RSVhH",
|
||||
- (CTAGS) ? "BxdtTuvw" : "Di:");
|
||||
+ (CTAGS) ? "ABxdtTuvw" : "Di:");
|
||||
|
||||
while ((opt = getopt_long (argc, argv, optstring, longopts, NULL)) != EOF)
|
||||
switch (opt)
|
||||
@@ -1259,6 +1267,7 @@
|
||||
case 'i': included_files[nincluded_files++] = optarg; break;
|
||||
|
||||
/* Ctags options. */
|
||||
+ case 'A': allow_duplicates = TRUE; break;
|
||||
case 'B': searchar = '?'; break;
|
||||
case 'd': constantypedefs = TRUE; break;
|
||||
case 't': typedefs = TRUE; break;
|
||||
@@ -2167,8 +2176,10 @@
|
||||
/*
|
||||
* If this tag name matches an existing one, then
|
||||
* do not add the node, but maybe print a warning.
|
||||
+ * If duplicates are allowed, continue looking for
|
||||
+ * a node with a branch where we can insert this node.
|
||||
*/
|
||||
- if (!dif)
|
||||
+ if (!allow_duplicates && !dif)
|
||||
{
|
||||
if (np->fdp == cur_node->fdp)
|
||||
{
|
Loading…
Reference in New Issue
Block a user