[haiku-commits] haiku: hrev43690 - src/bin/ctags

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 23 Jan 2012 23:51:11 +0100 (CET)

hrev43690 adds 1 changeset to branch 'master'
old head: f7865033f3af3eba6e7620b48544f87fbd2b2da2
new head: 1a4cf8161ea286cb401d31a234cfb7a9c18ac9e4

----------------------------------------------------------------------------

1a4cf81: Moved ctags to an optional package
  
  * removed ctags from Haiku sources and from haiku image
  * added ctags to mandatory packages for the time being.

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev43690
Commit:      1a4cf8161ea286cb401d31a234cfb7a9c18ac9e4
URL:         http://cgit.haiku-os.org/haiku/commit/?id=1a4cf81
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Mon Jan 23 22:47:46 2012 UTC

----------------------------------------------------------------------------

111 files changed, 24 insertions(+), 43574 deletions(-)
build/jam/HaikuImage                  |    2 +-
build/jam/OptionalPackageDependencies |    2 +-
build/jam/OptionalPackages            |   23 +-
src/bin/Jamfile                       |    1 -
src/bin/ctags/COPYING                 |  340 --
src/bin/ctags/EXTENDING.html          |  386 --
src/bin/ctags/FAQ                     |  371 --
src/bin/ctags/INSTALL                 |  215 -
src/bin/ctags/INSTALL.oth             |   84 -
src/bin/ctags/Jamfile                 |   56 -
src/bin/ctags/MAINTAINERS             |   19 -
src/bin/ctags/Makefile.in             |  221 -
src/bin/ctags/NEWS                    |  841 ----
src/bin/ctags/README                  |   73 -
src/bin/ctags/acconfig.h              |  127 -
src/bin/ctags/argproc.c               |  505 --
src/bin/ctags/args.c                  |  274 --
src/bin/ctags/args.h                  |   63 -
src/bin/ctags/asm.c                   |  387 --
src/bin/ctags/asp.c                   |  211 -
src/bin/ctags/awk.c                   |   81 -
src/bin/ctags/basic.c                 |  203 -
src/bin/ctags/beta.c                  |  321 --
src/bin/ctags/c.c                     | 2913 -----------
src/bin/ctags/cobol.c                 |   50 -
src/bin/ctags/config.h                |  275 --
src/bin/ctags/config.h.in             |  274 --
src/bin/ctags/configure               | 7415 -----------------------------
src/bin/ctags/configure.in            |  425 --
src/bin/ctags/ctags.1                 | 1186 -----
src/bin/ctags/ctags.h                 |   28 -
src/bin/ctags/ctags.html              | 2772 -----------
src/bin/ctags/ctags.rdef              |   11 -
src/bin/ctags/ctags.spec              |   40 -
src/bin/ctags/debug.c                 |  113 -
src/bin/ctags/debug.h                 |   70 -
src/bin/ctags/descrip.mms             |   68 -
src/bin/ctags/e_amiga.h               |   24 -
src/bin/ctags/e_djgpp.h               |   47 -
src/bin/ctags/e_mac.h                 |  143 -
src/bin/ctags/e_msoft.h               |   76 -
src/bin/ctags/e_os2.h                 |   37 -
src/bin/ctags/e_qdos.h                |   34 -
src/bin/ctags/e_riscos.h              |   58 -
src/bin/ctags/e_vms.h                 |   31 -
src/bin/ctags/eiffel.c                | 1346 ------
src/bin/ctags/entry.c                 |  847 ----
src/bin/ctags/entry.h                 |  103 -
src/bin/ctags/erlang.c                |  189 -
src/bin/ctags/fortran.c               | 2212 ---------
src/bin/ctags/general.h               |  127 -
src/bin/ctags/get.c                   |  669 ---
src/bin/ctags/get.h                   |   50 -
src/bin/ctags/html.c                  |   49 -
src/bin/ctags/jscript.c               | 1461 ------
src/bin/ctags/keyword.c               |  249 -
src/bin/ctags/keyword.h               |   33 -
src/bin/ctags/lisp.c                  |  139 -
src/bin/ctags/lregex.c                |  704 ---
src/bin/ctags/lua.c                   |  133 -
src/bin/ctags/mac.c                   |  273 --
src/bin/ctags/magic.diff              |   21 -
src/bin/ctags/main.c                  |  579 ---
src/bin/ctags/main.h                  |   32 -
src/bin/ctags/maintainer.mak          |  450 --
src/bin/ctags/make.c                  |  211 -
src/bin/ctags/mk_bc3.mak              |   46 -
src/bin/ctags/mk_bc5.mak              |   76 -
src/bin/ctags/mk_djg.mak              |   18 -
src/bin/ctags/mk_manx.mak             |   65 -
src/bin/ctags/mk_ming.mak             |   26 -
src/bin/ctags/mk_mpw.mak              |  130 -
src/bin/ctags/mk_mvc.mak              |   39 -
src/bin/ctags/mk_os2.mak              |  104 -
src/bin/ctags/mk_qdos.mak             |  100 -
src/bin/ctags/mk_sas.mak              |   63 -
src/bin/ctags/mkinstalldirs           |   40 -
src/bin/ctags/options.c               | 1829 -------
src/bin/ctags/options.h               |  154 -
src/bin/ctags/parse.c                 |  677 ---
src/bin/ctags/parse.h                 |  129 -
src/bin/ctags/parsers.h               |   56 -
src/bin/ctags/pascal.c                |  267 --
src/bin/ctags/perl.c                  |  382 --
src/bin/ctags/php.c                   |  235 -
src/bin/ctags/python.c                |  457 --
src/bin/ctags/qdos.c                  |  106 -
src/bin/ctags/read.c                  |  554 ---
src/bin/ctags/read.h                  |  115 -
src/bin/ctags/readtags.c              |  959 ----
src/bin/ctags/readtags.h              |  252 -
src/bin/ctags/rexx.c                  |   39 -
src/bin/ctags/routines.c              |  891 ----
src/bin/ctags/routines.h              |  134 -
src/bin/ctags/ruby.c                  |  408 --
src/bin/ctags/scheme.c                |  111 -
src/bin/ctags/sh.c                    |  115 -
src/bin/ctags/slang.c                 |   41 -
src/bin/ctags/sml.c                   |  212 -
[ *** stats truncated: 12 lines dropped *** ]

----------------------------------------------------------------------------

diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage
index 3573caa..3bdf2e5 100644
--- a/build/jam/HaikuImage
+++ b/build/jam/HaikuImage
@@ -30,7 +30,7 @@ if $(HAIKU_ATA_STACK) = 1 {
 SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bzip2
        cal cat catattr checkfs checkitout chgrp chmod chop chown chroot cksum 
clear
        clockconfig cmp collectcatkeys comm compress copyattr CortexAddOnHost cp
-       csplit ctags cut date dc dd desklink df diff diff3 dircolors dirname
+       csplit cut date dc dd desklink df diff diff3 dircolors dirname
        draggers driveinfo dstcheck du dumpcatalog
        echo eject env error expand expr
        factor false fdinfo ffm filepanel find finddir fmt fold fortune frcode
diff --git a/build/jam/OptionalPackageDependencies 
b/build/jam/OptionalPackageDependencies
index 6604f39..de55869 100644
--- a/build/jam/OptionalPackageDependencies
+++ b/build/jam/OptionalPackageDependencies
@@ -36,4 +36,4 @@ OptionalPackageDependencies WebPositive : Curl LibXML2 SQLite 
;
 OptionalPackageDependencies wpa_supplicant : OpenSSL ;
 OptionalPackageDependencies XZ-Utils : Tar ;
 
-OptionalPackageDependencies MandatoryPackages : ICU Sed Tar ;
+OptionalPackageDependencies MandatoryPackages : Ctags ICU Sed Tar ;
diff --git a/build/jam/OptionalPackages b/build/jam/OptionalPackages
index 67e47f5..f9721a0 100644
--- a/build/jam/OptionalPackages
+++ b/build/jam/OptionalPackages
@@ -32,8 +32,9 @@ if $(HAIKU_ADD_ALTERNATIVE_GCC_LIBS) = 1
 #      CDRecord                                - the command line CD writing 
tools
 #      Clockwerk                               - native audio/video compositing
 #      CLucene                                 - indexed file search
-#      Curl                                    - a client that groks URLs
 #      CMake                                   - cross platform make
+#      Ctags                                   - exuberant ctags (source files 
indexing)
+#      Curl                                    - a client that groks URLs
 #      CVS                                             - the version control 
system
 #      Development                             - more complete dev environment 
(including autotools)
 #      DevelopmentBase                 - basic development environment (gcc, 
headers, libs,...)
@@ -439,6 +440,26 @@ if [ IsOptionalHaikuImagePackageAdded CMake ] {
 }
 
 
+# Ctags
+if [ IsOptionalHaikuImagePackageAdded Ctags ] {
+       if $(TARGET_ARCH) != x86 {
+               Echo "No optional package Ctags available for $(TARGET_ARCH)" ;
+       } else {
+               if $(HAIKU_GCC_VERSION[1]) >= 4 {
+                       InstallOptionalHaikuImagePackage
+                               ctags-5.8-x86-gcc4-2012-01-23.zip
+                               : $(baseURL)/ctags-5.8-x86-gcc4-2012-01-23.zip
+                               : : true ;
+               } else {
+                       InstallOptionalHaikuImagePackage
+                               ctags-5.8-x86-gcc2-2010-05-24.zip
+                               : $(baseURL)/ctags-5.8-x86-gcc2-2010-05-24.zip
+                               : : true ;
+               }
+       }
+}
+
+
 # Curl
 if [ IsOptionalHaikuImagePackageAdded Curl ] {
        if $(TARGET_ARCH) != x86 {
diff --git a/src/bin/Jamfile b/src/bin/Jamfile
index ffa2844..c8e033f 100644
--- a/src/bin/Jamfile
+++ b/src/bin/Jamfile
@@ -243,7 +243,6 @@ SubInclude HAIKU_TOP src bin mail_utils ;
 SubInclude HAIKU_TOP src bin compress ;
 SubInclude HAIKU_TOP src bin consoled ;
 SubInclude HAIKU_TOP src bin coreutils ;
-SubInclude HAIKU_TOP src bin ctags ;
 SubInclude HAIKU_TOP src bin desklink ;
 SubInclude HAIKU_TOP src bin diffutils ;
 SubInclude HAIKU_TOP src bin findutils ;
diff --git a/src/bin/ctags/COPYING b/src/bin/ctags/COPYING
deleted file mode 100644
index 60549be..0000000
--- a/src/bin/ctags/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/src/bin/ctags/EXTENDING.html b/src/bin/ctags/EXTENDING.html
deleted file mode 100644
index 7a7b865..0000000
--- a/src/bin/ctags/EXTENDING.html
+++ /dev/null
@@ -1,386 +0,0 @@
-<!-- $Id: EXTENDING.html 198 2002-09-04 01:17:32Z darren $ -->
-<html>
-<head>
-<title>Exuberant Ctags: Adding support for a new language</title>
-</head>
-<body>
-
-<h1>How to Add Support for a New Language to Exuberant Ctags</h1>
-
-<p>
-<b>Exuberant Ctags</b> has been designed to make it very easy to add your own
-custom language parser. As an exercise, let us 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;). This language consists of simple definitions of
-labels in the form "<code>def my_label</code>". Let us now examine the various
-ways to do this.
-</p>
-
-<h2>Operational background</h2>
-
-<p>
-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.
-</p>
-
-<h2>Creating a user-defined language</h2>
-
-<p>
-The quickest and easiest way to do this is by defining a new language using
-the program options. In order to have Swine support available every time I
-start ctags, I will place the following lines into the file
-<code>$HOME/.ctags</code>, which is read in every time ctags starts:
-
-<code>
-<pre>
-  --langdef=swine
-  --langmap=swine:.swn
-  --regex-swine=/^def[ \t]*([a-zA-Z0-9_]+)/\1/d,definition/
-</pre>
-</code>
-The first line defines the new language, the second maps a file extension to
-it, and the third defines a regular expression to identify a language
-definition and generate a tag file entry for it.
-</p>
-
-<h2>Integrating a new language parser</h2>
-
-<p>
-Now suppose that I want to truly integrate compiled-in support for Swine into
-ctags. 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>
-
-<p>
-The structure <code>parserDefinition</code> allows assignment of the following
-fields:
-
-<code>
-<pre>
-  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? */
-</pre>
-</code>
-</p>
-
-<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>
-
-<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>
-
-<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. It is usually
-much easier to write a regex-based parser, although they can be slower (one
-parser example was 4 times slower). Whether the speed difference matters to
-you depends upon how much code you have to parse. It is probably a good
-strategy to implement a regex-based parser first, and if it is too slow for
-you, then invest the time and effort to write a character-based parser.
-</p>
-
-<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:
-
-<code>
-<pre>
-  typedef void (*regexCallback) (const char *line, const regexMatch *matches, 
unsigned int count);
-
-  typedef struct {
-      size_t start;   /* character index in line where match starts */
-      size_t length;  /* length of match */
-  } regexMatch;
-</pre>
-</code>
-</p>
-
-<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>
-
-<p>
-Lastly, be sure to add your the name of the file containing your parser (e.g.
-swine.c) to the macro <code>SOURCES</code> in the file <code>source.mak</code>
-and an entry for the object file to the macro <code>OBJECTS</code> in the same
-file, so that your new module will be compiled into the program.
-</p>
-
-<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>
-
-<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.
-</p>
-
-<h2>Examples</h2>
-
-<p>
-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.
-</p>
-
-<code>
-<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>
-</code>
-
-<p>
-<pre>
-<code>
-/***************************************************************************
- * 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-zA-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;
-}
-</code>
-</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, line + 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[ \t]+([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>
-
-</body>
-</html>
diff --git a/src/bin/ctags/FAQ b/src/bin/ctags/FAQ
deleted file mode 100644
index b62d4ec..0000000
--- a/src/bin/ctags/FAQ
+++ /dev/null
@@ -1,371 +0,0 @@
-Frequently Asked Questions
-==========================
-
-    * 1.  Why do you call it "Exuberant Ctags"?
-    * 2.  Why doesn't my editor work with these tag files?
-    * 3.  What are these strange bits of text beginning with ;"?
-    * 4.  Why doesn't XEmacs' Speedbar module work with Exuberant Ctags?
-    * 5.  Why doesn't Xemacs correctly locate the tag in the source file?
-    * 6.  Why doesn't NEdit correctly locate the tag in the source file?
-    * 7.  Why can't I jump to "class::member"?
-    * 8.  How can I avoid having to specify my favorite option every time?
-    * 9.  Why do I end up on the wrong line when I jump to a tag?
-    * 10.  How do I jump to the tag I want instead of the wrong one by the
-           same name?
-    * 11.  What is "Vim"?
-    * 12.  How can I locate all references to a specific function or variable?
-    * 13.  Why does appending tags to a tag file tag so long?
-    * 14.  How do I get regex support for Win32?
-    * 15.  How should I set up tag files for a multi-level directory hierarchy?
-
-  ----------------------------------------------------------------------
-1.  Why do you call it "Exuberant Ctags"?
-
-Because one of the meanings of the word "exuberant" is:
-
-    exuberant : produced in extreme abundance : PLENTIFUL syn see PROFUSE
-
-Compare the tag file produced by Exuberant Ctags with that produced by any
-other ctags and you will see how appropriate the name is.
-
-  ----------------------------------------------------------------------
-2.  Why doesn't my editor work with these tag files?
-
-3.  What are these strange bits of text beginning with ;" which follow
-    many of the lines in the tag file?
-
-These are "extension flags". They are added in order to provide extra
-information about the tag that may be utilized by the editor in order to
-more intelligently handle tags. They are appended to the EX command part of
-the tag line in a manner that provides backwards compatibility with existing
-implementations of the Vi editor. The semicolon is an EX command separator
-and the double quote begins an EX comment. Thus, the extension flags appear
-as an EX comment and should be ignored by the editor when it processes the
-EX command.
-
-Some non-vi editors, however, implement only the bare minimum of EX commands
-in order to process the search command or line number in the third field of
-the tag file. If you encounter this problem, use the option "--format=1" to
-generate a tag file without these extensions (remember that you can set the
-CTAGS environment variable to any default arguments you wish to supply). Then
-ask the supplier of your editor to implement handling of this feature of EX
-commands.
-
-  ----------------------------------------------------------------------
-4.  Why doesn't XEmacs' Speedbar module work with Exuberant Ctags?
-
-The default command line switches used by XEmacs for "etags" are not
-compatible with Exuberant Ctags options. By default, Exuberant Ctags installs
-a symbolic link, "etags", pointing to the ctags executable. When Exuberant
-Ctags is started with the name "etags", it produces Emacs-style tag files by
-default.
-
-To fix this, add the following lines to your .emacs file, replacing the path
-to "etags" with the path where the symbolic link was installed.
-
-(autoload 'speedbar "speedbar")
-(setq speedbar-fetch-etags-command "/usr/local/bin/etags"
-      speedbar-fetch-etags-arguments '("-f" "-"))
-
-  ----------------------------------------------------------------------
-5.  Why doesn't Xemacs correctly locate the tag in the source file?
-
-This has been observed with version 20.3. It seems that when Xemacs searches
-for a tag, it searches using the tag name instead of the search string located
-in the TAGS file. This is a bug in Xemacs and does not occur in the GNU
-version of Emacs.
-
-  ----------------------------------------------------------------------
-6.  Why doesn't NEdit correctly locate the tag in the source file?
-
-Versions of NEdit prior to 5.1 did not support the extended tag file format
-generated by Exuberant Ctags by default. Either upgrade to version 5.1 or
-specify the option "--format=1" when running ctags to output the old tag file
-format.
-
-  ----------------------------------------------------------------------
-7.  Why can't I jump to "class::member"?
-
-Because, by default, ctags only generates tags for the separate identifiers
-found in the source files. If you specify the --extra=+q option, then
-ctags will also generate a second, class-qualified tag for each class member
-(data and function/method) in the form class::member for C++, and in the form
-class.method for Eiffel and Java.
-
-  ----------------------------------------------------------------------
-8.  How can I avoid having to specify my favorite option every time?
-
-Either by setting the environment variable CTAGS to your custom
-options, or putting them into a .ctags file in your home directory.
-
-  ----------------------------------------------------------------------
-9.  Why do I end up on the wrong line when I jump to a tag?
-
-By default, ctags encodes the line number in the file where macro (#define)
-tags are found. This was done to remain compatible with the original UNIX
-version of ctags. If you change the file containing the tag without
-rebuilding the tag file, the location of tag in the tag file may no longer
-match the current location.
-
-In order to avoid this problem, you can specify the option "--excmd=p",
-which causes ctags to use a search pattern to locate macro tags. I have
-never uncovered the reason why the original UNIX ctags used line numbers
-exclusively for macro tags, but have so far resisted changing the default
-behaviour of Exuberant Ctags to behave differently.
-
-  ----------------------------------------------------------------------
-10.  How do I jump to the tag I want instead of the wrong one by the
-     same name?
-
-A tag file is simple a list of tag names and where to find them. If there
-are duplicate entries, you often end up going to the wrong one because the
-tag file is sorted and your editor locates the first one in the tag file.
-
-Standard Vi provides no facilities to alter this behavior. However, Vim
-has some nice features to minimize this problem, primarly by examining all
-matches and choosing the best one under the circumstances. Vim also provides
-commands which allow for selection of the desired matching tag.
-
-  ----------------------------------------------------------------------
-11.  What is "Vim"?
-
-Vim is a vi-compatible editor available as source and compilable for any
-platform. Yeah, I know the first reaction is to shy away from this. But you
-will never regret getting it, and you will become greatly attached to its
-features, which you can learn gradually. I would be willing to say that it
-is the best vi-clone available within 4 light-years of Alpha Centauri. It
-works (nearly) exactly like standard vi, but provides some incredibly useful
-extensions (some of which I have participated in designing with the author).
-Most Linux distributions have adopted Vim as its standard vi.
-
-  ----------------------------------------------------------------------
-12.  How can I locate all references to a specific function or variable?
-
-There are several packages already available which provide this capability.
-Namely, these are: GLOBAL source code tag system, GNU id-utils, cscope,
-and cflow. As of this writing, they can be found in the following locations:
-
-GLOBAL:    http://www.gnu.org/software/global
-id-utils:  http://www.gnu.org/software/idutils/idutils.html
-cscope:    http://cscope.sourceforge.net
-cflow:     ftp://www.ibiblio.org/pub/Linux/devel/lang/c
-
-  ----------------------------------------------------------------------
-13.  Why does appending tags to a tag file tag so long?
-
-Sometimes, in an attempt to build a global tag file for all source files in
-a large source tree of many directories, someone will make an attempt to run
-ctags in append (-a) mode on every directory in the hierarchy. Each time
-ctags is invoked, its default behavior is to sort the tag file once the tags
-for that execution have been added. As the cumulative tag file grows, the sort
-time increases arithmetically.
-
-The best way to avoid this problem (and the most efficient) is to make
-use of the --recurse (or -R) option of ctags by executing the following
-command in the root of the directory hierarchy (thus running ctags only once):
-
-        ctags -R
-
-If you really insist on running ctags separately on each directory, you can
-avoid the sort pass each time by specifying the option "--sort=no". Once the
-tag file is completely built, use the sort command to manually sort the
-final tag file, or let the final invocation of ctags sort the file.
-
-  ----------------------------------------------------------------------
-14.  How do I get regex support for Win32?
-
-You need to download the GNU regex package for Win32 from the following
-location:
-
-    http://people.delphiforums.com/gjc/gnu_regex.html
-
-Then point the makefile macro, REGEX_DIR, found in mk_mvc.mak and mk_bc5.mak,
-to the directory created by extracting this archive.
-
-  ----------------------------------------------------------------------
-15.  How should I set up tag files for a multi-level directory hierarchy?
-
-There are a few ways of approaching this:
-
-1.  A local tag file in each directory containing only the tags for source
-    files in that directory.
-
-2.  One single big, global tag file present in the root directory of your
-    hierarchy, containing all tags present in all source files in the
-    hierarchy.
-
-3.  A local tag file in each directory containing only the tags for source
-    files in that directory, in addition to one single global tag file
-    present in the root directory of your hierarchy, containing all
-    non-static tags present in all source files in the hierarchy.
-
-4.  A local tag file in each directory of the hierarchy, each one
-    containing all tags present in source files in that directory and all
-    non-static tags in every directory below it (note that this implies
-    also having one big tag file in the root directory of the hierarchy).
-
-Each of these approaches has its own set of advantages and disadvantages,
-depending upon your particular conditions. Which approach is deemed best
-depends upon the following factors:
-
-A.  The ability of your editor to use multiple tag files.
-
-    If your editor cannot make use of multiple tag files (original vi
-    implementations could not), then one large tag file is the only way to
-    go if you ever desire to jump to tags located in other directories. If
-    you never need to jump to tags in another directory (i.e. the source
-    in each directory is entirely self-contained), then a local tag file
-    in each directory will fit your needs.
-
-B.  The time is takes for your editor to look up a tag in the tag file.
-
-    The significance of this factor depends upon the size of your source
-    tree and on whether the source files are located on a local or remote
-    file system. For source and tag files located on a local file system,
-    looking up a tag is not as big a hit as one might first imagine, since
-    vi implementations typically perform a binary search on a sorted tag
-    file. This may or may not be true for the editor you use. For files
-    located on a remote file system, reading a large file is an expensive
-    operation.
-
-C.  Whether or not you expect the source code to change and the time it
-    takes to rebuild a tag file to account for changes to the source code.
-
-    While Exuberant Ctags is particularly fast in scanning source code
-    (around 1-2 MB/sec), a large project may still result in objectionable
-    delays if one wishes to keep their tag file(s) up to date on a
-    frequent basis, or if the files are located on a remote file system.
-
-D.  The presence of duplicate tags in the source code and the ability to
-    handle them.
-
-    The impact of this factor is influenced by the following three issues:
-
-    1.  How common are duplicate tags in your project?
-
-    2.  Does your editor provide any facilities for dealing with duplicate
-        tags?
-
-        While standard vi does not, many modern vi implementations, such
-        as Vim have good facilities for selecting the desired match from
-        the list of duplicates. If your editor does not support duplicate
-        tags, then it will typically send you to only one of them, whether
-        or not that is the one you wanted (and not even notifying you that
-        there are other potential matches).
-
-    3.  What is the significance of duplicate tags?
-
-        For example, if you have two tags of the same name from entirely
-        isolated software components, jumping first to the match found
-        in component B while working in component A may be entirely
-        misleading, distracting or inconvenient (to keep having to choose
-        which one if your editor provides you with a list of matches).
-        However, if you have two tags of the same name for parallel builds
-        (say two initialization routines for different hosts), you may
-        always want to specify which one you want.
-
-Of the approaches listed above, I tend to favor Approach 3. My editor of
-choice is Vim, which provides a rich set of features for handling multiple
-tag files, which partly influences my choice. If you are working with
-source files on a remote file system, then I would recommend either
-Approach 3 or Approach 4, depending upon the hit when reading the global
-tag file.
-
-The advantages of Approach 3 are many (assuming that your editor has
-the ability to support both multiple tag files and duplicate tags). All
-lookups of tag located in the currect directory are fast and the local
-tag file can be quickly and easily regenerated in one second or less
-(I have even mapped a keystroke to do this easily). A lookup of a
-(necessarily non-static) tag found in another directory fails a lookup in
-the local tag file, but is found in the global tag file, which satisfies
-all cross-directory lookups. The global tag file can be automatically
-regenerated periodically with a cron job (and perhaps the local tag files
-also).
-
-Now I give an example of how you would implement Approach 3. Means of
-implementing the other approaches can be performed in a similar manner.
-
-Here is a visual representation of an example directory hierarchy:
-
-project
-  `-----misccomp
-  |       `...
-  `-----sysint
-          `-----client
-          |       `-----hdrs
-          |       `-----lib
-          |       `-----src
-          |       `-----test
-          `-----common
-          |       `-----hdrs
-          |       `-----lib
-          |       `-----src
-          |       `-----test
-          `-----server
-                  `-----hdrs
-                  `-----lib
-                  `-----src
-                  `-----test
-
-Here is a recommended solution (conceptually) to build the tag files:
-
-1.  Within each of the leaf nodes (i.e. hdrs, lib, src, test) build a tag
-    file using "ctags *.[ch]". This can be easily be done for the whole
-    hierarchy by making a shell script, call it "dirtags", containing the
-    following lines:
-
-        #!/bin/sh
-       cd $1
-       ctags *
-
-    Now execute the following command:
-
-        find * -type d -exec dirtags {} \;
-
-    These tag files are trivial (and extremely quick) to rebuild while
-    making changes within a directory. The following Vim key mapping is
-    quite useful to rebuild the tag file in the directory of the current
-    source file:
-
-        :nmap ,t :!(cd %:p:h;ctags *.[ch])&<CR><CR>
-
-2.  Build the global tag file:
-
-        cd ~/project
-        ctags --file-scope=no -R
-
-    thus constructing a tag file containing only non-static tags for all
-    source files in all descendent directories.
-
-3.  Configure your editor to read the local tag file first, then consult
-    the global tag file when not found in the local tag file. In Vim,
-    this is done as follows:
-
-        :set tags=./tags,tags,~/project/tags
-
-If you wish to implement Approach 4, you would need to replace the
-"dirtags" script of step 1 with the following:
-
-        #!/bin/sh
-       cd $1
-       ctags *
-       # Now append the non-static tags from descendent directories
-       find * -type d -prune -print | ctags -aR --file-scope=no -L-
-
-And replace the configuration of step 3 with this:
-
-        :set tags=./tags,./../tags,./../../tags,./../../../tags,tags
-
-As a caveat, it should be noted that step 2 builds a global tag file whose
-file names will be relative to the directory in which the global tag file
-is being built. This takes advantage of the Vim 'tagrelative' option,
-which causes the path to be interpreted a relative to the location of the
-tag file instead of the current directory. For standard vi, which always
-interprets the paths as relative to the current directory, we need to
-build the global tag file with absolute path names. This can be
-accomplished by replacing step 2 with the following:
-
-        cd ~/project
-       ctags --file-scope=no -R `pwd`
-
---
diff --git a/src/bin/ctags/INSTALL b/src/bin/ctags/INSTALL
deleted file mode 100644
index 9f059c2..0000000
--- a/src/bin/ctags/INSTALL
+++ /dev/null
@@ -1,215 +0,0 @@
-Custom Installation
-===================
-
-These installation instructions are for Unix or Unix-like platforms (or at
-least, those platforms which are able to run a Bourne shell script). If you
-are attempting to install Exuberant Ctags on some other platform, see the file
-INSTALL.oth.
-
-If you are not familiar with using the configure scripts generated by GNU
-autoconf, read the "Basic Installation" section below; then return here.
-The configure script in this package supports the following custom options:
-
-  --disable-etags               By default, "make install" will install one
-                                binary, "ctags", one man page, "ctags.1", and
-                                create links to these two files by the names
-                                "etags" and "etags.1". If you do not want to
-                                install the "etags" links, use this option.
-
-  --disable-extended-format     Ctags now appends "extension flags" to the
-                                end of each tag entry in a manner which is
-                                backwards with original Vi implementation
-                                (they are placed into an EX comment). This
-                                can be disabled via use of the ctags --format
-                                option. This configure option changes the
-                                default behavior of ctags to disable use of
-                                these extension flags (i.e. use the original
-                                tag file format).
-
-  --disable-external-sort       Use this option to force use of an internal
-                                sort algorithm. On UNIX-like systems, ctags
-                                uses the sort utility of the operating system
-                                by default because it is more memory efficient.
-
-  --enable-custom-config=FILE   Defines a custom option configuration file to
-                                establish site-wide defaults. Ctags will read
-                                the following files at startup for options:
-                                /etc/ctags.conf, /usr/local/etc/ctags.conf,
-                                $HOME/.ctags, and .ctags. If you need a
-                                different file, set this option to the full
-                                path name of the file you want to be read, and
-                                it will be read immediately before reading
-                                $HOME/.ctags.
-
-  --enable-macro-patterns       By default, line numbers are used in the tag
-                                file for #define objects, in order to remain
-                                compatible with the original UNIX ctags. This
-                                option will make the default use patterns.
-
-  --enable-maintainer-mode      Creates a special GNU-specific version of the
-                                makefile which is used to maintain Exuberant
-                                Ctags.
-
-  --enable-tmpdir=DIR           When the library function mkstemp() is
-                                available, this option allows specifying the
-                                default directory to use for temporary files
-                                generated by ctags. This default can be
-                                changed at run time by setting the environment
-                                variable TMPDIR.
-
-If you wish to change the name of the installed files, edit the makefile
-produced by the configure script ("Makefile") before performing the "make
-install" step. There are two lines at the top of the file where the names of
-the installed files may be customized.
-
-
-Basic Installation
-==================
-
-   These are generic installation instructions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
-   The file `configure.in' is used to create `configure' by a program
-called `autoconf'.  You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.  If you're
-     using `csh' on an old version of System V, you might need to type
-     `sh ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
-
-     Running `configure' takes awhile.  While running, it prints some
-     messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
-initial values for variables by setting them in the environment.  Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
-     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
-     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
-   If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory.  After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
-   By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc.  You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
-Optional Features
-=================
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
-     Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
-
-`--help'
-     Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--version'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-
diff --git a/src/bin/ctags/INSTALL.oth b/src/bin/ctags/INSTALL.oth
deleted file mode 100644
index ef626e5..0000000
--- a/src/bin/ctags/INSTALL.oth
+++ /dev/null
@@ -1,84 +0,0 @@
-If you are attempting to install Exuberant Ctags on a Unix-like platform
-(one that can at least run a Bourne shell script) see the file INSTALL.
-
-Installation Notes
-==================
-
-For non-Unix platforms, simple makefiles are provided:
-
-    descrip.mms   For VMS using either DEC C or VAX C
-    mk_bc3.mak    For MSDOS using Borland C/C++ 3.x
-    mk_bc5.mak    For Win32 using Borland C++ 5.5
-    mk_djg.mak    For MSDOS using DJGPP Gnu GCC (better to follow Unix install)
-    mk_manx.mak   For Amiga using Aztec/Manx C 5.0
-    mk_ming.mak   For Win32 using Mingw32
-    mk_mpw.mak    For Macintosh using MPW
-    mk_mvc.mak    For Win32 using Microsoft Visual C++
-    mk_os2.mak    For OS/2 using GCC (EMX)
-    mk_qdos.mak   For QDOS using C68
-    mk_riscos.mak For RISC OS using the GCC SDK <http://hard-mofo.dsvr.net>
-    mk_sas.mak    For Amiga using SAS/C
-
-
-Special Notes
-=============
-
-Win32:
-------
-
-  Regex support on Win32 is available when compiled to use the Win32 port of
-  the Gnu regex library, which can be obtained here:
-
-    http://people.delphiforums.com/gjc/gnu_regex.html
-
-  See the makefiles, mk_mvc.mak or mk_bc5.mak, to learn how to build with
-  this library.
-
-DJGPP:
-------
-
-  It is better to follow the standard Unix install on DJGPP, but this requires
-  that you use BASH and requires a fairly complete installation of GJGPP
-  packages. You can use mk_djg.mak if you can't run configure.
-
-Macintosh with MPW:
--------------------
-
-  To build Ctags on MPW you will have to have the Metrowerks compilers
-  or you will have to edit the makefiles yourself.
-  
-  Since the makefile for MPW is called mk_mpw.mak you will have to give
-  the command: `Make -f mk_mpw.mak CTags` and then select the output
-  and execute it. Alternatively you could rename this makefile to
-  CTags.make and issue the command `Build CTags`.
-  
-  If the build process goes wrong make sure the line endings for the
-  makefile are set to MacOS (CR instead of LF).
-
-  This version of Ctags only accepts and emits unix style paths. This was
-  done since it was easier to implement (few changes in main source files)
-  and since I ported Ctags to MPW to use with Pepper which also works with
-  unix style paths internally. Besides, since we're now moving to MacOS X
-  anyway, Mac programmers are getting used to unix style paths anyway.
-  
-  Example, suppose you have a project using PowerPlant which is located in
-  'HD20:tools:PowerPlant:' and you want a tags file for all powerplant
-  sources and your projects sources. Go to the root directory of your
-  project and type:
-
-    CTags -R . '/HD20/tools/PowerPlant/'
-
-  The '.' in this command means current directory. You will also have to
-  put quotes around the full unix style path since / has a special meaning
-  in MPW.
-  
-RISC OS:
---------
-
-  Regex support on RISC OS is available when compiled to use the RISC OS port
-  of the GNU regex library, which can be obtained from:
- 
-    <http://www.sbellon.de/software.html>
- 
-  Using 'Set RexEx$Path <Obey$Dir>.' in the regex-0/12 directory will ensure
-  it can be found.
diff --git a/src/bin/ctags/Jamfile b/src/bin/ctags/Jamfile
deleted file mode 100644
index 650d9da..0000000
--- a/src/bin/ctags/Jamfile
+++ /dev/null
@@ -1,56 +0,0 @@
-SubDir HAIKU_TOP src bin ctags ;
-
-SubDirCcFlags -DHAVE_CONFIG_H ;
-
-SUBDIRYACCFLAGS += d ;
-
-SubDirSysHdrs [ FDirName $(SUBDIR) ] ;
-
-BinCommand ctags :
-       args.c
-       asm.c
-       asp.c
-       awk.c
-       basic.c
-       beta.c
-       c.c
-       cobol.c
-       debug.c
-       eiffel.c
-       entry.c
-       erlang.c
-       fortran.c
-       get.c
-       html.c
-       jscript.c
-       keyword.c
-       lisp.c
-       lregex.c
-       lua.c
-       main.c
-       make.c
-       options.c
-       parse.c
-       pascal.c
-       perl.c
-       php.c
-       python.c
-       read.c
-       rexx.c
-       routines.c
-       ruby.c
-       scheme.c
-       sh.c
-       slang.c
-       sml.c
-       sort.c
-       sql.c
-       strlist.c
-       tcl.c
-       verilog.c
-       vim.c
-       yacc.c
-       vstring.c
-       :  
-       : ctags.rdef ;
-
diff --git a/src/bin/ctags/MAINTAINERS b/src/bin/ctags/MAINTAINERS
deleted file mode 100644
index c49bbe0..0000000
--- a/src/bin/ctags/MAINTAINERS
+++ /dev/null
@@ -1,19 +0,0 @@
-The following individuals are registered as developers for the maintenance of
-Exuberant Ctags. They are listed by their SourgeForge username and by the
-To send email to any one of them, send it to <username@xxxxxxxxxxxxxxxxxxxxx>.
-
-Ctags           SourgeForge     Full
-Parser          username        Name
-----------      -----------     -----
-AWK             jkoshy          Joseph Koshy
-Basic           elias           Elias Pschernig
-Java            elliotth        Elliott Hughes
-JavaScript      dfishburn       David Fishburn
-Perl            perlguy0        Dmitri Tikhonov
-PHP             jafl            John Lindal
-Python          elias           Elias Pschernig
-Ruby            elliotth        Elliott Hughes
-SML             jkoshy          Joseph Koshy
-SQL             dfishburn       David Fishburn
-Vim             dfishburn       David Fishburn
-All else        dhiebert        Darren Hiebert
diff --git a/src/bin/ctags/Makefile.in b/src/bin/ctags/Makefile.in
deleted file mode 100644
index a5032d2..0000000
--- a/src/bin/ctags/Makefile.in
+++ /dev/null
@@ -1,221 +0,0 @@
-# $Id: Makefile.in 359 2003-07-27 22:09:58Z darren $
-#
-# Makefile for UNIX-like platforms.
-#
-
-# These are the names of the installed programs, in case you wish to change
-# them.
-#
-CTAGS_PROG = ctags
-ETAGS_PROG = etags
-
-# Set this to the path to your shell (must run Bourne shell commands).
-#
-SHELL = /bin/sh
-
-# GNU Autoconf variables. These are set by the "configure" script when it
-# runs.
-#
-exec_prefix = @exec_prefix@
-prefix = @prefix@
-bindir = @bindir@
-srcdir = @srcdir@
-libdir = @libdir@
-incdir = @includedir@
-mandir = @mandir@
-SLINK  = @LN_S@
-STRIP  = @STRIP@
-CC     = @CC@
-DEFS   = @DEFS@
-CFLAGS = @CFLAGS@
-LDFLAGS        = @LDFLAGS@
-LIBS   = @LIBS@
-EXEEXT = @EXEEXT@
-OBJEXT = @OBJEXT@
-
-# If you cannot run the "configure" script to set the variables above, then
-# uncomment the defines below and customize them for your environment. If
-# your system does not support symbolic (soft) links, then remove the -s
-# from SLINK.
-#
-#srcdir        = .
-#bindir        = /usr/local/bin
-#mandir        = /usr/local/man
-#SLINK = ln -s
-#STRIP = strip
-#CC    = cc
-#DEFS  = -DHAVE_CONFIG_H
-#CFLAGS        = -O
-#LDFLAGS=
-
-include $(srcdir)/source.mak
-
-#
-#--- You should not need to modify anything below this line. ---#
-#
-
-.SUFFIXES:
-.SUFFIXES: .c .$(OBJEXT)
-
-VPATH  = $(srcdir)
-
-INSTALL                = cp
-INSTALL_PROG   = $(INSTALL)
-INSTALL_DATA   = $(INSTALL)
-
-READ_LIB = readtags.$(OBJEXT)
-READ_INC = readtags.h
-
-MANPAGE        = ctags.1
-
-AUTO_GEN   = configure config.h.in
-CONFIG_GEN = config.cache config.log config.status config.run config.h Makefile
-
-#
-# names for installed man pages
-#
-manext = 1
-man1dir        = $(mandir)/man1
-CMAN   = $(CTAGS_PROG).$(manext)
-EMAN   = $(ETAGS_PROG).$(manext)
-
-#
-# destinations for installed files
-#
-CTAGS_EXEC     = $(CTAGS_PROG)$(EXEEXT)
-ETAGS_EXEC     = $(ETAGS_PROG)$(EXEEXT)
-DEST_CTAGS     = $(bindir)/$(CTAGS_EXEC)
-DEST_ETAGS     = $(bindir)/$(ETAGS_EXEC)
-DEST_READ_LIB  = $(libdir)/$(READ_LIB)
-DEST_READ_INC  = $(incdir)/$(READ_INC)
-DEST_CMAN      = $(man1dir)/$(CMAN)
-DEST_EMAN      = $(man1dir)/$(EMAN)
-
-#
-# primary rules
-#
-all: $(CTAGS_EXEC) $(READ_LIB)
-
-$(CTAGS_EXEC): $(OBJECTS)
-       $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
-
-dctags$(EXEEXT): debug.c $(SOURCES) $(HEADERS)
-       $(CC) -I. -I$(srcdir) $(DEFS) -DDEBUG -g $(LDFLAGS) -o $@ debug.c 
$(SOURCES)
-
-readtags$(EXEEXT): readtags.c readtags.h
-       $(CC) -DREADTAGS_MAIN -I. -I$(srcdir) $(DEFS) $(CFLAGS) $(LDFLAGS) -o 
$@ readtags.c
-
-ETYPEREF_OBJS = etyperef.o keyword.o routines.o strlist.o vstring.o
-etyperef$(EXEEXT): $(ETYPEREF_OBJS)
-       $(CC) $(LDFLAGS) -o $@ $(ETYPEREF_OBJS)
-
-etyperef.o: eiffel.c
-       $(CC) -DTYPE_REFERENCE_TOOL -I. -I$(srcdir) $(DEFS) $(CFLAGS) -o $@ -c 
eiffel.c
-
-$(OBJECTS): $(HEADERS) config.h
-
-#
-# generic install rules
-#
-install: @install_targets@
-
-install-strip: install
-
-install-ctags: install-cbin install-cman
-install-etags: install-ebin install-eman
-
-$(bindir) $(man1dir) $(libdir) $(incdir):
-       $(srcdir)/mkinstalldirs $@
-
-FORCE:
-
-#
-# install the executables
-#
-install-bin: install-cbin install-ebin install-lib
-install-cbin: $(DEST_CTAGS)
-install-ebin: $(DEST_ETAGS)
-install-lib: $(DEST_READ_LIB) $(DEST_READ_INC)
-
-$(DEST_CTAGS): $(CTAGS_EXEC) $(bindir) FORCE
-       $(INSTALL_PROG) $(CTAGS_EXEC) $@  &&  chmod 755 $@
-
-$(DEST_ETAGS):
-       - if [ -x $(DEST_CTAGS) ]; then \
-           cd $(bindir) && $(SLINK) $(CTAGS_EXEC) $(ETAGS_EXEC); \
-       fi
-
-#
-# install the man pages
-#
-install-man: install-cman install-eman
-install-cman: $(DEST_CMAN)
-install-eman: $(DEST_EMAN)
-
-$(DEST_CMAN): $(man1dir) $(MANPAGE) FORCE
-       - $(INSTALL_DATA) $(srcdir)/$(MANPAGE) $@  &&  chmod 644 $@
-
-$(DEST_EMAN):
-       - if [ -f $(DEST_CMAN) ]; then \
-           cd $(man1dir) && $(SLINK) $(CMAN) $(EMAN); \
-       fi
-
-#
-# install the library
-#
-$(DEST_READ_LIB): $(READ_LIB) $(libdir) FORCE
-       $(INSTALL_PROG) $(READ_LIB) $@  &&  chmod 644 $@
-
-$(DEST_READ_INC): $(READ_INC) $(incdir) FORCE
-       $(INSTALL_PROG) $(READ_INC) $@  &&  chmod 644 $@
-
-
-#
-# rules for uninstalling
-#
-uninstall: uninstall-bin uninstall-lib uninstall-man
-
-uninstall-bin:
-       - rm -f $(DEST_CTAGS) $(DEST_ETAGS)
-
-uninstall-lib:
-       - rm -f $(DEST_READ_LIB) $(DEST_READ_INC)
-
-uninstall-man:
-       - rm -f $(DEST_CMAN) $(DEST_EMAN)
-
-uninstall-ctags:
-       - rm -f $(DEST_CTAGS) $(DEST_CMAN)
-
-uninstall-etags:
-       - rm -f $(DEST_ETAGS) $(DEST_EMAN)
-
-#
-# miscellaneous rules
-#
-tags: $(CTAGS_EXEC)
-       ./$(CTAGS_EXEC) $(srcdir)/*
-
-TAGS: $(CTAGS_EXEC)
-       ./$(CTAGS_EXEC) -e $(srcdir)/*
-
-clean:
-       rm -f $(OBJECTS) $(CTAGS_EXEC) tags TAGS $(READ_LIB) 
-       rm -f dctags$(EXEEXT) readtags$(EXEEXT)
-       rm -f etyperef$(EXEEXT) etyperef.$(OBJEXT)
-
-mostlyclean: clean
-
-distclean: clean
-       rm -f $(CONFIG_GEN)
-
-maintainerclean: distclean
-       rm -f $(AUTO_GEN)
-
-#
-# implicit rules
-#
-.c.$(OBJEXT):
-       $(CC) -I. -I$(srcdir) $(DEFS) $(CFLAGS) -c $<
-
-# vi:set tabstop=8:
diff --git a/src/bin/ctags/NEWS b/src/bin/ctags/NEWS
deleted file mode 100644
index 3133ab7..0000000
--- a/src/bin/ctags/NEWS
+++ /dev/null
@@ -1,841 +0,0 @@
-Current Version: 5.7
-
-ctags-5.7 (04 Sep 2007)
-* Added support for DIM AS [Freebasic, Bug #1741778].
-* Added support for arbitrary nesting depth [Python, Bug #1684786, Debian bug 
#409078].
-* Added support for verbatim string literals [C#, Bug #1515910].
-* Added support for .ctags as well as ctags.cnf on Windows [Bug #1246506].
-* Added support for non-extern, non-static functions returning wchar_t, 
contributed by Aaron Peromsik [C++, Patch #1458930].
-* Added support for numerous revision control systems including Bazaar and 
Mercurial [Bug #1472894].
-* Added support for enums [Java, Bug #1730485, Bug #1517143, Patch #1027395, 
Patch #1528507].
-* Added support for multiple-level namespace declarations [C#].
-* Added .svn to list of directories ignored during recursion (--recurse).
-* Added support for BlitzBasic, PureBasic and FreeBasic [FR #1100506].
-* Added support for interfaces and static/public/protected/private functions 
[PHP].
-* Added support for 'package' keyword [Perl].
-* Added support for multi-line subroutine, package, and constant definitions 
[Perl].
-* Added support for optional subroutine declarations [Perl].
-* Added support for formats [Perl].
-* Added support for new convert keyword [Eiffel].
-* Added optional tags for forward variable declarations (e.g. 'struct C;') [C, 
C++].
-* Changed parsing of option input file (-L) to strip trailing white space.
-* Ignore comments mixed into definitions and declarations [Perl].
-* Fixed detecting labels with whitespace after label name [Perl, Bug #1752361]
-* Fixed parsing of generic classes/interfaces [Java, Bug #1447756].
-* Fixed misidentification of fully qualified function calls as labels [Perl].
-* Fixed parsing of inner classes [Python, Bug #1411963].
-* Fixed line continuation [Python, Bug #928001, Patch #819471].
-* Fixed parsing of annotations [Java, Bug #1691412].
-* Fixed block-comment parsing [Verilog, Patch #1458042, Bugs #960316, 
#1111214, #1606569, #1615060].
-* Fixed typo in man page [Debian bug #366412].
-* Fixed missing chunk of text in man page and over-use of hyphens in UTF-8 
locales [Debian bug #271323].
-* Fixed parsing of ` as a method name [Ruby].
-* Fixed parsing of keywords in string literals [Ruby, Bug #1742588].
-* Fixed potential segmentation violation [Bug #1672834, Bug #1222926].
-* Fixed parsing of destructors with whitespace after the '~' [C++, Bug 
#1585745].
-* Fixed default access of unions to be public [C++, Bug #1548443].
-* Fixed various memory leaks, mostly contributed by Dmitry Antipov.
-* Fixed parsing of `define [Verilog, Bug #961001].
-* Fixed crashes involving '/' [Verilog, Bug #1743330].
-* Fixed compilation problem on MinGW [Bug #1517424].
-* Fixed generation of HTML-formatted man page [Bug #1645864].
-* Fixed recognition of Python scripts having '#!/usr/bin/python' as first line 
[Bug #1764148].
-* Fixed parsing of Fortran comment-to-end-of-line with no newline before EOF 
[Debian bug #432872].
-* Fixed parsing of << [C/C++, Bugs #1020715, #1093123, #1770479, #1770607].
-* Fixed parsing of fully-qualified type names [Java, Bug #814263].
-* Fixed handling of lone carriage-return characters in file [Bug #1773926].
-
-ctags-5.6 (Mon May 29 2006)
-* Reformatted code for independence of tab stop setting.
-* Changed default configuration to disable installation of etags links.
-* Changed --langmap to first unmap each supplied extension from other 
languages.
-* Added support for ASP constants [ASP, Patch #961842].
-* Added support for GNU make extensions [Make].
-* Added .mk as extension recognized as a make language file [Make].
-* Added missing help for list-maps options [Bug #1201826].
-* Added new extension field "typeref" [thanks to Bram Moolenaar].
-* Extended functionality of Ruby parser with patch from Elliott Hughes [Ruby].
-* Fixed creation of TAGS file with etags-include but no files [Bug #941233].
-* Fixed problem reading last line of list file (-L) without final newline.
-* Fixed infinite loop that could occur on files without final newline [C, 
Java].
-* Fixed incorrect tag for first field of table [SQL].
-* Fixed missing tags for functions beginning with underscore [Sh].
-* Fixed missing tags for functions with variable arg list [C, Bug #1201689].
-* Fixed parsing problem with parentheses in argument list [C, Bug #1085585].
-* Fixed problem in preprocessor directive handling [C, Bug #1086609].
-
-ctags-5.5.4 (Thu Mar 25 2004)
-* Fixed broken -R option.
-
-ctags-5.5.3 (Sun Mar 14 2004)
-* Removed forgotten debug statement [Bug #811704].
-* Added support for Perl labels.
-* Added support for Perl "use constant" [Perl, Patch #853704, Feature Request
-  #710017].
-* Added support for package qualification of tags, removing useless "package"
-  tag kind [Perl, Feature Request #448887].
-* Added support for "and" keyword [SML, Bug #816636].
-* Added support for variables [PHP].
-* Fixed problem destroying tag file with certain info options [Bug #845502].
-* Fixed portability problem [DJGPP].
-* Fixed problem of double characters in signature field [C, Bug #852368].
-* Fixed problem manifested by errant preprocessor conditionals [Bug #839162].
-* Fixed incorrect line address in tag file for SQL tags [SQL, Bug #823000].
-* Fixed incorrect recognition of POD paragraph [Perl, Bug #842077].
-* Fixed spurious tags for for C++ member templtates [C++, Bug #849591].
-* Fixed missing tags related to template specializations [C++, Bug #872494].
-* Fixed spurious local tags for statements following labels [C].
-* Fixed missing tags for certain scoped functions [Vim].
-* Fixed infinite loop in Fortran parser.
-* Fixed missing tags for certain initializers [Fortran, Bug #877956].
-* Fixed problem with comment line after continuation character [Fortran,
-  Bug #858165].
-
-ctags-5.5.2 (Wed Sep 17 2003)
-* Added tags for local variables for C-based languages [C/C++/C#/Java/Vera,
-  Feature Request #449503].
-* Fixed compilation problem due to type change made to accomodate change of
-  return type of _findfirst() in VisualStudio.Net [Win32, Bug #775789].
-* Fixed problems with certain bit fields.
-
-ctags-5.5.1 (Wed Jul 30 2003)
-* Changed supported tag kinds for Verilog parser during overhaul.
-* Restored exit of program after --help, --license, and --version options [Bug
-  #717311, #751240].
-* Removed inclusion of general.h (GPL) from readtags.c (public domain).
-* Added support for tags for labels [PL/SQL].
-* Added support for tags for constant definitions [PHP].
-* Fixed redundant parsing of configuration file [Windows, Bug #768814].
-* Fixed missing tags for definitions spanning lines [Verilog, Bug #762027].
-* Fixed compilation error for uncommon hosts.
-* Fixed missing tags for Korn shell specific function definitions. [Sh,
-  Bug #769184]
-* Fixed missing tags when semicolon separator appears [Fortran, Bug #734933].
-* Fixed missing tags when endsubroutine keyword appears [Fortran, Bug #726712].
-* Fixed problem with fixed-form line continuation following comment [Fortran,
-  Bug #726875].
-* Fixed missing tags for nested blocks [PL/SQL, Bug #722501].
-* Fixed missing tags for function typedefs [C].
-* Fixed inability to map empty extension when path contained dot [Bug #742689].
-
-ctags-5.5 (Tue Apr 1 2003)
-* Changed kind indicator for methods from 'f' to 'm' [Tcl].
-* Changed tags within interfaces to be disabled by default (like prototypes in
-  C/C++) [Fortran].
-* Removed explicit descriptions of individual --<LANG>-types options from
-  --help output. See new --list-languages and --list-kinds options.
-* Removed explicit list of supported languages and supported tag kinds and
-  mapping patterns from man page. See new --list-languages, --list-kinds, and
-  --list-maps options.
-* Renamed --<LANG>-types option to --<LANG>-kinds (still accepts old name).
-* Added --list-kinds option.
-* Added --list-maps option.
-* Added --list-languages option.
-* Added support for dimensioned variables, contributed by Simon Bohlin [ASP].
-* Added support for C# language.
-* Added support for Erlang language, contributed by Brent Fulgham.
-* Added support for HTML language files.
-* Added support for JavaScript language files.
-* Added support for SML (Standard ML) language, contributed by Venkatesh 
Prasad.
-* Added mapping for .plx to Perl.
-* Added tags for autocommand groups [Vim, Patch #664685].
-* Added support for numerous language extensions [Fortran].
-* Added '$', 'D', and 'd' in column 1 as comment characters [Fortran].
-* Added special handling of --options=NONE to disable automatic reading of
-  options from configuration files or environment.
-* Added check for case-insensitive filenames to configure.
-* Fixed problem with lower case <SID> tag [Vim, Bug #657327].
-* Fixed problem recognizing indented code [Vim, Patch #664685].
-* Fixed problem with infinite loop in certain comments [PL/SQL, Bug #629115].
-* Fixed problem of incorrect extension field [C, Bug #639639].
-* Fixed problem of empty scoping extension field [C, Bug #639644].
-* Fixed missing tags for functions split across lines [PHP, Bug #681824].
-* Fixed missing tags for nested subprograms using 'contains' [Fortran,
-  Bug #670433].
-* Fixed missing tags when variable has same name as keyword [Fortran].
-* Fixed spurious tag when an array-spec occurs within an entity-decl [Fortran].
-* Fixed mishandling of multiline raw strings [Python, Bug #699171].
-* Fixed missing scope extension field on namespaces [C++, C#, Bug #665086].
-* Fixed several bugs causing missed tags [Fortran].
-* Fixed problem with --langmap option preventing clearing of map [Bug #688442].
-* Fixed recognition of Unicode-8 characters [Java].
-* Fixed man page errors and omissions.
-* Fixed bug in readFieldValue() in readtags library.
-* Fixed bug in option parsing in readtags command-line program.
-* Fixed portability problems with DJGPP [Bug #692569].
-* Fixed portability problems with Cygwin.
-
-ctags-5.4 (Thu Oct 17 2002)
-* Improved ability for tagsOpen() in readtags library to report failure to
-  open tag file, adding new fields to tagFileInfo structure.
-* Improved Cobol support to include data, files, groups, and sections [Cobol].
-* Added '$' a valid character for C identifier [VMS].
-* Added support for recording routine argument declarations for C-like
-  languages. See the --fields option and man page section TAG FILE FORMAT for
-  more information [C, C++, Java].
-* Added class and method support to TCL parser [TCL].
-* Added support for PL/SQL language.
-* Added support for Vera language, inspired by Dave Eggum [Vera].
-* Fixed problem terminating Perl POD block [Perl, Bug #612621].
-* Fixed problem re whitespace preceding subprogram name [Pascal, Bug #612019].
-* Fixed problem with leading spaces before instruction [TCL, Bug #615928].
-* Fixed problem with double precision functions [Fortran, Bug #620288].
-* Fixed inverted test causing TMPDIR to be used for temporary files when
-  ctags is setuid instead of when not setuid [Bug #623713].
-
-ctags-5.3.1 (Thu Sep 12 2002)
-* Renamed tagsSetSorted() to tagsSetSortType() and "sorted" member of
-  tagFileInfo structure of readtags library to "sort".
-* Added new function, tagsFirst() to readtags library.
-* Fixed incorrect tag kinds [Verilog].
-* Fixed null tags for unnamed BLOCK DATA statements [Fortran].
-* Fixed missing tags for function preceded by "<SID>" [Vim].
-* Fixed missing tags for equate statements not in column 1 [Asm, Bug #538629].
-* Fixed Ruby parser (why didn't the compiler report my screw-up?) [Ruby].
-
-ctags-5.3 (Wed Jul 17 2002)
-* Allowed --etags-include option without input files.
-* Changed Asm parser to back to C-based parser to remove redundant tags,
-  and extending its support for more variants [Asm].
-* Changed to using _tempnam() to create temporary files on Windows, allowing
-  "TMP" environment variable to set temporary directory.
-* Changed the -x output to match that of traditional ctags when the --format=1
-  option is supplied. The new format was also changed slightly to conform more
-  closely to the original format, with the addition of the extra tag type 
field.
-* Added support for Verilog language, submitted by Nam SungHyun.
-* Added support for RISC OS platform, contributed by Andrew Wingate.
-* Added support for "#pragma weak", generating macro tags for weak symbols [C].
-* Added support for mixins and class methods to Ruby parser, submitted by
-  Matthias Veit [Ruby].
-* Added support to ctags and readtags library for case-folded sorting of tag
-  files, submitted by Flemming Madsen.
-* Added identification of class methods [Python].
-* Fixed portability problems [Bugs #541997, #571240].
-* Fixed bug in configure script [Solaris, Bug #542966].
-* Fixed invalid package name tags [Perl, Bug #535068].
-* Fixed failure to output relative paths into etags TAGS files on Win32
-  [Bug #568365].
-* Fixed incorrect line address in cases of line continuation [Fortran].
-* Fixed missing tags for certain cases of invalid syntax [C].
-* Fixed missing tags in Fortran with HPF extensions [Fortran, Bug #565813].
-* Fixed spurious tag for clients portion of feature clause when following
-  an empty feature clause [Eiffel].
-
-ctags-5.2.3 (Sun Feb 24 2002)
-* Fixed portability problem in makefile [Solaris, FreeBSD].
-* Fixed infinite loop for certain cases of invalid syntax [Eiffel].
-* Changed Asm parser to regex, extending its support for more variants [Asm].
-
-ctags-5.2.2 (Sat Feb 16 2002)
-* Fixed spurious tags following empty feature clause [Eiffel].
-* Fixed missing tags for classes specifying generic creation routine [Eiffel].
-* Fixed missing tags when label not followed by white space [YACC].
-* Fixed for portability [Solaris, MacOS X].
-* Added support for type reference tool [Eiffel].
-
-ctags-5.2.1 (Sun Jan 20 2002)
-* Portability 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].
-
-ctags-5.2 (Sun Dec 23 2001)
-* Portability 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.
-
-ctags-5.1 (Tue Nov 06 2001)
-* 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]
-* Fixed incorrect parsing of Vim functions with ':' modifiers [Bug #466517].
-
-ctags-5.0.1 (Sun Apr 15 2001)
-* Fixed problem checking recursive links [SunOS 4.x].
-* Improved security on hosts where mkstemp() is not available.
-
-ctags-5.0 (Sun Mar 18 2001)
-* 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.
-
-ctags-4.0.3 (Sun Jul 16 2000)
-* 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 shell functions [Sh].
-* 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].
-
-ctags-4.0.2 (Mon Jul 10 2000)
-* Now silently ignore -w option for backwards compatibility with SVR4 ctags.
-* Fixed bug resulting in no extension flags when using --kind-long option.
-
-ctags-4.0.1 (Wed Jun 28 2000)
-* Fixed segmentation violation when using --file-tags.
-
-ctags-4.0 (Thu Jun 22 2000)
-* 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/Korn/Z 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].
-
-ctags-3.5.2 (Mon Apr 24 2000)
-* Fixed problem preventing Emacs-style tags from being written to stdout.
-
-ctags-3.5.1 (Sun Apr 23 2000)
-* 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].
-
-ctags-3.5 (Fri Apr 14 2000)
-* 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.
-
-ctags-3.4 (Thu Jan 13 2000)
-* 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.
-
-ctags-3.3.3 (Thu Dec 16 1999)
-* 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.
-
-ctags-3.3.2 (Fri Sep 24 1999)
-* 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.
-
-ctags-3.3.1 (Mon Sep 20 1999)
-* Fixed segmentation violation occurring when directory recursion was selected.
-* Fixed misleading message when out of memory during internal sort.
-
-ctags-3.3 (Fri Sep 17 1999)
-* 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.
-
-ctags-3.2.4 (Thu Jul 01 1999)
-* Changed name of macro in Makefile.in to avoid being overriden by CTAGS
-  environment variable.
-
-ctags-3.2.3 (Mon Jun 21 1999)
-* Small portability change for EMX compiler on OS/2.
-* Slight change to W32 and BCC makefiles.
-
-ctags-3.2.2 (Sat May 29 1999)
-* Fixed endless error loop in the case of unreadable file.
-* Fixed redundant include entries in TAGS file when using --etags-include.
-
-ctags-3.2.1 (Wed May 09 1999)
-* 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].
-
-ctags-3.2 (Wed Mar 03 1999)
-* 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].
-
-ctags-3.1.2 (Tue Jan 26 1999)
-* 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].
-
-ctags-3.1 (Wed Jan 20 1999)
-* 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++].
-
-ctags-3.0.3 (Mon Dec 21 1998)
-* Fixed mistake made in previous version which caused macro tags to be missed.
-* Fixed parsing of --langmap option.
-
-ctags-3.0.2 (Mon Dec 21 1998)
-* 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].
-
-ctags-3.0.1 (Sat Dec 12 1998)
-* 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 [SunOS 4.1.x and MSVC++ 5.0].
-
-ctags-3.0 (Sun Dec 06 1998)
-* 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.
-
-ctags-2.3.2 (Wed Sep 09 1998)
-* Fixed -h option; broken since version 1.7, yet only just reported.
-
-ctags-2.3.1 (Sun Aug 30 1998)
-* 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].
-
-ctags-2.3 (Thu Aug 20 1998)
-* Eliminated compiler warnings [SGI MIPSpro].
-
-ctags-2.2.7 (Mon Aug 17 1998)
-* Fixed porting problem [Borland C++].
-
-ctags-2.2.6 (Wed Aug 12 1998)
-* Fixed core dump encountered on some platforms when the CTAGS environment
-  variable was set but empty.
-* Fixed porting problem [MSVC].
-* Added directory recursion support for Amiga.
-
-ctags-2.2.3 (Sun Aug 02 1998)
-ctags-2.2.2 (Fri Jul 24 1998)
-* Fixed porting problems [AIX, HP-UX, OSF/1, SunOS, MSVC].
-
-ctags-2.2.1 (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].
-
-ctags-2.2 (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 <dir>". 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, OSF/1].
-
-ctags-2.1.1 (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].
-
-ctags-2.1 (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

[ *** diff truncated: 41789 lines dropped *** ]



Other related posts: