diff options
Diffstat (limited to 'lib-src')
| -rw-r--r-- | lib-src/etags.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c index 69d29109b69..ae4e5485e09 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c | |||
| @@ -410,7 +410,7 @@ DEFINEST definedef; | |||
| 410 | * for self-documentation only. | 410 | * for self-documentation only. |
| 411 | */ | 411 | */ |
| 412 | #define LEVEL_OK_FOR_FUNCDEF() \ | 412 | #define LEVEL_OK_FOR_FUNCDEF() \ |
| 413 | (level==0 || c_ext && level==1 && structdef==sinbody) | 413 | (level==0 || (c_ext && level==1 && structdef==sinbody)) |
| 414 | 414 | ||
| 415 | /* | 415 | /* |
| 416 | * next_token_is_func | 416 | * next_token_is_func |
| @@ -1283,7 +1283,7 @@ put_entries (node) | |||
| 1283 | fprintf (stdout, "%s %s %d\n", | 1283 | fprintf (stdout, "%s %s %d\n", |
| 1284 | node->name, node->file, (node->lno + 63) / 64); | 1284 | node->name, node->file, (node->lno + 63) / 64); |
| 1285 | else | 1285 | else |
| 1286 | fprintf (stdout, "%-16s%4d %-16s %s\n", | 1286 | fprintf (stdout, "%-16s %3d %-16s %s\n", |
| 1287 | node->name, node->lno, node->file, node->pat); | 1287 | node->name, node->lno, node->file, node->pat); |
| 1288 | 1288 | ||
| 1289 | /* Output subentries that follow this one */ | 1289 | /* Output subentries that follow this one */ |
| @@ -1468,7 +1468,8 @@ C_entries (c_ext) | |||
| 1468 | { | 1468 | { |
| 1469 | if (c == '"') | 1469 | if (c == '"') |
| 1470 | inquote = FALSE; | 1470 | inquote = FALSE; |
| 1471 | continue; | 1471 | else if (c == '\\') |
| 1472 | c = *lp++; | ||
| 1472 | } | 1473 | } |
| 1473 | else if (inchar) | 1474 | else if (inchar) |
| 1474 | { | 1475 | { |
| @@ -1493,7 +1494,8 @@ C_entries (c_ext) | |||
| 1493 | } | 1494 | } |
| 1494 | else if (c_ext && *lp == '/') | 1495 | else if (c_ext && *lp == '/') |
| 1495 | { | 1496 | { |
| 1496 | c = 0; /* C++ comment: skip rest of line */ | 1497 | c = 0; |
| 1498 | break; | ||
| 1497 | } | 1499 | } |
| 1498 | continue; | 1500 | continue; |
| 1499 | case '#': | 1501 | case '#': |
| @@ -1886,7 +1888,10 @@ consider_token (c, lpp, tokp, is_func, c_ext, level) | |||
| 1886 | /* Detect GNUmacs's function-defining macros. */ | 1888 | /* Detect GNUmacs's function-defining macros. */ |
| 1887 | if (definedef == dnone) | 1889 | if (definedef == dnone) |
| 1888 | { | 1890 | { |
| 1889 | if (strneq (tokp->p, "DEF", 3)) | 1891 | if (strneq (tokp->p, "DEF", 3) |
| 1892 | || strneq (tokp->p, "ENTRY", 5) | ||
| 1893 | || strneq (tokp->p, "SYSCALL", 7) | ||
| 1894 | || strneq (tokp->p, "PSEUDO", 6)) | ||
| 1890 | { | 1895 | { |
| 1891 | next_token_is_func = TRUE; | 1896 | next_token_is_func = TRUE; |
| 1892 | goto badone; | 1897 | goto badone; |
| @@ -2084,7 +2089,10 @@ getit () | |||
| 2084 | 2089 | ||
| 2085 | while (isspace (*dbp)) | 2090 | while (isspace (*dbp)) |
| 2086 | dbp++; | 2091 | dbp++; |
| 2087 | if (*dbp == 0 || (!isalpha (*dbp)) && (*dbp != '_') && (*dbp != '$')) | 2092 | if (*dbp == 0 |
| 2093 | || (!isalpha (*dbp) | ||
| 2094 | && *dbp != '_' | ||
| 2095 | && *dbp != '$')) | ||
| 2088 | return; | 2096 | return; |
| 2089 | for (cp = dbp + 1; *cp && (isalpha (*cp) || isdigit (*cp) | 2097 | for (cp = dbp + 1; *cp && (isalpha (*cp) || isdigit (*cp) |
| 2090 | || (*cp == '_') || (*cp == '$')); cp++) | 2098 | || (*cp == '_') || (*cp == '$')); cp++) |