[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lib-src/etags.c,v [EMACS_22_BASE]
From: |
Francesco Potortì |
Subject: |
[Emacs-diffs] Changes to emacs/lib-src/etags.c,v [EMACS_22_BASE] |
Date: |
Tue, 20 Nov 2007 16:17:40 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Branch: EMACS_22_BASE
Changes by: Francesco Potortì <pot> 07/11/20 16:17:40
Index: etags.c
===================================================================
RCS file: /sources/emacs/emacs/lib-src/etags.c,v
retrieving revision 3.71.2.2
retrieving revision 3.71.2.3
diff -u -b -r3.71.2.2 -r3.71.2.3
--- etags.c 8 Aug 2007 07:12:39 -0000 3.71.2.2
+++ etags.c 20 Nov 2007 16:17:40 -0000 3.71.2.3
@@ -61,10 +61,10 @@
/*
* Authors:
- * Ctags originally by Ken Arnold.
- * Fortran added by Jim Kleckner.
- * Ed Pelegri-Llopart added C typedefs.
- * Gnu Emacs TAGS format and modifications by RMS?
+ * 1983 Ctags originally by Ken Arnold.
+ * 1984 Fortran added by Jim Kleckner.
+ * 1984 Ed Pelegri-Llopart added C typedefs.
+ * 1985 Emacs TAGS format by Richard Stallman.
* 1989 Sam Kendall added C++.
* 1992 Joseph B. Wells improved C and C++ parsing.
* 1993 Francesco Potortì reorganised C and C++.
@@ -876,7 +876,7 @@
# define EMACS_NAME "standalone"
#endif
#ifndef VERSION
-# define VERSION "version"
+# define VERSION "17.26"
#endif
static void
print_version ()
@@ -1468,6 +1468,7 @@
exit (EXIT_SUCCESS);
}
+ /* From here on, we are in (CTAGS && !cxref_style) */
if (update)
{
char cmd[BUFSIZ];
@@ -2976,11 +2977,6 @@
return TRUE;
}
- /*
- * This structdef business is NOT invoked when we are ctags and the
- * file is plain C. This is because a struct tag may have the same
- * name as another tag, and this loses with ctags.
- */
switch (toktype)
{
case st_C_javastruct:
@@ -3398,16 +3394,14 @@
case '/':
if (*lp == '*')
{
- lp++;
incomm = TRUE;
- continue;
+ lp++;
+ c = ' ';
}
else if (/* cplpl && */ *lp == '/')
{
c = '\0';
- break;
}
- else
break;
case '%':
if ((c_ext & YACC) && *lp == '%')
@@ -3950,7 +3944,7 @@
make_C_tag (FALSE); /* a struct or enum */
break;
}
- bracelev++;
+ bracelev += 1;
break;
case '*':
if (definedef != dnone)
@@ -3964,17 +3958,21 @@
case '}':
if (definedef != dnone)
break;
+ bracelev -= 1;
if (!ignoreindent && lp == newlb.buffer + 1)
{
if (bracelev != 0)
- token.valid = FALSE;
+ token.valid = FALSE; /* unexpected value, token unreliable */
bracelev = 0; /* reset brace level if first column */
parlev = 0; /* also reset paren level, just in case... */
}
- else if (bracelev > 0)
- bracelev--;
- else
+ else if (bracelev < 0)
+ {
token.valid = FALSE; /* something gone amiss, token unreliable */
+ bracelev = 0;
+ }
+ if (bracelev == 0 && fvdef == vignore)
+ fvdef = fvnone; /* end of function */
popclass_above (bracelev);
structdef = snone;
/* Only if typdef == tinbody is typdefbracelev significant. */
- [Emacs-diffs] Changes to emacs/lib-src/etags.c,v [EMACS_22_BASE],
Francesco Potortì <=