diff -c ctags/CHANGES ctags-2.0.1/CHANGES
*** ctags/CHANGES Wed Feb 18 00:25:27 1998
--- ctags-2.0.1/CHANGES Thu Feb 19 23:07:46 1998
***************
*** 1,8 ****
Exuberant Ctags
===============
! 2.0 (98-Feb 18):
! ----------------
Added support for C++.
Added ability to include tags for each source file to allow jumping to a
--- 1,8 ----
Exuberant Ctags
===============
! 2.0.1 (98-Feb-19):
! ------------------
Added support for C++.
Added ability to include tags for each source file to allow jumping to a
diff -c ctags/COPYING ctags-2.0.1/COPYING
*** ctags/COPYING Wed Feb 18 08:55:06 1998
--- ctags-2.0.1/COPYING Fri Feb 20 00:17:43 1998
***************
*** 11,16 ****
GNU General Public License for more details.
You can obtain a copy of the GNU General Public License from
!
http://fly.hiwaay.net/~darren/ctags/gpl.html, or by writing to the
! Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
! MA 02111-1307 USA
--- 11,17 ----
GNU General Public License for more details.
You can obtain a copy of the GNU General Public License from
! the GNU web site at
http://www.gnu.org/copyleft/gpl.html, or from the
! Exuberant Ctags web site at
http://home.hiwaay.net/~darren/ctags/gpl.html,
! or by writing to the Free Software Foundation, Inc., 59 Temple Place,
! Suite 330, Boston, MA 02111-1307 USA
diff -c ctags/MANIFEST ctags-2.0.1/MANIFEST
*** ctags/MANIFEST Mon Oct 13 23:45:03 1997
--- ctags-2.0.1/MANIFEST Thu Feb 19 23:04:06 1998
***************
*** 1,9 ****
All packages include these files:
- ANNOUNCE A public announcement for Exuberant Ctags
CHANGES Package change history
COPYING Terms of distribution (GNU GPL)
! MANIFEST This file, itself.
INSTALL Installation instructions
INSTALL.DOS Installation instructions for MSDOS, Windows, OS/2 and Amiga
QUOTES A collection of enthusiastic user feedback for Exuberant Ctags
--- 1,9 ----
All packages include these files:
CHANGES Package change history
COPYING Terms of distribution (GNU GPL)
! FAQ Frequently Asked Questions
! MANIFEST This file, itself
INSTALL Installation instructions
INSTALL.DOS Installation instructions for MSDOS, Windows, OS/2 and Amiga
QUOTES A collection of enthusiastic user feedback for Exuberant Ctags
***************
*** 35,41 ****
mkinstalldirs A Bourne shell script for creating installation directories
strstr.c For old UNIX hosts which do not support this library function
! The packages distributed with pre-compiled executables (e.g. MS-DOS, MS-WIN,
OS/2) also include these files:
ctags.exe The platform-dependant executable
--- 35,41 ----
mkinstalldirs A Bourne shell script for creating installation directories
strstr.c For old UNIX hosts which do not support this library function
! The packages distributed with pre-compiled executables (e.g. MS-DOS, Win95/NT,
OS/2) also include these files:
ctags.exe The platform-dependant executable
diff -c ctags/ctags.h ctags-2.0.1/ctags.h
*** ctags/ctags.h Tue Feb 17 23:40:41 1998
--- ctags-2.0.1/ctags.h Thu Feb 19 23:09:12 1998
***************
*** 51,57 ****
= General defines
============================================================================*/
#ifndef PROGRAM_VERSION
! # define PROGRAM_VERSION "2.0"
#endif
#define PROGRAM_NAME "Exuberant Ctags"
#define PROGRAM_URL "
http://home.hiwaay.net/~darren/ctags"
--- 51,57 ----
= General defines
============================================================================*/
#ifndef PROGRAM_VERSION
! # define PROGRAM_VERSION "2.0.1"
#endif
#define PROGRAM_NAME "Exuberant Ctags"
#define PROGRAM_URL "
http://home.hiwaay.net/~darren/ctags"
diff -c ctags/ctags.lsm ctags-2.0.1/ctags.lsm
*** ctags/ctags.lsm Wed Feb 18 00:36:46 1998
--- ctags-2.0.1/ctags.lsm Thu Feb 19 23:06:06 1998
***************
*** 1,7 ****
Begin3
Title: Exuberant Ctags
! Version: 2.0
! Entered-date: 18FEB98
Description: A better ctags which generates tags for all possible tag
types: macro definitions, enumerated values (values inside
enum{...}), function and method definitions, enum/struct/union
--- 1,7 ----
Begin3
Title: Exuberant Ctags
! Version: 2.0.1
! Entered-date: 19FEB98
Description: A better ctags which generates tags for all possible tag
types: macro definitions, enumerated values (values inside
enum{...}), function and method definitions, enum/struct/union
***************
*** 14,24 ****
Keywords: ctags etags tags Exuberant C C++ tool utility source index
Author:
[email protected] (Darren Hiebert)
Primary-site: sunsite.unc.edu /pub/Linux/devel/lang/c
! 83kB ctags-2.0.tar.gz
Alternate-site:
ftp://ftp.hmi.com/pub/ctags
! 83kB ctags-2.0.tar.gz
Original-site:
http://home.hiwaay.net/~darren/ctags
! 83kB archives/ctags-2.0.tar.gz
Platforms: UNIX, MSDOS, QNX, Windows 95/NT, OS/2, Amiga
Copying-policy: GNU General Public License
End
--- 14,24 ----
Keywords: ctags etags tags Exuberant C C++ tool utility source index
Author:
[email protected] (Darren Hiebert)
Primary-site: sunsite.unc.edu /pub/Linux/devel/lang/c
! 83kB ctags-2.0.1.tar.gz
Alternate-site:
ftp://ftp.hmi.com/pub/ctags
! 83kB ctags-2.0.1.tar.gz
Original-site:
http://home.hiwaay.net/~darren/ctags
! 83kB archives/ctags-2.0.1.tar.gz
Platforms: UNIX, MSDOS, QNX, Windows 95/NT, OS/2, Amiga
Copying-policy: GNU General Public License
End
diff -c ctags/entry.c ctags-2.0.1/entry.c
*** ctags/entry.c Sat Feb 7 00:34:03 1998
--- ctags-2.0.1/entry.c Wed Feb 18 21:47:20 1998
***************
*** 57,62 ****
--- 57,63 ----
static boolean includeTag __ARGS((const tagScope scope, const tagType type));
static void makeTagEntry __ARGS((const tagInfo *const tag, const memberInfo *const pMember, const tagScope scope, const tagType type, const boolean useLineNumber));
static void writePseudoTag __ARGS((const char *const tagName, const char *const fileName, const char *const pattern));
+ static void updateSortedFlag __ARGS((const char *const line, FILE *const fp, const boolean startOfLine));
/*============================================================================
= Function definitions
***************
*** 472,477 ****
--- 473,500 ----
}
}
+ static void updateSortedFlag( line, fp, startOfLine )
+ const char *const line;
+ FILE *const fp;
+ const boolean startOfLine;
+ {
+ const char *const tab = strchr(line, '\t');
+
+ if (tab != NULL)
+ {
+ const size_t boolOffset = tab - line + 1; /* where it should be */
+
+ if (line[boolOffset] == '0' || line[boolOffset] == '1')
+ {
+ const long nextLine = ftell(fp);
+
+ fseek(fp, startOfLine + boolOffset, SEEK_SET);
+ fputc(Option.sorted ? '1' : '0', fp);
+ fseek(fp, nextLine, SEEK_SET);
+ }
+ }
+ }
+
/* Look through all line beginning with "!_TAG_FILE", and update those which
* require it.
*/
***************
*** 491,527 ****
rewind(fp);
line = readLine(&TagFile.line, fp);
while (line != NULL && line[0] == class[0])
if (strncmp(line, class, classLength) == 0)
{
char tab, classType[16];
- ++linesRead;
if (sscanf(line + classLength, "%15s%c", classType, &tab) == 2 &&
tab == '\t')
{
if (strcmp(classType, "_SORTED") == 0)
! {
! const size_t boolOffset =
! (const char *)strchr(line, '\t') - line + 1;
!
! if (line[boolOffset] == '0' || line[boolOffset] == '1')
! {
! const long nextLine = ftell(fp);
!
! fseek(fp, startOfLine + boolOffset, SEEK_SET);
! fputc(Option.sorted ? '1' : '0', fp);
! fseek(fp, nextLine, SEEK_SET);
! }
! }
! #if 0 /* not yet necessary */
! else if (strcmp(classType, "_FORMAT") == 0)
! {
! }
! #endif
}
startOfLine = ftell(fp);
- line = readLine(&TagFile.line, fp);
}
while (line != NULL) /* skip to end of file */
{
++linesRead;
--- 514,535 ----
rewind(fp);
line = readLine(&TagFile.line, fp);
while (line != NULL && line[0] == class[0])
+ {
+ ++linesRead;
if (strncmp(line, class, classLength) == 0)
{
char tab, classType[16];
if (sscanf(line + classLength, "%15s%c", classType, &tab) == 2 &&
tab == '\t')
{
if (strcmp(classType, "_SORTED") == 0)
! updateSortedFlag(line, fp, startOfLine);
}
startOfLine = ftell(fp);
}
+ line = readLine(&TagFile.line, fp);
+ }
while (line != NULL) /* skip to end of file */
{
++linesRead;