Skip to content
Browse files

Brought web site and win32 build directory into CVS and build process.

  • Loading branch information...
1 parent 2a2e68f commit b58dce89adacfec988f0d12229b8ca9dcbdfa315 Darren Hiebert committed Jan 27, 2002
Showing with 89 additions and 1,206 deletions.
  1. +1 −0 .cvsignore
  2. +3 −0 .gdbinit
  3. +1 −0 EXTENDING.html
  4. +39 −8 maintainer.mak
  5. +2 −0 website/.cvsignore
  6. +0 −338 website/extending.html
  7. +0 −226 website/index.html
  8. +0 −634 website/news.html
  9. +4 −0 win32/.cvsignore
  10. BIN win32/ctags.ide
  11. BIN win32/gnu_regex.exe
  12. +39 −0 win32/makefile.in
View
1 .cvsignore
@@ -19,3 +19,4 @@ syntax.vim
ctags-[0-9].[0-9]*
showtags
win32
+releases
View
3 .gdbinit
@@ -0,0 +1,3 @@
+define pst
+ call ps(st)
+end
View
1 EXTENDING.html
@@ -1,3 +1,4 @@
+<!-- $Id$ -->
<html>
<head>
<title>Exuberant Ctags: Adding a new parser</title>
View
47 maintainer.mak
@@ -43,11 +43,11 @@ REDIR = 2>&1 | tee $(ERRFILE)
RPM_ROOT= $(HOME)/Rpm
CTAGS_DOSDIR = win32
-WEB_ARCHIVE_DIR = $(HOME)/public_html/archives
-WEB_CTAGS_DIR = $(HOME)/public_html/ctags
+WEB_ARCHIVE_DIR = releases
+CTAGS_WEBSITE = website
DEP_DIR = .deps
-CC = gcc
+CC = gcc3
INCLUDE = -I.
DEFS = -DHAVE_CONFIG_H
COMP_FLAGS = $(INCLUDE) $(DEFS) $(CFLAGS)
@@ -199,6 +199,38 @@ cvs-files:
@ls -1 $(CVS_FILES)
#
+# Web site files
+#
+website-%: website-man-% website-index-% $(CTAGS_WEBSITE)/news.html \
+ $(CTAGS_WEBSITE)/EXTENDING.html
+ :
+
+website-man-%: ctags.1 Makefile
+ @ echo "---------- Generating $(CTAGS_WEBSITE)/ctags.html"
+ man2html $< | sed -e "s/@@VERSION@@/$*/g" \
+ -e 's%<A HREF="mailto:[^"]*">\([^@]*\)@\([^<]*\)</A>%\1\&#64;\2%' \
+ > $(CTAGS_WEBSITE)/ctags.html
+
+website-index-%: index.html Makefile
+ @ echo "---------- Generating $(CTAGS_WEBSITE)/index.html"
+ sed -e "s/@@VERSION@@/$*/g" \
+ -e "s/@@DOS_VERSION@@/`echo $* | sed 's/\.//g'`/g" \
+ -e "s/@@DATE@@/`date +'%d %B %Y'`/" \
+ $< > $(CTAGS_WEBSITE)/index.html
+
+$(CTAGS_WEBSITE)/EXTENDING.html: EXTENDING.html
+ @ echo "---------- Generating $(CTAGS_WEBSITE)/EXTENDING.html"
+ ln -s ../$< $@
+
+$(CTAGS_WEBSITE)/news.html: NEWS Makefile
+ @ echo "---------- Generating $(CTAGS_WEBSITE)/news.html"
+ sed -e 's/</\&lt;/g' -e 's/>/\&gt;/g' \
+ -e 's@^Current Version:.*$$@<html><head><title>Exuberant Ctags: Change Notes</title></head><body><h1>Change Notes</h1><pre>@' \
+ -e 's@\(^ctags-.* (.*)\)$$@<b>\1</b>@' \
+ -e 's@^vim:.*$$@</pre><hr><a href="http:index.html">Back to <strong>Exuberant Ctags</strong></a></body></html>@' \
+ $< > $@
+
+#
# Release management
#
ctags-%.lsm: ctags.lsm
@@ -237,7 +269,8 @@ dos1-%: $(DOS_FILES)
done
cd $(CTAGS_DOSDIR); mv makefile makefile.bak; \
sed -e 's/^\(VERSION = \).*$$/\1$*
-/' makefile.bak > makefile
+/' makefile.bak > makefile ;\
+ rm makefile.bak
dos2-%: $(DOS_VER_FILES)
for file in $^ ;do \
@@ -260,7 +293,7 @@ rpm-%: ctags-%.tar.gz ctags.spec $(RPM_ROOT)/SOURCES $(RPM_ROOT)/SPECS
@ echo "---------- Building RPM"
cp -p ctags-$*.tar.gz $(RPM_ROOT)/SOURCES/
sed -e "s/@@VERSION@@/$*/" ctags.spec > $(RPM_ROOT)/SPECS/ctags-$*.spec
- (cd $(RPM_ROOT)/SPECS; rpm -ba ctags-$*.spec)
+ (cd $(RPM_ROOT)/SPECS; CC=gcc3 rpm -ba ctags-$*.spec)
rm -fr $(RPM_ROOT)/BUILD/ctags-$*
ctags32-%: ctags-%.tar.gz
@@ -283,11 +316,9 @@ cleanrelease-%:
rm -f $(RPM_ROOT)/SRPMS/ctags-$*-1.src.rpm
rm -f $(RPM_ROOT)/SPECS/ctags-$*.spec
-internal-release-%: ctags-%.tar.gz ctags-%.tar.Z dos-% rpm-%
+internal-release-%: ctags-%.tar.gz ctags-%.tar.Z dos-% rpm-% website-%
@ echo "---------- Copying files to web archive"
cp -p ctags-$*.tar.* $(WEB_ARCHIVE_DIR)
- cp -p EXTENDING.html $(WEB_CTAGS_DIR)
- cp -p ctags-$*/ctags.html $(WEB_CTAGS_DIR)/ctags.html
cp -p $(RPM_ROOT)/RPMS/i386/ctags-$*-1.i386.rpm $(WEB_ARCHIVE_DIR)
cp -p $(RPM_ROOT)/SRPMS/ctags-$*-1.src.rpm $(WEB_ARCHIVE_DIR)
cp -p ctags-$*/ctags.lsm $(WEB_ARCHIVE_DIR)/ctags-$*.lsm
View
2 website/.cvsignore
@@ -1 +1,3 @@
+index.html
+news.html
ctags.html
View
338 website/extending.html
@@ -1,338 +0,0 @@
-<!-- $Id$ -->
-<html>
-<head>
-<title>Exuberant Ctags: Adding a new parser</title>
-</head>
-<body>
-
-<h1>How to Add a New Parser to Exuberant Ctags</h1>
-
-<b>Exuberant Ctags</b> has been designed to make it very easy to add your own
-custom language parser.
-
-<h2>Operational background</h2>
-As ctags considers each file name, it tries to determine the language of the
-file by applying the following three tests in order: if the file extension has
-been mapped to a language, if the file name matches a shell pattern mapped to
-a language, and finally if the file is executable and its first line specifies
-an interpreter using the Unix-style "#!" specification (if supported on the
-platform). If a language was identified, the file is opened and then the
-appropriate language parser is called to operate on the currently open file.
-The parser parses through the file and whenever it finds some interesting
-token, calls a function to define a tag entry.
-
-<h2>Integrating a new parser</h2>
-
-Let's assume that I want to add support for my new language, <em>Swine</em>,
-the successor to Perl (i.e. Perl before Swine &lt;wince&gt;).
-
-<p>
-First, I create a new module, <code>swine.c</code>, and add one externally
-visible function to it, <code>extern parserDefinition *SwineParser(void)</code>,
-and add its name to the table in <code>parsers.h</code>. The job of this
-parser definition function is to create an instance of the
-<code>parserDefinition</code> structure (using <code>parserNew()</code>) and
-populate it with information defining how files of this language are
-recognized, what kinds of tags it can locate, and the function used to invoke
-the parser on the currently open file.
-
-<p>
-The structure <code>parserDefinition</code> allows assignment of the following
-fields:
-
-<pre>
-<code>
- const char *name; /* name of language */
- kindOption *kinds; /* tag kinds handled by parser */
- unsigned int kindCount; /* size of `kinds' list */
- const char *const *extensions; /* list of default extensions */
- const char *const *patterns; /* list of default file name patterns */
- parserInitialize initialize; /* initialization routine, if needed */
- simpleParser parser; /* simple parser (common case) */
- rescanParser parser2; /* rescanning parser (unusual case) */
- boolean regex; /* is this a regex parser? */
-</code>
-</pre>
-
-<p>
-The <code>name</code> field must be set to a non-empty string. Also, unless
-<code>regex</code> is set true (see below), either <code>parser</code> or
-<code>parser2</code> must set to point to a parsing routine which will
-generate the tag entries. All other fields are optional.
-
-<p>
-Now all that is left is to implement the parser. In order to do its job, the
-parser should read the file stream using using one of the two I/O interfaces:
-either the character-oriented <code>fileGetc()</code>, or the line-oriented
-<code>fileReadLine()</code>. When using <code>fileGetc()</code>, the parser
-can put back a character using <code>fileUngetc()</code>. How our Swine parser
-actually parses the contents of the file is entirely up to the writer of the
-parser--it can be as crude or elegant as desired. You will note a variety of
-examples from the most complex (c.c) to the simplest (make.c).
-
-<p>
-When the Swine parser identifies an interesting token for which it wants to
-add a tag to the tag file, it should create a <code>tagEntryInfo</code>
-structure and initialize it by calling <code>initTagEntry()</code>, which
-initializes defaults and fills information about the current line number and
-the file position of the beginning of the line. After filling in information
-defining the current entry (and possibly overriding the file position or other
-defaults), the parser passes this structure to <code>makeTagEntry()</code>.
-
-<p>
-Instead of writing a character-oriented parser, it may be possible to specify
-regular expressions which define the tags. In this case, instead of defining a
-parsing function, <code>SwineParser()</code>, sets <code>regex</code> to true,
-and points <code>initialize</code> to a function which calls
-<code>addTagRegex()</code> to install the regular expressions which define its
-tags. The regular expressions thus installed are compared against each line
-of the input file and generate a specified tag when matched.
-
-<p>
-A regex-based parser is inherently line-oriented (i.e. the entire tag must be
-recognizable from looking at a single line) and context-insensitive (i.e the
-generation of the tag is entirely based upon when the regular expression
-matches a single line). However, a regex-based callback mechanism is also
-available, installed via the function <code>addCallbackRegex()</code>. This
-allows a specified function to be invoked whenever a specific regular
-expression is matched. This allows a character-oriented parser to operate
-based upon context of what happened on a previous line (e.g. the start or end
-of a multi-line comment). Note that regex callbacks are called just before the
-first character of that line can is read via either <code>fileGetc()</code> or
-using <code>fileGetc()</code>. The effect of this is that before either of
-these routines return, a callback routine may be invoked because the line
-matched a regex callback. A callback function to be installed is defined by
-these types:
-
-<pre>
-<code>
- typedef void (*regexCallback) (const char *line, const regexMatch *matches, unsigned int count);
-
- typedef struct {
- off_t start; /* character index in line where match starts */
- size_t length; /* length of match */
- } regexMatch;
-</code>
-</pre>
-
-<p>
-The callback function is passed the line matching the regular expression and
-an array of <code>count</code> structures defining the subexpression matches
-of the regular expression, starting from \0 (the entire line).
-
-<p>
-This is all there is to it. All other details are specific to the parser and
-how it wants to do its job. There are some support functions which can take
-care of some commonly needed parsing tasks, such as keyword table lookups (see
-keyword.c), which you can make use of if desired (examples of its use can be
-found in c.c, eiffel.c, and fortran.c). Almost everything is already taken care
-of automatically for you by the infrastructure. Writing the actual parsing
-algorithm is the hardest part, but is not constrained by any need to conform
-to anything in ctags other than that mentioned above.
-
-<p>
-There are several different approaches used in the parsers inside <b>Exuberant
-Ctags</b> and you can browse through these as examples of how to go about
-creating your own.
-
-<h2>Examples</h2>
-
- Below you will find several example parsers demonstrating most of the
- facilities available. These include three alternative implementations
- of a Swine parser, which generate tags for lines beginning with
- "<CODE>def</CODE>" followed by some name.
-
-<pre>
-/***************************************************************************
- * swine.c
- * Character-based parser for Swine definitions
- **************************************************************************/
-/* INCLUDE FILES */
-#include "general.h" /* always include first */
-
-#include &lt;string.h&gt; /* to declare strxxx() functions */
-#include &lt;ctype.h&gt; /* to define isxxx() macros */
-
-#include "parse.h" /* always include */
-#include "read.h" /* to define file fileReadLine() */
-
-/* DATA DEFINITIONS */
-typedef enum eSwineKinds {
- K_DEFINE
-} swineKind;
-
-static kindOption SwineKinds [] = {
- { TRUE, 'd', "definition", "pig definition" }
-};
-
-/* FUNCTION DEFINITIONS */
-
-static void findSwineTags (void)
-{
- vString *name = vStringNew ();
- const unsigned char *line;
-
- while ((line = fileReadLine ()) != NULL)
- {
- /* Look for a line beginning with "def" followed by name */
- if (strncmp ((const char*) line, "def", (size_t) 3) == 0 &amp;&amp;
- isspace ((int) line [3]))
- {
- const unsigned char *cp = line + 4;
- while (isspace ((int) *cp))
- ++cp;
- while (isalnum ((int) *cp) || *cp == '_')
- {
- vStringPut (name, (int) *cp);
- ++cp;
- }
- vStringTerminate (name);
- makeSimpleTag (name, SwineKinds, K_DEFINE);
- vStringClear (name);
- }
- }
- vStringDelete (name);
-}
-
-/* Create parser definition stucture */
-extern parserDefinition* SwineParser (void)
-{
- static const char *const extensions [] = { "swn", NULL };
- parserDefinition* def = parserNew ("Swine");
- def-&gt;kinds = SwineKinds;
- def-&gt;kindCount = KIND_COUNT (SwineKinds);
- def-&gt;extensions = extensions;
- def-&gt;parser = findSwineTags;
- return def;
-}
-</pre>
-
-<p>
-<pre>
-/***************************************************************************
- * swine.c
- * Regex-based parser for Swine
- **************************************************************************/
-/* INCLUDE FILES */
-#include "general.h" /* always include first */
-#include "parse.h" /* always include */
-
-/* FUNCTION DEFINITIONS */
-
-static void installSwineRegex (const langType language)
-{
- addTagRegex (language, "^def[ \t]*([A-Z0-9_]+)", "\\1", "d,definition", NULL);
-}
-
-/* Create parser definition stucture */
-extern parserDefinition* SwineParser (void)
-{
- static const char *const extensions [] = { "swn", NULL };
- parserDefinition* def = parserNew ("Swine");
- parserDefinition* const def = parserNew ("Makefile");
- def-&gt;patterns = patterns;
- def-&gt;extensions = extensions;
- def-&gt;initialize = installMakefileRegex;
- def-&gt;regex = TRUE;
- return def;
-}
-</pre>
-
-<p>
-<pre>
-/***************************************************************************
- * swine.c
- * Regex callback-based parser for Swine definitions
- **************************************************************************/
-/* INCLUDE FILES */
-#include "general.h" /* always include first */
-
-#include "parse.h" /* always include */
-#include "read.h" /* to define file fileReadLine() */
-
-/* DATA DEFINITIONS */
-typedef enum eSwineKinds {
- K_DEFINE
-} swineKind;
-
-static kindOption SwineKinds [] = {
- { TRUE, 'd', "definition", "pig definition" }
-};
-
-/* FUNCTION DEFINITIONS */
-
-static void definition (const char *const line, const regexMatch *const matches,
- const unsigned int count)
-{
- if (count &gt; 1) /* should always be true per regex */
- {
- vString *const name = vStringNew ();
- vStringNCopyS (name, matches [1].start, matches [1].length);
- makeSimpleTag (name, SwineKinds, K_DEFINE);
- }
-}
-
-static void findSwineTags (void)
-{
- while (fileReadLine () != NULL)
- ; /* don't need to do anything here since callback is sufficient */
-}
-
-static void installSwine (const langType language)
-{
- addCallbackRegex (language, "^def +([a-zA-Z0-9_]+)", NULL, definition);
-}
-
-/* Create parser definition stucture */
-extern parserDefinition* SwineParser (void)
-{
- static const char *const extensions [] = { "swn", NULL };
- parserDefinition* def = parserNew ("Swine");
- def-&gt;kinds = SwineKinds;
- def-&gt;kindCount = KIND_COUNT (SwineKinds);
- def-&gt;extensions = extensions;
- def-&gt;parser = findSwineTags;
- def-&gt;initialize = installSwine;
- return def;
-}
-</pre>
-
-<p>
-<pre>
-/***************************************************************************
- * make.c
- * Regex-based parser for makefile macros
- **************************************************************************/
-/* INCLUDE FILES */
-#include "general.h" /* always include first */
-#include "parse.h" /* always include */
-
-/* FUNCTION DEFINITIONS */
-
-static void installMakefileRegex (const langType language)
-{
- addTagRegex (language, "(^|[ \t])([A-Z0-9_]+)[ \t]*:?=", "\\2", "m,macro", "i");
-}
-
-/* Create parser definition stucture */
-extern parserDefinition* MakefileParser (void)
-{
- static const char *const patterns [] = { "[Mm]akefile", NULL };
- static const char *const extensions [] = { "mak", NULL };
- parserDefinition* const def = parserNew ("Makefile");
- def-&gt;patterns = patterns;
- def-&gt;extensions = extensions;
- def-&gt;initialize = installMakefileRegex;
- def-&gt;regex = TRUE;
- return def;
-}
-</pre>
-
-<hr>
-<a href="http:index.html">
- <img align=left border=0 src="http:../images/return.gif" alt="Return">
- Back to <strong>Exuberant Ctags</strong>
-</a>
-
-</body>
-</html>
View
226 website/index.html
@@ -1,226 +0,0 @@
-<!-- $Id$ -->
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
- "http://www.w3.org/TR/REC-html40/loose.dtd">
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
- <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (X11; I; Linux 2.0.1.31 i586) [Netscape]">
- <META NAME="author" CONTENT="Darren Hiebert">
- <META NAME="description" CONTENT="Distribution site for Exuberant Ctags.">
- <META NAME="keywords" CONTENT="Darren Hiebert Exuberant Ctags">
- <TITLE>Exuberant Ctags</TITLE>
-</HEAD>
-<BODY BGCOLOR="#B0B0B0" TEXT="#000000" ALINK="#0000FF" VLINK="#551A8B">
-
-<CENTER>
-<H1>
-<FONT COLOR="#00FFFF"><FONT SIZE="+4">EXUBERANT CTAGS</FONT></FONT></H1></CENTER>
-
-<HR>
-<H2>
-A multilanguage implementation of CTAGS by Darren Hiebert<SUP>&reg;</SUP></H2>
-<!--
-<A HREF="http://work.ucsd.edu:5141/cgi-bin/http_webster?exuberant"><STRONG>ex·u·ber·ant</STRONG>
--->
-<FORM method=post action="http://www.m-w.com/cgi-bin/dictionary">
-<INPUT type=hidden name=va value="exuberant">
-<A HREF="http://www.m-w.com/cgi-bin/dictionary"><STRONG><INPUT type=submit value="ex·u·ber·ant"></STRONG></A>
-: produced in extreme abundance
-: <FONT SIZE=-1>PLENTIFUL</FONT>&nbsp;&nbsp;
-<STRONG><EM>synonym</EM></STRONG> see <FONT SIZE=-1>PROFUSE</FONT>
-</FORM>
-
-<UL>
-
-<LI>Now used in at least <STRONG>44</FONT></STRONG>
- <A HREF="countries.html">countries</A>
- in <b><i>all 7 continents (now including Antarctica!)</i></b>
-<!-- <FONT COLOR="#FFFF00"> -->
-<LI>Supports 25 programming languages
-<LI>Featured in the book,
- <A HREF="http://www.oreilly.com/catalog/vi6/chapter/ch08.html#ch08_05.htm">
- <EM>Learning the vi Editor</EM></A>, a title in the
- <A HREF="http://www.oreilly.com">O'Reilly</A> series
-
-<LI>Covered in the March 2001 issue of <A HREF="http://www.cuj.com">C++ Users Journal</A>, "Navigating Linux Source Code".
-
-<LI>Praised in the <A HREF="lg18-wkndmech.html">Weekend Mechanic column</A>
- of the July 1997 issue of <A HREF="http://www.ssc.com/lg/">Linux Gazette</A>
-
-<LI>Freely available under the terms of the
- <A HREF="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</A>.
-<LI>Included in the
- <A HREF="http://www.redhat.com">RedHat</A> and
- <A HREF="http://www.debian.org">Debian</A> Linux distributions
-
-<LI>Read users' exuberant <A HREF="quotes.html">feedback</A>
-
-</UL>
-
-<B>Ctags</B> is hosted by &nbsp;
-<A href="http://sourceforge.net">
-<IMG src="http://sourceforge.net/sflogo.php?group_id=6556&type=1"
-width="88" height="31" border="0" alt="SourceForge Logo"> </A>
-
-<P>
-<A HREF="http://sourceforge.net/projects/ctags"><B>Ctags</B> project page at SourceForge</A>
-<P>
-
-<HR>
-<EM><FONT COLOR="#FF0000">NOTE:</FONT></EM>
-If you are a satisfied user of <B>Exuberant Ctags</B>, please rate it at
-<A HREF="http://freshmeat.net/rate/2502">Freshmeat</A> and
-<A HREF="http://www.icewalkers.com/app_vote.php3?id=1032">IceWalkers</A>
-
-
-<P>
-<HR>
-<H2>Download</H2>
-
-<H3>
-Version 5.2.1 [<EM><FONT COLOR="#FF0000">25 January 2002</FONT></EM>]:&nbsp;
-</H3>
-
-<H3><EM>Now supports the following languages:</EM></H3>
-<BLOCKQUOTE>
-<H4><EM>Assembler, AWK, ASP, BETA, Bourne/Korn/Zsh Shell, C, C++, COBOL,
- Eiffel, Fortran, Java, Lisp, Lua, Make, Pascal, Perl, PHP, Python, REXX,
- Ruby, S-Lang, Scheme, Tcl, Vim, and YACC.</EM>
-</H4>
-</BLOCKQUOTE>
-
-<A HREF="news.html">Change Notes</A>
-<BR>
-<BR>
-<TABLE BORDER>
-<TR>
-<TD><STRONG>Contents</STRONG></TD>
-
-<TD><STRONG>Package</STRONG></TD>
-</TR>
-
-<TR>
-<TD>Source only distribution (gzipped)</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ctags-5.2.1.tar.gz">ctags-5.2.1.tar.gz</A>&nbsp;</TD>
-</TR>
-
-<TR>
-<TD>Source only distribution (compressed)</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ctags-5.2.1.tar.Z">ctags-5.2.1.tar.Z</A>&nbsp;</TD>
-</TR>
-
-<TR>
-<TD ALIGN=LEFT>Red Hat source RPM</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ctags-5.2.1-1.src.rpm">ctags-5.2.1-1.src.rpm</A>&nbsp;</TD>
-</TR>
-
-<TR>
-<TD ALIGN=LEFT>Red Hat 7.2 binary RPM (libc6, 2.1)</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ctags-5.2.1-1.i386.rpm">ctags-5.2.1-1.i386.rpm</A>&nbsp;</TD>
-</TR>
-
-<!--
-<TR>
-<TD>Source and binary for 16-bit MS-DOS</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ec34-16.zip">ec34-16.zip</A></TD>
-</TR>
-
-<TR>
-<TD>Source and binary for MS-DOS with DPMI</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ec34-32.zip">ec34-32.zip</A></TD>
-</TR>
--->
-
-<TR>
-<TD>Source and binary for Windows 95/NT</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ec521w32.zip">ec521w32.zip</A></TD>
-</TR>
-
-<TR>
-<TD>Source and binary for OS/2</TD>
-
-<TD><A HREF="http://prdownloads.sourceforge.net/ctags/ec52os2.zip">ec52os2.zip</A>&nbsp;</TD>
-</TR>
-</TABLE>
-
-
-<HR>
-<H2>Information</H2>
-Q: <A HREF="whatis.html">What is ctags?</A>
-<BR>
-Q: <A HREF="desire.html">What makes this implementation of ctags desirable?</A>
-<BR>
-Q: <A HREF="tools.html">Which editors and tools support <STRONG>Exuberant Ctags</STRONG>?</A>
-<BR>
-Q: <A HREF="extending.html">How do I add a new parser to <STRONG>Exuberant Ctags</STRONG>?</A>
-<BR>
-Q: <A HREF="FORMAT">What is the format of tag files produced by <STRONG>Exuberant Ctags</STRONG>?</A>
-<BR>
-<BR>
-<H3>
-<A HREF="ctags.html">User Manual</A>
-</H3>
-<H3>
-<A HREF="faq.html">Frequently Asked Questions (FAQ)</A>
-</H3>
-<H3>
-<A HREF="http://freshmeat.net/articles/view/149">How to Report Bugs Effectively</A>
-</H3>
-
-<P>
-<HR>
-<H2>Support</H2>
-<TABLE BORDER>
-<TR>
-<TD><STRONG>Item</STRONG></TD>
-
-<TD><STRONG>Description</STRONG></TD>
-</TR>
-
-<TR>
-<TD>
-<LI><A HREF="http://lists.sourceforge.net/mailman/listinfo/ctags-announce">Ctags-announce</A> mailing list
-</TD>
-<TD>Release announcements for Exuberant Ctags</TD>
-</TR>
-
-<TR>
-<TD>
-<LI><A HREF="http://lists.sourceforge.net/mailman/listinfo/ctags-users">Ctags-users</A> mailing list
-</TD>
-<TD>Discussions on using Exuberant Ctags</TD>
-</TR>
-
-<TR>
-<TD>
-<LI><A HREF="http://sourceforge.net/bugs/?func=addbug&group_id=6556">Submit
-bug</A>
-</TD>
-<TD>Submit a bug report using SourceForge Bug Tracking</TD>
-</TR>
-
-<TR>
-<TD>
-<LI><A HREF="http://sourceforge.net/projects/ctags">General</A>
-</TD>
-<TD>Full list of support facilities at SourceForge</TD>
-</TR>
-
-</TABLE>
-
-<HR>
-Darren Hiebert<SUP>&reg;</SUP> is a registered trademark of Darren
-Hiebert<SUP>&reg;</SUP> and is used here with my own permission&nbsp;
-
-<HR>
-<A HREF="http://DarrenHiebert.com">Home</A>
-
-</BODY>
-</HTML>
View
634 website/news.html
@@ -1,634 +0,0 @@
-<!-- $Id$ -->
-<html>
-<head>
-<title>Exuberant Ctags: Change Notes</title>
-</head>
-<body>
-
-<h1>Change Notes</h1>
-<pre>
-
-<b>ctags-5.2.1 (Sun Jan 20 2002)</b>
-* Portabilitiy fixes [Mingw32].
-* Added "RCS" and "CVS" to list of directories excluded by default.
-* Fixed missing tags for function pointers declared const or volatile
- [C, Bug #503764].
-
-<b>ctags-5.2 (Sun Dec 23 2001)</b>
-* Portabilitiy fixes [HP-UX, Solaris, VMS, OS/2].
-* Made code compilable by a C++ compiler.
-* Changed reading of option files to ignore blank lines.
-* Changed and enhanced interface to readtags library (see readtags.h).
-* Changed from using addLanguageRegex() to addTagRegex() in regex-based
- parsers.
-* Added support for Lua language, submitted by Max Ischenko.
-* Added instructions to man page on using tags with NEdit.
-* Added setargv.obj to link for wildcard expansion [MSVC].
-* Added capability to have regex invoke a callback in a regex parser.
-* Fixed regex tag problem which left newlines in back-references.
-* Fixed missing class-qualified tags [Eiffel].
-* Fixed spurious tags for entries in final indexing clause [Eiffel].
-* Fixed problem with invalid filenames in preprocessor line directives.
-* Fixed bug parsing scoped variables (e.g. "b:variable") [Vim, Bug #487608].
-* Fixed problem compiling readtags.c on some hosts.
-* Fixed memory overwrite problem in readtags library.
-
-<b>ctags-5.1 (Tue Nov 06 2001)</b>
-* Changed name of option configuration files for MSDOS, MSWindows, and OS/2.
-* Changed regex support to enforce REG_NEWLINE. This fixes problem where the
- newline character was explicity being matched by user patterns [Bug #431477].
-* Added new public domain library for reading tag files (see readtags.h).
-* Added support for variables and namespaces, provided by Jay Glanville [Vim].
-* Added report of non-options in option configuration files and CTAGS
- environment variable.
-* Added support for YACC language, submitted by Nick Hibma [YACC].
-* Added support for Perl packages, submitted by Nick Hibma [Perl].
-* Added '$' as valid identifier character for DEC C compiler [VMS, Bug #425147].
-* Added compilation date and time to --version output.
-* Added configure check for HP-UX to determine if ANSI options needed [HP-UX].
-* Removed tags for forward class/struct declarations [C/C++, Bug #432563].
-* Eliminated ;" separator from end of tag line when no extension fields are
- present.
-* Fixed segmentation violation for some Lisp files [Lisp].
-* Fixed segmentation violation occurring when file referenced in #line
- directive was from an unknown language.
-* Fixed loss of sync when parsing bit fields named with C++ reserved word [C].
-* Fixed compilation problem on gcc-2.7.2.
-* Fixed problem parsing verbatim strings [Eiffel].
-* Fixed problem with PHP references [PHP].
-* Fixed handling of Perl __DATA__ sections [Perl].
-* Fixed problem resulting from white space in tag name due to regex name
- specifier.
-* Fixed double reading of $HOME/.ctags when current directory is $HOME.
-* Fixed problem reading option configuration files using CR-LF newlines.
-* Fixed problem preventing output control over tag kinds of regex patterns
- [Bug #429869]
-
-<b>ctags-5.0.1 (Sun Apr 15 2001)</b>
-* Fixed problem checking recursive links [SunOS 4.x].
-* Improved security on hosts where mkstemp() is not available.
-
-<b>ctags-5.0 (Sun Mar 18 2001)</b>
-* Restructured code to simplify support for new language parsers.
-* Changed source code to use ANSI-style function definitions.
-* Changed scope-qualified tag entries to omit enumeration name [C/C++].
-* Changed reading of files supplied to -I option to read one token per line.
-* Changed reading of option files to read one argument per line.
-* Changed default extension fields, now controlled by new option --fields.
-* Changed detection of etags invocation to accept any name containing "etags".
-* Removed -p option, which only caused confusion and is rendered obsolete by
- the change immediately above.
-* Removed 'A' flag to the --c-types, --eiffel-types, and --java-types
- options, replacing its functionality with the new --fields option.
-* Removed 'C' flag to the --c-types, --eiffel-types, and --java-types
- options, replacing its functionality with the new --extra option.
-* Deprecated -i option, which was long ago replaced with the --c-types option.
-* Deprecated --file-tags option, now incorporated into new --extra option.
-* Deprecated --kind-long option, now incorporated into new --fields option.
-* Renamed --lang[uage] option to --language-force.
-* Renamed makefiles for non-Unix platforms.
-* Improved parsing of assembly language files [Asm].
-* Improved parsing of Fortran language files, adding new tag kinds [Fortran].
-* Added documentation explaining how to extend ctags with new parsers.
-* Added support for regular expressions, using either Posix or Gnu interface.
-* Added support for mapping file names to languages using shell patterns.
-* Added support for ASP scripts, submitted by Patrick Dehne [ASP].
-* Added support for Makefiles [Make].
-* Added support for Pascal language [Pascal].
-* Added support for PHP scripts, submitted by Jesus Castagnetto [PHP].
-* Added support for REXX language [REXX], based on submission by Alexaner Mai.
-* Added support for Ruby, submitted by Thaddeus Covert [Ruby].
-* Added support for S-Lang, submitted by Francesc Rocher [SLang].
-* Added support for Macintosh platform using MPW (by Maarten Hekkelman).
-* Added .tk as recognized extension [Tcl].
-* Added .cp and .hp as C++ extensions [C++].
-* Added .zsh as shell script extension [Sh].
-* Added support for trigraphs for C-based languages [C/C++].
-* Added language recognition for shell scripts using "#!/usr/bin/env command".
-* Added check for recursive directory links.
-* Added support for "[" form of verbatim strings [Eiffel].
-* Added --exclude option to exclude directories while recursing.
-* Added --fields option to specify extension fields to include in output.
-* Added --extra option to allow control over extra tags.
-* Added --regex-<LANG> option to define language-specific regular expressions.
-* Added --<LANG>-types options for all supported languages.
-* Added --langdef option to define new languages to be parsed with regex.
-* Added --languages option to restrict set of languages scanned for tags.
-* Added --tag-relative option to make file paths recorded in tag file relative
- to location of tag file itself instead of the current working directory when
- file arguments are specified using relative paths.
-* Added restriction of permissions of created temporary files when mkstemp()
- is not available for security.
-* Reimplemented line directive handling to work for all languages.
-* Fixed tag generation for packages [Java].
-* Fixed Lisp parser [Lisp].
-* Fixed Mingw32 port [Win32].
-* Fixed bug in procedure name parsing [Tcl].
-* Fixed bug resulting in wrong column being checked for paragraphs [Cobol].
-* Fixed bug in language dispatch for executable "#!" scripts [Unix].
-* Fixed bugs resulting in incorrect scope entries in tag file [C++/Java].
-* Fixed warning caused by reinstallation of etags link [Unix].
-* Fixed destruction of existing tag file when no files supplied on invocation.
-* Fixed problem in Makefile.in which prevented configuring and building in
- non-source directory. Also changed Makefile.in to generate and use correct
- object and executable file extensions when run on Win32.
-
-<b>ctags-4.0.3 (Sun Jul 16 2000)</b>
-* Fixed compiler warnings [Amiga].
-* Fixed problem in configure.in causing struct stat st_ino member test to fail.
-* Fixed problem with TAGS entries for files using DOS-style (CR-LF) new lines.
-* Improved algorithm for locating Perl functions and skipping pods.
-* Improved algorithm for locating Bourne shell functions.
-* Renamed Makefile.amiga to Makefile.manx [Amiga].
-* Added Makefile.sas for SAS C compiler [Amiga].
-* Updated Makefile.qdos [QDOS].
-* Improved support for DECC compiler [VAX].
-
-<b>ctags-4.0.2 (Mon Jul 10 2000)</b>
-* Now silently ignore -w option for backwards compatibility with SVR4 ctags.
-* Fixed bug resulting in no extension flags when using --kind-long option.
-
-<b>ctags-4.0.1 (Wed Jun 28 2000)</b>
-* Fixed segmentation violation when using --file-tags.
-
-<b>ctags-4.0 (Thu Jun 22 2000)</b>
-* Fixed infinite loop on certain syntactically invalid class constructs [C++].
-* Fixed problem of incorrect tags for some pure virtual functions [C++].
-* Fixed inability to clear all tag types when using --c-types= (all languages).
-* Fixed problem of arguments to parameterized class being reported as
- ancestors in the "inherits" extension flag.
-* Fixed missed tags for typedef-ed function pointers having a PROTO((a,b))
- style argument list.
-* Fixed missing file tags for referenced files when using --line-directives
- option [C/C++].
-* Fixed failure to recognize drive-qualified file name as a file name when
- supplied as argument to -I option [Win32].
-* Fixed problem with missing comma in "inherits" extension flag [Java].
-* Fixed problem with incorrect or redundant parents listed for "inherits"
- extension flag [Java].
-* Added check to avoid recursive symbolic links to directories.
-* Added warning message for -i option, which is deprecated and being dropped.
-* Added support for Assembler, COBOL, LISP, PERL, and Scheme, taken from Gnu
- etags.
-* Added support for AWK, Bourne Shell, Python, TCL, and Vim scripts.
-* Added support for the BETA language, submitted by Erik Corry.
-* Added ability to determine language from interpreter specified in first line
- of executable files if they are not recognized by their extension.
-* Added --options option.
-* Added ability to specify files having no extension with -h and --langmap
- options.
-* Added compile time option to separate path components with a unix-style path
- separator for sharing tag file across platforms, enabled by defining the
- label UNIX_PATH_SEPARATOR [Win32].
-* Fixed portability issues [VMS].
-
-<b>ctags-3.5.2 (Mon Apr 24 2000)</b>
-* Fixed problem preventing Emacs-style tags from being written to stdout.
-
-<b>ctags-3.5.1 (Sun Apr 23 2000)</b>
-* Fixed infinite loop in writing Emacs-style TAGS file on platforms using
- tmpnam() instead of mkstemp() [Win32].
-* Fixed minor problems in Borland makefiles [Win32].
-* Fixed compiler warning [DJGPP].
-
-<b>ctags-3.5 (Fri Apr 14 2000)</b>
-* Fixed core dump when including access field in tag file [Java].
-* Fixed failure to identify end of statement for block statements [Java].
-* Fixed bug with lone "end" in feature adaptation part of inheritance clause
- [Eiffel].
-* Fixed problem preventing const functions from being recognized as pure
- virtual [C/C++].
-* Fixed problem with no tags found after certain macro calls [C/C++].
-* Fixed bug in descrip.mms build file [VMS].
-* Changed to use mkstemp() (when available) to create temporary files for
- security reasons and allow configuring default temporary directory, and to
- override this directory at run-time by setting TMPDIR environment variable.
-* Added support for extracting inheritance information into new "inherits"
- extension flag [C++, Java].
-* Added Makefile.bc5 for Borland C++ version 5.5 compiler (free version).
-* Added new question to FAQ regarding Xemacs.
-* Updated FAQ regarding new release of NEdit.
-* Renamed Borland 3.1 makefile from Makefile.bcc to Makefile.bc3.
-* Renamed Microsoft Visual C++ makefile from Makefile.w32 to Makefile.mvc.
-
-<b>ctags-3.4 (Thu Jan 13 2000)</b>
-* Fixed sorting problems when LC_ALL environment variable was set to foreign
- locale (not fixed by previous release).
-* Fixed nested scoping reported in extension flags and class-qualified tags.
-* Eliminated generation of class-qualified tag entries when --c-types=+C
- option is in effect but scope is empty (e.g. "::main").
-* Added support for default access of class members in Java.
-* Added new extension flag "implementation", which indicates if a routine or
- class is virtual or abstract.
-* Minor changes for OS/2 compilation.
-
-<b>ctags-3.3.3 (Thu Dec 16 1999)</b>
-* Changed how input is read for -L and --filter options to permit file names
- containing spaces (see man page).
-* Fixed scope recorded for C++ class elements, especially in namespaces.
-* Fixed spurious tag generated for MODULE PROCEDURE in interfaces [Fortran].
-* Fixed sorting problems when LC_ALL environment variable was set to foreign
- locale.
-* Fixed crash on Windows when compiled with Mingw32 gcc compiler.
-* Fixed compilation problems on Cray.
-
-<b>ctags-3.3.2 (Mon Sep 24 1999)</b>
-* Fixed compile problem on AIX 4.1.
-* Improved recovery from syntax error [Fortran].
-* Changed name of configure option (now --enable-custom-config).
-* Changed Makefile.bcc to optimize for space, since code size exceeded 64KB.
-
-<b>ctags-3.3.1 (Mon Sep 20 1999)</b>
-* Fixed segmentation violation occurring when directory recursion was selected.
-* Fixed misleading message when out of memory during internal sort.
-
-<b>ctags-3.3 (Fri Sep 17 1999)</b>
-* Fixed missing class-qualified tags [Java].
-* Fixed missing tag for functions having function pointer argument [C].
-* Fixed parsing of conversion functions [C++].
-* Added missing space following "operator" keyword to the tag names generated
- for function call operators [C++].
-* Fixed string parsing to retry file as free source form upon EOF [Fortran].
-* Fixed missing tags following comments [Fortran].
-* Fixed missing labels for free source form [Fortran].
-* Removed 72 character limit for fixed form source lines, since many compilers
- relax this limit and it is commonly taken advantage of. This was sometimes
- causing fixed form source to be parsed as free form source [Fortran].
-* Changed misleading message when file could not be accessed.
-* Changed behavior of --verbose option to display option processing.
-* Changed -I option to permit clearing the token list with "-I-".
-* Changed --lang option to accept new "auto" parameter.
-* Changed --langmap option to accept new "default" parameter.
-* Changed --eiffel-types option to accept new 'C' flag to generate
- class-qualified tags.
-* Changed -h option to accept new "default" parameter.
-* Changed option processing. Most options may now appear anywhere on the
- command line, affecting only those files which follow them.
-* Added ability to specify default options in any of the files /etc/ctags.conf,
- /usr/local/etc/ctags.conf, $HOME/.ctags, .ctags, and one optional file,
- which can be supplied at configure time.
-* Added --filter option.
-* Added --filter-terminator option.
-
-<b>ctags-3.2.4 (Thu Jul 01 1999)</b>
-* Changed name of macro in Makefile.in to avoid being overriden by CTAGS
- environment variable.
-
-<b>ctags-3.2.3 (Mon Jun 21 1999)</b>
-* Small portability change for EMX compiler on OS/2.
-* Slight change to W32 and BCC makefiles.
-
-<b>ctags-3.2.2 (Sat May 29 1999)</b>
-* Fixed endless error loop in case of unreadable file.
-* Fixed redundant include entries in TAGS file when using --etags-include.
-
-<b>ctags-3.2.1 (Wed May 09 1999)</b>
-* Fixed problem reading -I token list from file.
-* Fixed with "using" declarations which corrupted tag file [C++].
-* Fixed configure.in to more reliably recognize existing prototypes.
-* Added ability to ignore preprocessor directives in Fortran files.
-* Added support for egcs/MingW32 compiler [Win32].
-
-<b>ctags-3.2 (Wed Mar 03 1999)</b>
-* Fixed spurious tags related to export specifiers of feature clauses [Eiffel].
-* Fixed problem with template in ctor-initialer [C++].
-* Fixed typo causing compiler error [MSVC].
-* Extended -I option to allow token replacement [thanks to Flemming Madsen].
-* Added --etags-include option to support TAGS file includes.
-* Added support for QDOS [thanks to Thierry Godefroy].
-
-<b>ctags-3.1.2 (Tue Jan 26 1999)</b>
-* Changed extension flags to eliminate space between label and value to remain
- true to the intent of the agreement on the extended format made with editor
- authors.
-* Added --links option to permit ignoring symbolic links.
-* Fixed missing tags upon ANSI style variable function argument lists.
-* Fixed missing tags for methods with fully qualified type names in argument
- list [Java].
-* Fixed double tags generated for enumerators followed by comma.
-* Fixed missing path prefix for -p option [Win 95/NT].
-
-<b>ctags-3.1 (Wed Jan 20 1999)</b>
-* Changed -h and -langmap options to accept a plus sign as the first character
- of their arguments to indicate that arguments should be added to current.
-* Changed default for member tags to 'on' [C/C++].
-* Changed default for local entities to 'off' [Eiffel].
-* Added tags for forward class/struct/union/enum declarations when using
- -c-types=+x [C/C++].
-* Fixed memory overwrite bug causing general protection fault [Win 95/NT].
-* Fixed missing tags for methods with throws clause [Java].
-* Fixed bad tags generated for null macro names [C].
-* Fixed spurious tag for features and entities of BIT type [Eiffel].
-* Fixed spurious tags when local entity declaration list was empty [Eiffel].
-* Fixed missing tags for contructors and destructors [C++].
-* Fixed failure to recognize function when declaration for first argument
- was of template type [C++].
-
-<b>ctags-3.0.3 (Mon Dec 21 1998)</b>
-* Fixed mistake made in previous version which caused macro tags to be missed.
-* Fixed parsing of --langmap option.
-
-<b>ctags-3.0.2 (Mon Dec 21 1998)</b>
-* Added tags for names undefined with #undef (C/C++).
-* Added tags for renamed features (Eiffel).
-* Improved Emacs-style tag file contents (per Ian Zimmerman).
-* Fixed problem handling deferred, external, once, obsolete features in Eiffel.
-* Fixed porting problem [OSF1 V4.0].
-
-<b>ctags-3.0.1 (Sat Dec 12 1998)</b>
-* Fixed problem with certain macros and functions with no declared return type.
-* Fixed problem causing endless loop on MSDOS/Win32 by restoring use of binary
- mode on opening of source files.
-* Fixed porting problems on SunOS 4.1.x and MSVC++ 5.0.
-
-<b>ctags-3.0 (Sun Dec 06 1998)</b>
-* Added support for the Eiffel language (everyone should learn Eiffel).
-* Added support for the Fortran language.
-* Added --c-types option to specify tag types to be included for C/C++.
-* Added --eiffel-types option to specify tag types to be included for Eiffel.
-* Added --fortran-types option to specify tag types to be included for Fortran.
-* Added --file-scope option to place verbose tag description into tag file.
-* Added --file-tags option to place tags for source file names into tag file.
-* Added --java-types option to specify tag types to be included for Java.
-* Added --kind-long option to place verbose tag description into tag file.
-* Added --linedirectives option to enable processing of #line directives so
- that running ctags on preprocessor output can generate line numbers and file
- names which correspond to the original source files.
-* Added -V option to enable verbose message for each file considered.
-* Added special handling for macros of form "INIT(= value)".
-* Added ability to suffix an ignored identifier (-I option) with the '+'
- character, thus instructing ctags to also ignore any argument list which
- may follow the identifier.
-* Changed the -i option, moving Java language options to the new --java-types
- option. The -i option is now deprecated in favor of the new language
- specific tag type options.
-* Changed behavior of handling of ignored identifiers (-I option) to still
- generate a tag for any macro definition for that identifier.
-* Changed handling of -h option so that include files are no longer assumed to
- be C++ files.
-* Changed tags for operators to always precede the operator with the string
- "operator ", thus making it consistent for all operators. [C++]
-* Changed C/C++ parsing, catching many more tricky constructs.
-* Changed extension flags to place a space between the label and the value for
- readability.
-* Fixed core dump which occurred when using -iF (now --file-tags) together
- with -e (etags) on a zero-length file.
-* Fixed missing or incorrect tags for conversions operators or operator "()".
-* Fixed incorrect parent class in extension flags for type declarations of the
- form "class Bar { OtherClass::sometype foo; }".
-* Fixed missing tags for "friend" and "static" prototypes in header files.
-* Fixed problem of external "sort" reporting locale not available on HPUX.
-* Fixed -p option.
-* Fixed VMS support. It should now work for any source file type.
-
-<b>ctags-2.3.2 (Wed Sep 09 1998)</b>
-* Fixed -h option; broken since version 1.7, yet only just reported.
-
-<b>ctags-2.3.1 (Sun Aug 30 1998)</b>
-* Fixed improper handling of derived structs.
-* Fixed wrong class name tag when a nested-name-specifier was present in class
- declaration.
-* Added parent information into tag extension flags for data structures to
- match that already present for members.
-* Add missing documentation for --langmap option in the --help output.
-* Eliminated compiler warning [gcc 2.8.1].
-
-<b>ctags-2.3 (Thu Aug 20 1998)</b>
-* Eliminated compiler warnings [sgi mipspro].
-
-<b>ctags-2.2.7 (Mon Aug 17 1998)</b>
-* Fixed porting problem [Borland C++].
-
-<b>ctags-2.2.6 (Wed Aug 12 1998)</b>
-* Added directory recursion support for Amiga.
-* Fixed core dump encountered on some platforms when the CTAGS environment
- variable was set but empty.
-* Fixed porting problem [MSVC].
-
-<b>ctags-2.2.3</b> (Sun Aug 02 1998)
-<b>ctags-2.2.2</b> (Fri Jul 24 1998)
-* Fixed porting problems [AIX, HP-UX, OSF/1, SunOS, MSVC].
-
-<b>ctags-2.2.1</b> (Fri Jul 24 1998)
-* Now uses a default directory name of "." when using -R or --recurse option
- (e.g. "ctags -R" is equivalent to "ctags -R .").
-* Directories named "SCCS" are skipped when using the -R or --recurse option
- under Unix.
-* Fixed porting problems [HP-UX, IRIX, SunOS, MSDOS/Windows].
-
-<b>ctags-2.2</b> (Mon Jul 20 1998)
-* Added the --recurse and -R options to allow recursing into directories.
- This allows running ctags on an entire source directory tree using the
- single command "ctags -R &lt;dir&gt;". Currently, this option is only supported
- on UNIX, MSDOS, Windows 95/NT, and OS/2. Other platforms will have to wait.
-* Changed writing of Emacs-style TAGS file to binary mode [MSDOS/Windows].
-* Fixed porting problems [HP-UX].
-
-<b>ctags-2.1.1</b> (Mon Jul 06 1998)
-* Changed -h option to allow only periods to separate extensions.
-* Added the --langmap option to allow overriding the default associations
- between source language and file extension.
-* Added configuration check and code work-around for putenv() prototypes
- missing the const from the argument declaration [IRIX 5.2 and CRAY J90].
-* Added makefile for VMS.
-* Fixed porting problem [HP-UX].
-
-<b>ctags-2.1</b> (Wed Jul 01 1998)
-* Added Java support.
-* Eliminated the --keywords option introduced in the 2.0.4, replacing it with
- automatic detection of the language (i.e. recognized keywords) based upon
- the file extension.
-* Added the --lang option for manually overriding the automatic selection of
- the language.
-* Added new flag 'i' to the -i option to allow generating tags for Java
- interfaces.
-* Added new flag 'n' to the -i option to allow generating tags for C++
- namespaces.
-* Added new flag 'x' to the -i option to allow generating tags for extern
- variable declarations.
-* Added new extension flags, "private", "protected", and "public", which
- indicate the visibility of class members when it can be determined.
-* Changed behavior of flag 'C' of the -i option to add tags of form
- "class.member" for Java.
-* Changed how files on command line are handled. Ctags will now only scan
- those files whose extensions it knows about unless the --lang option is
- specified. This allows running ctags on all files in a directory without
- having to be specific (e.g. "ctags *").
-* Removed support for duplicate tag warnings and the -w and -W options. These
- options are silently ignored for now.
-
-<pre>
-<b>ctags-2.0.4</b> (Sat May 23 1998)
-* Added sorting time to the output of the --totals option.
-* Added the --keywords option to allow restricting the recognized
- declaration keywords in order to handle legacy source code which uses
- newer keywords for variable and parameter names.
-* Ignore list now also applies to macro tags.
-* /dev/stdout now properly handled as parameter to -f/-o option.
-* Fixed problem handling an operator definition in C++ when white space
- appeared between the "operator" keyword and the operator (e.g. "=").
-* Fixed handling of non-symbolic operators (e.g. "new", "delete", etc.).
-* Fixed sort order problem for some locale settings.
-* Fixed segmentation violation when using ignore list (-I) on SunOS 4.x.
-* Fixed bug causing a segmentation violation caused by a stack overwrite when
- testing a particular kind of non-standard tag file format.
-
-
-<b>ctags-2.0.3</b> (Sun Mar 12 1998)
-* Added configure check for "strip" program.
-* Added new sub-flag 'C' to the -i option to allow adding extra tags to
- the tag file in the form "class::member" for class methods and members.
-
-
-<b>ctags-2.0.2</b> (Wed Feb 25 1998)
-* Added stripping of installed binary for "install" target.
-
-
-<b>ctags-2.0.1</b> (Thu Feb 19 1998)
-* Added support for C++.
-* Added new sub-flag 'F' to the -i option to allow adding an extra tag for
- the basename of each source file supplied to ctags. This provides the
- ability to jump to a source file in Vi using ":tag file.c".
-* Added new sub-flag 'm' to generate tags for class, structure, and union
- members (disabled by default).
-* Added several new sub-flags to the -i option to allow finer specification
- of which types of tags to include/exclude.
-* Added ".hh" extension to the default list of files recognized as header
- files.
-* Added explicit handling of special gcc construct __attribute((..)),
- which could lead to incorrect tag generation.
-* Added configure option --disable-extended-format to allow building ctags
- with the extended format disabled by default.
-* Added configure option --enable-macro-patterns to change the default
- behavior of ctags to generate patterns instead of line numbers for macro
- (define) tags.
-* Changed configure option --enable-internal-sort to --disable-external-sort.
-* Changed makefile for OS/2.
-* Removed support for the -d, -t and -T options which had been deprecated
- for some time.
-* Removed ANNOUNCE file in distribution, consolidating it with the README
- file.
-* Replaced CHANGES file with NEWS for more GNU-like standard distribution.
-* Improved the detection of macros of the type generated by Microsoft Visual C
- when generating source code. These caused subsequent statements to fail to
- have tags generated for them. Still not bullet proof, though.
-* Fixed a problem which prevented the use of / as a path separator under MSDOS
- and Win 95/NT.
-* Fixed problem of blank lines occuring in the tag file.
-* Fixed recognition of declarations with parentheses.
-* Fixed problem of missing tags for objects within extern "C" blocks.
-* Fixed problem in source file counts when using --totals option.
-* Extended the length of tag type field in -x output to be more verbose.
-* Fixed option initialization error which caused static tags to be excluded.
-
-
-<b>ctags-1.7</b> (Mon Oct 13 1997)
-* Tag files now use a new extended format which is backwards compatible with
- existing Vi implementations, yet provides extended information which can be
- used by supporting editors.
-* Added documentation pseudo-tags (e.g. !_TAG_FILE_FORMAT) to tag file.
-* Added the --excmd option as alternative to the -n and -N options.
-* Added the --format option to allow forcing the old-style tag file format.
-* Added the --if0 to control how "#if 0" branches are handled.
-* Added the --sort option as alternative to -u option.
-* Added the --totals option to print statistics of tag generation.
-* Added the --version option.
-* Improved handling of preprocessor conditionals.
-* Code within an #if 0 is now never scanned for non-macro tags by default
- since tags within that code could conceivably be overridden by more
- desirable tags in the #else branch to follow. Macro tags in these branches
- are always included.
-* Fixed problem which could leave invalid tag entries in tag file when an
- internal re-scan of a source file occurred.
-* Fixed problem with internal sort mechanism when appending tags to existing
- file.
-* Changed external sort command to filter out duplicate identical tags lines
- (including the pattern) unless warnings for duplicate tags are enabled.
-* Added data to emacs style tag entries to more closely match that produced by
- the GNU etags.
-* Removed fixed limits on maximum tag line length.
-* Correction to Amiga makefile.
-* Improvements to Win32 portability with changes to Makefile.w32.
-
-
-<b>ctags-1.6</b> (Tue May 13 1997)
-* Now using GNU autoconf to permit automatic host configuration.
-* Added the -e option to generate Emacs style tag files
-* Added ETAGS environment variable to be used when -e option is in effect.
-* Added the -p option to supply a default path for source files.
-* Fixed problem of incorrect line numbers in tag file when form feeds and
- vertical tabs occured in the source file.
-* Fixed problem preventing ignoring of identifiers specified via the -I option
- when the identifiers were followed by a parameter list in the source code.
-* Changed the search patterns generated for #define macros when using -N
- option. It now includes the character following the name (or "$" if end of
- line) instead of the "\>" used previously. Some editors did not support this
- metacharacter for tag searches.
-* Removed -u (unique) flag from sort command line invocation to retain exactly
- indentical tag patterns in the same file. This is in preparation for editor
- support of duplicate tags.
-* Fixed problem resulting in no tags generated following a function-like
- macro reference outside of a function block.
-* Fixed problem of no tags generated for typedef for function or function
- pointer.
-* Fixed problem of no tags generated after encountering strange function
- declarations (e.g. "foo(params) saywhat (void);")
-
-
-<b>ctags-1.5</b> (Sat Oct 5 1996)
-* Added generation of tags for objects inside C++ extern blocks (e.g.
- 'extern "C" {...}' construct).
-* Added generation of tags for function definitions inside brace-enclosed
- ("{}") blocks, since function definitions are allowed inside classes and
- extern blocks.
-* Added the -N option to force patterns to be used for all tags (including
- macro tags).
-* Changed the search patterns generated for macro definitions to be terminated
- with "\>", which allows the pattern to still match even when the #define
- line beyond the macro name is changed.
-* Fixed problem resulting in no tags generated for files containing a
- function-like macro, such as 'MODULE_ID("$Id")', even when ignoring the
- keyword. This also fixed a problem that caused tags to be missed for
- initialized function pointer definitions.
-* Redirected error messages to stdout for MSDOS version.
-
-
-<b>ctags-1.4</b> (Sun Aug 18 1996)
-* Added recursive parsing of class/struct/enum blocks to look for
- class/struct/enum tags and enumeration values.
-* Added the -I option to specify keywords to ignore in the source files.
-* Fixed problem resulting in no tag generated when declaring a pointer const
- or volatile.
-* Fixed problem resulting in no tag generated for comma terminated function
- declarations.
-
-
-<b>ctags-1.3</b> (Sun Jun 16 1996)
-* Fixed problem problem which caused "struct tag;" to be misinterpreted as a
- variable definition.
-* Added the -n option to use line numbers in the tag file instead of patterns.
-* Added the -? option as an alternative for the --help option.
-
-
-<b>ctags-1.2</b> (Wed Jun 5 1996)
-* Fixed a problem caused by an unitialized variable.
-
-
-<b>ctags-1.1</b> (Tue Jun 4 1996)
-* Fixed problem reading parameter list to the -h option.
-
-
-<b>ctags-1.0a</b> (Mon Jun 3 1996)
-* Added ctags.lsm to distribution
-
-
-<b>ctags-1.0</b> (Fri May 31 1996)
-* First public release.
-</pre>
-
-
-<hr>
-<a href="http:index.html">Back to <strong>Exuberant Ctags</strong></a>
-
-</body>
-</html>
View
4 win32/.cvsignore
@@ -0,0 +1,4 @@
+ctagsw32.exe
+ctagsos2.exe
+ctags[1-9]*
+ec[1-9]*.zip
View
BIN win32/ctags.ide
Binary file not shown.
View
BIN win32/gnu_regex.exe
Binary file not shown.
View
39 win32/makefile.in
@@ -0,0 +1,39 @@
+# $Id$
+# Makefile for building Win32 releases
+
+VERSION = 521
+
+# Borland C library directory
+ZIP = "c:\Program Files\WinZip\wzzip"
+#ZIP = pkzip -xctags$(VERSION)\gnu_regex_dist\*.*
+
+# Add this file for wildcard expansion (does NOT work with 4.0!)
+
+#ctagsw32.exe: ctags$(VERSION)\mk_mvc.mak
+# cd ctags$(VERSION)
+# nmake -f mk_mvc.mak clean
+# nmake -f mk_mvc.mak
+# copy ctags.exe ..\$@
+# nmake -f mk_mvc.mak clean
+# cd ..
+
+zip: ctagsw32.exe
+ - del ec$(VERSION)w32.zip
+ - del ctags$(VERSION)\ctags.tds
+ copy ctagsw32.exe ctags$(VERSION)\ctags.exe
+ $(ZIP) -Pr ec$(VERSION)w32 ctags$(VERSION)\*.*
+ - del ctags$(VERSION)\ctags.exe
+# copy ctags16.exe ctags$(VERSION)\ctags.exe
+# $(ZIP) -Pr ec$(VERSION)-16 ctags$(VERSION)\*.*
+# copy ctags32.exe ctags$(VERSION)\ctags.exe
+# $(ZIP) -Pr ec$(VERSION)-32 ctags$(VERSION)\*.*
+
+zip-os2: ctagsos2.exe
+ - del ec$(VERSION)os2.zip
+ copy ctagsos2.exe ctags$(VERSION)\ctags.exe
+ $(ZIP) -Pr ec$(VERSION)os2 ctags$(VERSION)\*.*
+ del ctags$(VERSION)\ctags.exe
+
+clean:
+ - del ctagsw32.exe
+ - del ctagsos2.exe

0 comments on commit b58dce8

Please sign in to comment.
Something went wrong with that request. Please try again.