74 Commits

Author SHA1 Message Date
Colomban Wendling
6f692112e3 C: Fix line continuation handling (#1370)
Escaped newlines were properly handled inside preprocessor directives,
but not otherwise.

Seeing `continue` here suggests the code used to work a long time ago
but some loop refactoring broke it, as now it would not stay in the
loop unless in a preprocessor directive.  Or maybe it only ever worked
for preprocessor directives, and the `continue` was superfluous?

Fixes #1370.
2017-04-20 16:57:02 +10:00
Colomban Wendling
87111f268f Ferite: Fix a memory leak 2016-10-09 12:58:44 +02:00
Jiří Techet
40396a392e ctags: drop vStringTerminate()
It's call is unnecesssary. Corresponds to universal-ctags commit
cfc45e3bd9000e8ce193399c7e0ecf2bbeb57977.
2016-10-04 18:06:33 +02:00
Jiří Techet
662765852f ctags: Use bool definitions from stdbool.h
Since Geany requires C99 parser, the patch just simply includes stdbool.h
in general.h and drops the TRUE, FALSE definitions inside the same file.
The rest is purely mechanical

boolean -> bool
TRUE -> true
FALSE -> false

plus some alignment fixes.

This patch corresponds to universal-ctags commit ce990805a0a0269c.
2016-10-04 18:05:54 +02:00
Jiří Techet
63c054a61e #if 0 currently unused code to avoid compiler warning 2016-09-09 18:00:41 +02:00
Jiří Techet
f511787f31 Add missing prototypes 2016-09-09 17:46:13 +02:00
Jiří Techet
1e14667bbc Don't compare foreign values to enumeration type
Clang warns when comparing an enumeration type with a value not found
in this enumeration:

warning: comparison of constant VALUE with expression of type 'TYPE' is
      always false [-Wtautological-constant-out-of-range-compare]

If the compiler then decides to optimize the test away because it
assumes the it is indeed always false, it can lead to pretty subtle and
nasty issues.

Ported universal-ctags patch from Colomban Wendling
2016-09-09 17:18:17 +02:00
Jiří Techet
cb7da79824 Add CTAGS_ATTR_ prefix to UNUSED() and PRINTF() macros
Also fix the macro use in objc.c to appear behind variables.
2016-08-22 14:54:19 +02:00
Jiří Techet
b7f7ce2675 Drop vi modelines 2016-08-19 15:16:32 +01:00
Jiří Techet
a974f35752 Define KEYWORD_NONE in keyword.h so it doesn't have to be defined by parsers 2016-08-16 13:18:50 +01:00
Jiří Techet
d0cc3dc132 Remove TagEntryFunction check in c.c
It's always non-null in Geany, it's value is checked in makeTagEntry()
anyway and parsers shouldn't know about it.
2016-08-10 11:55:02 +02:00
Jiří Techet
0eca258e58 Fix incorrect use of MIO 2016-08-09 00:34:29 +02:00
Jiří Techet
e866a976c9 entry: Move functions around a bit to reduce the amount of diffs 2016-08-08 23:01:14 +02:00
Jiří Techet
ca65fa2236 Sync whitespace and comments in main 2016-08-07 18:31:30 +02:00
Jiří Techet
967b572240 Rename MIO variables from fp to mio 2016-08-07 18:31:30 +02:00
Jiří Techet
02138f9e59 Rename TM_DEBUG macro to DEBUG 2016-08-07 18:31:30 +02:00
Jiří Techet
25c1d220cf objc: Remove unnecessary redefinition of UNUSED 2016-08-07 18:31:30 +02:00
Jiří Techet
a59f82ec69 Rename getArglistFromFilePos() to cppGetArglistFromFilePos() to match the rest 2016-08-07 18:31:30 +02:00
Jiří Techet
20ad9ad428 Make getArglistFromStr() static 2016-08-07 18:31:30 +02:00
Jiří Techet
d122229902 Rename skipOverCComment() to cppSkipOverCComment() 2016-08-07 18:31:30 +02:00
Jiří Techet
4910e2554b Rename getDirectiveNestLevel() to cppGetDirectiveNestLevel() 2016-08-07 18:31:30 +02:00
Jiří Techet
2638899379 Rename isBraceFormat to cppIsBraceFormat() 2016-08-07 18:31:30 +02:00
Jiří Techet
88a8724d1c Rename isident1() to cppIsident1() 2016-08-07 18:31:30 +02:00
Jiří Techet
95f94629f0 Rename isident() to cppIsident() 2016-08-07 18:31:30 +02:00
Jiří Techet
1d48599d3c Remove R regex parser
Unused by us, not present in uctags.
2016-08-07 18:31:30 +02:00
Jiří Techet
2671d73b67 Use skipToCharacterInInputFile() in all parsers 2016-08-07 18:31:30 +02:00
Jiří Techet
76818f9439 Change getSourceFileName() to getInputFileName() 2016-08-07 18:31:25 +02:00
Jiří Techet
2161b73864 Change isHeaderFile() to isInputHeaderFile() 2016-08-07 18:22:49 +02:00
Jiří Techet
7bd81abc1d Change isLanguage() to isInputLanguage() 2016-08-07 02:15:12 +02:00
Jiří Techet
082a9724f1 Use ARRAY_SIZE() in parsers 2016-08-07 02:01:38 +02:00
Jiří Techet
9745d470c6 Sync whitespace in parsers 2016-08-07 02:01:33 +02:00
Jiří Techet
11dcc5e3e5 Fix indentation 2016-08-06 22:42:37 +02:00
Jiří Techet
026da60fd0 Move selected() under Miscellaneous macros 2016-08-06 22:42:15 +02:00
Jiří Techet
0650707ce5 Fix pascal tag initizalization 2016-08-06 22:06:41 +02:00
Jiří Techet
0ec3590e19 Remove makeSimpleScopedTag() and fix scope for conf filetype 2016-08-06 22:01:05 +02:00
Jiří Techet
530f47584a Revert "Rename "mio" member of sInputFile to "fp""
Let's rename fp to mio in uctags instead.

This reverts commit 3dd1fb4853952d8fd80963952a03299e9b2c8012.

Conflicts:
	ctags/main/read.c
	ctags/main/read.h
2016-08-06 16:34:37 +02:00
Jiří Techet
eb45c80058 Always define ExecutableName variable 2016-08-03 12:21:51 +02:00
Jiří Techet
7e0845b083 Make PathDelimiters match the declaration in header 2016-08-03 12:20:57 +02:00
Jiří Techet
9c4c113488 Remove some additional functions from ctags which we don't need in Geany
These are useless for Geany and introduce some compilation errors at the
moment so drop them for now.
2016-08-03 12:00:14 +02:00
Jiří Techet
ea72ecc00f Remove ctags.c and move its content to routines.c, main.c and options.c
This is mostly just moving code with just some minor modifications:
- removal of code of unsupported platforms (VAX, OS2, etc.)
- syncing includes/headers of affected files with uctags
- removal of some functions we don't need in Geany and whose movement
  would require additional changes (those will get added back when
  doing final sync with uctags)
- minor whitespace syncs
2016-08-03 00:27:22 +02:00
Jiří Techet
d440a81166 Add tagRegexTable to parserDefinition and use it to define regex parsers
Also whitespace-format regexes so they match uctags.
2016-08-01 23:48:06 +02:00
Jiří Techet
1b32ac5481 Add full xtag implementation and use it to check XTAG_QUALIFIED_TAGS 2016-08-01 18:58:27 +02:00
Jiří Techet
8c0bfbb0f3 Add parserNewFull() and use it for selected parsers
For now just to eliminate diff from parsers, the actual custom file tag
isn't supported (unused by Geany anyway).
2016-08-01 18:33:21 +02:00
Jiří Techet
781f4ef1ca Use getInputLineNumber() instead of getSourceLineNumber() in parsers
We want the line number of the tag appearance, not the line after
#line directives are processed.
2016-08-01 01:34:50 +02:00
Jiří Techet
4fbd38f690 Pass kind information into initTagEntry()
The usage in lregex is hacky (casting const char * to char *) but it's
the quickest way to implement it right now (the question is whether
we shouldn't revert back to POSIX regex and simply use the uctags
implementation).
2016-08-01 00:43:18 +02:00
Jiří Techet
359c60b81b Rename get.c/h to lcpp.c/h 2016-07-31 21:00:58 +02:00
Jiří Techet
0ed5c16b46 Rename tagEntryInfo.extensionFields.scope
This requires moving kindOption into a separate file because of circular
include dependency. Also eliminate now redundant tagLetter() function
in c.c.
2016-07-30 16:04:06 +02:00
Jiří Techet
cb1c15483b Eliminate some trivial diffs in read.c
Mostly indentation and comment stuff. We can replace the implementation
of readSourceLine() with readLineFromBypass() as it's never used in Geany.
2016-07-30 13:49:53 +02:00
Jiří Techet
781738fe10 Replace fileGetc() with getcFromInputFile() also in comments 2016-07-30 13:11:45 +02:00
Jiří Techet
ba2209e4a6 Rename readLine() to readLineRaw()
Plus make some minor changes in its implementation to match uctags.
2016-07-30 13:10:10 +02:00