summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFernando J. Pereda <ferdy@gentoo.org>2005-11-13 18:04:08 +0000
committerFernando J. Pereda <ferdy@gentoo.org>2005-11-13 18:04:08 +0000
commit6b1d8252e50c36ec432b29ceb00860c106c6128e (patch)
tree580a348e2d6ac9ad13c91fc34dd534307d05083b /dev-util
parentIncluded a patch which fixes a bug where pyvorbis attempts to close a previou... (diff)
downloadgentoo-2-6b1d8252e50c36ec432b29ceb00860c106c6128e.tar.gz
gentoo-2-6b1d8252e50c36ec432b29ceb00860c106c6128e.tar.bz2
gentoo-2-6b1d8252e50c36ec432b29ceb00860c106c6128e.zip
Added objc, haskell and vim-c patches.
(Portage version: 2.0.51.22-r3)
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/ctags/ChangeLog9
-rw-r--r--dev-util/ctags/Manifest5
-rw-r--r--dev-util/ctags/ctags-5.5.4-r3.ebuild48
-rw-r--r--dev-util/ctags/files/ctags-5.5.4-haskell.patch71
-rw-r--r--dev-util/ctags/files/ctags-5.5.4-objc.patch68
-rw-r--r--dev-util/ctags/files/ctags-5.5.4-vim-c.patch340
-rw-r--r--dev-util/ctags/files/digest-ctags-5.5.4-r31
7 files changed, 541 insertions, 1 deletions
diff --git a/dev-util/ctags/ChangeLog b/dev-util/ctags/ChangeLog
index b7c33fcd7dfc..9e4e63b52976 100644
--- a/dev-util/ctags/ChangeLog
+++ b/dev-util/ctags/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-util/ctags
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/ctags/ChangeLog,v 1.40 2005/07/22 22:20:25 matsuu Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ctags/ChangeLog,v 1.41 2005/11/13 18:04:08 ferdy Exp $
+
+*ctags-5.5.4-r3 (13 Nov 2005)
+
+ 13 Nov 2005; Fernando J. Pereda <ferdy@gentoo.org>
+ +files/ctags-5.5.4-haskell.patch, +files/ctags-5.5.4-objc.patch,
+ +files/ctags-5.5.4-vim-c.patch, +ctags-5.5.4-r3.ebuild:
+ Added objc, haskell and vim-c patches.
22 Jul 2005; MATSUU Takuto <matsuu@gentoo.org> ctags-5.5.4-r1.ebuild:
Stable on sh.
diff --git a/dev-util/ctags/Manifest b/dev-util/ctags/Manifest
index 49ef67f7d5ba..bf07f3ede71f 100644
--- a/dev-util/ctags/Manifest
+++ b/dev-util/ctags/Manifest
@@ -4,13 +4,18 @@ MD5 746f157bc17c254b1760e42817cac122 ctags-5.5-r1.ebuild 1176
MD5 d558b0b6798d7a7dcda35f2c33ebd293 ctags-5.5.ebuild 1182
MD5 bf5b65da4eef9b3182a324b5a81b1875 ctags-5.5.4.ebuild 1195
MD5 6d32bd4880394b14d8d0372822e54d95 ctags-5.5.4-r1.ebuild 1291
+MD5 7d61620182cf99632dcc1dd613f0c588 ctags-5.5.4-r3.ebuild 1303
MD5 97e7dd95f04d684009ab989332f21016 ChangeLog 4900
MD5 f3583430b2f7b0686cafd606b08bf203 metadata.xml 156
MD5 1fe9a83e8e373e39e2f1522f22afefb7 files/digest-ctags-5.5 61
+MD5 812f885add61d6f575f8391e852b6b1c files/ctags-5.5.4-haskell.patch 2513
MD5 e6d9c978c79b19927ef1cb860cd0998a files/ctags-5.5.4-ruby-classes.patch 601
MD5 1fe9a83e8e373e39e2f1522f22afefb7 files/digest-ctags-5.5-r1 61
MD5 e679ffaa8205e53af2edbbe0b20e60a1 files/digest-ctags-5.2.3 63
MD5 ac053acfd4f28f9c48e9d3c139f85e90 files/digest-ctags-5.5.4 63
MD5 ac053acfd4f28f9c48e9d3c139f85e90 files/digest-ctags-5.5.4-r1 63
MD5 ac053acfd4f28f9c48e9d3c139f85e90 files/digest-ctags-5.5.4-r2 63
+MD5 ac053acfd4f28f9c48e9d3c139f85e90 files/digest-ctags-5.5.4-r3 63
+MD5 df6a1404e98ba6c0c0a282ce2485aed1 files/ctags-5.5.4-vim-c.patch 9795
MD5 444d43016d0332ec35af9a292855c95f files/ctags-5.5.4-ebuilds.patch 835
+MD5 019194a32c0fe989f34c944054589ea0 files/ctags-5.5.4-objc.patch 2273
diff --git a/dev-util/ctags/ctags-5.5.4-r3.ebuild b/dev-util/ctags/ctags-5.5.4-r3.ebuild
new file mode 100644
index 000000000000..3d3bf19c8947
--- /dev/null
+++ b/dev-util/ctags/ctags-5.5.4-r3.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ctags/ctags-5.5.4-r3.ebuild,v 1.1 2005/11/13 18:04:08 ferdy Exp $
+
+inherit eutils
+
+DESCRIPTION="Exuberant Ctags creates tags files for code browsing in editors"
+HOMEPAGE="http://ctags.sourceforge.net"
+SRC_URI="mirror://sourceforge/ctags/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+DEPEND="virtual/libc"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch "${FILESDIR}/${P}-ebuilds.patch"
+ epatch "${FILESDIR}/${P}-ruby-classes.patch"
+ epatch "${FILESDIR}/${P}-haskell.patch"
+ epatch "${FILESDIR}/${P}-objc.patch"
+ epatch "${FILESDIR}/${P}-vim-c.patch"
+}
+
+src_compile() {
+ econf \
+ --with-posix-regex \
+ --without-readlib \
+ --disable-etags \
+ --enable-tmpdir=/tmp \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ einstall || die "einstall failed"
+
+ # namepace collision with X/Emacs-provided /usr/bin/ctags -- we
+ # rename ctags to exuberant-ctags (Mandrake does this also).
+ mv ${D}/usr/bin/{ctags,exuberant-ctags}
+ mv ${D}/usr/share/man/man1/{ctags,exuberant-ctags}.1
+
+ dodoc FAQ NEWS README
+ dohtml EXTENDING.html ctags.html
+}
diff --git a/dev-util/ctags/files/ctags-5.5.4-haskell.patch b/dev-util/ctags/files/ctags-5.5.4-haskell.patch
new file mode 100644
index 000000000000..de87b45a8d67
--- /dev/null
+++ b/dev-util/ctags/files/ctags-5.5.4-haskell.patch
@@ -0,0 +1,71 @@
+diff -NubB ctags-5.5.4.orig/haskell.c ctags-5.5.4/haskell.c
+--- ctags-5.5.4.orig/haskell.c 1970-01-01 01:00:00.000000000 +0100
++++ ctags-5.5.4/haskell.c 2005-11-13 16:11:17.000000000 +0100
+@@ -0,0 +1,37 @@
++/***************************************************************************
++ * haskell.c
++ * Regex-based parser for Haskell
++ *
++ * Copyright (c) 2005 Fernando J. Pereda <ferdy@gentoo.org>
++ *
++ * Slightly based on haskell.c by Gaal Yahas <gaal@forum2.org>
++ *
++ **************************************************************************/
++/* INCLUDE FILES */
++#include "general.h" /* always include first */
++#include "parse.h" /* always include */
++
++/* FUNCTION DEFINITIONS */
++static void installHaskellRegex (const langType language)
++{
++ addTagRegex(language,"^([^,:-]*)[[:blank:]]*::[[:blank:]]*(.*)$","\\1","f,function",NULL);
++ addTagRegex(language,"^main[[:blank:]]*=.*$","main","f,function",NULL);
++ addTagRegex(language,
++ "^type[[:blank:]]*([^=]*)[[:blank:]]*=[[:blank:]]*(.*)$","\\1","t,type",NULL);
++ addTagRegex(language,
++ "^class[[:blank:]]*(\\([^)]*\\)[[:blank:]]*=>)?[[:blank:]]*(.*)[[:blank:]]*where.*$",
++ "\\2","c,class",NULL);
++ addTagRegex(language,"^module[[:blank:]]*([^[:blank:]]*).*$","\\1","m,module",NULL);
++ addTagRegex(language,"^data[[:blank:]]*([^[:blank:]]*).*$","\\1","d,data",NULL);
++}
++
++/* Create parser definition stucture */
++extern parserDefinition* HaskellParser (void)
++{
++ static const char *const extensions [] = { "hs", "lhs", NULL };
++ parserDefinition* const def = parserNew ("Haskell");
++ def->extensions = extensions;
++ def->initialize = installHaskellRegex;
++ def->regex = TRUE;
++ return def;
++}
+diff -NubB ctags-5.5.4.orig/parsers.h ctags-5.5.4/parsers.h
+--- ctags-5.5.4.orig/parsers.h 2003-07-18 04:58:22.000000000 +0200
++++ ctags-5.5.4/parsers.h 2005-11-13 16:01:14.000000000 +0100
+@@ -27,6 +27,7 @@
+ EiffelParser, \
+ ErlangParser, \
+ FortranParser, \
++ HaskellParser, \
+ HtmlParser, \
+ JavaParser, \
+ JavaScriptParser, \
+diff -NubB ctags-5.5.4.orig/source.mak ctags-5.5.4/source.mak
+--- ctags-5.5.4.orig/source.mak 2003-04-01 07:02:13.000000000 +0200
++++ ctags-5.5.4/source.mak 2005-11-13 16:01:45.000000000 +0100
+@@ -20,6 +20,7 @@
+ erlang.c \
+ fortran.c \
+ get.c \
++ haskell.c \
+ html.c \
+ jscript.c \
+ keyword.c \
+@@ -70,6 +71,7 @@
+ erlang.$(OBJEXT) \
+ fortran.$(OBJEXT) \
+ get.$(OBJEXT) \
++ haskell.$(OBJEXT) \
+ html.$(OBJEXT) \
+ jscript.$(OBJEXT) \
+ keyword.$(OBJEXT) \
diff --git a/dev-util/ctags/files/ctags-5.5.4-objc.patch b/dev-util/ctags/files/ctags-5.5.4-objc.patch
new file mode 100644
index 000000000000..433a20f86f42
--- /dev/null
+++ b/dev-util/ctags/files/ctags-5.5.4-objc.patch
@@ -0,0 +1,68 @@
+diff -NubB ctags-5.5.4.orig/objc.c ctags-5.5.4/objc.c
+--- ctags-5.5.4.orig/objc.c 1970-01-01 01:00:00.000000000 +0100
++++ ctags-5.5.4/objc.c 2005-11-13 18:36:50.000000000 +0100
+@@ -0,0 +1,34 @@
++/***************************************************************************
++ * objc.c
++ * Regex-based parser for Objective-C
++ *
++ * Copyright (c) 2005 Fernando J. Pereda <ferdy@gentoo.org>
++ *
++ **************************************************************************/
++/* INCLUDE FILES */
++#include "general.h" /* always include first */
++#include "parse.h" /* always include */
++
++/* FUNCTION DEFINITIONS */
++static void installObjCRegex (const langType language)
++{
++ addTagRegex(language,
++ "^[[:blank:]]*(-|\\+)[[:blank:]]*\\([^\\)]+\\)[[:blank:]]*([[:alnum:]_]+)",
++ "\\1\\2","f,method",NULL);
++ addTagRegex(language,"^@implementation[[:blank:]]*([[:alnum:]_]+)","\\1","c,class",NULL);
++ addTagRegex(language,"^#define[[:blank:]]*([^[:blank:]]*)[[:blank:]].*","\\1","d,define",NULL);
++ addTagRegex(language,
++ "^@interface[[:blank:]]*([^:[:blank:]]*)[[:blank:]]*:[[:blank:]]*([[:alnum:]_]+)",
++ "\\1:\\2","c,class",NULL);
++}
++
++/* Create parser definition stucture */
++extern parserDefinition* ObjCParser (void)
++{
++ static const char *const extensions [] = { "m", "h", NULL };
++ parserDefinition* const def = parserNew ("ObjC");
++ def->extensions = extensions;
++ def->initialize = installObjCRegex;
++ def->regex = TRUE;
++ return def;
++}
+diff -NubB ctags-5.5.4.orig/parsers.h ctags-5.5.4/parsers.h
+--- ctags-5.5.4.orig/parsers.h 2003-07-18 04:58:22.000000000 +0200
++++ ctags-5.5.4/parsers.h 2005-11-13 17:43:18.000000000 +0100
+@@ -33,6 +33,7 @@
+ LispParser, \
+ LuaParser, \
+ MakefileParser, \
++ ObjCParser, \
+ PascalParser, \
+ PerlParser, \
+ PhpParser, \
+diff -NubB ctags-5.5.4.orig/source.mak ctags-5.5.4/source.mak
+--- ctags-5.5.4.orig/source.mak 2003-04-01 07:02:13.000000000 +0200
++++ ctags-5.5.4/source.mak 2005-11-13 18:33:04.000000000 +0100
+@@ -28,6 +28,7 @@
+ lua.c \
+ main.c \
+ make.c \
++ objc.c \
+ options.c \
+ parse.c \
+ pascal.c \
+@@ -79,6 +80,7 @@
+ main.$(OBJEXT) \
+ make.$(OBJEXT) \
+ options.$(OBJEXT) \
++ objc.$(OBJEXT) \
+ parse.$(OBJEXT) \
+ pascal.$(OBJEXT) \
+ perl.$(OBJEXT) \
diff --git a/dev-util/ctags/files/ctags-5.5.4-vim-c.patch b/dev-util/ctags/files/ctags-5.5.4-vim-c.patch
new file mode 100644
index 000000000000..f4a9ab63cc56
--- /dev/null
+++ b/dev-util/ctags/files/ctags-5.5.4-vim-c.patch
@@ -0,0 +1,340 @@
+diff -cr ../ctags-5.5.4.orig/c.c ./c.c
+*** ../ctags-5.5.4.orig/c.c Sat Feb 28 16:37:52 2004
+--- ./c.c Sun Sep 11 13:02:59 2005
+***************
+*** 455,460 ****
+--- 455,463 ----
+ { "while", KEYWORD_WHILE, { 1, 1, 1, 1, 0 } }
+ };
+
++ /* Added by Bram: number for nameless structs and unions. */
++ static int numberForName = 0;
++
+ /*
+ * FUNCTION PROTOTYPES
+ */
+***************
+*** 762,768 ****
+ initToken (st->token [i]);
+
+ initToken (st->context);
+! initToken (st->blockName);
+ vStringClear (st->parentClasses);
+
+ /* Init member info.
+--- 765,775 ----
+ initToken (st->token [i]);
+
+ initToken (st->context);
+!
+! /* Keep the block name, so that a variable following after a comma will
+! * still have the structure name. (Bram) */
+! if (! partial)
+! initToken (st->blockName);
+ vStringClear (st->parentClasses);
+
+ /* Init member info.
+***************
+*** 943,950 ****
+ return result;
+ }
+
+ static void addOtherFields (tagEntryInfo* const tag, const tagType type,
+! const statementInfo *const st, vString *const scope)
+ {
+ /* For selected tag types, append an extension flag designating the
+ * parent object in which the tag is defined.
+--- 950,966 ----
+ return result;
+ }
+
++ static void addContextSeparator (vString *const scope)
++ {
++ if (isLanguage (Lang_c) || isLanguage (Lang_cpp))
++ vStringCatS (scope, "::");
++ else if (isLanguage (Lang_java) || isLanguage (Lang_csharp))
++ vStringCatS (scope, ".");
++ }
++
+ static void addOtherFields (tagEntryInfo* const tag, const tagType type,
+! const statementInfo *const st,
+! vString *const scope, vString *const typeName)
+ {
+ /* For selected tag types, append an extension flag designating the
+ * parent object in which the tag is defined.
+***************
+*** 1001,1014 ****
+ }
+ break;
+ }
+- }
+
+! static void addContextSeparator (vString *const scope)
+! {
+! if (isLanguage (Lang_c) || isLanguage (Lang_cpp))
+! vStringCatS (scope, "::");
+! else if (isLanguage (Lang_java) || isLanguage (Lang_csharp))
+! vStringCatS (scope, ".");
+ }
+
+ static void findScopeHierarchy (vString *const string,
+--- 1017,1054 ----
+ }
+ break;
+ }
+
+! /* Added by Bram: typename info, type of the tag and name of
+! * struct/union/etc. */
+! if ((type == TAG_TYPEDEF || type == TAG_VARIABLE || type == TAG_MEMBER)
+! && isContextualStatement(st))
+! {
+! char *p;
+!
+! tag->extensionFields.typeName [0] =
+! tagName (declToTagType (st->declaration));
+! p = vStringValue (st->blockName->name);
+!
+! /* If there was no {} block get the name from the token before the
+! * name (current token is ';' or ',', previous token is the name). */
+! if (p == NULL || *p == '\0')
+! {
+! tokenInfo *const prev2 = prevToken (st, 2);
+!
+! if (isType (prev2, TOKEN_NAME))
+! p = vStringValue (prev2->name);
+! }
+!
+! /* Prepend the scope name if there is one. */
+! if (vStringLength (scope) > 0)
+! {
+! vStringCopy(typeName, scope);
+! addContextSeparator (typeName);
+! vStringCatS(typeName, p);
+! p = vStringValue (typeName);
+! }
+! tag->extensionFields.typeName [1] = p;
+! }
+ }
+
+ static void findScopeHierarchy (vString *const string,
+***************
+*** 1106,1111 ****
+--- 1146,1154 ----
+ includeTag (type, isFileScope))
+ {
+ vString *scope = vStringNew ();
++ /* Added "typeName" to store the typename from addOtherFields() until
++ * it's used in makeTagEntry(). (Bram) */
++ vString *typeName = vStringNew ();
+ tagEntryInfo e;
+
+ initTagEntry (&e, vStringValue (token->name));
+***************
+*** 1117,1127 ****
+ e.kind = tagLetter (type);
+
+ findScopeHierarchy (scope, st);
+! addOtherFields (&e, type, st, scope);
+
+ makeTagEntry (&e);
+ makeExtraTagEntry (type, &e, scope);
+ vStringDelete (scope);
+ }
+ }
+
+--- 1160,1171 ----
+ e.kind = tagLetter (type);
+
+ findScopeHierarchy (scope, st);
+! addOtherFields (&e, type, st, scope, typeName);
+
+ makeTagEntry (&e);
+ makeExtraTagEntry (type, &e, scope);
+ vStringDelete (scope);
++ vStringDelete (typeName);
+ }
+ }
+
+***************
+*** 2566,2571 ****
+--- 2610,2627 ----
+ {
+ if (isType (prev, TOKEN_NAME))
+ copyToken (st->blockName, prev);
++ else
++ {
++ char buf[30];
++
++ /* Added by Bram: for a nameless struct or union we use a
++ * number, so that the members can be found. */
++ vStringClear (st->blockName->name);
++ sprintf(buf, "%d", ++numberForName);
++ vStringCatS (st->blockName->name, buf);
++ st->blockName->type = TOKEN_NAME;
++ st->blockName->keyword = KEYWORD_NONE;
++ }
+ qualifyBlockTag (st, prev);
+ }
+ else if (isLanguage (Lang_csharp))
+diff -cr ../ctags-5.5.4.orig/ctags.1 ./ctags.1
+*** ../ctags-5.5.4.orig/ctags.1 Tue Mar 30 06:18:13 2004
+--- ./ctags.1 Sun Sep 11 12:53:14 2005
+***************
+*** 453,458 ****
+--- 453,461 ----
+ .TP 4
+ .I z
+ Include the "kind:" key in kind field
++ .TP 4
++ .I t
++ Type and name of a variable or typedef as "typename:" field [enabled]
+ .PD 1
+ .RE
+
+diff -cr ../ctags-5.5.4.orig/ctags.html ./ctags.html
+*** ../ctags-5.5.4.orig/ctags.html Tue Mar 30 06:18:20 2004
+--- ./ctags.html Sun Sep 11 12:54:26 2005
+***************
+*** 516,521 ****
+--- 516,527 ----
+ <DD>
+ Include the &quot;kind:&quot; key in kind field
+
++ <DT><I>t</I>
++
++ <DD>
++ Include the type and name of a variable or typedef, using the "typename:" field
++ [enabled]
++
+ </DL>
+ </DL>
+
+diff -cr ../ctags-5.5.4.orig/debug.c ./debug.c
+*** ../ctags-5.5.4.orig/debug.c Tue Apr 1 06:52:44 2003
+--- ./debug.c Sun Sep 11 13:05:03 2005
+***************
+*** 105,110 ****
+--- 105,117 ----
+ tag->extensionFields.implementation != NULL)
+ printf (" [imp:%s]", tag->extensionFields.implementation);
+
++ /* Added by Bram */
++ if (Option.extensionFields.typeName &&
++ tag->extensionFields.typeName [0] != NULL &&
++ tag->extensionFields.typeName [1] != NULL)
++ printf (" [%s:%s]", tag->extensionFields.typeName [0],
++ tag->extensionFields.typeName [1]);
++
+ printf ("#>");
+ fflush (stdout);
+ }
+diff -cr ../ctags-5.5.4.orig/entry.c ./entry.c
+*** ../ctags-5.5.4.orig/entry.c Wed Mar 24 03:28:52 2004
+--- ./entry.c Sun Sep 11 13:05:13 2005
+***************
+*** 729,734 ****
+--- 729,742 ----
+ tag->extensionFields.scope [0],
+ tag->extensionFields.scope [1]);
+
++ /* Added by Bram. TODO: use separate option? */
++ if (Option.extensionFields.typeName &&
++ tag->extensionFields.typeName [0] != NULL &&
++ tag->extensionFields.typeName [1] != NULL)
++ length += fprintf (TagFile.fp, "%s\ttypename:%s:%s", sep,
++ tag->extensionFields.typeName [0],
++ tag->extensionFields.typeName [1]);
++
+ if (Option.extensionFields.fileScope && tag->isFileScope)
+ length += fprintf (TagFile.fp, "%s\tfile:", sep);
+
+diff -cr ../ctags-5.5.4.orig/entry.h ./entry.h
+*** ../ctags-5.5.4.orig/entry.h Mon Sep 30 06:30:47 2002
+--- ./entry.h Sun Sep 11 13:05:36 2005
+***************
+*** 72,77 ****
+--- 72,82 ----
+ const char* inheritance;
+ const char* scope [2]; /* value and key */
+ const char* signature;
++
++ /* Added by Bram: type (union/struct/etc.) and name for a variable or
++ * typedef. */
++ const char* typeName [2]; /* e.g., "struct" and struct name */
++
+ } extensionFields; /* list of extension fields*/
+ } tagEntryInfo;
+
+diff -cr ../ctags-5.5.4.orig/options.c ./options.c
+*** ../ctags-5.5.4.orig/options.c Sat Feb 28 16:19:45 2004
+--- ./options.c Sun Sep 11 12:50:56 2005
+***************
+*** 118,124 ****
+ FALSE, /* -fields=l */
+ FALSE, /* -fields=n */
+ TRUE, /* -fields=s */
+! FALSE /* -fields=S */
+ },
+ NULL, /* -I */
+ FALSE, /* -a */
+--- 118,125 ----
+ FALSE, /* -fields=l */
+ FALSE, /* -fields=n */
+ TRUE, /* -fields=s */
+! FALSE, /* -fields=S */
+! TRUE /* -fields=t */
+ },
+ NULL, /* -I */
+ FALSE, /* -a */
+***************
+*** 207,213 ****
+ {1," --extra=[+|-]flags"},
+ {1," Include extra tag entries for selected information (flags: \"fq\")."},
+ {1," --fields=[+|-]flags"},
+! {1," Include selected extension fields (flags: \"afmikKlnsSz\") [fks]."},
+ {1," --file-scope=[yes|no]"},
+ {1," Should tags scoped only for a single file (e.g. \"static\" tags"},
+ {1," be included in the output [yes]?"},
+--- 208,214 ----
+ {1," --extra=[+|-]flags"},
+ {1," Include extra tag entries for selected information (flags: \"fq\")."},
+ {1," --fields=[+|-]flags"},
+! {1," Include selected extension fields (flags: \"afmikKlnsStz\") [fks]."},
+ {1," --file-scope=[yes|no]"},
+ {1," Should tags scoped only for a single file (e.g. \"static\" tags"},
+ {1," be included in the output [yes]?"},
+***************
+*** 835,840 ****
+--- 836,842 ----
+ field->kindLong = FALSE;
+ field->language = FALSE;
+ field->scope = FALSE;
++ field->typeName = FALSE;
+ }
+ while ((c = *p++) != '\0') switch (c)
+ {
+***************
+*** 852,857 ****
+--- 854,860 ----
+ case 's': field->scope = mode; break;
+ case 'S': field->signature = mode; break;
+ case 'z': field->kindKey = mode; break;
++ case 't': field->typeName = mode; break;
+
+ default: error(WARNING, "Unsupported parameter '%c' for \"%s\" option",
+ c, option);
+diff -cr ../ctags-5.5.4.orig/options.h ./options.h
+*** ../ctags-5.5.4.orig/options.h Mon Jul 21 03:09:08 2003
+--- ./options.h Sun Sep 11 12:48:29 2005
+***************
+*** 77,82 ****
+--- 77,85 ----
+ boolean lineNumber;
+ boolean scope;
+ boolean signature;
++
++ /* Added by Bram. */
++ boolean typeName;
+ };
+
+ /* This stores the command line options.
diff --git a/dev-util/ctags/files/digest-ctags-5.5.4-r3 b/dev-util/ctags/files/digest-ctags-5.5.4-r3
new file mode 100644
index 000000000000..3342f142118f
--- /dev/null
+++ b/dev-util/ctags/files/digest-ctags-5.5.4-r3
@@ -0,0 +1 @@
+MD5 a84124caadd4103270e0b84596ecfe83 ctags-5.5.4.tar.gz 260962