ctags-paketlendi

This commit is contained in:
milisbir 2018-09-16 01:39:30 +03:00
parent 1199fc5f87
commit 8252845ba3
2 changed files with 122 additions and 0 deletions

View File

@ -0,0 +1,102 @@
From a499a10833d525c9af794c616dc40f7425110c71 Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Sat, 27 Sep 2014 14:37:19 +0100
Subject: Changed the javascript parser to set the tag's scope rather than
including it in the tag name.
Patch from Colomban.
Author: David Fishburn
Origin: upstream, http://sourceforge.net/p/ctags/code/791/
Bug-Debian: https://bugs.debian.org/742605
Last-Update: 2014-09-27
Patch-Name: jscript-set-tag-scope.patch
---
jscript.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 51 insertions(+), 3 deletions(-)
diff --git a/jscript.c b/jscript.c
index 5de3367..a790355 100644
--- a/jscript.c
+++ b/jscript.c
@@ -215,6 +215,7 @@ static void deleteToken (tokenInfo *const token)
* Tag generation functions
*/
+/*
static void makeConstTag (tokenInfo *const token, const jsKind kind)
{
if (JsKinds [kind].enabled && ! token->ignoreTag )
@@ -238,12 +239,13 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind)
if (JsKinds [kind].enabled && ! token->ignoreTag )
{
- /*
+ *
* If a scope has been added to the token, change the token
* string to include the scope when making the tag.
- */
+ *
if ( vStringLength(token->scope) > 0 )
{
+ *
fulltag = vStringNew ();
vStringCopy(fulltag, token->scope);
vStringCatS (fulltag, ".");
@@ -251,8 +253,54 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind)
vStringTerminate(fulltag);
vStringCopy(token->string, fulltag);
vStringDelete (fulltag);
+ *
+ jsKind parent_kind = JSTAG_CLASS;
+
+ *
+ * if we're creating a function (and not a method),
+ * guess we're inside another function
+ *
+ if (kind == JSTAG_FUNCTION)
+ parent_kind = JSTAG_FUNCTION;
+
+ e.extensionFields.scope[0] = JsKinds [parent_kind].name;
+ e.extensionFields.scope[1] = vStringValue (token->scope);
+ }
+ * makeConstTag (token, kind); *
+ makeTagEntry (&e);
+ }
+}
+*/
+
+static void makeJsTag (tokenInfo *const token, const jsKind kind)
+{
+ if (JsKinds [kind].enabled && ! token->ignoreTag )
+ {
+ const char *const name = vStringValue (token->string);
+ tagEntryInfo e;
+ initTagEntry (&e, name);
+
+ e.lineNumber = token->lineNumber;
+ e.filePosition = token->filePosition;
+ e.kindName = JsKinds [kind].name;
+ e.kind = JsKinds [kind].letter;
+
+ if ( vStringLength(token->scope) > 0 )
+ {
+ jsKind parent_kind = JSTAG_CLASS;
+
+ /*
+ * If we're creating a function (and not a method),
+ * guess we're inside another function
+ */
+ if (kind == JSTAG_FUNCTION)
+ parent_kind = JSTAG_FUNCTION;
+
+ e.extensionFields.scope[0] = JsKinds [parent_kind].name;
+ e.extensionFields.scope[1] = vStringValue (token->scope);
}
- makeConstTag (token, kind);
+
+ makeTagEntry (&e);
}
}

View File

@ -0,0 +1,20 @@
# Tanım: Kaynak dosyalarında bulunanlar için fihrist dosya oluşturur.
# URL: http://ctags.sourceforge.net/
# Paketçi: milisarge
# Gerekler:
# Grup: sistem
isim=ctags
surum=5.8
devir=1
kaynak=(http://downloads.sourceforge.net/sourceforge/ctags/ctags-5.8.tar.gz
CVE-2014-7204.patch)
derle() {
cd ${SRC}/${isim}-${surum}
patch -Np1 <../CVE-2014-7204.patch
./configure --prefix=/usr \
--disable-external-sort
make
make prefix=${PKG}/usr install
}