Skip to content

Commit be1b734

Browse files
authored
Merge branch 'master' into fix-missing-end-in-fully-qualified-tag
2 parents ae3b6d6 + c4e916c commit be1b734

File tree

7 files changed

+77
-10
lines changed

7 files changed

+77
-10
lines changed

.github/workflows/run-citre-tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ jobs:
3838
run: make
3939
- name: report features
4040
run: ./ctags --list-features
41-
- name: install Emacs
42-
run: sudo apt-get -y -o APT::Immediate-Configure=false install emacs
41+
- name: install Emacs and GLOBAL
42+
run: sudo apt-get -y -o APT::Immediate-Configure=false install emacs global
4343
- name: checkout Citre repo
4444
uses: actions/checkout@v2
4545
with:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
--sort=no
2+
--fields=+e
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
DEAMER_LANGUAGE_DATASTRUCTURE_DEFINITION_OBJECT_MAIN_THREAT_THREAT_ANALYZER_DEAMER_LEXICON_TYPE_H input.cxx /^#define DEAMER_LANGUAGE_DATASTRUCTURE_DEFINITION_OBJECT_MAIN_THREAT_THREAT_ANALYZER_DEAMER_LEXIC/;" d file: end:24
2+
deamer input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n file: end:42
3+
language input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer file: end:42
4+
type input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer::language file: end:42
5+
definition input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer::language::type file: end:42
6+
object input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer::language::type::definition file: end:42
7+
main input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer::language::type::definition::object file: end:42
8+
threat input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer::language::type::definition::object::main file: end:42
9+
deamer input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer::language::type::definition::object::main::threat file: end:42
10+
lexicon input.cxx /^namespace deamer::language::type::definition::object::main::threat::deamer::lexicon$/;" n namespace:deamer::language::type::definition::object::main::threat::deamer file: end:42
11+
Type input.cxx /^ enum class Type$/;" g namespace:deamer::language::type::definition::object::main::threat::deamer::lexicon file: end:41
12+
Unknown input.cxx /^ Unknown = 0,$/;" e enum:deamer::language::type::definition::object::main::threat::deamer::lexicon::Type file:
13+
UnusedTerminal input.cxx /^ UnusedTerminal = 1,$/;" e enum:deamer::language::type::definition::object::main::threat::deamer::lexicon::Type file:
14+
DeletedTerminalReferencedInGrammar input.cxx /^ DeletedTerminalReferencedInGrammar = 2,$/;" e enum:deamer::language::type::definition::object::main::threat::deamer::lexicon::Type file:
15+
CrashTerminalReferencedInGrammar input.cxx /^ CrashTerminalReferencedInGrammar = 3,$/;" e enum:deamer::language::type::definition::object::main::threat::deamer::lexicon::Type file:
16+
TerminalIsBaseSetOfLaterTerminal input.cxx /^ TerminalIsBaseSetOfLaterTerminal = 4,$/;" e enum:deamer::language::type::definition::object::main::threat::deamer::lexicon::Type file:
17+
NonStandardNamingConvention input.cxx /^ NonStandardNamingConvention = 5,$/;" e enum:deamer::language::type::definition::object::main::threat::deamer::lexicon::Type file:
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Taken from theDeamerProject/Deamer/include/Deamer/Language/Type/Definition/Object/Main/Threat/Threat/Analyzer/Deamer/Lexicon/Type.h
2+
// of https://github.com/Deruago/theDeamerProject
3+
/*
4+
* This program is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU General Public License
6+
* as published by the Free Software Foundation; either version 3
7+
* of the License, or (at your option) any later version.
8+
*
9+
* This program is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
* GNU General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU General Public License
15+
* along with this program; if not, write to the Free Software Foundation,
16+
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17+
*/
18+
/*
19+
* Part of the DeamerProject.
20+
* For more information go to: https://github.com/Deruago/theDeamerProject
21+
*/
22+
23+
#ifndef DEAMER_LANGUAGE_DATASTRUCTURE_DEFINITION_OBJECT_MAIN_THREAT_THREAT_ANALYZER_DEAMER_LEXICON_TYPE_H
24+
#define DEAMER_LANGUAGE_DATASTRUCTURE_DEFINITION_OBJECT_MAIN_THREAT_THREAT_ANALYZER_DEAMER_LEXICON_TYPE_H
25+
26+
namespace deamer::language::type::definition::object::main::threat::deamer::lexicon
27+
{
28+
/*! \enum Type
29+
*
30+
* \brief All lexicon threats
31+
*/
32+
enum class Type
33+
{
34+
Unknown = 0,
35+
36+
UnusedTerminal = 1,
37+
DeletedTerminalReferencedInGrammar = 2,
38+
CrashTerminalReferencedInGrammar = 3,
39+
TerminalIsBaseSetOfLaterTerminal = 4,
40+
NonStandardNamingConvention = 5,
41+
};
42+
}
43+
44+
#endif // DEAMER_LANGUAGE_DATASTRUCTURE_DEFINITION_OBJECT_MAIN_THREAT_THREAT_ANALYZER_DEAMER_LEXICON_TYPE_H

docs/index.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@ dedicated project as `Universal Ctags`_.
3131
The goal of this project is to maintain a common/unified working space where
3232
people interested in making ctags better can work together.
3333

34-
Some of major features of `Universal Ctags`_ are;
34+
Some of the major features of `Universal Ctags`_ are:
3535

36-
* more numbers of improved language support
36+
* greater number of supported languages
37+
* better language support
3738
* new extended C/C++ language parser, etc.
3839
* fully extended optlib (a feature to define a new language parser from a
3940
command line)

dsl/es.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ int es_boolean_get (const EsObject* object);
114114
* String
115115
*/
116116
EsObject* es_string_new (const char* value);
117-
EsObject* es_string_newL (const char* value, size_t lenght);
117+
EsObject* es_string_newL (const char* value, size_t length);
118118
int es_string_p (const EsObject* object);
119119
const char* es_string_get (const EsObject* object);
120120

parsers/cxx/cxx_parser_namespace.c

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include "read.h"
2424

2525

26-
#define MAX_NESTED_NAMESPACES 8
26+
#define MAX_NESTED_NAMESPACES 16
2727

2828

2929
bool cxxParserParseNamespace(void)
@@ -331,10 +331,13 @@ bool cxxParserParseNamespace(void)
331331
cxxScopePop();
332332
iScopeCount--;
333333

334-
if(aCorkQueueIndices[iScopeCount].leafnm > CORK_NIL)
335-
cxxParserMarkEndLineForTagInCorkQueue(aCorkQueueIndices[iScopeCount].leafnm);
336-
if(aCorkQueueIndices[iScopeCount].fqnm > CORK_NIL)
337-
cxxParserMarkEndLineForTagInCorkQueue(aCorkQueueIndices[iScopeCount].fqnm);
334+
if(iScopeCount < MAX_NESTED_NAMESPACES)
335+
{
336+
if(aCorkQueueIndices[iScopeCount].leafnm > CORK_NIL)
337+
cxxParserMarkEndLineForTagInCorkQueue(aCorkQueueIndices[iScopeCount].leafnm);
338+
if(aCorkQueueIndices[iScopeCount].fqnm > CORK_NIL)
339+
cxxParserMarkEndLineForTagInCorkQueue(aCorkQueueIndices[iScopeCount].fqnm);
340+
}
338341
}
339342

340343
CXX_DEBUG_LEAVE_TEXT("Finished parsing namespace");

0 commit comments

Comments
 (0)