summaryrefslogtreecommitdiff
path: root/Build/source/texk/chktex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-05-17 23:34:18 +0000
committerKarl Berry <karl@freefriends.org>2009-05-17 23:34:18 +0000
commit1c565efd4496b6da9fb0589797f8f922bfdf3cc0 (patch)
tree684027441f45ba0950bb1c70f35675dcdb167180 /Build/source/texk/chktex
parentb1da667f15d3c036a7d8d7e51d0da12750ed3b92 (diff)
finish removing chktex, which we never built for anything but Windows
git-svn-id: svn://tug.org/texlive/trunk@13197 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/chktex')
-rw-r--r--Build/source/texk/chktex/COPYING325
-rw-r--r--Build/source/texk/chktex/ChangeLog7
-rw-r--r--Build/source/texk/chktex/ChkTeX.readme515
-rw-r--r--Build/source/texk/chktex/ChkTeX.tex2111
-rw-r--r--Build/source/texk/chktex/FindErrs.c1485
-rw-r--r--Build/source/texk/chktex/FindErrs.h195
-rw-r--r--Build/source/texk/chktex/HashWord.a122
-rw-r--r--Build/source/texk/chktex/MakeHTML.in20
-rw-r--r--Build/source/texk/chktex/Makefile.in346
-rw-r--r--Build/source/texk/chktex/OpSys.c644
-rw-r--r--Build/source/texk/chktex/OpSys.h217
-rw-r--r--Build/source/texk/chktex/Resource.c518
-rw-r--r--Build/source/texk/chktex/Resource.h64
-rw-r--r--Build/source/texk/chktex/Test.out408
-rw-r--r--Build/source/texk/chktex/Test.tex181
-rw-r--r--Build/source/texk/chktex/Utility.c937
-rw-r--r--Build/source/texk/chktex/Utility.h181
-rw-r--r--Build/source/texk/chktex/chktex.c1080
-rw-r--r--Build/source/texk/chktex/chktex.el77
-rw-r--r--Build/source/texk/chktex/chktex.h375
-rw-r--r--Build/source/texk/chktex/chktexrc670
-rw-r--r--Build/source/texk/chktex/chktypes.h76
-rw-r--r--Build/source/texk/chktex/chkweb56
-rw-r--r--Build/source/texk/chktex/config.h.in127
-rwxr-xr-xBuild/source/texk/chktex/configure6073
-rw-r--r--Build/source/texk/chktex/configure.in183
-rw-r--r--Build/source/texk/chktex/deweb.1116
-rw-r--r--Build/source/texk/chktex/deweb.doc132
-rw-r--r--Build/source/texk/chktex/deweb.in122
-rw-r--r--Build/source/texk/chktex/getopt.c756
-rw-r--r--Build/source/texk/chktex/getopt.h129
-rw-r--r--Build/source/texk/chktex/getopt1.c189
-rw-r--r--Build/source/texk/chktex/input.tex1
33 files changed, 0 insertions, 18438 deletions
diff --git a/Build/source/texk/chktex/COPYING b/Build/source/texk/chktex/COPYING
deleted file mode 100644
index 10d1e0b82d3..00000000000
--- a/Build/source/texk/chktex/COPYING
+++ /dev/null
@@ -1,325 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 675 Mass Ave, Cambridge, MA 02139, 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
-
- Appendix: 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.,
- 675 Mass Ave, Cambridge, MA 02139, 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/Build/source/texk/chktex/ChangeLog b/Build/source/texk/chktex/ChangeLog
deleted file mode 100644
index bc3a30a1444..00000000000
--- a/Build/source/texk/chktex/ChangeLog
+++ /dev/null
@@ -1,7 +0,0 @@
-2008-01-31 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- Convert from autoconf-2.13 to autoconf-2.59+:
- * Makefile.in: Add @configure_input@ line.
- * configure.in: Autoupdated.
- * configure: Regenerated (autoconf).
-
diff --git a/Build/source/texk/chktex/ChkTeX.readme b/Build/source/texk/chktex/ChkTeX.readme
deleted file mode 100644
index 9d9dc96ae3c..00000000000
--- a/Build/source/texk/chktex/ChkTeX.readme
+++ /dev/null
@@ -1,515 +0,0 @@
-Short: v1.5. Finds typographic errors in LaTeX
-Author: <jensthi@ifi.uio.no> (Jens T. Berger Thielemann)
-Uploader: <jensthi@ifi.uio.no> (Jens T. Berger Thielemann)
-Type: text/tex
-Replaces: text/tex/ChkTeX.lha
-Version: 1.5
-URL: http://www.ifi.uio.no/~jensthi/chktex/
-Porting: <bjort@ifi.uio.no> (Bjørn Ove Thue) [MSDOS]
- <fritsch@hmi.de> (Wolfgang Fritsch) [OS/2]
-
-
- ##### ### ### ######## ### ##
- ### ## ## ## ## ## #
- @@ @@ @@@ @@ @@ @@ ####### @@ @
- @@ @@@ @@ @@ @@ @@ ## # @@
- && && && &&&& && @@ & &&
- &&& && && && && && && @@@@ & &&
- %%%%% %%% %%% %%% %%% %% && %%% %%% v1.5
- && &
- %%%%%%%
-
- Introduction
-
- This program has been written in frustration because some constructs
- in LaTeX are sometimes non-intuitive, and easy to forget. It is _not_
- a replacement for the built-in checker in LaTeX; however it catches
- some typographic errors LaTeX oversees. In other words, it is Lint for
- LaTeX. Filters are also provided for checking the LaTeX parts of CWEB
- documents.
-
- It is written in ANSI C and compiles silently under GCC using ``-Wall
- -ansi -pedantic'' and almost all warning flags. This means that you
- can compile & use the program on your favorite machine. Full source
- included.
-
- The program also supports output formats suitable for further
- processing by editors or other programs, making errors easy to cycle
- through. Software is provided for beautifully interfacing against the
- AUC-TeX Emacs mode, CygnusED, GoldEd and various Amiga message
- browsers.
-
- The program itself does not have any machine requirements; Amiga,
- MSDOS and OS/2 binaries are available. Of course, you'll need ARexx
- and ScMsg or VBrowse to benefit from the ARexx scripts.
-
- Features
-
- ChkTeX begins to get quite a few bells & whistles now. However, you
- should be aware of that in most cases, all this is transparent to the
- user. As you will see, ChkTeX offers the ability to adapt to many
- environments and configurations.
-
-New features
-
- Modifications and additions since v1.4:
-
- Program
-
- Modifications to the executable itself:
- * As usual, a few more warnings:
- + No space or similar in front/after parenthesis.
- + Demands a consistent quote style.
- + Double spaces in input which will not be rendered as one.
- + Punctuation malplaced regarding to math mode.
- + Warns about TeX primitives.
- + Space in front of footnotes.
- + Bogus \left and \right commands.
- * The abbreviation recognizer has (for the last time?) been
- redesigned. We now produce far less false warnings, catch more
- cases and do all this faster than before. Seems like a win.
- Done much of the same with the italic correction detection part,
- too...
- * Some bugs have been silently fixed. Hot spots in the program have
- been optimized; in certain cases this in fact doubles the speed!
- Along with this goes more code elegance and utilization of macro
- processing and the C language. Take a look at ``Resource.[ch]''.
- * It's possible to specify separate output-formats depending on
- whether you are sending the output to a file/pipe or to a
- terminal.
- * Column positions are finally correct; we now expand tabs
- correctly.
- * ChkTeX will now recursively search for \input'ed files, both in
- the document and on the commandline. See the ``chktexrc'' file for
- more info.
- * The debug switch is now more intelligent; if you wish to hack a
- bit on ChkTeX for yourself, it is possible to produce selective
- debugging output. The feature can also be disabled altogether.
- * MS-DOS and OS/2 version of the program is now more flexible and
- well-behaved, thanks to Gerd Böhm.
- * You may now say ``-wall'' to make all messages warnings, and turn
- them on.
- * Uses termcap on UNIX boxes; this should ensure that ``-v2'' (or
- more precisely: ``%i'' and ``%I'') works regardless to what
- terminal you are using.
-
- Resource file
-
- New concepts introduced in the setup file:
- * You may now specify both case-sensitive and case-insensitive user
- patterns in the ``chktexrc'' file. In addition; it is now possible
- to reset/clear lists.
- * It is possible to specify how many arguments (optional/required)
- ``WIPEARG'' should wipe; it behaves also somewhat more intelligent
- when the arguments stretch over multiple lines.
- * Global files will be read _in addition_ to local ones. The
- searching order has also been reversed in order to make this more
- intelligent.
-
- Other
-
- Various other stuff I've done to the product:
-
- * The documentation has been polished and should now be easier to
- use in practical situations.
- * ``check'' target in ``Makefile'', so you can check that the
- installation succeeded. In fact, the ``Makefile'' has been
- enhanced in several other ways too, amongst other it is now GNU
- conforming.
- * ``deweb'' is now documented; you may say ``man deweb'' to get a
- few words of advice. The support script (chkweb) does now behave
- as the remaining package (accepting stdin input and flags).
- * I've written an Emacs hack which magically adds ChkTeX to the list
- of AUC-TeX commands; thus making the use of the program even more
- trivial.
- For those of you who don't wish to mess with Emacs, I've included
- a trivial lacheck <-> ChkTeX interface.
- This means that you now can use ChkTeX just as easily as lacheck
- when you're running AUC-TeX.
- * Added an ARexx script which lets ChkTeX talk to VBrowse, the
- message browser of Volker Barthelmann's freely distributable ANSI
- C compiler. The browser itself is available on Aminet as
- ``dev/c/vbcc.lha''.
-
-Feature list
-
- * Supports over 40 warnings. Warnings include:
- + Commands terminated with space. Ignores ``\tt'', etc.
- + Space in front of references instead of ``~''.
- + Forgetting to group parenthesis characters when
- sub-/superscripting.
- + Italic correction (``\/'') mistakes (double, missing,
- unnecessary).
- + Parenthesis and environment matching.
- + Ellipsis detection; also checks whether to use ``\dots'',
- ``\cdots'' or ``\ldots''.
- + Enforcement of normal space after abbreviation. Detects most
- abbreviations automagically.
- + Enforcement of end-of-sentence space when the last sentence
- ended with capital letter.
- + Math-mode on/off detection.
- + Quote checking, both wrong types (``"'') and wrong direction.
- + Recommends splitting three quotes in a row.
- + Searching for user patterns.
- + Displays comments.
- + Space in front of ``\label'' and similar commands.
- + Use of ``x'' instead of ``$\times$'' between numbers.
- + Multiple spaces in input which will be rendered as one space
- (or multiple spaces, where that is undesirable).
- + Warns about text which may be ignored.
- + Mathematical operators typeset as variables.
- + No space in front of/after parenthesis.
- + Demands a consistent quote style.
- + Punctuation inside inner math mode/outside display math mode.
- + Use of TeX primitives where LaTeX equivalents are available.
- + Space in front of footnotes.
- + Bogus characters following commands.
- * Fully customizable. Intelligent resource format makes it possible
- to make ChkTeX respect your LaTeX setup. Even command-line options
- may be specified globally in the ``chktexrc'' file.
- * Supports ``\input'' command; both TeX and LaTeX version. Actually
- includes the files. ``TEXINPUTS''-equivalent search path.
- * Intelligent warning/error handling. The user may promote/mute
- warnings to suit his preferences. You may also mute warnings in
- the header of a file; thus killing much unwanted garbage.
- * Scripts included for checking CWEB files written in LaTeX.
- (Requires perl v5).
- * Supports both LaTeX 2.09 and LaTeX2e.
- * Flexible output handling. Has some predefined formats and lets the
- user specify his own format. Uses a ``printf()'' similar syntax.
- ``lacheck'' compatible mode included for interfacing with the
- AUC-TeX Emacs mode.
- * ARexx scripts for interfacing with ScMsg and VBrowse are included.
- Special scripts included for CygnusED/GoldED, for binding to
- hotkey.
- * Amiga Workbench support. Parameters may be passed by
- shift-clicking the LaTeX files and setting the remaining options
- in the tooltypes.
- * Wildcard matching (Amiga only). Matches file patterns internally,
- thus saving a lot of work. This is, however, platform-specific
- code -- on UNIX boxes this is done by the shell.
- * Written in ANSI C. ``configure'' script included for easy setup
- and installation on UNIX systems.
-
- Still, it is important to realize that the output from ChkTeX is only
- intended as a _guide_ to fixing faults. However, it is by no means
- always correct. This means that correct LaTeX code may produce errors
- in ChkTeX, and vice versa: Incorrect LaTeX code may pass silently
- through.
-
- Legal stuff
-
- ChkTeX, documentation, installations scripts, CWEB filters and other
- materials provided are copyright © 1995-96 Jens T. Berger Thielemann,
- unless explicitly stated otherwise.
-
- 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.
- 675 Mass Ave
- Cambridge
- MA 02139
- USA
-
-Registration
-
- `ChkTeX' is made available under the concept of Gift-Ware, which is a
- variant of Share-Ware. Share-Ware software authors often release
- `crippled' versions of their products, i.e. these programs do not
- support the same functionality as the registered versions you get when
- sending monetary contributions to the authors. It all comes down to
- `pay for the software you are using' in Share-Ware terms. With
- Gift-Ware registration it is different, you are not required to
- contribute money, but a gift will do. With `ChkTeX' you always get a
- fully functional program, there is no `crippled' test release which
- you can try for a limited time and then have to pay for in order to
- receive the working registered version.
-
- It may seem as if `ChkTeX' was free, but this is not the case.
- Although there is no need to pay the author in order to get a fully
- functional version of the program you should consider making a
- contribution. You don't need to feel guilty if you cannot or do not
- want to give me something in return for the work I have put into
- `ChkTeX'. Show me that it was worth spending so much time listening to
- users, updating, rewriting and enhancing this program. Your
- contributions will provide the motivation for me to keep developing
- the program.
-
- Send your contribution to the following address:
-
- Jens Berger
- Spektrumvn. 4
- N-0666 Oslo
- Norway
-
- Availability
-
- This program will be uploaded to AmiNet and CTAN; thus it can be found
- at any mirrors of those.
-
- Please note that earlier versions of ChkTeX have been uploaded to
- Aminet under the same archive name, to keep consistent with Aminet's
- policy of keeping versions out of filenames. Please read the file
- ``ChkTeX.readme'' (which is in the same directory as the archive) to
- find out the version number.
-
- I'm now uploading the archive uncompressed to CTAN; however, most of
- the ftpservers in that network allow you to retrieve a directory
- compressed in whatever way you prefer. Aminet will as usual receive a
- LhArc archive.
-
- Mirrors of both networks include:
-
-Comprehensive TeX Archive Network (CTAN)
-
- Directory: support/chktex
- * ftp://ftp.adfa.oz.au/pub/tex/ctan/, (Australia)
- * ftp://ftp.cs.rmit.edu.au/tex-archive/, (Australia)
- * ftp://gw.pacbell.com/mirror/ftp.shsu.edu/tex-archive/,
- (California, USA)
- * ftp://sunsite.queensu.ca/pub/tex-archive/, (Canada)
- * ftp://ftp.dante.de/pub/tex/, (Deutschland)
- * ftp://ftp.germany.eu.net/pub/packages/TeX/, (Deutschland)
- * ftp://ftp.gwdg.de/pub/dante/, (Deutschland)
- * ftp://ftp.tex.ac.uk/pub/tex /, (England)
- * ftp://src.doc.ic.ac.uk/packages/tex/uk-tex/, (England)
- * ftp://kadri.ut.ee/pub/tex/, (Estonia)
- * ftp://ftp.funet.fi/pub/TeX/CTAN/, (Finland)
- * ftp://ftp.jussieu.fr/pub4/TeX/CTAN/, (France)
- * ftp://ftp.loria.fr/pub/unix/tex/ctan/, (France)
- * ftp://ftp.comp.hkbu.edu.hk/pub/TeX/CTAN/, (Hong Kong)
- * ftp://ftp.unina.it/pub/TeX/, (Italia)
- * ftp://sunsite.dsi.unimi.it/pub/TeX/, (Italia)
- * ftp://ftp.riken.go.jp/pub/tex-archive/, (Japan)
- * ftp://wuarchive.wustl.edu/packages/TeX/, (Missouri, USA)
- * ftp://ftp.rge.com/pub/tex/, (New York, USA)
- * ftp://ftp.duke.edu/tex-archive/, (North Carolina, USA)
- * ftp://sunsite.unc.edu/pub/packages/TeX/, (North Carolina, USA)
- * ftp://sunsite.icm.edu.pl/pub/CTAN/, (Poland)
- * ftp://ftpserver.nus.sg/pub/zi/TeX/, (Singapore)
- * ftp://ftp.ee.up.ac.za/tex-archive/, (South Africa)
- * ftp://nic.switch.ch/mirror/tex/, (Switzerland)
- * ftp://dongpo.math.ncu.edu.tw/tex-archive/, (Taiwan)
- * ftp://ftp.ccu.edu.tw/pub/tex/, (Taiwan)
- * ftp://ftp.fcu.edu.tw/pub2/tex/, (Taiwan)
- * ftp://ftp.shsu.edu/pub/tex/, (Texas, USA)
- * ftp://ftp.muni.cz/pub/tex/CTAN/, (The Czech Republic)
- * ftp://ftp.cs.ruu.nl/pub/tex-archive/, (The Netherlands)
- * ftp://ftp.uu.net/pub/text-processing/TeX/, (Virginia, USA)
- * ftp://ftp.cdrom.com/pub/tex/ctan/, (West coast, USA)
- * ftp://ftp.univie.ac.at/packages/tex/, (\"Osterreich)
-
-Aminet
-
- I'm only uploading the Amiga version of the archive to Aminet (so that
- unsuspecting Amiga users won't have to download hundreds of unwanted
- kilobytes). If you wish to use ChkTeX on another machine, please refer
- to CTAN.
-
- Directory: text/tex/, filename: chktex.lha
- * ftp://ftp.wustl.edu/pub/aminet/text/tex/, (USA (MO))
- * ftp://ftp.netnet.net/pub/aminet/text/tex/, (USA (WI))
- * ftp://ftp.ninemoons.com/pub/aminet/text/tex/, (USA (AZ))
- * ftp://ftp.livewire.com.au/pub/aminet/text/tex/, (Australia)
- * ftp://ftp.tas.gov.au/pub/aminet/text/tex/, (Australia)
- * ftp://ftp.luth.se/pub/aminet/text/tex/, (Scandinavia)
- * ftp://ftp.eunet.ch/pub/aminet/text/tex/, (Switzerland)
- * ftp://ftp.germany.aminet.org/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.pb.aminet.org/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.uni-stuttgart.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.uni-erlangen.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.cs.tu-berlin.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.tu-chemnitz.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.fh-augsburg.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.uni-bremen.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.uni-kl.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.uni-trier.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.informatik.rwth-aachen.de/pub/aminet/text/tex/,
- (Germany)
- * ftp://ftp.uni-siegen.de/pub/aminet/text/tex/, (Germany)
- * ftp://ftp.uni-regensburg.de/pub/aminet/text/tex/, (Germany)
- * ftp://sunsite.cnam.fr/pub/aminet/text/tex/, (France)
- * ftp://aminet.grolier.fr/pub/aminet/text/tex/, (France)
- * ftp://ftp.giga.or.at/pub/aminet/text/tex/, (Austria)
- * ftp://sunsite.auc.dk/pub/aminet/text/tex/, (Denmark)
- * ftp://ftp.acropolis.gr/pub/aminet/text/tex/, (Greece)
- * ftp://aminet.iit.uni-miskolc.hu/pub/aminet/text/tex/,
- (Hungary)
- * ftp://ftp.italy.aminet.org/pub/aminet/text/tex/, (Italy)
- * ftp://ftp.man.szczecin.pl/pub/aminet/text/tex/, (Poland)
- * ftp://ftp.portugal.aminet.org/pub/aminet/text/tex/, (Portugal)
- * ftp://ftp.gui.uva.es/pub/aminet/text/tex/, (Spain)
- * ftp://ftp.uk.aminet.org/pub/aminet/text/tex/, (UK)
- * ftp://micros.hensa.ac.uk/pub/aminet/text/tex/, (UK)
-
- Installation
-
- A few words on installation on various platforms:
-
- _Amiga:_
- Use the supplied Installer script.
-
- _MS-DOS & OS/2:_
- Copy the binary (``ChkTeX.exe'') to somewhere in your path, and
- place the ``chktexrc'' file in the same directory.
-
- If you're running Emacs, you may wish to copy the file
- ``chktex.el'' to your elisp source directory, and add the
- following line to your ``.emacs'' file:
-
-(require 'chktex)
-
- _UNIX:_
- Type ``configure'', ``make'' and finally ``make install''. To
- make sure everything proceeded correctly, type ``make check''.
- If you don't have superuser privileges and thus access to the
- default system areas, you should type ``configure -help'' to
- help you set up correct paths.
-
- If you haven't installed any software like this before, that is
- distributed in source form, here are some guidelines to help
- you install it locally at your account. Please note that a mail
- to the system administrator may be less work for you. :-)
-
- We assume that you have put the archive (``chktex.tar.gz'') in
- a subdir of yours, with path ``~/tmp''. We further assume that
- your shell is ``csh'' or ``tcsh''. Do the following:
-
- 1. First of all, unpack the archive contents.
-> cd ~/tmp
-> gunzip chktex.tar.gz
-> tar xf chktex.tar
- 2. Now, we can configure the program. There are some
- configuration options you should know about:
-
- _``-enable-emacs-hack'':_
- Install a small file which adds ChkTeX to the
- command menu of AUC-TeX. This is to be considered
- as a hack, and may break in future versions of
- AUC-TeX. It works fine under AUC-TeX v2.9, though.
-
- This option needs the path of your elisp directory
- as argument, e.g.
- ``-enable-emacs-hack=/home/myself/elisp'' or
- similar.
-
- You'll also have to add the following line to your
- ``.emacs'' file:
-
-(require 'chktex)
-
- You can now access ChkTeX from the ``Command'' menu in
- AUC-TeX. To cycle through the messages, type C-x `.
-
- _``-enable-lacheck-replace''_
- This enables a quick hack for making the AUC-TeX
- Emacs mode use ChkTeX instead of lacheck. This is
- done by installing a stub script which
- ``overrides'' the original lacheck executable.
-
- While more stable than the previous solution, this
- is also significantly less elegant -- in computing
- terms, this is the ``brute force'' approach.
-
- _``-enable-debug-info''_
- ChkTeX has an ability to spit out various
- diagnostic messages using the ``-d'' flag. This
- behaviour is on by default. By adding the flag
- ``-disable-debug-info'' to the commandline, this
- will not be compiled in.
-
- This may be useful if you're running short of disk
- space (the time savings are neglible).
-
- If you are installing the program on your local account, use
- the following command:
-> configure --prefix ~/
- Add eventual extra flags as specified above. This command
- will generate a significant amount of output, this can
- usually be ignored.
- 3. Finally, we can just build the program and install it.
-> make
-> make install
- 4. Finished! The program is now installed and ready to use. You
- may now tell other people to put your bindir in their path in
- order to benefit from your work. All that remains is to make
- the shell aware of your installation.
-> rehash
- To make the remaining parts of your system aware of this,
- you'll have to log out and re-log in, I'm afraid. However,
- you should delay this until you've completed this
- installation procedure.
- 5. If you wish to make sure that everything is OK (you ought
- to), you may now ask ChkTeX to do a self-test:
-> make check
-
- _Other platforms:_
- First of all, you have to copy the ``config.h.in'' file to a
- file named ``config.h''. Then, edit it to reflect your system.
- Do the same with ``OpSys.h'' (this file has been reduced
- significantly). If you wish, you may define ``DATADIR'' to the
- path you want the global resource file to be put.
-
- Now, I would suggest that you take a peak at the ``OpSys.c''
- file, and edit it appropiately, for more comfort. This should
- not be necessary, though, at least not the first time.
-
- Finally, you may now compile and link all .cfiles. Define
- ``HAVE_CONFIG_H'' to 1 (on the command-line, for instance). If
- the ``config.h'' you wish to use has another name, define
- ``CONFIG_H_NAME'' to that (in that case, don't define
- ``HAVE_CONFIG_H'').
-
- Put the directory path of the ``chktexrc'' file in a
- environment variable named ``CHKTEXRC''. The files ``deweb.in''
- and ``chkweb'' should be moved to a directory in your path.
- These files may need further setup, as they haven't got the
- location of perl initialized.
-
- If your compiler/the compiled program complains (or crashes!),
- you may try the hints listed below. Please note that it only
- makes sense to try these hints if your compiler fails to
- produce a working program.
-
- 1. Increase the preprocessor buffers and line buffers. The
- ChkTeX sources define macros sized 3-4k (expanding to about
- the same), and passes arguments sized about 1k.
- 2. Use the magic switch which lets us use large
- ``switch(...){...}'' statements; some of these statements
- have about 120 ``case'' entries.
- 3. The sources require that at least the first 12 of each
- identifier is significant.
-
- _Note:_ You _must_ install the new ``chktexrc'' file; ChkTeX will fail
- to function unless!
-
- After doing this, you may enhance ChkTeX' behaviour by reading/editing
- the ``chktexrc'' file.
-
- Contacting the author
-
- If you wish to contact me for any reason or would like to participate
- in the development of ChkTeX, please write to:
-
- Jens Berger
- Spektrumvn. 4
- N-0666 Oslo
- Norway
- E-mail: <jensthi@ifi.uio.no>
-
- Any signs of intelligent life are welcomed; that should exclude
- piracy.
-
- Have fun.
-
diff --git a/Build/source/texk/chktex/ChkTeX.tex b/Build/source/texk/chktex/ChkTeX.tex
deleted file mode 100644
index 1c80942b5af..00000000000
--- a/Build/source/texk/chktex/ChkTeX.tex
+++ /dev/null
@@ -1,2111 +0,0 @@
-%%
-%% ChkTeX v1.5, LaTeX documentation for ChkTeX program.
-%% Copyright (C) 1995-96 Jens T. Berger Thielemann
-%%
-%% 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-%%
-%% Contact the author at:
-%% Jens Berger
-%% Spektrumvn. 4
-%% N-0666 Oslo
-%% Norway
-%% E-mail: <jensthi@ifi.uio.no>
-%%
-%% NOTE: This file is written in LaTeX, and should be compiled
-%% before viewing. If you don't know how to do this, consult
-%% your local TeX guru. If you don't possess LaTeX, you are
-%% assumed to not need this program; so there's no text version
-%% of this file...
-%%
-%% You may still be able to view the DVI or PostScript versions of
-%% this file, though, they are included in the archive.
-%%
-
-
-
-%\documentstyle[a4, array, tabularx, verbatim, multicol]{article}
-\documentclass[a4paper]{article}
-\usepackage{ array, tabularx, verbatim, multicol}
-%latex
-\nonfrenchspacing
-\newcounter{errornum}
-\setcounter{errornum}{1}
-%endlatex
-\newcommand{\jtbt}{Jens~T. Berger~Thielemann}
-\newcommand{\Cmd}[1]{``{\tt{}#1}''}
-\newcommand{\rsrc}{``{\tt{}chktexrc}''}
-\newcommand{\chktex}{Chk\TeX}
-\newcommand{\smiley}{:-)}
-
-%latex
-\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
-\newcommand{\fmted}[1]{%
- {\noindent\large%
- \begin{tabularx}{\linewidth}{lY}%
- \bf Warning \theerrornum: & \tt #1%
- \end{tabularx}}\stepcounter{errornum}\nopagebreak[4]}
-
-\newenvironment{errdesc}[1]{\noindent\fmted{#1}\begin{quote}}{\end{quote}%
-\pagebreak[3]}
-
-\newenvironment{html}{\comment}{\endcomment}
-\newenvironment{rawhtml}{\comment}{\endcomment}
-
-\makeatletter
-\@namedef{errdesc*}#1{\begin{errdesc}{\textit{#1}}}
-\@namedef{enderrdesc*}{\end{errdesc}}
-\@ifundefined{textit}{\gdef\textit#1{{\it #1}}}\relax
-\@ifundefined{LaTeXe}{\gdef\LaTeXe{\LaTeX2${}_{\textstyle\varepsilon}$}}\relax
-\makeatother
-
-
-\newenvironment{errexam}
-{
-\vskip 0pt plus 5pt
-\begin{center}
-}
-{\end{center}}
-\columnseprule 0.1pt
-
-%!\newcommand{\LaTeXe}{\LaTeX 2e}
-%!\newcommand{\BS}{\verb@\@}
-%!\newcommand{\chktex}{ChkTeX}
-%!\newcommand{\slash}{/}
-%endlatex
-
-
-\title{\chktex\ v1.5}
-\author{Jens~T. Berger~Thielemann}
-\date{\today}
-
-
-\begin{document}
-\maketitle
-
-%latex
-\newcommand{\BS}{\char`\\}
-%endlatex
-\section{Introduction}
-
-This program has been written in frustration because some constructs in
-\LaTeX\ are sometimes non-intuitive, and easy to forget. It is {\em
- not\/} a replacement for the built-in checker in \LaTeX\@; however it
-catches some typographic errors \LaTeX\ oversees. In other words, it
-is Lint for \LaTeX. Filters are also provided for checking the
-\LaTeX\ parts of CWEB documents.
-
-It is written in ANSI C and compiles silently under GCC using
-\Cmd{-Wall -ansi -pedantic} and almost all warning flags. This means
-that you can compile \& use the program on your favorite machine.
-Full source included.
-
-The program also supports output formats suitable for further
-processing by editors or other programs, making errors easy to cycle through.
-Software is provided for beautifully interfacing against the
-AUC-\TeX\ Emacs mode, CygnusED, GoldEd and various Amiga message browsers.
-
-The program itself does not have any machine requirements; Amiga,
-MSDOS and OS/2 binaries are available. Of course, you'll need ARexx
-and ScMsg or VBrowse to benefit from the ARexx scripts.
-
-
-
-\section{Features}
-\chktex\ begins to get quite a few bells \& whistles now. However, you
-should be aware of that in most cases, all this is transparent to the user.
-As you will see, \chktex\ offers the ability to adapt to many environments
-and configurations.
-
-\subsection{New features}
-Modifications and additions since v1.4:
-
-
-\subsubsection{Program}
-
-Modifications to the executable itself:
-\begin{itemize}
-\item As usual, a few more warnings:
- \begin{itemize}
- \item No space or similar in front/after parenthesis.
- \item Demands a consistent quote style.
- \item Double spaces in input which will not be rendered as one.
- \item Punctuation malplaced regarding to math mode.
- \item Warns about \TeX\ primitives.
- \item Space in front of footnotes.
- \item Bogus {\tt\BS{}left} and {\tt\BS{}right} commands.
- \end{itemize}
-
-\item The abbreviation recognizer has (for the last time?) been
- redesigned. We now produce far less false warnings, catch more
- cases and do all this faster than before. Seems like a win.
-
- Done much of the same with the italic correction detection part,
- too\ldots
-\item Some bugs have been silently fixed. Hot spots in the program
- have been optimized; in certain cases this in fact doubles the
- speed!
-
- Along with this goes more code elegance and utilization of macro
- processing and the C language. Take a look at \Cmd{Resource.[ch]}.
-
-\item It's possible to specify separate output-formats depending on
- whether you are sending the output to a file/pipe or to a
- terminal.
-
-\item Column positions are finally correct; we now expand tabs
- correctly.
-\item \chktex\ will now recursively search for {\tt\BS{}input}'ed
- files, both in the document and on the commandline. See the
- \rsrc\ file for more info.
-\item The debug switch is now more intelligent; if you wish to hack
- a bit on \chktex\ for yourself, it is possible to produce
- selective debugging output. The feature can also be disabled
- altogether.
-\item MS-DOS and OS/2 version of the program is now more flexible
- and well-behaved, thanks to Gerd B\"ohm.
-\item You may now say \Cmd{-wall} to make all messages warnings, and
- turn them on.
-\item Uses termcap on UNIX boxes; this should ensure that \Cmd{-v2}
- (or more precisely: \Cmd{\%i} and \Cmd{\%I}) works regardless to
- what terminal you are using.
-\end{itemize}
-
-\subsubsection{Resource file}
-
-New concepts introduced in the setup file:
-\begin{itemize}
-\item You may now specify both case-sensitive and case-insensitive
- user patterns in the \rsrc\ file. In addition; it is now possible
- to reset/clear lists.
-\item It is possible to specify how many arguments
- (optional/required) \Cmd{WIPEARG} should wipe; it behaves also
- somewhat more intelligent when the arguments stretch over multiple
- lines.
-\item Global files will be read {\em in addition\/} to local ones. The
- searching order has also been reversed in order to make this more
- intelligent.
-\end{itemize}
-
-
-\subsubsection{Other}
-Various other stuff I've done to the product:
-
-\begin{itemize}
-\item The documentation has been polished and should now be easier
- to use in practical situations.
-\item \Cmd{check} target in \Cmd{Makefile}, so you can check that
- the installation succeeded. In fact, the \Cmd{Makefile} has been
- enhanced in several other ways too, amongst other it is now GNU
- conforming.
-\item \Cmd{deweb} is now documented; you may say \Cmd{man~deweb} to
- get a few words of advice. The support script ({\tt chkweb}) does
- now behave as the remaining package (accepting stdin input and flags).
-\item I've written an Emacs hack which magically adds \chktex\ to the
- list of AUC-\TeX\ commands; thus making the use of the program even
- more trivial.
-
- For those of you who don't wish to mess with Emacs, I've included a trivial
-%latex
- $\mbox{lacheck}\leftrightarrow\mbox{\chktex}$
-%!lacheck <-> \chktex\ %
-%endlatex
- interface.
-
- This means that you now can use \chktex\ just as easily as lacheck
- when you're running AUC-\TeX.
-
-\item Added an ARexx script which lets \chktex\ talk to VBrowse, the
- message browser of Volker Barthelmann's freely distributable ANSI
- C compiler. The browser itself is available on Aminet as
- \Cmd{dev/c/vbcc.lha}.
-\end{itemize}
-
-\subsection{Feature list}
-
-\begin{itemize}
-\item Supports over 40 warnings. Warnings include:
-%latex
- \begin{multicols}{2}
- \begin{flushleft}
-%endlatex
- \begin{itemize}
- \item Commands terminated with space. Ignores \Cmd{\BS{}tt}, etc.
- \item Space in front of references instead of \Cmd{\~{}}.
- \item Forgetting to group parenthesis characters when
- sub-\slash{}super\-scripting.
- \item Italic correction (\Cmd{\BS/}) mistakes (double,
- missing, unnecessary).
- \item Parenthesis and environment matching.
- \item Ellipsis detection; also checks whether to use
- \Cmd{\BS{}dots}, \Cmd{\BS{}cdots} or \Cmd{\BS{}ldots}.
- \item Enforcement of normal space after abbreviation. Detects
- most abbreviations automagically.
- \item Enforcement of end-of-sentence space when the last
- sentence ended with capital letter.
- \item Math-mode on/off detection.
- \item Quote checking, both wrong types (\Cmd{"}) and wrong
- direction.
- \item Recommends splitting three quotes in a row.
- \item Searching for user patterns.
- \item Displays comments.
- \item Space in front of \Cmd{\BS{}label} and similar commands.
- \item Use of \Cmd{x} instead of \Cmd{\$\BS{}times\$} between numbers.
- \item Multiple spaces in input which will be rendered as one
- space (or multiple spaces, where that is undesirable).
- \item Warns about text which may be ignored.
- \item Mathematical operators typeset as variables.
- \item No space in front of/after parenthesis.
- \item Demands a consistent quote style.
- \item Punctuation inside inner math mode/outside display math
- mode.
- \item Use of \TeX\ primitives where \LaTeX\ equivalents are
- available.
- \item Space in front of footnotes.
- \item Bogus characters following commands.
- \end{itemize}
-%latex
- \end{flushleft}
- \end{multicols}
-%endlatex
-\item Fully customizable. Intelligent resource format makes it
- possible to make \chktex\ respect your \LaTeX\ setup. Even
- command-line options may be specified globally in the \rsrc\ file.
-\item Supports \Cmd{\BS{}input} command; both \TeX\ and \LaTeX\ version.
- Actually includes the files. \Cmd{TEXINPUTS}-equivalent search path.
-\item Intelligent warning/error handling. The user may promote/mute
- warnings to suit his preferences. You may also mute warnings in the
- header of a file; thus killing much unwanted garbage.
-\item Scripts included for checking CWEB files written in \LaTeX.
- (Requires perl v5).
-\item Supports both \LaTeX\ 2.09 and \LaTeXe.
-\item Flexible output handling. Has some predefined formats and lets
- the user specify his own format. Uses a \Cmd{printf()} similar
- syntax. \Cmd{lacheck} compatible mode included for interfacing with
- the AUC-\TeX\ Emacs mode.
-\item ARexx scripts for interfacing with ScMsg and VBrowse are
- included. Special scripts included for CygnusED/GoldED, for binding
- to hotkey.
-\item Amiga Workbench support. Parameters may be passed by
- shift-clicking the \LaTeX\ files and setting the remaining options
- in the tooltypes.
-\item Wildcard matching (Amiga only). Matches file patterns
- internally, thus saving a lot of work. This is, however,
- platform-specific code --- on UNIX boxes this is done by the shell.
-\item Written in ANSI C\@. \Cmd{configure} script included for easy
- setup and installation on UNIX systems.
-\end{itemize}
-
-Still, it is important to realize that the output from \chktex\ is
-only intended as a {\em guide\/} to fixing faults. However, it is by
-no means always correct. This means that correct \LaTeX\ code may
-produce errors in \chktex, and vice versa: Incorrect \LaTeX\ code may pass
-silently through.
-
-
-
-\section{Legal stuff}
-
-\chktex{}, documentation, installations scripts, CWEB filters and other
-materials provided are copyright \copyright\ 1995--96 Jens~T.
-Berger~Thielemann, unless explicitly stated otherwise.
-
-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:
-\begin{quote}
- The Free Software Foundation, Inc. \\
- 675 Mass Ave \\
- Cambridge \\
- MA 02139 \\
- USA
-\end{quote}
-
-
-
-
-\subsection{Registration}
-
-`\chktex' is made available under the concept of Gift-Ware, which is a
-variant of Share-Ware. Share-Ware software authors often release
-`crippled' versions of their products, i.e.\ these programs do not
-support the same functionality as the registered versions you get when
-sending monetary contributions to the authors. It all comes down to
-`pay for the software you are using' in Share-Ware terms. With
-Gift-Ware registration it is different, you are not required to
-contribute money, but a gift will do. With `\chktex' you always get a
-fully functional program, there is no `crippled' test release which
-you can try for a limited time and then have to pay for in order to
-receive the working registered version.
-
-It may seem as if `\chktex' was free, but this is not the case.
-Although there is no need to pay the author in order to get a fully
-functional version of the program you should consider making a
-contribution. You don't need to feel guilty if you cannot or do not
-want to give me something in return for the work I have put into
-`\chktex'. Show me that it was worth spending so much time listening
-to users, updating, rewriting and enhancing this program. Your
-contributions will provide the motivation for me to keep developing
-the program.
-
-Send your contribution to the following address:
-%latex
-\begin{samepage}
-%endlatex
-\begin{quote}
- Jens Berger \\
- Spektrumvn. 4 \\
- N-0666 Oslo \\
- Norway
-\end{quote}
-%latex
-\end{samepage}
-%endlatex
-
-\begin{html}
-\section{Availability}
-
-This program will be uploaded to AmiNet and CTAN\@; thus it can be
-found at any mirrors of those.
-
-Please note that earlier versions of \chktex\ have been uploaded to
-Aminet under the same archive name, to keep consistent with Aminet's
-policy of keeping versions out of filenames. Please read the file
-\Cmd{ChkTeX.readme} (which is in the same directory as the archive) to
-find out the version number.
-
-I'm now uploading the archive uncompressed to CTAN\@; however, most of
-the ftpservers in that network allow you to retrieve a directory
-compressed in whatever way you prefer. Aminet will as usual receive a
-LhArc archive.
-
-Mirrors of both networks include:
-
- \subsection{Comprehensive \TeX\ Archive Network (CTAN)}
-\end{html}
-
-\begin{rawhtml}
- Directory: <tt> support/chktex</tt>
- <ul>
-<li> <a href="ftp://ftp.adfa.oz.au/pub/tex/ctan/support/chktex/">
- ftp://ftp.adfa.oz.au/pub/tex/ctan/</a>, (Australia)
-
-<li> <a href="ftp://ftp.cs.rmit.edu.au/tex-archive/support/chktex/">
- ftp://ftp.cs.rmit.edu.au/tex-archive/</a>, (Australia)
-
-<li> <a href="ftp://gw.pacbell.com/mirror/ftp.shsu.edu/tex-archive/support/chktex/">
- ftp://gw.pacbell.com/mirror/ftp.shsu.edu/tex-archive/</a>, (California, USA)
-
-<li> <a href="ftp://sunsite.queensu.ca/pub/tex-archive/support/chktex/">
- ftp://sunsite.queensu.ca/pub/tex-archive/</a>, (Canada)
-
-<li> <a href="ftp://ftp.dante.de/pub/tex/support/chktex/">
- ftp://ftp.dante.de/pub/tex/</a>, (Deutschland)
-
-<li> <a href="ftp://ftp.germany.eu.net/pub/packages/TeX/support/chktex/">
- ftp://ftp.germany.eu.net/pub/packages/TeX/</a>, (Deutschland)
-
-<li> <a href="ftp://ftp.gwdg.de/pub/dante/support/chktex/">
- ftp://ftp.gwdg.de/pub/dante/</a>, (Deutschland)
-
-<li> <a href="ftp://ftp.tex.ac.uk/pub/tex /support/chktex/">
- ftp://ftp.tex.ac.uk/pub/tex /</a>, (England)
-
-<li> <a href="ftp://src.doc.ic.ac.uk/packages/tex/uk-tex/support/chktex/">
- ftp://src.doc.ic.ac.uk/packages/tex/uk-tex/</a>, (England)
-
-<li> <a href="ftp://kadri.ut.ee/pub/tex/support/chktex/">
- ftp://kadri.ut.ee/pub/tex/</a>, (Estonia)
-
-<li> <a href="ftp://ftp.funet.fi/pub/TeX/CTAN/support/chktex/">
- ftp://ftp.funet.fi/pub/TeX/CTAN/</a>, (Finland)
-
-<li> <a href="ftp://ftp.jussieu.fr/pub4/TeX/CTAN/support/chktex/">
- ftp://ftp.jussieu.fr/pub4/TeX/CTAN/</a>, (France)
-
-<li> <a href="ftp://ftp.loria.fr/pub/unix/tex/ctan/support/chktex/">
- ftp://ftp.loria.fr/pub/unix/tex/ctan/</a>, (France)
-
-<li> <a href="ftp://ftp.comp.hkbu.edu.hk/pub/TeX/CTAN/support/chktex/">
- ftp://ftp.comp.hkbu.edu.hk/pub/TeX/CTAN/</a>, (Hong Kong)
-
-<li> <a href="ftp://ftp.unina.it/pub/TeX/support/chktex/">
- ftp://ftp.unina.it/pub/TeX/</a>, (Italia)
-
-<li> <a href="ftp://sunsite.dsi.unimi.it/pub/TeX/support/chktex/">
- ftp://sunsite.dsi.unimi.it/pub/TeX/</a>, (Italia)
-
-<li> <a href="ftp://ftp.riken.go.jp/pub/tex-archive/support/chktex/">
- ftp://ftp.riken.go.jp/pub/tex-archive/</a>, (Japan)
-
-<li> <a href="ftp://wuarchive.wustl.edu/packages/TeX/support/chktex/">
- ftp://wuarchive.wustl.edu/packages/TeX/</a>, (Missouri, USA)
-
-<li> <a href="ftp://ftp.rge.com/pub/tex/support/chktex/">
- ftp://ftp.rge.com/pub/tex/</a>, (New York, USA)
-
-<li> <a href="ftp://ftp.duke.edu/tex-archive/support/chktex/">
- ftp://ftp.duke.edu/tex-archive/</a>, (North Carolina, USA)
-
-<li> <a href="ftp://sunsite.unc.edu/pub/packages/TeX/support/chktex/">
- ftp://sunsite.unc.edu/pub/packages/TeX/</a>, (North Carolina, USA)
-
-<li> <a href="ftp://sunsite.icm.edu.pl/pub/CTAN/support/chktex/">
- ftp://sunsite.icm.edu.pl/pub/CTAN/</a>, (Poland)
-
-<li> <a href="ftp://ftpserver.nus.sg/pub/zi/TeX/support/chktex/">
- ftp://ftpserver.nus.sg/pub/zi/TeX/</a>, (Singapore)
-
-<li> <a href="ftp://ftp.ee.up.ac.za/tex-archive/support/chktex/">
- ftp://ftp.ee.up.ac.za/tex-archive/</a>, (South Africa)
-
-<li> <a href="ftp://nic.switch.ch/mirror/tex/support/chktex/">
- ftp://nic.switch.ch/mirror/tex/</a>, (Switzerland)
-
-<li> <a href="ftp://dongpo.math.ncu.edu.tw/tex-archive/support/chktex/">
- ftp://dongpo.math.ncu.edu.tw/tex-archive/</a>, (Taiwan)
-
-<li> <a href="ftp://ftp.ccu.edu.tw/pub/tex/support/chktex/">
- ftp://ftp.ccu.edu.tw/pub/tex/</a>, (Taiwan)
-
-<li> <a href="ftp://ftp.fcu.edu.tw/pub2/tex/support/chktex/">
- ftp://ftp.fcu.edu.tw/pub2/tex/</a>, (Taiwan)
-
-<li> <a href="ftp://ftp.shsu.edu/pub/tex/support/chktex/">
- ftp://ftp.shsu.edu/pub/tex/</a>, (Texas, USA)
-
-<li> <a href="ftp://ftp.muni.cz/pub/tex/CTAN/support/chktex/">
- ftp://ftp.muni.cz/pub/tex/CTAN/</a>, (The Czech Republic)
-
-<li> <a href="ftp://ftp.cs.ruu.nl/pub/tex-archive/support/chktex/">
- ftp://ftp.cs.ruu.nl/pub/tex-archive/</a>, (The Netherlands)
-
-<li> <a href="ftp://ftp.uu.net/pub/text-processing/TeX/support/chktex/">
- ftp://ftp.uu.net/pub/text-processing/TeX/</a>, (Virginia, USA)
-
-<li> <a href="ftp://ftp.cdrom.com/pub/tex/ctan/support/chktex/">
- ftp://ftp.cdrom.com/pub/tex/ctan/</a>, (West coast, USA)
-
-<li> <a href="ftp://ftp.univie.ac.at/packages/tex/support/chktex/">
- ftp://ftp.univie.ac.at/packages/tex/</a>, (\"Osterreich)
-
-
- </ul>
-\end{rawhtml}
-
-\begin{html}
-\subsection{Aminet}
-\end{html}
-\begin{rawhtml}
- I'm only uploading the Amiga version of the archive to Aminet (so
- that unsuspecting Amiga users won't have to download hundreds of
- unwanted kilobytes). If you wish to use ChkTeX on another machine,
- please refer to CTAN.
-
- <p> Directory: <tt> text/tex/</tt>, filename: <tt>chktex.lha</tt>
- <ul>
-<li> <a href="ftp://ftp.wustl.edu/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.wustl.edu/pub/aminet/text/tex/</a>, (USA (MO))
-
-<li> <a href="ftp://ftp.netnet.net/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.netnet.net/pub/aminet/text/tex/</a>, (USA (WI))
-
-<li> <a href="ftp://ftp.ninemoons.com/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.ninemoons.com/pub/aminet/text/tex/</a>, (USA (AZ))
-
-<li> <a href="ftp://ftp.livewire.com.au/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.livewire.com.au/pub/aminet/text/tex/</a>, (Australia)
-
-<li> <a href="ftp://ftp.tas.gov.au/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.tas.gov.au/pub/aminet/text/tex/</a>, (Australia)
-
-<li> <a href="ftp://ftp.luth.se/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.luth.se/pub/aminet/text/tex/</a>, (Scandinavia)
-
-<li> <a href="ftp://ftp.eunet.ch/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.eunet.ch/pub/aminet/text/tex/</a>, (Switzerland)
-
-<li> <a href="ftp://ftp.germany.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.germany.aminet.org/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.pb.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.pb.aminet.org/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-stuttgart.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-stuttgart.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-erlangen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-erlangen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.cs.tu-berlin.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.cs.tu-berlin.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.tu-chemnitz.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.tu-chemnitz.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.fh-augsburg.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.fh-augsburg.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-bremen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-bremen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-kl.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-kl.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-trier.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-trier.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.informatik.rwth-aachen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.informatik.rwth-aachen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-siegen.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-siegen.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://ftp.uni-regensburg.de/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uni-regensburg.de/pub/aminet/text/tex/</a>, (Germany)
-
-<li> <a href="ftp://sunsite.cnam.fr/pub/aminet/text/tex/chktex.lha">
- ftp://sunsite.cnam.fr/pub/aminet/text/tex/</a>, (France)
-
-<li> <a href="ftp://aminet.grolier.fr/pub/aminet/text/tex/chktex.lha">
- ftp://aminet.grolier.fr/pub/aminet/text/tex/</a>, (France)
-
-<li> <a href="ftp://ftp.giga.or.at/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.giga.or.at/pub/aminet/text/tex/</a>, (Austria)
-
-<li> <a href="ftp://sunsite.auc.dk/pub/aminet/text/tex/chktex.lha">
- ftp://sunsite.auc.dk/pub/aminet/text/tex/</a>, (Denmark)
-
-<li> <a href="ftp://ftp.acropolis.gr/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.acropolis.gr/pub/aminet/text/tex/</a>, (Greece)
-
-<li> <a href="ftp://aminet.iit.uni-miskolc.hu/pub/aminet/text/tex/chktex.lha">
- ftp://aminet.iit.uni-miskolc.hu/pub/aminet/text/tex/</a>, (Hungary)
-
-<li> <a href="ftp://ftp.italy.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.italy.aminet.org/pub/aminet/text/tex/</a>, (Italy)
-
-<li> <a href="ftp://ftp.man.szczecin.pl/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.man.szczecin.pl/pub/aminet/text/tex/</a>, (Poland)
-
-<li> <a href="ftp://ftp.portugal.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.portugal.aminet.org/pub/aminet/text/tex/</a>, (Portugal)
-
-<li> <a href="ftp://ftp.gui.uva.es/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.gui.uva.es/pub/aminet/text/tex/</a>, (Spain)
-
-<li> <a href="ftp://ftp.uk.aminet.org/pub/aminet/text/tex/chktex.lha">
- ftp://ftp.uk.aminet.org/pub/aminet/text/tex/</a>, (UK)
-
-<li> <a href="ftp://micros.hensa.ac.uk/pub/aminet/text/tex/chktex.lha">
- ftp://micros.hensa.ac.uk/pub/aminet/text/tex/</a>, (UK)
-
- </ul>
-\end{rawhtml}
-
-\section{Installation}
-
-A few words on installation on various platforms:
-
-\begin{description}
-\item[Amiga:] Use the supplied Installer script.
-\item[MS-DOS \& OS/2:] Copy the binary (\Cmd{ChkTeX.exe}) to somewhere in
- your path, and place the \rsrc\ file in the same directory.
-
- If you're running Emacs, you may wish to copy the file \Cmd{chktex.el}
- to your elisp source directory, and add the following line to your
- \Cmd{.emacs} file:
-\begin{verbatim}
-(require 'chktex)
-\end{verbatim}
-
-\item[UNIX:] Type \Cmd{configure}, \Cmd{make} and finally
- \Cmd{make~install}. To make sure everything proceeded correctly,
- type \Cmd{make~check}. If you don't have superuser privileges and thus
- access to the default system areas, you should type
- \Cmd{configure~--help} to help you set up correct paths.
-
- If you haven't installed any software like this before, that is
- distributed in source form, here are some guidelines to help you
- install it locally at your account. Please note that a mail to the
- system administrator may be less work for you. \smiley
-
- We assume that you have put the archive (\Cmd{chktex.tar.gz}) in a
- subdir of yours, with path \Cmd{\~{}/tmp}. We further assume that
- your shell is \Cmd{csh} or \Cmd{tcsh}. Do the following:
-
- \begin{enumerate}
- \item First of all, unpack the archive contents.
-
-\begin{verbatim}
-> cd ~/tmp
-> gunzip chktex.tar.gz
-> tar xf chktex.tar
-\end{verbatim}
-
- \item Now, we can configure the program. There are some
- configuration options you should know about:
- \begin{description}
- \item[\Cmd{--enable-emacs-hack}:] Install a small file which
- adds \chktex\ to the command menu of AUC-\TeX. This is to be
- considered as a hack, and may break in future versions of
- AUC-\TeX. It works fine under AUC-\TeX\ v2.9, though.
-
- This option needs the path of your elisp directory as argument,
- e.g. \Cmd{--enable-emacs-hack=/home/myself/elisp} or similar.
-
- You'll also have to add the following line to your \Cmd{.emacs}
- file:
-\begin{verbatim}
-(require 'chktex)
-\end{verbatim}
- You can now access \chktex\ from the \Cmd{Command} menu in
- AUC-\TeX. To cycle through the messages, type \verb#C-x `#.
-
- \item[\Cmd{--enable-lacheck-replace}] This enables a quick
- hack for making the AUC-\TeX\ Emacs mode use \chktex\ instead of
- lacheck. This is done by installing a stub script which
- ``overrides'' the original lacheck executable.
-
- While more stable than the previous solution, this is also
- significantly less elegant --- in computing terms, this is the
- ``brute force'' approach.
-
- \item[\Cmd{--enable-debug-info}] \chktex\ has an ability to spit
- out various diagnostic messages using the \Cmd{-d} flag. This
- behaviour is on by default. By adding the flag
- \Cmd{--disable-debug-info} to the commandline, this will not be
- compiled in.
-
- This may be useful if you're running short of disk space (the
- time savings are neglible).
- \end{description}
-
- If you are installing the program on your local account, use the
- following command:
-
-\begin{verbatim}
-> configure --prefix ~/
-\end{verbatim}
-
- Add eventual extra flags as specified above. This command will
- generate a significant amount of output, this can usually be ignored.
-
- \item Finally, we can just build the program and install it.
-
-\begin{verbatim}
-> make
-> make install
-\end{verbatim}
-
- \item Finished! The program is now installed and ready to use. You
- may now tell other people to put your bindir in their path in
- order to benefit from your work. All that remains is to make the
- shell aware of your installation.
-
-\begin{verbatim}
-> rehash
-\end{verbatim}
-
- To make the remaining parts of your system aware of this, you'll
- have to log out and re-log in, I'm afraid. However, you should delay this
- until you've completed this installation procedure.
-
- \item If you wish to make sure that everything is OK (you ought to),
- you may now ask \chktex\ to do a self-test:
-
-\begin{verbatim}
-> make check
-\end{verbatim}
-
- \end{enumerate}
-
-\item[Other platforms:] First of all, you have to copy the
- \Cmd{config.h.in} file to a file named \Cmd{config.h}. Then, edit
- it to reflect your system. Do the same with \Cmd{OpSys.h} (this
- file has been reduced significantly). If you wish, you may define
- \Cmd{DATADIR} to the path you want the global resource file to be
- put.
-
- Now, I would suggest that you take a peak at the \Cmd{OpSys.c}
- file, and edit it appropiately, for more
- comfort. This should not be necessary, though, at least not the
- first time.
-
- Finally, you may now compile and link all \verb@.c@ files. Define
- \Cmd{HAVE\_CONFIG\_H} to 1 (on the command-line, for instance). If
- the \Cmd{config.h} you wish to use has another name, define
- \Cmd{CONFIG\_H\_NAME} to that (in that case, don't define
- \Cmd{HAVE\_CONFIG\_H}).
-
- Put the directory path of the \rsrc\ file in a environment variable
- named \Cmd{CHKTEXRC}. The files \Cmd{deweb.in} and \Cmd{chkweb}
- should be moved to a directory in your path. These files may need
- further setup, as they haven't got the location of perl
- initialized.
-
- If your compiler/the compiled program complains (or crashes!), you
- may try the hints listed below. Please note that it only makes
- sense to try these hints if your compiler fails to produce a working
- program.
-
- \begin{enumerate}
- \item Increase the preprocessor buffers and line buffers. The
- \chktex{} sources define macros sized 3--4k (expanding to about
- the same), and passes arguments sized about 1k.
- \item Use the magic switch which lets us use large
- \Cmd{switch(\dots)\{\dots\}} statements; some of these statements
- have about 120 \Cmd{case} entries.
- \item The sources require that at least the first 12 of each
- identifier is significant.
- \end{enumerate}
-\end{description}
-{\bf Note:\/} You {\em must\/} install the new \rsrc\ file; \chktex\ will
-fail to function unless!
-
- After doing this, you may enhance \chktex' behaviour by
-reading/editing the \rsrc\ file.
-
-%latex
-\section{Usage}
-
-\subsection{\chktex}
-
-Amiga v2.04+ users may wish to note that you may pass the files that
-\chktex\ is to process by shift-clicking them. In addition, you may
-specify the arguments as tooltypes to the main program icon, using the
-{\sf Info} menu option. For instance, if you wish to make the `fancy'
-output the default when starting from Workbench, enter the following
-as a tooltype:
-%
-\begin{verbatim}
-Verbosity=2
-\end{verbatim}
-%
-We use the WB2Argv package (also developed by me, available on Aminet as
-\Cmd{dev/c/WB2Argv.lha}), and
-will fold case until the \Cmd{=} character, in tradition with the
-case-insensitivity of Amiga OS\@. In all other respects (and platforms), the
-options listed below are case-sensitive.
-
-
-
-\subsubsection{Synopsis}
-
-A UNIX-compliant template format follows:
-
-\newcommand{\Group}[1]{\mbox{[#1]}}
-\begin{tabularx}\textwidth{lY}
- \tt chktex & \tt \Group{-hiqrW} \Group{-v[0-\dots]} \Group{-l
- <rcfile>} \Group{-[wemn] <[1-42]|all>} \Group{-d[0-...]} \Group{-p
- <pseudoname>} \Group{-o <outputfile>} \Group{-[btxgI][0|1]}
- file1 file2 \dots
-\end{tabularx}
-
-
-\subsubsection{Options}
-
-These are the options \chktex\ currently accepts.
-Please note that single-lettered options requiring a numerical or no
-argument may be concatenated. E.g.\ saying \Cmd{-v0qb0w2} is the
-same as saying \Cmd{-v0~-q~-b0~-w2}, except for being less to
-type.
-
-Enough general talk; here's a rather detailed description of all
-options:
-\begin{description}
-\item[Misc.\ options:] General options which aren't related to some
- specific subpart of \chktex.
- \begin{description}
- \item[{\tt -h [--help]}] Gives you a command summary.
- \item[{\tt -i [--license]}] Shows distribution information.
- \item[{\tt -l [--localrc]}] Reads a resource-file formatted
- as the global resource-file \rsrc, in addition to the global
- resource-file. This option needs the name of the resource-file
- as a parameter. See also {\tt -g}.
- \item[{\tt -r [--reset]}] This will reset all settings to their
- defaults. This may be useful if you use the {\tt CMDLINE}
- directive in your \rsrc\ file, and wish to do something
- unusual.
- \item[{\tt -d [--debug]}] Needs a numeric argument; a bitmask
- telling what to output. The values below may be added in order
- to output multiple debugging info.
-
- \begin{tabularx}\linewidth{cX}
- \bf Value & \bf Dumps\ldots\\
- 1 & All warnings available and their current status. \\
- 2 & Statistics for all lists in the resource file. \\
- 4 & The contents of all lists in the resource file. \\
- 8 & Misc.\ other status information. \\
- 16 & Run-time info (note that this isn't widely used). \\
- \end{tabularx}
- The info is produced after all switches and resource files have
- been processed.
-
- It is possible to install versions of \chktex\ that ignore this
- flag; this means that it is not certain that this flag works.
- \item[{\tt -W [--version]}] Displays version information, and exits.
- \end{description}
-\item[Muting warning messages:] Controls whether and in what form
- error messages will appear. Usually they accept a specific warning
- number (e.g.\ \Cmd{-w2}), but you may also say \Cmd{all} (e.g.\
- \Cmd{-wall}) which does the operation on {\em all\/} warnings.
- \begin{description}
- \item[{\tt -w [--warnon]}] Makes the message number passed as
- parameter a warning and turns it on.
- \item[{\tt -e [--erroron]}] Makes the message number passed as
- parameter an error and turns it on.
- \item[{\tt -m [--msgon]}] Makes the message number passed as
- parameter a message and turns it on. Messages are not counted.
- \item[{\tt -n [--nowarn]}] Turns the warning/error number passed
- as a parameter off.
- \end{description}
-\item[Output control flags:] Determines the appearance and
- destination of the error reports.
- \begin{description}
- \item[{\tt -q [--quiet]}] Shuts up about copyright information.
- \item[{\tt -o [--output]}] Normally, all errors are piped to {\tt stdout}.
- Using this option with a parameter, errors will be sent to the
- named file instead. Only information relative to the \LaTeX\ file
- will be sent to that file. Memory problems and similar will as as
- always be sent to {\tt stderr}. If a file with the name given
- already exists, it will be renamed to \Cmd{foobar.bak}
- (\Cmd{foobar.\$cl} under MS-DOS), \Cmd{foobar} being the name of
- the file. See also \Cmd{-b}.
-
- \item[{\tt -v [--verbosity]}] Specifies how much and how you
- wish the error reports to be displayed. This is specified in the
- \rsrc\ file; we'll list the default values below. If you wish,
- you may thus edit the \rsrc\ file to add or modify new formats.
-
- The default is mode 1 (that is, the {\em second\/} entry in the
- \rsrc\ file), using {\tt -v} without any parameter will give you
- mode 2.
-
- \begin{description}
- \item[0] Will show the information in a way that should be
- suitable for further parsing by {\tt awk}, {\tt sed} or
- similar. The format is as follows:
-\begin{verbatim}
-File:Line:Column:Warning number:Warning message
-\end{verbatim}
- The colons may be replaced with another string; use the
- \verb@-s@ switch for this.
-
- As the program does not output all errors in quite order, this
- output format is also suitable for piping through \Cmd{sort}.
- \item[1] Shows the information in a way which is more
- comprehensible for humans, but which still doesn't need
- anything but a glass tty.
- \item[2] Shows the information in a fancy way, using escape
- codes and stuff. It is the indeed most readable of all
- modes; however, it needs proper set up of the \Cmd{ChkTeX.h}
- at compilation time. UNIX boxes, however, will find the
- information automatically.
- \item[3] Shows the information suitable for parsing by Emacs;
- this is the same format as {\tt lacheck} uses. More formally,
- it is the following:
-\begin{verbatim}
-"File", line Line: Warning message
-\end{verbatim}
-
- To utilize this, type \verb@M-x compile RET@. Delete whatever
- is written in the minibuffer, and type
- \verb@chktex -v3 texfile.tex@, and you should be able to
- browse through the
- error messages. Use \verb@C-x `@ to parse the messages.
- \item[4] More or less the same as \verb@-v3@, but also includes
- information on where the error actually was found. Takes somewhat
- longer time to parse, but much more informative in use.
- \end{description}
-
- \item[{\tt -f [--format]}] Specifies the format of the output.
- This is done using a format similar to \Cmd{printf()}, where we
- support the specifiers listed below.
-
- \smallskip
- \newcommand{\Pf}[1]{\tt \%#1 &}
- \begin{tabularx}{\linewidth}{cX}
- \bf Code & \bf Description \\
- \Pf{b} String to print {\bf b\/}etween fields (from {\tt
- -s} option). \\
- \Pf{c} {\bf C\/}olumn position of error. \\
- \Pf{d} Length of error ({\bf d\/}igit). \\
- \Pf{f} Current {\bf f\/}ilename.\\
- \Pf{i} Turn on {\bf i\/}nverse printing mode.\\
- \Pf{I} Turn off {\bf i\/}nverse printing mode.\\
- \Pf{k} {\bf k\/}ind of error (warning, error, message).\\
- \Pf{l} {\bf l\/}ine number of error.\\
- \Pf{m} Warning {\bf m\/}essage.\\
- \Pf{n} Warning {\bf n\/}umber.\\
- \Pf{u} An {\bf u\/}nderlining line (like the one which
- appears when using \Cmd{-v1}).\\
- \Pf{r} Part of line in front of error ($\mbox{`S'} -
- 1$).\\
- \Pf{s} Part of line which contains error ({\bf
- s\/}tring).\\
- \Pf{t} Part of line after error ($\mbox{`S'} + 1$).
- \end{tabularx}
- \smallskip
-
- Other characters will be passed literally; thus you can say
- \Cmd{\%\%} to achieve a single percent sign in the output.
- Please note that we may introduce other specifiers in the future,
- so don't abuse this feature for other characters.
-
- Also, note that we do {\em not\/} support field lengths (yet).
- This may come in the future, if I get the time\dots
-
- The {\tt -v} command is implemented by indexing into the \rsrc\
- file; read that for seeing how each format is implemented. If
- you find yourself using a particular format often by using the
- -f switch, consider putting it in the \rsrc\ file instead.
- \item[{\tt -V [--pipeverb]}] Which entry we'll use in the \rsrc\
- file whenever {\tt stdout} isn't a terminal.
-
- The default is to use the same mode as specified with the
- {\tt -v} switch; using {\tt -V} without any parameter will give you
- mode 1.
-
- This switch was implemented because GNU less has problems with
- the escape codes \chktex\ uses for displaying inverse text.
- Under UNIX, there's another way around, though, which is slightly
- more elegant. Add the following line to your \Cmd{.envir} file:
-\begin{verbatim}
-setenv LESS -r
-\end{verbatim}
-
- \item[{\tt -p [--pseudoname]}] With this switch, you can provide
- the filename which will be used when we report the errors. This
- may be useful in scripts, especially when doing pipes. It is in
- other words similar to C's \verb@#line@ directive.
-
- We will only assume this name for the uppermost file; files that
- this one in turn \verb@\@\verb@input@ are presented under their original
- names. This seems most logical to me.
-
- \item[{\tt -s [--splitchar]}] String to use instead of the
- colons when doing {\tt -v0}; e.g.\ this string will be output
- between the fields.
-
- \end{description}
-\item[Boolean switches:] Common for all of these are that they
- take an optional parameter. If it is {\tt 0}, the feature will
- be disabled, if it is {\tt 1}, it will be enabled. All these
- features are on by default; and are toggled if you don't give
- any parameter.
-
- \begin{description}
- \item[{\tt -b [--backup]}] If you use the {\tt -o} switch, and the
- named outputfile exists, it will be renamed to {\tt filename.bak}.
- \item[{\tt -I [--inputfiles]}] Execute \verb@\@\verb@input@
- statements; e.g.\ include the file in the input. Our input parsing
- does of course nest; we use an input-stack to keep track of this.
- \item[{\tt -H [--headererr]}] Show errors found in front of the
- \verb@\begin{document}@ line. Some people keep {\em lots\/} of
- pure \TeX\ code there, which errors can't be detected reliably
- (in other words, we will in most cases just produce a lot of
- garbage).
- \item[{\tt -g [--globalrc]}] Read in the global resource file. This
- switch may be useful together with the {\tt -l} option.
- \item[{\tt -t [--tictoc]}] Display a twirling baton, to show that
- we're working. {\tt -v0} does an {\tt -t0}, too, as it assumes
- that the user then uses the program non-interactively. This is
- now a no-op.
- \item[{\tt -x [--wipeverb]}] Ignore the ``\verb@\verb@'' command
- found within the \LaTeX\ file and its argument is completely by
- the checking routines. This is done by simply overwriting them.
- If you somehow don't like that (for instance, you would like to
- count brackets inside those commands, too), use this switch.
- \end{description}
-\end{description}
-
-
-If you don't specify any input \LaTeX-files on the commandline, we'll
-read from {\tt stdin}. To abort {\tt stdin} input, press the
-following keycombinations:
-
-\smallskip
-\begin{tabular}{ll}
- \bf Machine & \bf Key-combination \\
- Amiga & $\fbox{\tt Ctrl} + \fbox{\tt\BS}$ \\
- UNIX & $\fbox{\tt Ctrl} + \fbox{\tt D}$ \\
- MS-DOS & $\fbox{\tt Ctrl} + \fbox{Z}$, followed by return.
-\end{tabular}
-\smallskip
-
-By default, we're using the 1994 version of GNU's \Cmd{getopt()}
-routine. For those of you who have only used the Amiga's \Cmd{ReadArgs()},
-here are some quick instructions:
-
-\begin{itemize}
-\item Options may be given in any order; the names of the \LaTeX-files
- do not have to be the last arguments. This behaviour may be turned
- off by creating an environment variable named \Cmd{POSIXLY\_CORRECT}.
-\item The special argument \Cmd{--} forces an end of
- option-scanning.
-\item Long-named options begin with \Cmd{--} instead of \Cmd{-}.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the argument, separated from
- the option name by a \Cmd{=}, or else the in next argument.
-\end{itemize}
-
-\subsubsection{The \rsrc\ file}
-
-You should also take a look at the \rsrc\ file. As the file is
-self-documenting; you should be able to get the meaning of each
-keyword by simply reading the file. The method for {\em finding it},
-however, has grown rather complex. An outline is given below.
-
-If \chktex\ finds multiple files when searching, each and everyone
-will be read in the order specified below. The \Cmd{Keyword = \{ item
- item \dots \}} may thus be necessary to reset previously defined
-lists.
-
-In this list, \Cmd{\$foo} is assumed to be the environment variable
-\Cmd{foo}:
-
-\begin{enumerate}
-\item First, we'll take a look at the directory which was specified as
- \Cmd{DATADIR} during compilation (this does not happen on Amiga
- machines). On UNIX boxes, this usually evaluates to
- \Cmd{/usr/local/share/chktexrc} or similar, under MS-DOS it is set
- to \Cmd{\BS{}emtex\BS{}data\BS{}chktexrc}.
-
-\item Look in the following system directories:
-
- \begin{tabular}{ll}
- \bf Machine & \bf Directory \\
- 2.04+ Amiga & {\tt ENV:.chktexrc} \\
- 1.3 Amiga & {\tt S:.chktexrc} \\
- UNIX & \Cmd{\$HOME/.chktexrc} or \Cmd{\$LOGDIR/.chktexrc} \\
- MSDOS & Program installation path
- \end{tabular}
-
-\item Look for it in the directory pointed to by an environment
- variable, as specified in the table below:
-
- \begin{tabularx}\linewidth{lY}
- \bf Machine & \bf Directory \\
- Amiga & \Cmd{\$CHKTEXRC/.chktexrc} \\
- UNIX & \Cmd{\$CHKTEXRC/.chktexrc} \\
- MSDOS & \Cmd{\$CHKTEXRC\BS{}chktexrc}, \Cmd{\$CHKTEX\_HOME\BS
- chktexrc} or \Cmd{\$EMTEXDIR\BS{}data\BS{}chktexrc}
- \end{tabularx}
-
-\item Look for it in the current directory. On UNIX and Amiga boxes,
- we expect the filename to be \Cmd{.chktexrc}; on other machines
- \Cmd{chktexrc}.
-
-\end{enumerate}
-
-If you for some reason wish to undo what the previous files may have
-done, you may say \Cmd{CmdLine \{ -g0 -r \}} somewhere in the \rsrc\
-file; this will reset all previous settings.
-
-
-\subsubsection{Hints}
-I've tried to collect some advice that may be useful --- if you have a
-favourite hint, feel free to send it to me!
-
-\begin{itemize}
-\item If you use \Cmd{german.sty}; it may be wise to put \Cmd{-n18} in
- the \Cmd{CmdLine} entry in the \rsrc\ file. This will probably reduce
- the amount of false warnings significantly.
-\item Put \Cmd{-v} in the \Cmd{CmdLine} entry of the \rsrc\ file; this
- makes the fancy printing the default.
-\item If you're working on a large project, it may pay off to make a
- local resource file which is included in addition to the global
- one. In this one, add the necessary info to reduce the amount of
- false warnings --- these usually don't do anything but hide the
- real warnings.
-\item Create a total ignore environment, which \chktex\ will ignore
- completely. In here, you can place all that code which outsmarts
- \chktex\ completely. For instance, add the following lines at the top
- of your \LaTeX\ file:
-\begin{verbatim}
-% ChkTeX will ignore material within this environment
-\newenvironment{ignore}{}{}
-\end{verbatim}
- In addition, you should add the item \Cmd{ignore} to the \Cmd{VerbEnvir}
- entry in the \rsrc\ file.
-\end{itemize}
-\subsubsection{Bugs}
-
-No fatal ones, I think, but the program currently has some problems when a
-\LaTeX\ command/parameter stretch over a two lines --- some extra spaces
-may be inserted into the input. I regard the program as fairly well
-tested; using the SAS/C \Cmd{cover} utility I was able to make sure that
-approximately 95\% of the code has actually been run successfully in the
-final version. This does indeed leave some lines; most of these are
-procedure terminating brackets or ``can't happen'' lines, though.
-
-We've got some problems when isolating the arguments of a command.
-Although improved, it will certainly fail in certain cases; \chktex\
-can for instance not handle arguments stretching over two lines. This
-also means that \Cmd{WIPEARG} entries in the \rsrc\ file will only
-have the first half of their argument wiped if the argument stretches
-over two lines. We will, however, take care not to wipe parenthesis
-in such cases, in order to avoid false warnings.
-
-Before submitting a bug report, please first see whether the problem can be
-solved by editing the \rsrc\ file appropiately.
-
-
-
-\subsection{ChkWEB}
-
-This shell script is provided for checking CWEB files. The template is
-as follows:
-\begin{verbatim}
-chkweb [options] file1 file2 ...
-\end{verbatim}
-As you may see from the script, it is only a trivial interface towards
-{\tt deweb} and \chktex. It does not support any individual options
-on the command line --- all options found will be passed onto \chktex.
-If \Cmd{--} or a filename is found, the remaining parameters will be
-ignored.
-The only real intelligence it features is that it will try to append
-\verb@.w@ to filenames it can't find.
-
-If no filenames are given, we will read from {\tt stdin}.
-
-\subsection{DeWEB}
-
-This program strips away C code and CWEB commands from CWEB sources.
-It is called with the following synopsis:
-
-\begin{verbatim}
-deweb file1 file2 ...
-\end{verbatim}
-
-{\tt deweb} filters away all C \&\ CWEB commands from a CWEB source code.
-This leaves only the \LaTeX\ code. This stripped code, in turn, may then
-be passed to a suitable syntax checker for \LaTeX, like \chktex\ and {\tt
- lacheck}, or spell-checkers like {\tt ispell}.
-
-When {\tt deweb} strips away the C code from your CWEB source, it tries to
-preserve line breaks. This means that the error reports from {\it your
- favorite tool\/} will be correct regarding to line numbers. In most
-cases, the column position will also be correct. This significantly
-simplifies finding the errors in the \LaTeX\ source (in contrast to the
-output from {\tt cweave}, which output is truly difficult to figure
-anything out from).
-
-{\tt deweb} accepts a list of filenames on the argument line, and will send
-its output to {\tt stdout}. If no filenames are given, it will read from
-stdin, acting as a filter. No options are currently accepted.
-
-Macho users may try to pipe the output from {\tt deweb} directly into
-\LaTeX, theoretically, this should work. This would ease the debugging of
-the \LaTeX\ code significantly, as when \LaTeX\ complains about wrong
-syntax, you'll be able to find the erroneous line much more easily. Don't
-expect that the output looks very much like the final one, though.
-
-{\tt deweb} should now understand all correct {\tt CWEB} opcodes. If it
-complains about not understanding a correct opcode, please inform the
-author.
-
-\subsubsection{Bugs}
-
-{\tt deweb} will not even {\em compile\/} under Perl versions before perl
-v5. Unfortunately, this means that we can't even tell the user why we
-failed; Perl will just complain about not being able to compile the
-regexps.
-
-\section{Explanation of error messages}
-Below is a description of all error-messages \chktex\ outputs.
-Error messages set in {\it italic type\/} are turned off by default.
-Where margin paragraphs are listed in the text, they refer to the
-keyword in the \rsrc\ file which controls the discussed warning.
-
-\newcommand\Keyword[1]{\marginpar{\large\tt\hfill\\ #1}}
-
-\smallskip\pagebreak[2]
-\Keyword{Silent}
-\begin{errdesc}{Command terminated with space.}
- You tried to terminate a command with a blank space. Usually, this
- is an error as these are ignored by \LaTeX. In most cases, you would
- like to have a real space there.
-
- \begin{errexam}
- \verb@\LaTeX@\underline{\tt }\verb@is a typesetter.@ \\*
- \LaTeX is a typesetter. \\*
- \smallskip
- \verb@\LaTeX\ is a typesetter.@ \\*
- \LaTeX\ is a typesetter. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Linker}
-\begin{errdesc}{Non-breaking space (`\~{}') should have been used.}
- When reading a document, it is not very pretty when references are
- split across lines. If you use the \verb@~@ character, \LaTeX\ will
- assign a very high penalty for splitting a line at that point.
- \chktex\ issues this warning if you have forgot to do this.
-
- \begin{errexam}
- \verb@Please refer to figure@\underline{\tt\ }\verb@\ref{foo}.@ \\*
- Please refer to figure 11. \\* % Gotta cheat here! :)
- \smallskip
- \verb@Please refer to figure~\ref{foo}.@ \\*
- Please refer to figure~11. \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You should enclose the previous parenthesis with `\{\}'.}
-
- This is a warning which you may ignore, but for maximum aestethic
- pleasure, you should enclose your bracket characters with `\{\}'s.
-
- \begin{errexam}
- \verb@$@\underline{\tt\ }\verb@[(ab)^{-1}]@\underline{\tt\ }\verb@\^{-2}$@ \\*
- $[(ab)^{-1}]^{-2}$ \\*
- \smallskip
- \verb@${[{(ab)}^{-1}]}^{-2}$@ \\*
- ${[(ab)^{-1}]}^{-2}$ \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{Italic correction (`\BS/') found in non-italic
- buffer.}
- If you try to use the \verb@\/@ command when \chktex\ believes that
- the buffer is not outputted as italic, you'll get this warning.
-
- \begin{errexam}
- \verb@This is an@\underline{\tt\BS/}\verb@ example@ \\*
- This is an\/ example. \\*
- \smallskip
- \verb@This is an example.@ \\*
- This is an example. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{Italic correction (`\BS/') found more than once.}
- If the buffer is italic, and you try to use the \verb@\/@ command
- more than once, you'll get this warning.
-
- \begin{errexam}
- \verb@This {\it example\/@\underline{\tt\BS/}\verb@} is not amusing.@ \\*
- This {\it example\/\/} is not amusing. \\*
- \smallskip
- \verb@This {\it example\/} is not amusing.@ \\*
- This {\it example\/} is not amusing. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{No italic correction (`\BS/') found.}
- You get this error if \chktex\ believes that you are switching from
- italic to non-italic, and you've forgot to use the \verb@\/@ command
- to insert that extra little spacing. If you use the \Cmd{em} option,
- you may ignore this warning.
-
- \begin{errexam}
- \verb@This {\it example@\underline{\tt\ }\verb@} is not amusing, either.@ \\*
- This {\it example} is not amusing, either. \\*
- \smallskip
- \verb@This {\it example\/} is not amusing, either.@ \\*
- This {\it example\/} is not amusing, either. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{IJAccent}
-\begin{errdesc}{Accent command `command' needs use of `command'.}
- If you're using accenting commands, `i' and `j' should lose their
- dots before they get accented. This is accomplished by using the
- \verb@\i@, \verb@\j@, \verb@\imath@ and \verb@\jmath@ command.
-
- \begin{errexam}
- \verb@This is an example of use of accents: \'{@\underline{\tt i}\verb@}.@ \\*
- This is an example of use of accents: \'{i}. \\*
- \smallskip
- \verb@This is an example of use of accents: \'{\i}.@ \\*
- This is an example of use of accents: \'{\i}. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{HyphDash\\NumDash\\WordDash}
-\begin{errdesc}{Wrong length of dash may have been used.}
- This warning suggests that a wrong number of dashes may have been
- used. It does this by classifying the dash according to the the
- character in front and after the dashes.
-
- If they are of the same type, \chktex\ will determine which keyword
- to use in the \rsrc\ file. If not, it will shut up and accept that
- it doesn't know.
-
- \begin{tabular}{ll}
- \bf Character type & \bf Keyword in \rsrc\ file \\*
- Space & \tt WordDash \\*
- Number & \tt NumDash \\*
- Alphabetic character & \tt HyphDash \\*
- \end{tabular}
-
- This is more or less correct, according to my references. Hopefully
- this check can be even more improved (suggestions?).
-
- \begin{errexam}
- \verb@It wasn't anything @\underline{\tt-}\verb@ just a 2@\underline
- {\tt---}\verb@3 star@\underline{\tt--}\verb@shots.@ \\*
- It wasn't anything - just a 2---3 star--shots. \\*
- \smallskip
- \verb@It wasn't anything --- just a 2--3 star-shots@ \\*
- It wasn't anything --- just a 2--3 star-shots. \\*
- \end{errexam}
-\end{errdesc}
-
-
-\fmted{`\%s' expected, found `\%s'.}
-\begin{errdesc}{Solo `\%s' found.}
- You get this warning whenever brackets or environments don't match.
- \chktex\ expect to find matching brackets/environments in the
- same order as their opposites were found, and no closing delimiters
- which haven't been preceded by an opening one.
-
- While bracket matching is not an explicit error, it is usually a
- sign that something is wrong.
-
-\end{errdesc}
-
-\Keyword{CenterDots\\LowDots}
-\begin{errdesc}{You should use `\%s' to achieve an ellipsis.}
- Simply typing three \Cmd{.} in a row will not give a perfect spacing
- withing the between the dots. The \verb@\ldots@ is much more
- suitable for this.
-
- In math mode, you should also distinguish between \verb@\cdots@ and
- \verb@\ldots@; take a look at the example below.
-
- \begin{errexam}
- \newcommand{\td}{\underline{\tt...}}
- \verb@Foo@\td\verb@bar. $1,@\td\verb@,3$. $1+@\td\verb@+3$. $1,@%
- \underline{\tt\BS{}cdots}\verb@,3$.@ \\*
- Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. \\*
- \smallskip
- \verb@Foo\dots bar. $1,\ldots,3$. $1+\cdots+3$. $1,\ldots,3$.@ \\*
- Foo\dots bar. $1,\ldots,3$. $1+\cdots+3$. $1,\ldots,3$. \\
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Abbrev}
-\begin{errdesc}{Interword spacing (`\BS\ ') should perhaps be used.}
-
- One of the specified abbreviations were found. Unless you have
- previously said \verb@\frenchspacing@, you'll have incorrect
- spacing, which one should avoid if possible.
-
- \begin{errexam}
- \verb@This is an example, i.e.@\underline{\tt\ }\verb@an demonstration.@ \\*
- This is an example, i.e. an demonstration. \\*
- \smallskip
- \verb@This is an example, i.e.\ an demonstration.@ \\*
- This is an example, i.e.\ an demonstration. \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{Intersentence spacing (`\BS{}@') should perhaps be used.}
-
- \LaTeX' detection of whether a period ends a sentence or not, is
- only based upon the character in front of the period. If it's
- uppercase, it assumes that it does not end a sentence. While this
- may be correct in many cases, it may be incorrect in others.
- \chktex\ thus outputs this warning in every such case.
-
- \begin{errexam}
- \verb@I've seen an UFO!@\underline{\tt\ }\verb@Right over there!@ \\*
- I've seen an UFO! Right over there! \\*
- \smallskip
- \verb+I've seen an UFO\@! Right over there!+ \\*
- I've seen an UFO\@! Right over there! \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{Could not find argument for command.}
-
- \chktex\ will in some cases need the argument of a function to
- detect an error. As \chktex\ currently processes the \LaTeX\ file on
- a line-by-line basis, it won't find the argument if the command
- which needed it was on the previous line. On the other hand, this
- {\em may\/} also be an error; you ought to check it to be safe.
-
- \begin{errexam}
- \verb@$\hat$@ \\*
- This will give a \LaTeX\ error\dots \\*
- \smallskip
- \verb@$\hat{a}$@ \\*
- $\hat{a}$ \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{No match found for `\%s'.}
-
- This warning is triggered if we find a single, {\em opening\/}
- bracket or environment. While bracket matching is not an explicit
- error, it is usually a sign that something is wrong.
-
-\end{errdesc}
-
-\Keyword{MathEnvir}
-\begin{errdesc}{Mathmode still on at end of LaTeX file.}
- This error is triggered if you at some point have turned on
- mathmode, and \chktex\ couldn't see that you remembered to turn it
- off.
-
-\end{errdesc}
-
-\begin{errdesc}{Number of `character' doesn't match the number of `character'.}
-
- Should be self-explanatory. \chktex\ didn't find the same number of
- an opening bracket as it found of a closing bracket.
-
-\end{errdesc}
-
-\begin{errdesc}{You should use either `` or '' as an alternative to `\,"\,'.}
- Self-explanatory. Look in the example, and you'll understand why.
-
- \begin{errexam}
- \verb@This is an @\underline{\tt"}\verb@example@\underline{\tt"} \\*
- This is an "example" \\*
- \smallskip
- \verb@This is an ``example''@ \\*
- This is an ``example'' \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You should use "'" (ASCII 39) instead of
- "'" (ASCII 180).} On some keyboards you might get the wrong quote.
- This quote looks, IMHO, {\em ugly\/} compared to the standard
- quotes, it doesn't even come out as a quote! Just see in the
- example.
-
-
- \begin{errexam}
- \verb@``There@\underline{\tt '}\verb@s quotes and there@\underline{\tt '}\verb@s quotes@
- \underline{\tt ''} \\* % ''
- ``There´s quotes and there´s quotes´´ \\* % ''
- \smallskip
- \verb@``There's quotes and there's quotes''@ \\*
- ``There's quotes and there's quotes'' \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{Userwarn}
-\begin{errdesc}{User-specified pattern found.}
- A substring you've specified using {\tt USERWARN} in the \rsrc\ file,
- has been found.
-\end{errdesc}
-
-\begin{errdesc*}{This command might not be intended.}
- I implemented this because a friend of mine kept on making these
- mistakes. Easily done if you haven't gotten quite into the syntax
- of \LaTeX.
-
- \begin{errexam}
- \verb@\LaTeX\ is an extension of \TeX@\underline{\tt\BS.}\verb@ Right?@ \\*
- \LaTeX\ is an extension of \TeX\. Right? \\*
- \smallskip
- \verb@\LaTeX\ is an extension of \TeX. Right?@ \\*
- \LaTeX\ is an extension of \TeX. Right? \\*
- \end{errexam}
-\end{errdesc*}
-
-\begin{errdesc*}{Comment displayed.}
- \chktex\ dumps all comments it finds, which in some cases is useful.
- I usually keep all my notes in the comments, and like to review them
- before I ship the final version. For commenting out parts of the
- document, the \Cmd{comment} environment is better suited.
-
-\end{errdesc*}
-
-
-\begin{errdesc}{Either ''\BS,' or '\BS,'' will look better.}
-
- This error is generated whenever you try to typeset three quotes in
- a row; this will not look pretty, and one of them should be
- separated from the rest.
-
- \begin{errexam}
- \underline{\tt```}\verb@Hello', I heard him said'', she remembered.@ \\*
- ```Hello', I heard him said'', she remembered. \\*
- \smallskip
- \verb@``\,`Hello', I heard him said'', she remembered.@ \\*
- ``\,`Hello', I heard him said'', she remembered.
- \end{errexam}
-\end{errdesc}
-
-\Keyword{PostLink}
-\begin{errdesc}{Delete this space to maintain correct pagereferences.}
- This message, issued when a space is found in front of a
- \verb@\index@, \verb@\label@ or similar command (can be set in the
- \rsrc\ file). Sometimes, this space may cause that the word and the
- index happens on separate pages, if a pagebreak happens just there.
-
- You might also use this warning to warn you about spaces in front of
- footnotes; however, the warning text may not be entirely correct
- then.
-
- \begin{errexam}
- \verb@Indexing text@\underline{\tt\ }\verb@\index{text} is fun!@ \\*
- \smallskip
- \verb@Indexing text\index{text} is fun!@ \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You might wish to put this between a pair of `\{\}'}
-
- This warning is given whenever \chktex\ finds a \Cmd{\^{ }}' or a
- \Cmd{\_} followed by either two or more numberic digits or two or
- more alphabetic characters. In most situations, this means that
- you've forgotten some \{\}'s.
-
- \begin{errexam}
- \verb@$5\cdot10^@\underline{\tt10}\verb@$@ \\*
- $5\cdot10^10$ \\*
- \smallskip
- \verb@$5\cdot10^{10}$@ \\*
- $5\cdot10^{10}$
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{You ought to remove spaces in front of punctuation.}
-
- This warning is issued if \chktex\ finds space in front of an
- end-of-sentence character.
-
- \begin{errexam}
- \verb@Do you understand@\underline{\tt\ }\verb@?@ \\*
- Do you understand ? \\*
- \smallskip
- \verb@Do you understand?@ \\*
- Do you understand? \\*
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{Could not execute LaTeX command.}
-
- Some \LaTeX\ commands will be interpreted by \chktex; however, some
- of them are sensible to errors in the \LaTeX\ source. Most notably,
- the \verb@\@\verb@input@ command relies on that the input file exists\dots
-
-\end{errdesc}
-
-\Keyword{Italic\\ItalCmd\\NonItalic}
-\begin{errdesc}{Don't use \BS/ in front of small punctuation.}
- Italic correction should generally {\em not\/} be used in front of
- small punctuation characters like `.' and `,'; as it looks better
- when the preceding italic character leans ``over'' the punctum or
- comma.
-
- \begin{errexam}
- \verb@It is just a {\it test@\underline{\tt\BS/}\verb@}, don't think anything else.@ \\*
- It is just a {\it test\/}, don't think anything else. \\*
- \smallskip
- \verb@It is just a {\it test}, don't think anything else.@ \\*
- It is just a {\it test}, don't think anything else.
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc}{\$\BS{}times\$ may look prettier here.}
- In ASCII environments, it is usual to use the `x' character as an
- infix operator to denote a dimension. The mathemathical symbol
- $\times$ provided by the \verb@$\times$@ command is better suited for
- this.
-
- \begin{errexam}
- \verb@The program opens a screen sized 640@\underline{\tt x}\verb@200 pixels.@ \\*
- The program opens a screen sized 640x200 pixels. \\*
- \smallskip
- \verb@The program opens a screen sized $640\times200$ pixels.@ \\*
- The program opens a screen sized $640\times200$ pixels.
- \end{errexam}
-\end{errdesc}
-
-\begin{errdesc*}{Multiple spaces detected in output.}
-
- This warning, intended for the novice, will remind you that even if
- you {\em type\/} multiple spaces in your input, only a single space
- will come out. Some ways to come around this is listed below.
-
- \begin{errexam}
- \verb@White is a beautiful colour.@ \\*
- White is a beautiful colour. \\*
- \smallskip
- \verb@White~~~~~{ }{ }{ }\ \ \ is a beautiful colour.@ \\*
- White~~~~~{ }{ }{ }\ \ \ is a beautiful colour. \\
- \end{errexam}
-\end{errdesc*}
-
-\Keyword{VerbEnvir}
-\begin{errdesc}{This text may be ignored.}
- Certain implementations of the \verb@verbatim@ environment and
- derivations of that, ignore all text on the same line as
- \verb@\end{verbatim}@. This will warn you about this.
-
-
-\end{errdesc}
-
-\fmted{Use ` to begin quotation, not '.}\hfill\\
-\fmted{Use ' to end quotation, not `.}\hfill\\
-\begin{errdesc}{Don't mix quotes.}
-
- Proper quotations should start with a \verb@`@ and end with a
- \verb@'@; anything else isn't very pretty. Both these warnings are
- relative to this; look in the example below.
-
- \begin{errexam}
- \verb@There are @\underline{\tt`'}%
- \verb@examples'' and there are ``examples@\underline{\tt``}\verb@.@ \\*
- There are `'examples'' and there are ``examples``. \\*
- \smallskip
- \verb@There are ``examples'' and there are ``examples''.@ \\*
- There are ``examples'' and there are ``examples''.
- \end{errexam}
-\end{errdesc}
-
-\Keyword{MathRoman}
-\begin{errdesc}{You should perhaps use `cmd' instead.}
- Most mathematical operators should be set as standard roman font,
- instead of the math italic \LaTeX\ uses for variables. For many
- operators, \LaTeX\ provides a pre-defined command which will typeset
- the operator correctly. Look below for an illustration of the point.
-
- \begin{errexam}
- \verb@$@\underline{\tt sin}\verb@^2 x + @\underline{\tt cos}\verb@^2 x = 1$@ \\*
- $sin^2 x + cos^2 x= 1$ \\*
- \smallskip
- \verb@$\sin^2 x + \cos^2 x = 1$@ \\*
- $\sin^2 x + \cos^2 x = 1$
- \end{errexam}
-\end{errdesc}
-
-\fmted{You should put a space in front of/after parenthesis.}\hfill\\
-\begin{errdesc}{You should avoid spaces in front of/after parenthesis.}
- Outside math mode, you should put a space in front of any group of
- opening parenthesis, and no spaces after. If you have several after
- each other, you should of course not put a space in between each;
- look in the example below. Likewise, there should not be spaces in
- front of closing parenthesis, but there should be at least one
- after.
-
-
-
- \begin{errexam}
- \verb@This@\underline{\tt( }\verb@an example@\underline{\tt( }%
- \verb@Nuff said@\underline{\tt\ }\verb@)), illustrates@\underline{\tt( }%
- \verb@``my''@\underline{\tt\ )}\verb@point.@\\
- This( an example( Nuff said )), illustrates( ``my'' )point. \\
- \smallskip
- \verb@This (an example (Nuff said)), illustrates (``my'') point.@\\
- This (an example (Nuff said)), illustrates (``my'') point.\\
- \end{errexam}
-\end{errdesc}
-
-\Keyword{QuoteStyle}
-\begin{errdesc}{You should not use punctuation in front of/after
- quotes.}
- %
- For best looking documents, you should decide on how you
- wish to put quotes relative to punctuation. \chktex\ recognizes two
- styles; you may specify which you use in the \rsrc\ file. A
- description on each style follows:
- \begin{description}
- \item[Traditional:] This style is the most visually pleasing. It
- always puts the punctuation {\em in front of\/} the quotes, which
- gives a continuous bottom line.
-
- However, it may in certain cases be ambigious. Consider the
- following example from a fictious \Cmd{vi(1)}
- tutorial (quote taken from the Jargon file):
- \begin{center}
- \verb@Then delete a line from the file by typing ``dd.''@ \\*
- Then delete a line from the file by typing ``dd.''
- \end{center}
- That would be very bad --- because the reader would be prone to
- type the string d-d-dot, and it happens that in \Cmd{vi(1)} dot
- repeats the last command accepted. The net result would be to
- delete {\em two\/} lines! This problem is avoided using logical
- style, described below.
- \pagebreak[3]
- \item[Logical:] This style uses quotes as balanced delimiters like
- parentheses. While this is not the most visual pleasing, it is
- can't be misunderstood. The above sentence would then become:
- \nopagebreak
- \begin{center}
- \verb@Then delete a line from the file by typing ``dd''.@ \\*
- Then delete a line from the file by typing ``dd''.
- \end{center}
- \nopagebreak
- \end{description}
-
-\end{errdesc}
-
-\begin{errdesc}{Double space found.}
- This warning is triggered whenever \chktex\ finds a space in front
- of a hard space, or vice versa. This will be rendered as two spaces
- (which you usually don't wish).
-
- \begin{errexam}
- \verb@For output codes, see table@\underline{\tt\ }%
- \verb@~@\underline{\tt\ }\verb@\ref{foo}.@ \\*
- For output codes, see table ~ 1.1.\\*
- \smallskip
- \verb@For output codes, see table~\ref{foo}.@ \\*
- For output codes, see table~1.1.
- \end{errexam}
-\end{errdesc}
-
-\Keyword{MathEnvir}
-\begin{errdesc}{You should put punctuation outside inner/inside
- display math mode.}
- As recommended in the \TeX{}book, you should try to put punctuation
- outside inner math mode, as this is gets formatted better.
-
- Similarily, you should let any final punctuation in display math
- mode end up within it. Look at the following example, which was
- taken from the \TeX{}book:
- \begin{errexam}
- \verb@for $x = a@\underline{\tt,}\verb@b$, or $c$.@\\*
- for $x = a,b$, or $c$. \\*
- \smallskip
- \verb@for $x = a$, $b$, or $c$.@\\*
- for $x = a$, $b$, or $c$.\\*
- \end{errexam}
-
-\end{errdesc}
-
-\Keyword{Primitives}
-\begin{errdesc*}{You ought to not use primitive TeX in LaTeX code.}
- This warning is triggered whenever you use a raw \TeX\ command
- which has been replaced by a \LaTeX\ equivalent. If you consider
- yourself a purist (or want to be sure your code works under \LaTeX3),
- you should use the \LaTeX\ equivalent.
-\end{errdesc*}
-
-\Keyword{NotPreSpaced}
-\begin{errdesc}{You should remove spaces in front of `\%s'}
-
- Some commands should not be prepended by a space character, for cosmetical
- reasons. This notes you of this whenever this has happened.
-
- \begin{errexam}
- \verb@This is a footnote@\underline{\tt\ }\verb@\footnotemark[1] mark.@\\*
- This is a footnote ${}^1$ mark. \\*
- \smallskip
- \verb@This is a footnote\footnotemark[1] mark.@\\*
- This is a footnote${}^1$ mark. \\*
- \end{errexam}
-\end{errdesc}
-
-\Keyword{NoCharNext}
-\begin{errdesc}{`\%s' is normally not followed by `\%c'.}
- \LaTeX' error message when calling \verb@\left \{@ instead of
- \verb@left \{@ is unfortunately rather poor. This warning detects
- this and similar errors.
-\end{errdesc}
-
-\section{Future plans}
-
-In a somewhat prioritized sequence, this is what I'd like to put into the
-program --- if I have the time.
-
-\begin{itemize}
-\item Do a final fix for maths mode. Currently, \chktex\ doesn't
- recognize embedded math mode (i.e.\ constructions like
- \verb@$$a+b\text{for $a \leq 0$}$$@).
-
-\item Support for regular expressions as user patterns. I'll do it at
- once I get the GNU \Cmd{rx} package up and running (it doesn't
- produce correct include files).
-
-\item De-linearize the checker. Currently, it works on a line-by-line
- basis, in most respects, at least. I hope to be able to remove this
- barrier; as this will reduce the amount of false warnings
- somewhat.
-
-\item Probably some more warnings/errors; just have to think them out
- first. Suggestions are appreciated --- I've ``stolen'' most that
- similar programs provides, and am running out of ideas, really.
-
- It would also be nice to investigate the field of ``globally''
- oriented warnings; i.e.\ warnings regarding the document as a
- whole. Currently, \chktex\ operates mainly on a local/``greedy''
- basis.
-
- If you have suggestions/ideas on this topic, they're certainly
- welcome, including references to literature.
-
-\item Fix a few more bugs. \smiley
-\end{itemize}
-
-\section{Notes}
-
-\subsection{Wish to help?}
-
-As most other living creatures, I have only a limited amount of time. If
-you like \chktex\ and would like to help improving it, here's a few things
-I would like to receive. The following ideas are given:
-
-\begin{itemize}
-\item Does anyone have a $\mbox{\LaTeX}\rightarrow \mbox{{\tt troff}}$
- conversion program? It would be really nice if I could extract the
- relevant sections from this manual, and present them as a man page.
- I will not, however, convert this manual to \TeX{}info in order to
- be able to do this; IMHO \TeX{}info documents have far too limited
- typographic possibilities.
-
- This doesn't mean that I'm not willing to restructure the document
- at all. This manual already uses some kind of preprocessing in order
- to achieve HTML output via \LaTeX2{\tt html}, I'm willing to do the
- same in order to produce {\tt troff} output.
-
-\item Help me port the program! This is a prioritized one. It's no fun
- writing ANSI C when people haven't got a C compiler.
-
- Of course, I'll provide whatever help necessary to modify the sources
- to fit to the new platform. Take contact if you're interested. I will
- include your compiled binary in the distribution, and give you
- credit where appropiate.
-
- Just one request: If you have to modify the sources in order to make
- \chktex\ compile \& work on the new platform, {\em please\/} enclose your
- changes in something like \Cmd{\#ifdef \_\_PLATFORM\_\_\dots code\dots\#endif}!
- It makes life so much easier later, when we try to merge the two
- source trees.
-
-\item Reports on problems configuring and compiling \chktex\ on supported
- (and unsupported) systems are welcomed.
-
-\item Filters for other file formats. I do believe that there are
- several formats using \LaTeX\ for its formatting purposes, combining
- that with something else. If you can write a program or script which
- filters everything away but the \LaTeX\ code, it will surely be
- appreciated (and included). Look at the \verb@deweb@ script to see
- what I mean.
-
-\item Arexx interfaces for other editors are also welcomed; these
- should be rather fast to write. They should to the following:
- \begin{enumerate}
- \item Get the filename of the active file.
- \item If possible, save the file to disk if there has been any
- changes.
- \item Call the program \Cmd{ChkTeX.rexx} with the filename as the
- only parameter.
- \end{enumerate}
-
-\item If somebody out there actually possesses (and uses) GoldED, it
- would be nice if they checked whether the ARexx script included
- actually work. If not, please send me a fixed copy; perhaps also
- one which supports point 2 above, too. If it does work, then please
- tell me so, so I can remove this item.
-
- I don't have GoldEd in my possession; the script was just modelled
- after Juergen Zeschky's, ({\tt <juergen@sokrates.nbg.de>})
- $\mbox{PGP}\leftrightarrow\mbox{GoldED}$ interface.
-
-\item If you update the \rsrc\ file in anyway that is not strictly
- local, I would appreciate to receive your updated version.
-
-\item Suggestions for new warnings are always welcomed. Both formal
- (i.e.\ regexps or similar) and non-formal (plain English) descriptions
- are welcomed.
-\end{itemize}
-
-Of course, people doing any of this will be mentioned in this document, and
-thus receive eternal glory and appreciation.
-
-\subsection{Caps and stuff}
-
-This program uses the \Cmd{getopt()} routine, as supplied from GNU\@.
-The source included in this distribution has been modified slightly.
-To make the use of C2LOCAL easier, portions which were
-\verb@#ifdef@'ed out, have now been commented out.
-
-Where trademarks have been used, the author is aware of that they
-belong to someone, and has tried to stick to the original caps.
-
-\section{About the author}
-
-A quick summary of who I am and what I do:
-
-I'm 21 years old, and live in Oslo, the capital of Norway. I'm
-currently studying maths and computer science at the
-University~of~Oslo; planning to get a degree within mathematical
-modeling, with a dash of physics and emphazing the computer part of
-the study. More precisely, in autumn'96 my studies consist of
-mathematical analysis, statistics \& probability calculations plus
-studying the relationship between society and computers.
-
-At home I now possess 4 computers, of which 1 is regular use: A
-vanilla Amiga 1200, expanded only by a HD\@. The others are a {\tt
- 80286} PC and an Amiga 500, both semi-out-of-order. The last one is
-a Commodore VIC-20, which for some peculiar reason never seems to be
-used. Plans are to get a Linux-capable PC, though.
-
-Most of the time in front of these computers (including SGI Indy's and
-SPARC stations at our university) is spent on C and shell programming,
-plus some text-processing.
-
- % I am also involved in writing the document
- % for {\sc Isaac} --- Interactive Simulation as an Alternative to
- % Advanced Calculations. This is planned to help newcomers to physics,
- % by providing a computer program which enables one to simulate most
- % experiments relating to classical mechanics.
- %
-
-C and shell programming are not my only knowledge areas regarding
-computers, however. I write the following languages more or less:
-Perl, Motorola {\tt 68000} assembly code, ARexx, Simula, C++, \LaTeX,
-HTML, AmigaGuide, Amos Basic and Installer LISP\@. Once I also
-mastered Commodore Basic V2, the ``language'' included with my VIC-20.
-
-However, I also try to not to end up as a computer nerd. Thus, in
-addition to the compulsory (?) interest for computers, I am a scout.
-Still running into the woods, climbing the trees, falling down and
-climbing up once more, in other words. To be more specific, I am a
-now a troop leader for `Ulven' scout-group; Norwegian Scouts
-Association. I am also a active rover in `V{\aa}lerenga' scout-group.
-
-Certainly a lot more to tell (I play the piano and like cross-country
-skiing, for instance); but I'll stop here before you fall
-asleep\dots\smiley
-
-
-\section{Thanks}
-
-The author wishes to thank the following people (in alphabetical order):
-
-\def\Name#1#2{%
-\item[]
- \setbox0=\hbox{
- \begin{tabular}{l}
- \bf #1 \\
- \tt #2 \\
- \end{tabular}
- } \usebox0\\ }
-
-\begin{description}
-
- \Name{Russ Bubley}{russ@scs.leeds.ac.uk}
- He has been the main external beta-tester for this program, sending
- me loads and loads of understandable and reproducible bug reports.
- If you somehow think that \chktex\ is well-behaved and free from
- bugs, send warm thoughts to Russ. He has also provided ideas for
- enhanced checks and so forth.
-
- In addition, he sent me a huge list of 238 common English
- abbreviations, for inclusion in the \rsrc\ file! Together with the
- enhanced abbreviation recognizer, I do now believe most
- abbreviations should be catched\dots\smiley
-
- Finally, he has also given me valuable hints for improving the
- program's outputting routine, and given me lots of suggestions for
- filtering unnecessary/false warnings away.
-
- \Name{Gerd B\"ohm}{Gerd.Boehm@physik.uni-regensburg.de}
- Improved and bug-fixed the MS-DOS port of \chktex\ v1.4, sending me
- ready-to-yank code patches. The original port didn't respect all
- the peculiarities of the MS-DOS file-system, unfortunately.
-
- \Name{Lars Frellesen}{frelle@math-tech.dk} Sent a few bug reports
- regarding the filtering of messages. He has also helped me to
- expand the \Cmd{SILENT} keyword in the \rsrc\ file.
-
- \Name{Wolfgang Fritsch}{fritsch@hmi.de}
- Author of the OS/2 port, which he did using the emx compiler.
- Please direct questions regarding strictly to that port to him (I
- would like to receive a carbon copy, though).
-
- \Name{Stefan Gerberding}{stefan@inferenzsysteme.informatik.th-darmstadt.de}
- First one to report the Enforcer hit in v1.2 when using \chktex\ as
- a pipe. Also came with suggestions to make \chktex\ more easily
- compile on early gcc compilers.
-
- He has also kept on beta-testing later versions of \chktex, giving
- me bug-reports and enhancements requests.
-
- \Name{Kasper B. Graversen}{kbg2001@internet.dk} Lots of creative
- suggestions and improvements. Several of the warnings implemented
- were based on his ideas. In addition, he has given advice for
- improving the existing warnings.
-
- Has also provided some OS-oriented code.
-
- \Name{Frank Luithle}{f\_luithle@outside.sb.sub.de}
- Wrote a translation for v1.0. Unfortunately, he remained unreachable
- after that\dots:-/
-
- \Name{Nat}{nat@nataa.frmug.fr.net}
- Reported the same bug as Gerberding. In addition, he taught me a
- few tricks regarding the use of gcc + made me understand that the
- ANSI standard isn't unambigious; at least the \verb@getenv()@ call
- seem to be open for interpretations. Many possible
- incompatibilities have been removed due to these lessons.
-
- \Name{Michael Sanders}{sanders@umich.edu}
- Has found some of the bugs in this beast; both obscure and
- long-lived. Has also provided motivation to clarify this document.
-
- \Name{Bj\o rn Ove Thue}{bjort@ifi.uio.no}
- Author of the MSDOS port; please direct questions regarding
- strictly to that port to him (I would like to receive a carbon
- copy, though).
-
- \Name{Martin Ward}{Martin.Ward@durham.ac.uk}
- Sent a few bug-reports; also gave me information upon where to find
- regexp code. He also provided a Perl script for checking ordinary
- text, which ideas I was able to implement in \chktex. In addition,
- he sent me the source code for \verb@lacheck@; which also inspired some
- of the warnings.
-\end{description}
-
-%endlatex
-\section{Contacting the author}
-
-If you wish to contact me for any reason or would like to participate in
-the development of \chktex, please write to:
-%latex
-\begin{samepage}
-%endlatex
- \begin{quote}
- Jens Berger \\
- Spektrumvn. 4 \\
- N-0666 Oslo \\
- Norway \\
- E-mail: {\tt <jensthi@ifi.uio.no>}
- \end{quote}
-%latex
-\end{samepage}
-%endlatex
-Any signs of intelligent life are welcomed; that should exclude piracy.
-
-\medskip\noindent
-Have fun.
-
-\end{document}
-
-
-
diff --git a/Build/source/texk/chktex/FindErrs.c b/Build/source/texk/chktex/FindErrs.c
deleted file mode 100644
index 2014e3923cc..00000000000
--- a/Build/source/texk/chktex/FindErrs.c
+++ /dev/null
@@ -1,1485 +0,0 @@
-/*
- * ChkTeX v1.5, error searching & report routines.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-
-#include "ChkTeX.h"
-#include "FindErrs.h"
-#include "OpSys.h"
-#include "Utility.h"
-#include "Resource.h"
-
-/***************************** ERROR MESSAGES ***************************/
-
-#undef MSG
-#define MSG(num, type, inuse, ctxt, text) {num, type, inuse, ctxt, text},
-
-struct ErrMsg LaTeXMsgs [emMaxFault + 1] =
-{
- ERRMSGS
- {emMaxFault, etErr, iuOK, 0, INTERNFAULT}
-};
-
-#define istex(c) (isalpha(c) || (AtLetter && (c == '@')))
-#define CTYPE(func) \
-static int my_##func(int c) \
-{ \
- return(func(c)); \
-}
-
-#define INUSE(c) (LaTeXMsgs[(enum ErrNum) c].InUse == iuOK)
-
-#define PSERR2(pos,len,err,a,b) \
- PrintError(CurStkName(&InputStack), RealBuf, pos, len, Line, err, a, b)
-
-#define PSERRA(pos,len,err,a) \
- PrintError(CurStkName(&InputStack), RealBuf, pos, len, Line, err, a)
-
-#define HEREA(len, err, a) PSERRA(BufPtr - Buf - 1, len, err, a)
-#define PSERR(pos,len,err) PSERRA(pos,len,err,"")
-
-#define HERE(len, err) HEREA(len, err, "")
-
-#define SKIP_BACK(ptr, c, check) \
- while((c = *ptr--)) \
- { \
- ifn(check) break; \
- } \
- ptr++;
-
-#define SKIP_AHEAD(ptr, c, check) \
- while((c = *ptr++)) \
- { \
- ifn(check) \
- break; \
- } \
- ptr--;
-
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-static ULONG Line;
-
-static STRPTR RealBuf, LineCpy, BufPtr;
-
-static int ItFlag = efNone;
-
-NEWBUF(Buf, BUFSIZ);
-NEWBUF(CmdBuffer, BUFSIZ);
-NEWBUF(ArgBuffer, BUFSIZ);
-
-static enum ErrNum PerformCommand(const STRPTR Cmd, STRPTR Arg);
-
-#ifdef isdigit
-CTYPE(isdigit)
-#else
-# define my_isdigit isdigit
-#endif
-
-#ifdef isalpha
-CTYPE(isalpha)
-#else
-# define my_isalpha isalpha
-#endif
-
-/*
- * Reads in a TeX token from Src and puts it in Dest.
- *
- */
-
-
-static STRPTR GetLTXToken(STRPTR Src, STRPTR Dest)
-{
- int Char;
-
- if(Src && *Src)
- {
- if(*Src == '\\')
- {
- *Dest++ = *Src++;
- Char = *Dest++ = *Src++;
-
- if(istex(Char))
- {
- while(istex(Char))
- Char = *Dest++ = *Src++;
-
- Src--;
- Dest--;
- }
-
- }
- else
- *Dest++ = *Src++;
- *Dest = 0;
- }
- else
- Src = NULL;
-
- return(Src);
-}
-
-
-/*
- * Scans the `SrcBuf' for a LaTeX arg, and puts that arg into `Dest'.
- * `Until' specifies what we'll copy. Assume the text is
- * "{foo}bar! qux} baz".
- * GET_TOKEN => "{foo}"
- * GET_STRIP_TOKEN => "foo"
- * '!' => "{foo}bar!" (i.e. till the first "!")
- * Returns NULL if we can't find the argument, ptr to the first character
- * after the argument in other cases.
- *
- * If one of the tokens found is in the wl wordlist, and we're in the
- * outer most paren, and Until isn't a single character, we'll stop.
- * You may pass NULL as wl.
- *
- * We assume that you've previously skipped over leading spaces.
- *
- */
-
-#define GET_TOKEN 256
-#define GET_STRIP_TOKEN 257
-
-static STRPTR GetLTXArg(STRPTR SrcBuf,
- const STRPTR OrigDest,
- const int Until,
- struct WordList *wl)
-
-{
- STRPTR Retval, TmpPtr, Dest = OrigDest;
- ULONG DeliCnt = 0;
-
- *Dest = 0;
- TmpPtr = SrcBuf;
-
- switch(Until)
- {
- case GET_STRIP_TOKEN:
- case GET_TOKEN:
- while((Retval = GetLTXToken(TmpPtr, Dest)))
- {
- switch(*Dest)
- {
- case '{':
- DeliCnt++;
- break;
- case '}':
- DeliCnt--;
- }
- Dest += Retval - TmpPtr;
- TmpPtr = Retval;
-
- if(!DeliCnt || ((DeliCnt == 1) && wl && HasWord(Dest, wl)))
- break;
- }
-
- if(Retval && (*OrigDest == '{') && (Until == GET_STRIP_TOKEN))
- {
- strcpy(OrigDest, OrigDest + 1);
- OrigDest[strlen(OrigDest) - 1] = 0;
- }
- break;
- default:
- DeliCnt = TRUE;
- while((Retval = GetLTXArg(TmpPtr, Dest, GET_TOKEN, NULL)))
- {
- if(*Dest == Until)
- DeliCnt = FALSE;
-
- Dest += Retval - TmpPtr;
- TmpPtr = Retval;
-
- if(!DeliCnt)
- break;
- }
- break;
- }
- *Dest = 0;
-
- return(Retval);
-}
-
-
-static STRPTR MakeCpy(void)
-{
- if(!LineCpy)
- LineCpy = strdup(RealBuf);
-
- if(!LineCpy)
- PrintPrgErr(pmStrDupErr);
-
- return(LineCpy);
-}
-
-static STRPTR PreProcess(void)
-{
- /* First, kill comments. */
-
- STRPTR TmpPtr;
-
- strcpy(Buf, RealBuf);
-
- TmpPtr = Buf;
-
- while((TmpPtr = strchr(TmpPtr, '%')))
- {
- if(TmpPtr[-1] != '\\')
- {
- PSERR(TmpPtr - Buf, 1, emComment);
- *TmpPtr = 0;
- break;
- }
- TmpPtr++;
- }
- return(Buf);
-}
-
-/*
- * Interpret environments
- */
-
-static void PerformEnv(STRPTR Env, BOOL Begin)
-{
-static
- TEXT VBStr [BUFSIZ] = "";
-
- if(HasWord(Env, &MathEnvir))
- {
- MathMode += Begin ? 1 : -1;
- MathMode = max(MathMode, 0);
- }
-
- if(Begin && HasWord(Env, &VerbEnvir))
- {
- VerbMode = TRUE;
- strcpy(VBStr, "\\end{");
- strcat(VBStr, Env);
- strcat(VBStr, "}");
- VerbStr = VBStr;
- }
-}
-
-static STRPTR SkipVerb(void)
-{
- STRPTR TmpPtr = BufPtr;
- int TmpC;
-
- if(VerbMode && BufPtr)
- {
- ifn(TmpPtr = strstr(BufPtr, VerbStr))
- BufPtr = &BufPtr[strlen(BufPtr)];
- else
- {
- VerbMode = FALSE;
- BufPtr = &TmpPtr[strlen(VerbStr)];
- SKIP_AHEAD(BufPtr, TmpC, LATEX_SPACE(TmpC));
- if(*BufPtr)
- PSERR(BufPtr - Buf, strlen(BufPtr) - 2, emIgnoreText);
- }
- }
- return(TmpPtr);
-}
-
-#define CHECKDOTS(wordlist, dtval) \
-for(i = 0; (i < wordlist.Stack.Used) && !(Back && Front); i++) \
- { if(!strafter(PstPtr, wordlist.Stack.Data[i])) \
- Back = dtval; \
- if(!strinfront(PrePtr, wordlist.Stack.Data[i])) \
- Front = dtval; }
-
-
-
-/*
- * Checks that the dots are correct
- */
-
-static enum DotLevel CheckDots(STRPTR PrePtr, STRPTR PstPtr)
-{
- ULONG i;
- int TmpC;
- enum DotLevel Front = dtUnknown, Back = dtUnknown;
-
- if(MathMode)
- {
- PrePtr--;
-#define SKIP_EMPTIES(macro, ptr) macro(ptr, TmpC, \
-(LATEX_SPACE(TmpC) || (TmpC == '{') || (TmpC == '}')))
-
- SKIP_EMPTIES(SKIP_BACK, PrePtr);
- SKIP_EMPTIES(SKIP_AHEAD, PstPtr);
-
- CHECKDOTS(CenterDots, dtCDots);
-
- ifn(Front && Back)
- {
- CHECKDOTS(LowDots, dtLDots);
- }
- return(Front & Back);
- }
- else
- return(dtLDots);
-
-}
-
-static STRPTR Dot2Str(enum DotLevel dl)
-{
- STRPTR Retval = INTERNFAULT;
- switch(dl)
- {
- case dtUnknown:
- Retval = "\\cdots or \\ldots";
- break;
- case dtDots:
- Retval = "\\dots";
- break;
- case dtCDots:
- Retval = "\\cdots";
- break;
- case dtLDots:
- Retval = "\\ldots";
- break;
- }
- return Retval;
-}
-
-/*
- * Wipes a command, according to the definition in WIPEARG
- */
-
-static void WipeArgument(STRPTR Cmd, STRPTR CmdPtr)
-{
- ULONG CmdLen = strlen(Cmd);
- STRPTR Format, TmpPtr;
- int c, TmpC;
-
- if(Cmd && *Cmd)
- {
- TmpPtr = &CmdPtr[CmdLen];
- Format = &Cmd[CmdLen + 1];
-
- while(TmpPtr && *TmpPtr && *Format)
- {
- switch(c = *Format++)
- {
- case '*':
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
- if(*TmpPtr == '*')
- TmpPtr++;
- break;
- case '[':
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
- if(*TmpPtr == '[')
- TmpPtr = GetLTXArg(TmpPtr, ArgBuffer, ']', NULL);
- break;
- case '{':
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
- TmpPtr = GetLTXArg(TmpPtr, ArgBuffer, GET_TOKEN, NULL);
- case '}':
- case ']':
- break;
- default:
- PrintPrgErr(pmWrongWipeTemp, &Cmd[strlen(Cmd) + 1]);
- break;
- }
- }
-
- if(TmpPtr)
- strwrite(CmdPtr, VerbClear, TmpPtr - CmdPtr);
- else
- strxrep(CmdPtr, "()[]{}", *VerbClear);
- }
-}
-
-/*
- * Checks italic.
- *
- */
-
-static void CheckItal(const STRPTR Cmd)
-{
- int TmpC;
- STRPTR TmpPtr;
- if(HasWord(Cmd, &NonItalic))
- ItState = itOff;
- elif(HasWord(Cmd, &Italic))
- ItState = itOn;
- elif(HasWord(Cmd, &ItalCmd))
- {
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
- if(*TmpPtr == '{')
- {
- ItFlag = ItState? efItal : efNoItal;
- ItState = itOn;
- }
- }
-}
-
-/*
- * Interpret isolated commands.
- *
- */
-
-static void PerformBigCmd(STRPTR CmdPtr)
-{
- STRPTR TmpPtr,
- ArgEndPtr;
- ULONG CmdLen = strlen(CmdBuffer);
- int TmpC;
- enum ErrNum
- ErrNum;
- struct ErrInfo *ei;
-
- enum DotLevel dotlev, realdl = dtUnknown;
-
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
-
- ArgEndPtr = GetLTXArg(TmpPtr, ArgBuffer, GET_STRIP_TOKEN, NULL);
-
- /* Kill `\verb' commands */
-
- if(WipeVerb)
- {
- if(!strcmp(CmdBuffer, "\\verb"))
- {
- if(*BufPtr)
- {
- if((TmpPtr = strchr(&BufPtr[1], *BufPtr)))
- strwrite(CmdPtr, VerbClear, (TmpPtr - CmdPtr) + 1);
- else
- PSERR(CmdPtr - Buf, 5, emNoArgFound);
- }
- }
- }
-
- if(HasWord(CmdBuffer, &IJAccent))
- {
- if(ArgEndPtr)
- {
- TmpPtr = ArgBuffer;
- SKIP_AHEAD(TmpPtr, TmpC, TmpC == '{'); /* } */
-
- if((*TmpPtr == 'i') || (*TmpPtr == 'j'))
- PrintError(CurStkName(&InputStack), RealBuf,
- CmdPtr - Buf,
- (LONG) strlen(CmdBuffer), Line,
- emAccent, CmdBuffer,
- *TmpPtr, MathMode? "math" : "");
- }
- else
- PSERR(CmdPtr - Buf, CmdLen, emNoArgFound);
- }
-
- if(HasWord(CmdBuffer, &NotPreSpaced) &&
- isspace(CmdPtr[-1]))
- PSERRA(CmdPtr - Buf - 1, 1, emRemPSSpace, CmdBuffer);
-
- if((TmpPtr = HasWord(CmdBuffer, &NoCharNext)))
- {
- STRPTR BPtr = BufPtr;
-
- TmpPtr += strlen(TmpPtr) + 1;
- SKIP_AHEAD(BPtr, TmpC, LATEX_SPACE(TmpC));
-
- if(strchr(TmpPtr, *BPtr))
- {
- PSERR2(CmdPtr - Buf, CmdLen, emNoCharMean,
- CmdBuffer, *BPtr);
- }
- }
-
- if(!strcmp(CmdBuffer, "\\begin") ||
- !strcmp(CmdBuffer, "\\end"))
- {
- if(ArgEndPtr)
- {
- if(!strcmp(ArgBuffer, "document"))
- InHeader = FALSE;
-
- if(CmdBuffer[1] == 'b')
- {
- ifn(PushErr(ArgBuffer, Line, CmdPtr - Buf,
- CmdLen, MakeCpy(),
- &EnvStack))
- PrintPrgErr(pmNoStackMem);
- }
- else
- {
- if((ei = PopErr(&EnvStack)))
- {
- if(strcmp(ei->Data, ArgBuffer))
- PrintError(CurStkName(&InputStack), RealBuf,
- CmdPtr - Buf,
- (LONG) strlen(CmdBuffer),
- Line, emExpectC, ei->Data, ArgBuffer);
-
- FreeErrInfo(ei);
- }
- else
- PrintError(CurStkName(&InputStack), RealBuf,
- CmdPtr - Buf,
- (LONG) strlen(CmdBuffer),
- Line, emSoloC, ArgBuffer);
- }
-
- PerformEnv(ArgBuffer, (BOOL) CmdBuffer[1] == 'b');
- } else
- PSERR(CmdPtr - Buf, CmdLen, emNoArgFound);
- }
-
- CheckItal(CmdBuffer);
-
- if((ErrNum = PerformCommand(CmdBuffer, BufPtr)))
- PSERR(CmdPtr - Buf, CmdLen, ErrNum);
-
- if(!strcmp(CmdBuffer, "\\cdots"))
- realdl = dtCDots;
-
- if(!strcmp(CmdBuffer, "\\ldots"))
- realdl = dtLDots;
-
- if(!strcmp(CmdBuffer, "\\dots"))
- realdl = dtLDots;
-
- if(realdl != dtUnknown)
- {
- dotlev = CheckDots(CmdPtr, BufPtr);
- if(dotlev && (dotlev != realdl))
- {
- TmpPtr = Dot2Str(dotlev);
- PSERRA(CmdPtr - Buf, CmdLen, emEllipsis, TmpPtr);
- }
- }
-
- if((TmpPtr = HasWord(CmdBuffer, &WipeArg)))
- WipeArgument(TmpPtr, CmdPtr);
-}
-
-/*
- * Check user abbreviations. Pass a pointer to the `.';
- * also ensure that it's followed by spaces, etc.
- *
- * Note: We assume that all abbrevs have been transferred from
- * AbbrevCase into Abbrev.
- */
-
-static void CheckAbbrevs(const STRPTR Buffer)
-{
- LONG i;
- STRPTR TmpPtr, AbbPtr;
-
- if(INUSE(emInterWord))
- {
- TmpPtr = TmpBuffer + Abbrev.MaxLen + 2;
- *TmpPtr = 0;
- AbbPtr = Buffer;
-
- for(i = Abbrev.MaxLen;
- i >= 0;
- i--)
- {
- *--TmpPtr = *AbbPtr--;
- if(!isalpha(*AbbPtr) && HasWord(TmpPtr, &Abbrev))
- PSERR(Buffer - Buf + 1, 1, emInterWord);
- if(!*AbbPtr)
- break;
- }
- }
-}
-
-
-/*
- * Check misc. things which can't be included in the main loop.
- *
- */
-
-static void CheckRest(void)
-{
- ULONG Count;
- LONG CmdLen;
- STRPTR UsrPtr;
-
- /* Search for user-specified warnings */
-
- if(INUSE(emUserWarn))
- {
- strcpy(TmpBuffer, Buf);
- FORWL(Count, UserWarn)
- {
- for(UsrPtr = TmpBuffer;
- (UsrPtr = strstr(UsrPtr, UserWarn.Stack.Data[Count]));
- UsrPtr++)
- {
- CmdLen = strlen(UserWarn.Stack.Data[Count]);
- PSERR(UsrPtr - TmpBuffer, CmdLen, emUserWarn);
- }
- }
-
-
- strlwr(TmpBuffer);
-
- FORWL(Count, UserWarnCase)
- {
- for(UsrPtr = TmpBuffer;
- (UsrPtr = strstr(UsrPtr, UserWarnCase.Stack.Data[Count]));
- UsrPtr++)
- {
- CmdLen = strlen(UserWarnCase.Stack.Data[Count]);
- PSERR(UsrPtr - TmpBuffer, CmdLen, emUserWarn);
- }
- }
- }
-}
-
-
-/*
- * Checks that the dash-len is correct.
- */
-
-static void CheckDash(void)
-{
- STRPTR TmpPtr;
- int TmpC;
- LONG TmpCount, Len;
- struct WordList *wl = NULL;
- ULONG i;
- BOOL Errored;
- STRPTR PrePtr = &BufPtr[-2];
-
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, TmpC == '-');
- TmpCount = TmpPtr - BufPtr + 1;
-
- if(MathMode)
- {
- if(TmpCount > 1)
- HERE(TmpCount, emWrongDash);
- }
- else
- {
- if(LATEX_SPACE(*PrePtr) && LATEX_SPACE(*TmpPtr))
- wl = &WordDash;
- if(isdigit(*PrePtr) && isdigit(*TmpPtr))
- wl = &NumDash;
- if(isalpha(*PrePtr) && isalpha(*TmpPtr))
- wl = &HyphDash;
-
- if(wl)
- {
- Errored = TRUE;
- FORWL(i, *wl)
- {
- Len = strtol(wl->Stack.Data[i], NULL, 0);
- if(TmpCount == Len)
- {
- Errored = FALSE;
- break;
- }
- }
- if(Errored)
- HERE(TmpCount, emWrongDash);
- }
- }
-}
-
-/*
- * Pushes and pops nesting characters.
- *
- */
-
-static void HandleBracket(int Char)
-{
- ULONG BrOffset; /* Offset into BrOrder array */
- struct ErrInfo *ei;
- int TmpC, Match;
- TEXT ABuf[2], BBuf[2];
- STRPTR TmpPtr;
-
- AddBracket(Char);
-
- if((BrOffset = BrackIndex(Char)) != ~0UL)
- {
- if(BrOffset & 1) /* Closing bracket of some sort */
- {
- if((ei = PopErr(&CharStack)))
- {
- Match = MatchBracket(*(ei->Data));
- if(ei->Flags & efNoItal)
- {
- if(ItState == itOn)
- {
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, TmpC == '}');
-
- if(!strchr(LTX_SmallPunc, *TmpPtr))
- HERE(1, emNoItFound);
- }
-
- ItState = FALSE;
- }
- elif(ei->Flags & efItal)
- ItState = TRUE;
- FreeErrInfo(ei);
- }
- else
- Match = 0;
-
- if(Match != Char)
- {
- ABuf[0] = Match;
- BBuf[0] = Char;
- ABuf[1] = BBuf[1] = 0;
- if(Match)
- PrintError(CurStkName(&InputStack), RealBuf,
- BufPtr - Buf - 1, 1, Line,
- emExpectC,
- ABuf, BBuf);
- else
- HEREA(1, emSoloC, BBuf);
- }
-
- }
- else /* Opening bracket of some sort */
- {
- if((ei = PushChar(Char, Line, BufPtr - Buf - 1,
- &CharStack, MakeCpy())))
- {
- if(Char == '{')
- {
- switch(ItFlag)
- {
- default:
- ei->Flags = ItFlag;
- ItFlag = efNone;
- break;
- case efNone:
- ei->Flags |= ItState?
- efItal : efNoItal;
- }
- }
- }
-
- else
- PrintPrgErr(pmNoStackMem);
- }
- }
-}
-
-
-
-/*
- * Searches the `Buf' for possible errors, and prints the errors. `Line'
- * is supplied for error printing.
- */
-
-BOOL FindErr(const STRPTR _RealBuf, const ULONG _Line)
-{
- STRPTR
- CmdPtr, /* We'll have to copy each command out. */
- PrePtr, /* Ptr to char in front of command, NULL if
- * the cmd appears as the first character */
- TmpPtr, /* Temporary pointer */
- ErrPtr; /* Ptr to where an error started */
-
- int
- TmpC, /* Just a temp var used throughout the proc.*/
- MatchC,
- Char; /* Char. currently processed */
- ULONG CmdLen; /* Length of misc. things */
- BOOL MixingQuotes;
-
-#if defined(_MSC_VER) && (_MSC_VER < 1300)
- int (* pstcb)(int c);
-#else
- int (CDECL * pstcb)(int c);
-#endif
-
- enum DotLevel dotlev;
-
- LineCpy = NULL;
-
- if(_RealBuf)
- {
- RealBuf = _RealBuf;
- Line = _Line;
-
- BufPtr = PreProcess();
-
- BufPtr = SkipVerb();
-
- while(BufPtr && *BufPtr)
- {
- PrePtr = BufPtr - 1;
- Char = *BufPtr++;
- if(isspace(Char))
- Char = ' ';
-
- switch(Char)
- {
- case '~':
- TmpPtr = NULL;
- if(isspace(*PrePtr))
- TmpPtr = PrePtr;
- elif(isspace(*BufPtr))
- TmpPtr = BufPtr;
-
- if(TmpPtr)
- PSERR(TmpPtr - Buf, 1, emDblSpace);
- break;
-
- case 'X':
- case 'x':
- TmpPtr = PrePtr;
-
- SKIP_BACK(TmpPtr, TmpC,
- (LATEX_SPACE(TmpC) || strchr("{}$", TmpC)));
-
- if(isdigit(*TmpPtr))
- {
- TmpPtr = BufPtr;
-
- SKIP_AHEAD(TmpPtr, TmpC,
- (LATEX_SPACE(TmpC) || strchr("{}$", TmpC)));
-
- if(isdigit(*TmpPtr))
- HERE(1, emUseTimes);
- }
- /* FALLTHRU */
- /* CTYPE: isalpha() */
- case 'a': case 'b': case 'c': case 'd':
- case 'e': case 'f': case 'g': case 'h':
- case 'i': case 'j': case 'k': case 'l':
- case 'm': case 'n': case 'o': case 'p':
- case 'q': case 'r': case 's': case 't':
- case 'u': case 'v': case 'w': /* case 'x': */
- case 'y': case 'z':
-
- case 'A': case 'B': case 'C': case 'D':
- case 'E': case 'F': case 'G': case 'H':
- case 'I': case 'J': case 'K': case 'L':
- case 'M': case 'N': case 'O': case 'P':
- case 'Q': case 'R': case 'S': case 'T':
- case 'U': case 'V': case 'W': /* case 'X': */
- case 'Y': case 'Z':
- if(!isalpha(*PrePtr) && (*PrePtr != '\\') && MathMode)
- {
- TmpPtr = BufPtr;
- CmdPtr = CmdBuffer;
- do
- {
- *CmdPtr++ = Char;
- Char = *TmpPtr++;
- } while(isalpha(Char));
-
- *CmdPtr = 0;
-
- if(HasWord(CmdBuffer, &MathRoman))
- HEREA(strlen(CmdBuffer), emWordCommand, CmdBuffer);
- }
-
- break;
- case ' ':
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
-
- if(*TmpPtr && *PrePtr)
- {
- if((TmpPtr - BufPtr) > 0)
- {
- HERE(TmpPtr - BufPtr + 1, emMultiSpace);
- strwrite(BufPtr, VerbClear, TmpPtr - BufPtr - 1);
- }
- }
- break;
-
- case '.':
- if((Char == *BufPtr) && (Char == BufPtr[1]))
- {
- dotlev = CheckDots(&PrePtr[1], &BufPtr[2]);
- TmpPtr = Dot2Str(dotlev);
- HEREA(3, emEllipsis, TmpPtr);
- }
-
- /* Regexp: "([^A-Z@.])\.[.!?:;]*\s+[a-z]" */
-
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, strchr(LTX_GenPunc, TmpC));
- if(LATEX_SPACE(*TmpPtr))
- {
- if(!isupper(*PrePtr) && (*PrePtr != '@') &&
- (*PrePtr != '.'))
- {
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
- if(islower(*TmpPtr))
- PSERR(BufPtr - Buf, 1, emInterWord);
- else
- CheckAbbrevs(&BufPtr[-1]);
- }
- }
-
- /* FALLTHRU */
- case ':': case '?': case '!': case ';':
- /* Regexp: "[A-Z][A-Z][.!?:;]\s+" */
-
- if(isspace(*BufPtr) && isupper(*PrePtr) &&
- (isupper(PrePtr[-1]) || (Char != '.')))
- HERE(1, emInterSent);
-
- /* FALLTHRU */
- case ',':
- if(isspace(*PrePtr) &&
- !(isdigit(*BufPtr) &&
- ((BufPtr[-1] == '.') || (BufPtr[-1] == ','))))
- PSERR(PrePtr - Buf, 1, emSpacePunct);
-
- if(MathMode &&
- (((*BufPtr == '$') && (BufPtr[1] != '$')) ||
- (!strafter(BufPtr, "\\)"))))
- HEREA(1, emPunctMath, "outside inner");
-
- if(!MathMode &&
- (((*PrePtr == '$') && (PrePtr[-1] == '$')) ||
- (!strinfront(PrePtr, "\\]"))))
- HEREA(1, emPunctMath, "inside display");
-
- break;
- case '\'':
- case '`':
- if((Char == *BufPtr) && (Char == BufPtr[1]))
- {
- PrintError(CurStkName(&InputStack), RealBuf,
- BufPtr - Buf - 1, 3, Line,
- emThreeQuotes,
- Char, Char, Char,
- Char, Char, Char);
- }
-
- if(Char == '\'')
- MatchC = '`';
- else
- MatchC = '\'';
-
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, TmpC == Char);
-
- MixingQuotes = FALSE;
-
- if((*TmpPtr == MatchC) || (*TmpPtr == '\"') ||
- (*TmpPtr == '´'))
- MixingQuotes = TRUE;
-
- SKIP_AHEAD(TmpPtr, TmpC, strchr("`\'\"´", TmpC));
-
- if(MixingQuotes)
- HERE(TmpPtr - BufPtr + 1, emQuoteMix);
-
- switch(Char)
- {
- case '\'':
- if(isalpha(*TmpPtr) &&
- (strchr(LTX_GenPunc, *PrePtr) || isspace(*PrePtr)))
- HERE(TmpPtr - BufPtr + 1, emBeginQ);
-
- /* Now check quote style */
-#define ISPUNCT(ptr) (strchr(LTX_GenPunc, *ptr) && (ptr[-1] != '\\'))
-
- /* We ignore all single words/abbreviations in quotes */
-
- {
- STRPTR WordPtr = PrePtr;
- SKIP_BACK(WordPtr, TmpC, (isalnum(TmpC) ||
- strchr(LTX_GenPunc, TmpC)));
-
- if(*WordPtr != '`')
- {
- if(*PrePtr && (Quote != quTrad) && ISPUNCT(PrePtr))
- PSERRA(PrePtr - Buf, 1, emQuoteStyle,
- "in front of");
-
- if(*TmpPtr && (Quote != quLogic) &&
- ISPUNCT(TmpPtr))
- PSERRA(TmpPtr - Buf, 1, emQuoteStyle, "after");
- }
- }
-
- break;
- case '`':
- if(isalpha(*PrePtr) &&
- (strchr(LTX_GenPunc, *TmpPtr) || isspace(*TmpPtr)))
- HERE(TmpPtr - BufPtr + 1, emEndQ);
- break;
- }
- BufPtr = TmpPtr;
- break;
- case '"':
- HERE(1, emUseQuoteLiga);
- break;
-
- /* One of these are unnecessary, but what the heck... */
- case 180: /* ´. NOTE: '\xb4' gets converted to - something*/
- case ~(0xff &(~180)): /* This yields 0xff...fb4 in */
- /* arbitrary precision. */
-
- HERE(1, emUseOtherQuote);
- break;
-
- case '_':
- case '^':
- if(*PrePtr != '\\')
- {
- TmpPtr = PrePtr;
- SKIP_BACK(TmpPtr, TmpC, LATEX_SPACE(TmpC));
-
- CmdLen = 1;
-
- switch(*TmpPtr)
- {
- /*{*/
- case '}':
- if(PrePtr[-1] != '\\')
- break;
-
- CmdLen++;
- PrePtr--;
- /* FALLTHRU */
- /*[(*/
- case ')':
- case ']':
- PSERR(PrePtr - Buf, CmdLen, emEnclosePar);
- }
-
- TmpPtr = BufPtr;
- SKIP_AHEAD(TmpPtr, TmpC, LATEX_SPACE(TmpC));
-
- ErrPtr = TmpPtr;
-
- if(isalpha(*TmpPtr))
- pstcb = &my_isalpha;
- elif(isdigit(*TmpPtr))
- pstcb = &my_isdigit;
- else
- break;
-
- while((*pstcb)(*TmpPtr++))
- ;
- TmpPtr--;
-
- if((TmpPtr - ErrPtr) > 1)
- PSERR(ErrPtr - Buf, TmpPtr - ErrPtr, emEmbrace);
- }
- break;
- case '-':
- CheckDash();
- break;
- case '\\': /* Command encountered */
- BufPtr = GetLTXToken(--BufPtr, CmdBuffer);
-
- if(LATEX_SPACE(*PrePtr))
- {
- if(HasWord(CmdBuffer, &Linker))
- PSERR(PrePtr - Buf, 1, emNBSpace);
- if(HasWord(CmdBuffer, &PostLink))
- PSERR(PrePtr - Buf, 1, emFalsePage);
- }
-
- if(LATEX_SPACE(*BufPtr) && !MathMode &&
- (!HasWord(CmdBuffer, &Silent)) &&
- (strlen(CmdBuffer) != 2))
- {
- PSERR(BufPtr - Buf, 1, emSpaceTerm);
- }
- elif((*BufPtr == '\\') && (!isalpha(BufPtr[1])) &&
- (!LATEX_SPACE(BufPtr[1])))
- PSERR(BufPtr - Buf, 2, emNotIntended);
-
- PerformBigCmd(PrePtr + 1);
- BufPtr = SkipVerb();
-
- break;
-
- LOOP(bracket,
- case '(':
- ifn(!*PrePtr || LATEX_SPACE(*PrePtr) || isdigit(*PrePtr) ||
- strchr("([{`~", *PrePtr))
- {
- if(PrePtr[-1] != '\\') /* Short cmds */
- {
- TmpPtr = PrePtr;
- SKIP_BACK(TmpPtr, TmpC, istex(TmpC));
- if(*TmpPtr != '\\') /* Long cmds */
- PSERRA(BufPtr - Buf - 1, 1, emSpaceParen,
- "in front of");
- }
- }
- if(isspace(*BufPtr))
- PSERRA(BufPtr - Buf, 1, emNoSpaceParen, "after");
-
- LAST(bracket);
- case ')':
- if(isspace(*PrePtr))
- PSERRA(BufPtr - Buf - 1, 1, emNoSpaceParen,
- "in front of");
- if(isalpha(*BufPtr))
- PSERRA(BufPtr - Buf, 1, emSpaceParen, "after");
-
- LAST(bracket);
- )
-
- case '}':
- case '{':
- case '[':
- case ']':
- HandleBracket(Char);
- break;
- case '$':
- if(*PrePtr != '\\')
- {
- if(*BufPtr == '$')
- BufPtr++;
- MathMode ^= TRUE;
- }
-
- break;
- }
- }
-
- if(!VerbMode)
- {
- CheckRest();
- }
- }
-
- return(TRUE);
-}
-
-/*
- * Tries to create plural forms for words. Put a '%s' where a
- * suffix should be put, e.g. "warning%s". Watch your %'s!
- */
-
-static void Transit(FILE *fh, ULONG Cnt, STRPTR Str)
-{
- switch(Cnt)
- {
- case 0:
- fputs("No ", fh);
- fprintf(fh, Str, "s");
- break;
- case 1:
- fputs("One ", fh);
- fprintf(fh, Str, "");
- break;
- default:
- fprintf(fh, "%ld ", Cnt);
- fprintf(fh, Str, "s");
- break;
- }
-}
-
-/*
- * Prints the status/conclusion after doing all the testing, including
- * bracket stack status, math mode, etc.
- */
-
-void PrintStatus(ULONG Lines)
-{
- ULONG Cnt;
- struct ErrInfo *ei;
-
-
- while((ei = PopErr(&CharStack)))
- {
- PrintError(ei->File, ei->LineBuf, ei->Column,
- ei->ErrLen, ei->Line, emNoMatchC,
- (STRPTR) ei->Data);
- FreeErrInfo(ei);
- }
-
- while((ei = PopErr(&EnvStack)))
- {
- PrintError(ei->File, ei->LineBuf, ei->Column,
- ei->ErrLen, ei->Line, emNoMatchC,
- (STRPTR) ei->Data);
- FreeErrInfo(ei);
- }
-
- if(MathMode)
- {
- PrintError(CurStkName(&InputStack), "", 0L, 0L, Lines,
- emMathStillOn);
- }
-
- for(Cnt = 0L; Cnt < (NUMBRACKETS>>1); Cnt++)
- {
- if(Brackets[Cnt << 1] != Brackets[(Cnt << 1) + 1])
- {
- PrintError(CurStkName(&InputStack), "", 0L, 0L, Lines,
- emNoMatchCC,
- BrOrder[Cnt<<1], BrOrder[(Cnt<<1) + 1]);
- }
- }
-
- if(!Quiet)
- {
- Transit(stderr, ErrPrint, "error%s printed; ");
- Transit(stderr, WarnPrint, "warning%s printed; ");
- Transit(stderr, UserSupp, "user suppressed warning%s printed.\n");
- }
-}
-
-
-
-/*
- * Uses OutputFormat. Be sure that `String'
- * does not contain tabs, newlines, etc.
- * Prints a formatted string. Formatting codes understood:
- * %b - string to print Between fields (from -s option)
- * %c - Column position of error
- * %d - lenght of error (Digit)
- * %f - current Filename
- * %i - Turn on inverse printing mode.
- * %I - Turn off inverse printing mode.
- * %k - Kind of error (warning, error, message)
- * %l - Line number of error
- * %m - warning Message
- * %n - warning Number
- * %u - an Underlining line (like the one which appears when using -v1)
- * %r - part of line in front of error ('S' - 1)
- * %s - part of line which contains error (String) * %t - part of line after error ('S' + 1)
- */
-
-
-void PrintError(const STRPTR File, const STRPTR String,
- const LONG Position, const LONG Len,
- const LONG LineNo, const enum ErrNum Error, ...)
-{
- static /* Just to reduce stack usage... */
- TEXT PrintBuffer[BUFSIZ];
- va_list MsgArgs;
-
- STRPTR LastNorm = OutputFormat, of;
- int c;
-
- enum Context Context;
-
- if(betw(emMinFault, Error, emMaxFault))
- {
- switch(LaTeXMsgs[Error].InUse)
- {
- case iuOK:
- do
- {
- Context = LaTeXMsgs[Error].Context;
-
- if(!HeadErrOut)
- Context |= ctOutHead;
-
-#define RGTCTXT(Ctxt, Var) if((Context & Ctxt) && !(Var)) break;
-
- RGTCTXT(ctInMath, MathMode);
- RGTCTXT(ctOutMath, !MathMode);
- RGTCTXT(ctInHead, InHeader);
- RGTCTXT(ctOutHead, !InHeader);
-
- switch(LaTeXMsgs[Error].Type)
- {
- case etWarn:
- WarnPrint++;
- break;
- case etErr:
- ErrPrint++;
- break;
- case etMsg:
- break;
- }
-
- while((of = strchr(LastNorm, '%')))
- {
- c = *of;
- *of = 0;
-
- fputs(LastNorm, OutputFile);
-
- *of++ = c;
-
- switch(c = *of++)
- {
- case 'b':
- fputs(Delimit, OutputFile);
- break;
- case 'c':
- fprintf(OutputFile, "%ld", Position + 1);
- break;
- case 'd':
- fprintf(OutputFile, "%ld", Len);
- break;
- case 'f':
- fputs(File, OutputFile);
- break;
- case 'i':
- fputs(ReverseOn, OutputFile);
- break;
- case 'I':
- fputs(ReverseOff, OutputFile);
- break;
- case 'k':
- switch(LaTeXMsgs[Error].Type)
- {
- case etWarn:
- fprintf(OutputFile, "Warning");
- break;
- case etErr:
- fprintf(OutputFile, "Error");
- break;
- case etMsg:
- fprintf(OutputFile, "Message");
- break;
- }
- break;
- case 'l':
- fprintf(OutputFile, "%ld", LineNo);
- break;
- case 'm':
- va_start(MsgArgs, Error);
- vfprintf(OutputFile, LaTeXMsgs[Error].Message,
- MsgArgs);
- va_end(MsgArgs);
- break;
- case 'n':
- fprintf(OutputFile, "%d", Error);
- break;
- case 'u':
- sfmemset(PrintBuffer, ' ', (LONG) Position);
-
- sfmemset(&PrintBuffer[Position], '^', Len);
- PrintBuffer[Position + Len] = 0;
- fputs(PrintBuffer, OutputFile);
- break;
- case 'r':
- substring(String, PrintBuffer, 0L, Position);
- fputs(PrintBuffer, OutputFile);
- break;
- case 's':
- substring(String, PrintBuffer, Position, Len);
- fputs(PrintBuffer, OutputFile);
- break;
- case 't':
- substring(String, PrintBuffer, Position + Len, LONG_MAX);
- fputs(PrintBuffer, OutputFile);
- break;
- default:
- fputc(c, OutputFile);
- break;
- }
- LastNorm = of;
- }
- fputs(LastNorm, OutputFile);
- } while(FALSE);
- break;
- case iuNotUser:
- UserSupp++;
- break;
- case iuNotSys:
- break;
- }
- }
-}
-
-/*
- * All commands isolated is routed through this command, so we can
- * update global statuses like math mode and whether @ is a letter
- * or not.
- */
-
-static enum ErrNum PerformCommand(const STRPTR Cmd, STRPTR Arg)
-{
- STRPTR Argument = "";
- enum ErrNum
- en = emMinFault;
- int TmpC;
-
- if(!strcmp(Cmd, "\\makeatletter"))
- AtLetter = TRUE;
- elif(!strcmp(Cmd, "\\makeatother"))
- AtLetter = FALSE;
- elif(InputFiles &&
- !(strcmp(Cmd, "\\input") && strcmp(Cmd, "\\include")))
- {
- SKIP_AHEAD(Arg, TmpC, LATEX_SPACE(TmpC));
- if(*Arg == '{') /* } */
- {
- if(GetLTXArg(Arg, TmpBuffer, GET_STRIP_TOKEN, NULL))
- Argument = TmpBuffer;
- }
- else
- Argument = strip(Arg, STRP_BTH);
-
- ifn(Argument && PushFileName(Argument, &InputStack))
- en = emNoCmdExec;
- }
- elif(HasWord(Cmd, &Primitives))
- en = emTeXPrim;
- elif(*Cmd == '\\')
- {
- /* Quicker check of single lettered commands. */
- switch(Cmd[1])
- {
- case '(':
- case '[':
- MathMode = TRUE;
- break;
- case ']':
- case ')':
- MathMode = FALSE;
- break;
- case '/':
- switch(ItState)
- {
- case itOn:
- ItState = itCorrected;
- Argument = Arg;
-
- SKIP_AHEAD(Argument, TmpC, TmpC == '{' || TmpC == '}');
-
- if(strchr(".,", *Argument))
- en = emItPunct;
-
- break;
- case itCorrected:
- en = emItDup;
- break;
- case itOff:
- en = emItInNoIt;
- }
- break;
- }
- }
-
- return(en);
-}
diff --git a/Build/source/texk/chktex/FindErrs.h b/Build/source/texk/chktex/FindErrs.h
deleted file mode 100644
index 4ce4924dec0..00000000000
--- a/Build/source/texk/chktex/FindErrs.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * ChkTeX v1.5, header file for main program.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-#ifndef FINDERRS_H
-#define FINDERRS_H
-#ifndef FINDERRS_H
-# include "FindErrs.h"
-#endif /* FINDERRS_H */
-#ifndef CHKTEX_H
-# include "ChkTeX.h"
-#endif /* CHKTEX_H */
-
-
-#undef ERRMSGS
-#undef MSG
-
-#define ERRMSGS \
- MSG(emMinFault, etErr, iuOK, ctNone,\
- INTERNFAULT)\
- MSG(emSpaceTerm, etWarn, iuOK, ctOutMath,\
- "Command terminated with space.")\
- MSG(emNBSpace, etWarn, iuOK, ctNone,\
- "Non-breaking space (`~') should have been used.")\
- MSG(emEnclosePar, etWarn, iuOK, ctInMath,\
- "You should enclose the previous parenthesis with `{}\'.")\
- MSG(emItInNoIt, etWarn, iuOK, ctNone,\
- "Italic correction (`\\/') found in non-italic buffer.")\
- MSG(emItDup, etWarn, iuOK, ctNone,\
- "Italic correction (`\\/') found more than once.")\
- MSG(emNoItFound, etWarn, iuOK, ctNone,\
- "No italic correction (`\\/') found.")\
- MSG(emAccent, etWarn, iuOK, ctNone,\
- "Accent command `%s' needs use of `\\%c%s'.")\
- MSG(emWrongDash, etWarn, iuOK, ctOutMath,\
- "Wrong length of dash may have been used.")\
- MSG(emExpectC, etWarn, iuOK, ctNone,\
- "`%s' expected, found `%s'.")\
- MSG(emSoloC, etWarn, iuOK, ctNone,\
- "Solo `%s' found.")\
- MSG(emEllipsis, etWarn, iuOK, ctNone,\
- "You should use %s to achieve an ellipsis.")\
- MSG(emInterWord, etWarn, iuOK, ctOutMath,\
- "Interword spacing (`\\ ') should perhaps be used.")\
- MSG(emInterSent, etWarn, iuOK, ctOutMath,\
- "Intersentence spacing (`\\@') should perhaps be used.")\
- MSG(emNoArgFound, etErr, iuOK, ctNone,\
- "Could not find argument for command.")\
- MSG(emNoMatchC, etWarn, iuOK, ctOutMath,\
- "No match found for `%s'.")\
- MSG(emMathStillOn, etWarn, iuOK, ctNone,\
- "Mathmode still on at end of LaTeX file.")\
- MSG(emNoMatchCC, etWarn, iuOK, ctNone,\
- "Number of `%c' doesn't match the number of `%c'!")\
- MSG(emUseQuoteLiga, etWarn, iuOK, ctNone,\
- "Use either `` or '' as an alternative to `\"'.")\
- MSG(emUseOtherQuote, etWarn, iuOK, ctNone,\
- "Use \"'\" (ASCII 39) instead of \"´\" (ASCII 180).")\
- MSG(emUserWarn, etWarn, iuOK, ctNone,\
- "User-specified pattern found.")\
- MSG(emNotIntended, etWarn, iuNotSys, ctNone,\
- "This command might not be intended.")\
- MSG(emComment, etMsg, iuNotSys, ctNone,\
- "Comment displayed.")\
- MSG(emThreeQuotes, etWarn, iuOK, ctNone,\
- "Either %c\\,%c%c or %c%c\\,%c will look better.")\
- MSG(emFalsePage, etWarn, iuOK, ctOutMath,\
- "Delete this space to maintain correct pagereferences.")\
- MSG(emEmbrace, etWarn, iuOK, ctInMath,\
- "You might wish to put this between a pair of `{}'")\
- MSG(emSpacePunct, etWarn, iuOK, ctOutMath,\
- "You ought to remove spaces in front of punctuation.")\
- MSG(emNoCmdExec, etWarn, iuOK, ctNone,\
- "Could not execute LaTeX command.")\
- MSG(emItPunct, etWarn, iuOK, ctNone,\
- "Don't use \\/ in front of small punctuation.")\
- MSG(emUseTimes, etWarn, iuOK, ctNone,\
- "$\\times$ may look prettier here.")\
- MSG(emMultiSpace, etWarn, iuNotSys, ctOutMath,\
- "Multiple spaces detected in input.")\
- MSG(emIgnoreText, etWarn, iuOK, ctNone,\
- "This text may be ignored.")\
- MSG(emBeginQ, etWarn, iuOK, ctOutMath,\
- "Use ` to begin quotation, not '.")\
- MSG(emEndQ, etWarn, iuOK, ctOutMath,\
- "Use ' to end quotation, not `.")\
- MSG(emQuoteMix, etWarn, iuOK, ctNone,\
- "Don't mix quotes.")\
- MSG(emWordCommand, etWarn, iuOK, ctInMath,\
- "You should perhaps use `\\%s' instead.")\
- MSG(emSpaceParen, etWarn, iuOK, ctOutMath,\
- "You should put a space %s parenthesis.")\
- MSG(emNoSpaceParen, etWarn, iuOK, ctOutMath,\
- "You should avoid spaces %s parenthesis.")\
- MSG(emQuoteStyle, etWarn, iuOK, ctOutMath,\
- "You should not use punctuation %s quotes.")\
- MSG(emDblSpace, etWarn, iuOK, ctOutMath,\
- "Double space found.")\
- MSG(emPunctMath, etWarn, iuOK, ctNone,\
- "You should put punctuation %s math mode.")\
- MSG(emTeXPrim, etWarn, iuNotSys, ctNone,\
- "You ought to not use primitive TeX in LaTeX code.")\
- MSG(emRemPSSpace, etWarn, iuOK, ctOutMath,\
- "You should remove spaces in front of `%s'") \
- MSG(emNoCharMean, etWarn, iuOK, ctNone,\
- "`%s' is normally not followed by `%c'.")
-
-#undef MSG
-#define MSG(num, type, inuse, ctxt, text) num,
-
-enum ErrNum
-{
- ERRMSGS
- emMaxFault
-};
-#undef MSG
-
-enum Context {
- ctNone = 0x00,
- ctInMath = 0x01,
- ctOutMath = 0x02,
- ctInHead = 0x04,
- ctOutHead = 0x08
-};
-
-struct ErrMsg {
- enum ErrNum Number;
- enum {
- etMsg,
- etWarn,
- etErr
- } Type;
-
- enum {
- iuNotSys,
- iuNotUser,
- iuOK
- } InUse;
-
- /* Requirements posed upon environment */
- enum Context Context;
-
- STRPTR Message;
-};
-
-enum ItState {
- itOff,
- itOn,
- itCorrected
-};
-
-
-enum DotLevel {
- dtUnknown = 0x0,
- dtCDots = 0x1,
- dtLDots = 0x2,
- dtDots = 0x4
-};
-
-extern struct ErrMsg
- LaTeXMsgs [emMaxFault + 1];
-
-extern STRPTR OutputFormat;
-
-BOOL FindErr __PROTO((STRPTR const, ULONG const));
-void PrintError __PROTO((const STRPTR,
- const STRPTR, const LONG, const LONG,
- const LONG, const enum ErrNum, ...));
-void PrintStatus __PROTO((ULONG Lines));
-
-#endif /* FINDERRS */
diff --git a/Build/source/texk/chktex/HashWord.a b/Build/source/texk/chktex/HashWord.a
deleted file mode 100644
index 2954f84c766..00000000000
--- a/Build/source/texk/chktex/HashWord.a
+++ /dev/null
@@ -1,122 +0,0 @@
-*
-* ChkTeX v1.5, hashes a NULL-terminated string.
-* Copyright (C) 1995-96 Jens T. Berger Thielemann
-*
-* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-*
-* Contact the author at:
-* Jens Berger
-* Spektrumvn. 4
-* N-0666 Oslo
-* Norway
-* E-mail: <jensthi@ifi.uio.no>
-*
-*
-
-******* HashWord() ****************************************************
-*
-* NAME
-* HashWord() - hashes a NULL-terminated string
-*
-* SYNOPSIS
-*
-* HashVal = @HashWord(char *String)
-* D0.W A0
-*
-* HashVal = _HashWord(char *String)
-* D0.W 4(SP)
-*
-* FUNCTION
-* Hashes a NULL-terminated string.
-*
-* Well optimized (I believe), should be near optimal for this
-* approach to hashing. Optimized for caches, loops and pipelines.
-* Inner loop size: 12 bytes.
-*
-*
-* INPUTS
-* String - a NULL-terminated 8-bit C string. May be passed on
-* stack or in A0, depending on entry point.
-*
-* RETURNS
-* HashVal - the hashed value of the string.
-*
-* NOTES
-* Registers a0 and d1 are destroyed.
-*
-* This function works best when there's a slight difference in
-* the length of the strings.
-*
-* On non-Amiga machines a similar routine is implemented in
-* "Utility.c" in the ChkTeX distribution.
-*
-* It should be possible to adopt this to other 680x0 computers,
-* too.
-*
-* BUGS
-* None known.
-*
-***********************************************************************
-*
-*
-*
-*
-*
-
- SECTION text,code
- XDEF _HashWord
- XDEF @HashWord
-
-HashShift EQU 5 * Experiments show this to be best;
- * reasonable, as most TeX commands
- * only use lowercase letters.
-
-REG_HashVal EQUR d0
-REG_TmpChar EQUR d1
-REG_StrLen EQUR d2
-REG_String EQUR a0
-
-Len_Incr EQU 6
-
-CLRD MACRO \1 * Clears data reg
- moveq #0,\1
- ENDM
-
-_HashWord * Stack entry
- move.l 4(sp),REG_String
-@HashWord * Register entry
- CLRD REG_HashVal
- CLRD REG_TmpChar
-
- move.b (REG_String)+,REG_TmpChar
- beq.b return
-
- move.l REG_StrLen,-(sp)
- CLRD REG_StrLen
-
-loop
- eor.w REG_TmpChar,REG_HashVal
- addq.w #Len_Incr,REG_StrLen
- ror.w #HashShift,REG_HashVal
- eor.w REG_StrLen,REG_HashVal
-
- move.b (REG_String)+,REG_TmpChar
- bne.b loop
-
- move.l (sp)+,REG_StrLen
-return
- rts
-
- END
diff --git a/Build/source/texk/chktex/MakeHTML.in b/Build/source/texk/chktex/MakeHTML.in
deleted file mode 100644
index 669afc481c9..00000000000
--- a/Build/source/texk/chktex/MakeHTML.in
+++ /dev/null
@@ -1,20 +0,0 @@
-#! @PERL5@
-
-$latexonly = 0;
-
-while(<>)
-{
- $latexonly = 1 if /^%latex/i;
- $latexonly = 0 if /^%endlatex/i;
-
-
- if($latexonly) {
- if(/^%!(.*)/)
- {
- print $1;
- }
- }
- else {
- print;
- }
-}
diff --git a/Build/source/texk/chktex/Makefile.in b/Build/source/texk/chktex/Makefile.in
deleted file mode 100644
index fbdf387a49f..00000000000
--- a/Build/source/texk/chktex/Makefile.in
+++ /dev/null
@@ -1,346 +0,0 @@
-# @configure_input@
-#
-# Makefile for ChkTeX project, creates the stuff.
-# Copyright (C) 1996 Jens T. Berger Thielemann
-#
-# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Contact the author at:
-# Jens Berger
-# Spektrumvn. 4
-# N-0666 Oslo
-# Norway
-# E-mail: <jensthi@ifi.uio.no>
-#
-
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-bindir=@bindir@
-datadir=@datadir@
-srcdir=@srcdir@
-mandir=@mandir@
-INSTALL=@INSTALL@
-INSTALL_PROGRAM=@INSTALL_PROGRAM@
-INSTALL_DATA=@INSTALL_DATA@
-ELISPDIR=@ELISPDIR@
-
-CC=@CC@
-CFLAGS=@CFLAGS@
-CPPFLAGS=@CPPFLAGS@
-DEFS=@DEFS@
-LIBS=@LIBS@
-LDFLAGS=@LDFLAGS@
-LN_S=@LN_S@
-LATEX=@LATEX@
-DVIPS=@DVIPS@
-PERL5=@PERL5@
-LATEX2HTML=@LATEX2HTML@
-LYNX=@LYNX@
-GROFF=@GROFF@
-SHELL=/bin/sh
-
-SCRIPTS=@SCRIPTS@
-
-USRDEFS=-DDATADIR=\"$(datadir)\"
-
-#####################################################################
-
-INSTALLFILES= configure.in Makefile.in config.h.in chktexrc MakeHTML.in
-
-WEBFILES= chkweb deweb.in
-
-DOCFILES= ChkTeX.tex ChkTeX.dvi \
-ChkTeX.readme COPYING WB2Argv.readme deweb.1 deweb.doc
-
-SOURCEFILES= ChkTeX.c ChkTeX.h FindErrs.c FindErrs.h OpSys.c OpSys.h \
-Resource.c Resource.h Utility.c Utility.h WB2Argv.c WB2Argv.h \
-getopt.c getopt.h getopt1.c HashWord.a chktex.el
-
-PORTFILES= config.msd ChkTeX.dsk ChkTeX.prj SCOPTIONS SMakefile config.AMIGA
-
-TESTFILES= Test.tex input.tex Test.out
-
-
-###
-#
-# OS specific files
-#
-###
-
-## AMIGA
-
-REXXFILES= amiga/ChkTeX.ced amiga/ChkTeX.ged amiga/ChkTeX.scm \
-amiga/ChkTeX.vbr amiga/GotoFile.ced
-
-AMIGAFILES= amiga/ChkTeX.install amiga/ChkTeX.install.info \
-amiga/ChkTeX amiga/ChkTeX.info amiga/COPYING.info \
-amiga/ChkTeX.readme.info amiga/lacheck $(REXXFILES)
-
-## MSDOS
-
-MSDOSFILES= msdos/ChkTeX.exe
-
-## OS/2
-
-OS2FILES= os2/Readme.os2 os2/ChkTeX.exe
-
-## UNIX
-
-UNIXFILES= configure install-sh unix/lacheck
-
-COMMONFILES= $(INSTALLFILES) $(WEBFILES) $(DOCFILES) $(SOURCEFILES) \
-$(TESTFILES) $(PORTFILES)
-
-ARCHIVES= chktex.lha chktex.tar.gz
-
-all: chktex
-
-dist: configure ChkTeX.dvi Test.out ChkTeX.readme deweb.doc
- touch chktex $(ARCHIVES)
- rm -r chktex $(ARCHIVES)
- mkdir chktex chktex/generic chktex/generic/exec
- for file in $(COMMONFILES); do \
- cp $$file chktex/generic; \
- done
- cp exec/types.h chktex/generic/exec
- srcdir=`pwd`; \
- for dir in chktex/amiga/ chktex/msdos/ chktex/os2/ chktex/unix; do \
- cd $$srcdir; \
- mkdir $$dir; \
- cd $$dir; \
- for file in $(COMMONFILES); do \
- $(LN_S) ../generic/$$file .; \
- done; \
- mkdir exec; cd exec; \
- $(LN_S) ../../generic/exec/types.h .; \
- done
- for file in $(AMIGAFILES); do\
- cp /hom/jensthi/chktex/source/$$file chktex/amiga; \
- done
- for file in $(MSDOSFILES); do\
- cp /hom/jensthi/chktex/source/$$file chktex/msdos; \
- done
- for file in $(OS2FILES); do\
- cp /hom/jensthi/chktex/source/$$file chktex/os2; \
- done
- for file in $(UNIXFILES); do\
- cp /hom/jensthi/chktex/source/$$file chktex/unix; \
- done
- cp README chktex/
- -rm chktex.lha
- lha a chktex.lha chktex/amiga/ chktex/README
- -rm chktex_unix.tar.gz
- tar chf chktex_unix.tar chktex/unix
- gzip chktex_unix.tar
- -rm chktex_gen.tar.gz
- tar chf chktex_gen.tar chktex/generic
- gzip chktex_gen.tar
- -rm chktex_msdos.zip chktex_os2.zip
- zip -r chktex_msdos chktex/msdos
- tar cf chktex.tar chktex
- gzip chktex.tar
- rm -r chktex
-
-########################################################################
-
-
-.c.o:
- $(CC) $(CFLAGS) -I$(srcdir) -I. $(DEFS) $(USRDEFS) -c $< -o $@
-
-###################### MAIN DEPENDENCIES ################################
-
-OBJS= ChkTeX.o FindErrs.o getopt.o getopt1.o OpSys.o Resource.o Utility.o
-
-MAKETEST= ./chktex -mall -r -g0 -lchktexrc Test.tex
-
-Test.out: chktex Test.tex ChkTeX.tex
- touch Test.out
- rm -f Test.out
- $(MAKETEST) 1> Test.out
-
-check: chktex
- @echo ">>> Testing that checking algorithms work correctly..."
- @touch chktest
- @rm -f chktest
- @$(MAKETEST) 1> chktest
- @if cmp -s chktest Test.out; then \
- echo ">>> OK!"; \
- rm -f chktest; \
- else \
- echo "***WARNING***"; \
- echo "Problems when checking compilation. This may or may not"; \
- echo "be a problem; anyway, I'm giving you a diff from what the"; \
- echo "results were *supposed* to be..."; \
- diff -c chktest Test.out; \
- fi
-
-
-chktex: $(OBJS)
- touch chktex
- rm -r chktex
- $(CC) $(LDFLAGS) -o chktex $(OBJS) $(LIBS)
-
-install: chktex ChkTeX.dvi
- $(INSTALL) -d $(bindir)
- for program in chktex $(SCRIPTS); do \
- $(INSTALL_PROGRAM) $$program $(bindir); \
- done
- $(INSTALL) -d $(datadir)
- $(INSTALL_DATA) chktexrc $(datadir)
- if (eval echo "$(SCRIPTS)") | egrep deweb >/dev/null 2>&1; then \
- $(INSTALL) -d $(mandir); \
- $(INSTALL) -d $(mandir)/man1; \
- cp deweb.1 $(mandir)/man1; \
- fi
- if (eval echo "$(ELISPDIR)") | egrep "/" >/dev/null 2>&1; then \
- $(INSTALL_DATA) chktex.el $(ELISPDIR); \
- fi
-
-
-
-uninstall:
- -rm -f $(bindir)/chktex
- -rm -f $(bindir)/chkweb
- -rm -f $(bindir)/deweb
- -rm -f $(datadir)/chktexrc
-
-test:
- chktex -v2 -mall Test.tex | less -r
-
-mostlyclean: clean
-
-clean:
- -rm -r *.o *.aux *.log MakeHTML chktex deweb HTML rme 2> /dev/null
-
-distclean: clean
- -rm -r *.cache *.status *.log *.tar.gz *.lha 2> /dev/null
-
-maintainer-clean: clean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- -rm -r *.rme *.dvi *.ps *.doc Test.out 2> /dev/null
-
-dvi: ChkTeX.dvi
-
-html:
- touch HTML
- rm -r HTML
- mkdir HTML
- chmod u+x MakeHTML
- ./MakeHTML ChkTeX.tex > HTML/ChkTeX.tex
- cd HTML; $(LATEX2HTML) ChkTeX.tex
- $(PERL5) -i -pe 's%</code> %</code>%gi;s%\s+([.,?!])%$$1%g;' HTML/ChkTeX/*.html
-
-ChkTeX.readme: ChkTeX.tex
- touch rme
- rm -r rme
- mkdir rme
- chmod u+x MakeHTML
- ./MakeHTML ChkTeX.tex > rme/ChkTeX.tex
- cd rme; $(LATEX2HTML) -split 0 ChkTeX.tex
- $(PERL5) -i -pe 's%</code> %</code>%gi;s%\s+([.,?!])%$$1%g;' rme/ChkTeX/*.html
- $(LYNX) -dump rme/ChkTeX/ChkTeX.html > ChkTeX.rme
- cp Readme.header ChkTeX.readme
- $(PERL5) -e 'undef $$/;$$_=<>;($$_)=/(.*INTRODUCTION(.|\n)*?)[ \t]+ABOUT THIS DOCUMENT/i;s/[ \t]+\n/\n/g;s/\n\n\n/\n/g;s/\[\d+\]//g;print;' ChkTeX.rme >> ChkTeX.readme
-
-###################### INDIVIDUAL DEPENDENCIES ##########################
-
-deweb.doc: deweb.1
- touch deweb.doc
- rm -rf deweb.doc
- $(GROFF) deweb.1 > deweb.doc
-
-configure: configure.in
- autoconf
-
-ChkTeX.dvi: ChkTeX.tex
- $(LATEX) ChkTeX.tex
-
-ChkTeX.ps: ChkTeX.dvi
- $(DVIPS) -o ChkTeX.ps ChkTeX.dvi
-
-ChkTeX: ChkTeX.c
- @echo
-
-ChkTeX.o: ChkTeX.c WB2Argv.h getopt.h ChkTeX.h exec/types.h \
-Utility.h OpSys.h FindErrs.h Resource.h config.h
-
-FindErrs.o: FindErrs.c ChkTeX.h exec/types.h FindErrs.h \
-Utility.h OpSys.h Resource.h config.h
-
-getopt.o: getopt.c config.h getopt.h
-
-getopt1.o: getopt1.c config.h getopt.h
-
-OpSys.o: OpSys.c ChkTeX.h exec/types.h Utility.h OpSys.h config.h
-
-Resource.o: Resource.c ChkTeX.h exec/types.h Utility.h OpSys.h Resource.h \
-config.h
-
-Utility.o: Utility.c ChkTeX.h exec/types.h Utility.h OpSys.h Resource.h \
-config.h
-
-RegExps.o: RegExps.c RegExps.h config.h
-
-WB2Argv.o: WB2Argv.c WB2Argv.h
-
-cover:
- chktex -h
- chktex Test.tex
- chktex -v2 -t -o tmptmptmp <Test.tex
- chktex -v2 -t -o tmptmptmp Test.tex
- chktex Test.tex -v
- chktex Test.tex -v0
- chktex Test.tex -v1
- chktex Test.tex -v2
- chktex Test.tex -v3
- chktex Test.tex -v4
- chktex -t -v0s::: Test.tex -x
- chktex -p FOO Test.tex
- chktex -t Test.tex
- chktex -o tmptmptmp -o tmptmptmptmp Test.tex
- chktex -l t:faultrc test.tex
- chktex -e30w22n1 Test.tex
- chktex -w33e-n1 Test.tex
- chktex -i
- chktex -v2 -t -o tmptmptmp <Test.tex
- chktex -I Test.tex
- chktex -rd2 Test.tex
- chktex -gd2 Test.tex
- chktex -f "*N\
-Between: %b*N\
-Column: %c*N\
-Lenght: %d*N\
-File: %f*N\
-%iInverse%I*N\
-Kind: %k*N\
-Line: %l*N\
-Msg: %m*N\
-Num: %n*N\
-Und: %u*N\
-Pre: %r*N\
-Str: %s*N\
-Post: %t*N\
-*N\
-%k in %f line %l: %m*N\
-%r%i%s%I%t*N\
-%u*N\
-*N" Test.tex
- chktex -o tmptmptmp -r -d2 Test.tex
- chktex -qv0 Test.tex
- chktex -w30 Test.tex
- chktex -g --localrc=.testrc -d2 Test.tex
- cover
diff --git a/Build/source/texk/chktex/OpSys.c b/Build/source/texk/chktex/OpSys.c
deleted file mode 100644
index 02589d1c5f1..00000000000
--- a/Build/source/texk/chktex/OpSys.c
+++ /dev/null
@@ -1,644 +0,0 @@
-/*
- * ChkTeX v1.5, operating system specific code for ChkTeX.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-
-/*
- * Some functions which have to be made different from OS to OS,
- * unfortunately...:\
- *
- */
-
-#ifdef KPATHSEA
-#include <kpathsea/config.h>
-#include <kpathsea/lib.h>
-#include <kpathsea/expand.h>
-#include <kpathsea/tex-file.h>
-#endif
-
-#include "ChkTeX.h"
-#include "OpSys.h"
-#include "Utility.h"
-
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef HAVE_STAT_H
-# include <stat.h>
-#endif
-
-#if HAVE_DIRENT_H
-# include <dirent.h>
-# define NAMLEN(dirent) strlen((dirent)->d_name)
-#else
-# define dirent direct
-# define NAMLEN(dirent) (dirent)->d_namlen
-# if HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif
-# if HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif
-# if HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif
-
-#if defined(HAVE_OPENDIR) && defined(HAVE_CLOSEDIR) && \
- defined(HAVE_READDIR) && defined(HAVE_STAT) && \
- defined(S_IFDIR) && defined(SLASH)
-# define USE_RECURSE 1
-#else
-# define USE_RECURSE 0
-#endif
-
-#if defined(HAVE_LIBTERMCAP) || defined(HAVE_LIBTERMLIB)
-# define USE_TERMCAP 1
-#endif
-
-
-#ifdef USE_TERMCAP
-# ifdef HAVE_TERMCAP_H
-# include <termcap.h>
-# elif HAVE_TERMLIB_H
-# include <termlib.h>
-# else
-int tgetent (char *BUFFER, char *TERMTYPE);
-char *tgetstr (char *NAME, char **AREA);
-# endif
-static char term_buffer[2048];
-#endif
-
-#ifdef AMIGA
-# define __USE_SYSBASE
-# include <dos.h>
-# include <dos/dos.h>
-# include <dos/dosasl.h>
-# include <proto/dos.h>
-# include <proto/exec.h>
-# include <signal.h>
-#endif
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-
-#ifdef AMIGA
-const char
- VersString [] = "$VER: ChkTeX 1.5 " __AMIGADATE__
- " Copyright (c) 1995-96 Jens T. Berger Thielemann "
- "<jensthi@ifi.uio.no>",
- __stdiowin [] = "CON:0/10/640/180/ChkTeX",
- __stdiov37 [] = "/AUTO/CLOSE/WAIT";
-
-const ULONG __MemPoolPuddleSize = 16384,
- __MemPoolThreshSize = 8192;
-
-static struct AnchorPath *AnchorPath = NULL;
-
-static void KillAnchorPath(void);
-static STRPTR InitAnchorPath(STRPTR String);
-# define V37 (DOSBase->dl_lib.lib_Version > 36)
-#endif
-
-
-/*
- * This is the name of the global resource file.
- */
-
-#ifndef DATADIR
-# ifdef AMIGA
-# define DATADIR "S:"
-# elif defined(__unix__)
-# define DATADIR "/usr/local/lib/"
-# elif defined(__MSDOS__)
-# define DATADIR "\\emtex\\data\\"
-# else
-# define DATADIR
-# endif
-#endif
-#define RCBASENAME "chktexrc"
-
-#ifdef __MSDOS__
-# define LOCALRCFILE RCBASENAME
-#else
-# define LOCALRCFILE "." RCBASENAME
-#endif
-
-TEXT ConfigFile [BUFSIZ] = LOCALRCFILE;
-STRPTR ReverseOn, ReverseOff;
-
-
-static BOOL HasFile(STRPTR Dir, const STRPTR Filename, const STRPTR App);
-
-#if USE_RECURSE
-static BOOL SearchFile(STRPTR Dir, const STRPTR Filename, const STRPTR App);
-#endif /* USE_RECURSE */
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-
-/*
- * Modify this one to suit your needs. In any case, it should fill
- * the ConfigFile (sized BUFLEN) buffer above with full name & path
- * for the configuration file. The macro RCFILE will give you the
- * filename part of the file, if you need that.
- *
- * Note: This routine will be called several times. Your mission will
- * be to look in each location, and see whether a .chktexrc file exist
- * there.
- *
- * If you choose to do nothing, only the current directory will be
- * searched.
- *
- */
-
-enum LookIn
-{
- liMin,
- liSysDir,
- liUsrDir,
- liEnvir,
- liCurDir,
- liNFound,
- liMax
-};
-
-
-BOOL SetupVars(void)
-{
- STRPTR Env;
-#ifdef __MSDOS__
- STRPTR Ptr;
-#endif
- static enum LookIn i = liMin;
- static BOOL FoundFile;
-
- while(++i < liMax)
- {
- switch(i)
- {
- case liCurDir: /* Current directory */
- strcpy(ConfigFile, LOCALRCFILE);
- break;
- case liEnvir: /* Environment defined */
-#ifdef __MSDOS__
- if((Env = getenv("CHKTEXRC")) ||
- (Env = getenv("CHKTEX_HOME")))
-#else
- if((Env = getenv("CHKTEXRC")))
-#endif
- {
- strcpy(ConfigFile, Env);
- tackon(ConfigFile, LOCALRCFILE);
- }
- else
-#ifdef __MSDOS__
- if((Env = getenv("EMTEXDIR")))
- {
- strcpy(ConfigFile, Env);
- tackon(ConfigFile, "data");
- tackon(ConfigFile, LOCALRCFILE);
- }
- else
-#endif
- *ConfigFile = 0;
- break;
- case liUsrDir: /* User dir for resource files */
-#ifdef KPATHSEA
- {
- char *f = concat("~/", LOCALRCFILE);
- char *p = kpse_path_expand(f);
- if (p) {
- strcpy(ConfigFile, p);
- free(p);
- }
- else {
- *ConfigFile = 0;
- }
- free(f);
- }
-#else /* ! KPATHSEA */
-#ifdef AMIGA
- if(V37)
- strcpy(ConfigFile, "ENV:");
- else
- strcpy(ConfigFile, "S:");
-
- tackon(ConfigFile, LOCALRCFILE);
-#elif defined(__unix__)
- if((Env = getenv("HOME")) ||
- (Env = getenv("LOGDIR")))
- {
- strcpy(ConfigFile, Env);
- tackon(ConfigFile, LOCALRCFILE);
- }
- else
- *ConfigFile = 0;
-#elif defined(__MSDOS__)
- strcpy(ConfigFile, PrgName);
- if((Ptr = strrchr(ConfigFile, '\\')) ||
- (Ptr = strchr(ConfigFile, ':')))
- strcpy(++Ptr, RCBASENAME);
- else
- *ConfigFile = 0;
-#endif
-#endif /* KPATHSEA */
- break;
- case liSysDir: /* System dir for resource files */
-#ifdef KPATHSEA
- {
- char *f = kpse_find_file(LOCALRCFILE, kpse_program_text_format, TRUE);
- if (f) {
- strcpy(ConfigFile, f);
- }
- else {
- *ConfigFile = '\0';
- }
- }
-#else /* ! KPATHSEA */
-#if defined(__unix__) || defined(__MSDOS__)
- strcpy(ConfigFile, DATADIR);
- tackon(ConfigFile, RCBASENAME);
-#else
- *ConfigFile = 0;
-#endif
-#endif /* KPATHSEA */
- break;
- case liNFound:
- case liMin:
- case liMax:
- *ConfigFile = 0;
- if(!FoundFile)
- PrintPrgErr(pmNoRsrc);
- }
-
- if(*ConfigFile && fexists(ConfigFile))
- break;
- }
- FoundFile |= *ConfigFile;
-
- return(*ConfigFile);
-}
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * This function should initialize the global variables ReverseOn
- * and ReverseOff to magic cookies, which when printed, makes the
- * text in between stand out.
- */
-
-void SetupTerm(void)
-{
-#ifdef USE_TERMCAP
- char *termtype = getenv("TERM");
- int success;
- char *buffer;
-
- ifn(termtype)
- PrintPrgErr(pmSpecifyTerm);
-
- success = tgetent(term_buffer, termtype);
- if(success < 0)
- PrintPrgErr(pmNoTermData);
- if(success == 0)
- PrintPrgErr(pmNoTermDefd);
-
- ifn((buffer = (char *) malloc(strlen(term_buffer))) &&
- (ReverseOn = tgetstr("so", &buffer)) &&
- (ReverseOff = tgetstr("se", &buffer)))
-#endif
- {
- ReverseOn = PRE_ERROR_STR;
- ReverseOff = POST_ERROR_STR;
- }
-
-}
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * Concatenates the `File' string to the `Dir' string, leaving the result
- * in the `Dir' buffer. Takes care of inserting `directory' characters;
- * if we've got the strings "/usr/foo" and "bar", we'll get
- * "/usr/foo/bar".
- *
- * Behaviour somewhat controlled by the macros SLASH and DIRCHARS in the
- * OpSys.h file.
- *
- */
-
-void tackon(STRPTR Dir, const STRPTR File)
-{
- int EndC;
- ULONG SLen;
-
- if(Dir && (SLen = strlen(Dir)))
- {
- EndC = Dir[SLen -1];
- ifn(strchr(DIRCHARS, EndC))
- {
- Dir[SLen++] = SLASH;
- Dir[SLen ] = 0L;
- }
- }
-
- strcat(Dir, File);
-}
-
-/*
- * This function should add the appendix App to the filename Name.
- * If the resulting filename gets too long due to this, it may
- * overwrite the old appendix.
- *
- * Name may be assumed to be a legal filename under your OS.
- *
- * The appendix should contain a leading dot.
- */
-
-void AddAppendix(STRPTR Name, const STRPTR App)
-{
-#ifdef __MSDOS__
- STRPTR p;
-
- if((p = strrchr(Name, '.')))
- strcpy(p, App);
- else
- strcat(Name, App);
-#else
- /*
- * NOTE! This may fail if your system has a claustrophobic file
- * name length limit.
- */
- strcat(Name, App);
-#endif
-
-}
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-
-/*
- * Locates a file, given a wordlist containing paths. If a
- * dir ends in a double SLASH, we'll search it recursively.
- *
- * We assume that
- * a) a deeper level in the dir. tree. has a longer path than
- * one above.
- * b) adding a level doesn't change any of the previous levels.
- *
- * If this function returns TRUE, Dest is guaranteed to contain
- * path & name of the found file.
- *
- * FALSE indicates that the file was not found; Dest is then
- * unspecified.
- */
-
-#ifdef KPATHSEA
-BOOL LocateFile(const STRPTR Filename, /* File to search for */
- STRPTR Dest, /* Where to put final file */
- const STRPTR App, /* Extra optional appendix */
- struct WordList *wl) /* Not used with kpathsea.
- */
-{
- BOOL ret;
- char *fn, *p;
-
- fn = Filename;
- p = kpse_find_file(fn, kpse_tex_format, FALSE);
-
- if (! p || ! *p) {
- fn = concat(Filename, App);
- p = kpse_find_file(fn, kpse_tex_format, FALSE);
- free(fn);
- }
-
- if (p) {
- strcpy(Dest, p);
- free(p);
- ret = TRUE;
- }
- else {
- fprintf(stderr, "%s: warning, file %s%s not found.\n", kpse_program_name, Filename, App);
- ret = FALSE;
- }
-
- return ret;
-}
-#else
-BOOL LocateFile(const STRPTR Filename, /* File to search for */
- STRPTR Dest, /* Where to put final file */
- const STRPTR App, /* Extra optional appendix */
- struct WordList *wl) /* List of paths, entries
- * ending in // will be recursed
- */
-{
- ULONG i, Len;
-
- FORWL(i, *wl)
- {
- strcpy(Dest, wl->Stack.Data[i]);
-
-#if USE_RECURSE
- Len = strlen(Dest);
-
- if(Len && (Dest[Len - 1] == SLASH) && (Dest[Len - 2] == SLASH))
- {
- Dest[Len - 1] = Dest[Len - 2] = 0;
- if(SearchFile(Dest, Filename, App))
- return(TRUE);
- }
- else
-#endif /* USE_RECURSE */
- {
- if(HasFile(Dest, Filename, App))
- return(TRUE);
- }
- }
- return(FALSE);
-}
-#endif
-
-static BOOL HasFile(STRPTR Dir, const STRPTR Filename, const STRPTR App)
-{
- int DirLen = strlen(Dir);
-
- tackon(Dir, Filename);
- if(fexists(Dir))
- return(TRUE);
-
- if(App)
- {
- AddAppendix(Dir, App);
- if(fexists(Dir))
- return(TRUE);
- }
-
- Dir[DirLen] = 0;
- return(FALSE);
-
-}
-
-
-#if USE_RECURSE
-static BOOL SearchFile(STRPTR Dir, const STRPTR Filename, const STRPTR App)
-{
- struct stat *statbuf;
- struct dirent *de;
- DIR *dh;
-
- int DirLen = strlen(Dir);
- BOOL Found = FALSE;
-
- DEBUG(("Searching %s for %s\n", Dir, Filename));
-
- if(HasFile(Dir, Filename, App))
- return(TRUE);
- else
- {
- if((statbuf = malloc(sizeof(struct stat))))
- {
- if((dh = opendir(Dir)))
- {
- while(!Found && (de = readdir(dh)))
- {
- Dir[DirLen] = 0;
- if(strcmp(de->d_name, ".") && strcmp(de->d_name, ".."))
- {
- tackon(Dir, de->d_name);
-
- if(!stat(Dir, statbuf))
- {
- if((statbuf->st_mode & S_IFMT) == S_IFDIR)
- Found = SearchFile(Dir, Filename, App);
- }
- }
- }
- closedir(dh);
- }
- else
- PrintPrgErr(pmNoOpenDir, Dir);
- free(statbuf);
- }
- }
- return(Found);
-}
-#endif /* USE_RECURSE */
-
-
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * This function should be called first with String being a file pattern.
- * It should then return the first filename matching that pattern.
- * Subsequent calls will be made with String = NULL; it should then return
- * any other filenames that matches the same pattern.
- * If the first call is made with NULL, you should return NULL.
- * It may be called more than once with String != NULL, however, you need
- * only to keep track of the last invocation.
- *
- * If a string doesn't match any pattern at all, return the string itself.
- *
- * Don't assume that the String passed will live on until the next
- * invocation, though. strdup() it if you need it after the first time.
- */
-
-#ifdef AMIGA
-
-STRPTR MatchFileName(STRPTR String)
-{
- STRPTR Retval = NULL;
-
- if(AnchorPath || String) /* Is this the first invocation? */
- {
- if(V37)
- {
- ifn(AnchorPath)
- {
- if(AnchorPath = malloc(sizeof(struct AnchorPath) + FMSIZE))
- {
- Retval = InitAnchorPath(String);
- atexit(&KillAnchorPath);
- }
- }
- else
- {
- if(String)
- {
- MatchEnd(AnchorPath);
- Retval = InitAnchorPath(String);
- }
- else
- {
- ifn(MatchNext(AnchorPath))
- Retval = AnchorPath->ap_Buf;
- }
- }
- }
- else /* ARP support may be added in the future */
- Retval = String;
-
- if(AnchorPath && AnchorPath->ap_FoundBreak)
- raise(SIGINT);
- }
-
- if(!Retval && String)
- Retval = String;
-
- return(Retval);
-}
-
-static void KillAnchorPath(void)
-{
- MatchEnd(AnchorPath);
-}
-
-static STRPTR InitAnchorPath(STRPTR String)
-{
- STRPTR Retval = NULL;
-
- AnchorPath->ap_BreakBits = SIGBREAKF_CTRL_C;
- AnchorPath->ap_Strlen = FMSIZE;
- AnchorPath->ap_FoundBreak = FALSE;
- AnchorPath->ap_Flags = 0L;
-
- ifn(MatchFirst(String, AnchorPath))
- Retval = AnchorPath->ap_Buf;
- else
- PrintPrgErr(pmNoFileMatch, String);
-
- AnchorPath->ap_Flags &= ~(APF_DODIR);
- return(Retval);
-}
-
-#else
-STRPTR MatchFileName(STRPTR String)
-{
- return(String);
-}
-#endif
diff --git a/Build/source/texk/chktex/OpSys.h b/Build/source/texk/chktex/OpSys.h
deleted file mode 100644
index a7fda5a8e3a..00000000000
--- a/Build/source/texk/chktex/OpSys.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * ChkTeX v1.5, operating system specific code for ChkTeX.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-#ifndef OPSYS_H
-#define OPSYS_H
-#ifndef CHKTEX_H
-# include "ChkTeX.h"
-#endif /* CHKTEX_H */
-#ifndef UTILITY_H
-# include "Utility.h"
-#endif /* UTILITY_H */
-
-/********************************************************************/
-/**************** START OF USER SETTABLE PREFERENCES ****************/
-
-/*
- * Note: This file contains most defines you'll wish to change if you
- * wish to adopt ChkTeX to a new system. It is, as you might notice,
- * heavily documented. If you wish to get into the internals of ChkTeX,
- * the interesting stuff is at the bottom of this file, and in the .c
- * files. However, you should also take a look at the "config.h.in" file
- * in this directory if you haven't got a shell able to run the "configure"
- * script.
- *
- * This program relies heavily on that the system which
- * automagically free()'s all malloc()'ed memory, works. The program
- * itself does not call free() very much. This is because we're doing
- * lots of tiny allocations, and a properly designed pooling system will
- * hopefully do a quicker job than we'll be able to do. So there.
- *
- * To keep things simple, we trust that the fclose()'ing of fopen()'ed
- * also happens automagically.
- *
- * Please use the getopt included, as we will modify optarg during
- * command processing.
- *
- * You may wish to modify the SetupVars() (OpSys.c) to better suit your
- * preferences. In any case, it should put the filename (and full path)
- * of the `.chktexrc' file into the ConfigFile array. The array is sized
- * BUFSIZ bytes.
- *
- * The program does also assume that AMIGA is defined if the source
- * compiled on an Amiga machine, and that __unix__ is defined if the
- * source is compiled on a UNIX machine.
- *
- */
-
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * Here you should define what codes which should be returned to the
- * shell upon success/failure.
- *
- */
-
-#ifndef EXIT_FAILURE
-# ifdef AMIGA
-# define EXIT_FAILURE 20
-# else
-# define EXIT_FAILURE 1
-# endif
-#endif
-
-#ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-#endif
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * SLASH should be defined to the character your computer uses to
- * separate files/directories. Most systems use '/', messydos uses
- * '\'.
- *
- * DIRCHARS should be defined to the characters a directory entry
- * may end on. On Amigas, this is ":/" (either "FOO:BAR/" or "FOO:"),
- * Unix uses only "/", while messydos uses ":\\".
- *
- * This data will be used to automatically concatenate a directory
- * path and a filename.
- *
- * Adjust both to suit your needs.
- */
-
-
-#if defined(__unix__) || defined(AMIGA) || defined(WIN32)
-# define SLASH '/'
-#elif defined(__MSDOS__)
-# define SLASH '\\'
-#endif
-
-#if defined(AMIGA)
-# define DIRCHARS ":/"
-#elif defined(__unix__)
-# define DIRCHARS "/"
-#elif defined(__MSDOS__)
-# define DIRCHARS ":\\"
-#elif defined(WIN32)
-#define DIRCHARS ":\\/"
-#endif
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * Here, define what key-combination which is used to abort stdin
- * keyboard input. It should be a string, as we we'll type it out as
- * information to the user.
- */
-
-#ifdef AMIGA
-# define STDIN_BREAK "Ctrl-\\"
-#elif defined(__unix__)
-# define STDIN_BREAK "Ctrl-D"
-#elif defined(__MSDOS__)
-# define STDIN_BREAK "Ctrl-Z + Enter"
-#else
-# define STDIN_BREAK "stdin break combination"
-#endif
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * For fancy printing of commands, we'll use these strings to turn
- * on/off the error indication. The codes listed here are ANSI
- * compatible; if you don't have that type of terminal, you may wish
- * to adjust this. Use "chktex -v2 Test.tex" to check the effects of
- * these macros. Note: These strings will be printf()'ed, so watch your
- * %'s.
- *
- * Under UNIX, we'll ignore these values and use termcap instead, where
- * that is installed.
- *
- * If these strings can't be specified statically, you'll have to add
- * code in the SetupTerm() function.
- *
- * PRE_ERROR_STR is of course printed in front of each location we
- * wish to show as an error, and POST_ERROR_STR after each location.
- *
- * The codes #defined here, will switch back- and foreground colours.
- * We're using '\033[' as escape character, some terminals may like
- * '\233' better.
- *
- */
-
-#ifdef AMIGA
-# define PRE_ERROR_STR "\033[43m\033[32m"
-# define POST_ERROR_STR "\033[0m"
-#else
-# define PRE_ERROR_STR "\033[7m"
-# define POST_ERROR_STR "\033[0m"
-#endif
-
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * This macro should contain the appendix for backup files, which
- * will be appended onto the original filename. It should contain
- * a leading dot.
- */
-
-#ifdef __MSDOS__
-# define BAKAPPENDIX ".$cl"
-#else
-# define BAKAPPENDIX ".bak"
-#endif
-
-/***************** END OF USER SETTABLE PREFERENCES *****************/
-/********************************************************************/
-
-#ifndef WORDLIST_DEFINED
-struct WordList;
-#endif
- /* Sorry; there are now cyclic dependencies in the
- * source tree. :-/
- */
-
-extern STRPTR ReverseOn, ReverseOff;
-extern TEXT ConfigFile[BUFSIZ];
-
-STRPTR MatchFileName __PROTO((STRPTR String));
-BOOL SetupVars __PROTO((void));
-void SetupTerm __PROTO((void));
-void AddAppendix __PROTO((STRPTR Name, const STRPTR App));
-void tackon __PROTO((STRPTR, const STRPTR));
-BOOL LocateFile __PROTO((const STRPTR Filename, STRPTR Dest,
- const STRPTR App, struct WordList *wl));
-
-
-#endif /* OPSYS_H */
-
diff --git a/Build/source/texk/chktex/Resource.c b/Build/source/texk/chktex/Resource.c
deleted file mode 100644
index 9a79ab9f2a3..00000000000
--- a/Build/source/texk/chktex/Resource.c
+++ /dev/null
@@ -1,518 +0,0 @@
-/*
- * ChkTeX v1.5, resource file reader.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-#include "ChkTeX.h"
-#include "OpSys.h"
-#include "Utility.h"
-#include "Resource.h"
-
-#define LNEMPTY(a) struct WordList a = {0, 1, {0}, {0}};
-#define LIST(a) struct WordList a = {0, 0, {0}, {0}};
-#define LCASE(a) LIST(a) LIST(a ## Case)
-#define KEY(a,def) STRPTR a = def;
-
-RESOURCE_INFO
-
-#undef KEY
-#undef LCASE
-#undef LNEMPTY
-#undef LIST
-
-struct KeyWord
-{
- STRPTR Name;
- STRPTR *String; /* Keyword = item */
- struct WordList
- *List, /* Case-sensitive strings */
- *CaseList; /* Case-insensitive strings */
-};
-
-#define LNEMPTY LIST
-#define LIST(name) {#name, NULL, &name, NULL},
-#define LCASE(name) {#name, NULL, &name, &name ## Case},
-#define KEY(name,def) {#name, &name, NULL, NULL},
-
-struct KeyWord Keys [] =
-{
- RESOURCE_INFO
- {NULL, NULL, NULL, NULL}
-};
-
-#undef KEY
-#undef LCASE
-#undef LNEMPTY
-#undef LIST
-
-
-/***************************** RESOURCE HANDLING **************************/
-
-#define TOKENBITS(name) enum name { \
- BIT(Eof), /* End-of-file */ \
- BIT(Open), /* { */ \
- BIT(Close), /* } */ \
- BIT(BrOpen), /* [ */ \
- BIT(BrClose), /* ] */ \
- BIT(Equal), /* = */ \
- BIT(Word), /* Keyword */ \
- BIT(Item) /* List item */ \
-};
-
-#undef BIT
-#define BIT BITDEF1
-TOKENBITS(Token_BIT)
-
-#undef BIT
-#define BIT BITDEF2
-TOKENBITS(Token)
-
-
-static enum Token Expect;
-static ULONG RsrcLine;
-
-static enum Token ReadWord __PROTO((STRPTR, FILE *));
-static TEXT MapChars __PROTO((STRPTR *String));
-
-
-
-/*
- * Parses the contents of a resource file.
- *
- * Format:
- * Keyword { item1 item2 ... } [ item1 item2 ... ]
- * Keyword [ item1 item2 ... ] { item1 item2 ... }
- * Keyword = { item1 item2 ... }
- * Keyword = [ item1 item2 ... ]
- * Keyword = item
- *
- * Returns whether the attempt was a successful one.
- */
-
-BOOL ReadRC(const STRPTR Filename)
-{
- STRPTR String;
- BOOL Success = FALSE;
- FILE *fh;
- enum Token Token;
- ULONG Counter;
-
- struct KeyWord *CurWord = NULL;
-
- /* Interpret incoming words as ... */
- enum
- {
- whList, /* List elements */
- whCaseList, /* Case insensitive list elements */
- whEqual, /* Solo elements */
- whNone /* List items not accepted */
- } What = whNone;
-
-
- RsrcLine = 0;
- Expect = FLG_Word | FLG_Eof;
-
- if((fh = fopen(Filename, "r")))
- {
- Success = TRUE;
- do
- {
- Token = ReadWord(ReadBuffer, fh);
- ifn(Expect & Token)
- {
- switch(Token)
- {
- case FLG_Item:
- String = "item";
- break;
- case FLG_Word:
- String = "word";
- break;
- case FLG_Equal:
- String = "`='";
- break;
- case FLG_Open:
- String = "`{'";
- break;
- case FLG_Close:
- String = "`}'";
- break;
- case FLG_BrOpen:
- String = "`['";
- break;
- case FLG_BrClose:
- String = "`]'";
- break;
- case FLG_Eof:
- String = "EOF";
- break;
- }
- PrintPrgErr(pmFaultFmt, Filename, RsrcLine, String);
- Success = FALSE;
- Token = FLG_Eof;
- }
-
- switch(Token)
- {
- case FLG_Word:
- for(Counter = 0;
- Keys[Counter].Name;
- Counter++)
- {
- if(!strcasecmp(ReadBuffer, Keys[Counter].Name))
- {
- CurWord = &Keys[Counter];
- Expect = (CurWord->List? FLG_Open : 0) |
- (CurWord->CaseList? FLG_BrOpen : 0) |
- FLG_Equal;
- break;
- }
- }
- if(!Keys[Counter].Name)
- {
- PrintPrgErr(pmKeyWord, ReadBuffer, Filename);
- Success = FALSE;
- Token = FLG_Eof;
- }
- break;
- case FLG_Item:
- switch(What)
- {
- case whEqual:
- ifn(*(CurWord->String) = strdup(ReadBuffer))
- {
- PrintPrgErr(pmStrDupErr);
- Token = FLG_Eof;
- Success = FALSE;
- }
-
- What = whNone;
- Expect = FLG_Word | FLG_Eof;
- break;
- case whCaseList:
- if(!InsertWord(ReadBuffer, CurWord->CaseList))
- {
- Token = FLG_Eof;
- Success = FALSE;
- }
- break;
- case whList:
- if(!InsertWord(ReadBuffer, CurWord->List))
- {
- Token = FLG_Eof;
- Success = FALSE;
- }
- break;
- case whNone:
- PrintPrgErr(pmAssert);
- }
- break;
- case FLG_Equal:
- What = whEqual;
- Expect = (CurWord->List? FLG_Open : 0) |
- (CurWord->CaseList? FLG_BrOpen : 0) |
- (CurWord->String? FLG_Item : 0);
- break;
- case FLG_BrOpen:
- if(What == whEqual)
- ClearWord(CurWord->CaseList);
- What = whCaseList;
- Expect = FLG_Item | FLG_BrClose;
- break;
- case FLG_Open:
- if(What == whEqual)
- ClearWord(CurWord->List);
- What = whList;
- Expect = FLG_Item | FLG_Close;
- break;
- case FLG_BrClose:
- case FLG_Close:
- Expect = (CurWord->List? FLG_Open : 0) |
- (CurWord->CaseList? FLG_BrOpen : 0) |
- FLG_Equal | FLG_Word | FLG_Eof;
- What = whNone;
- break;
- case FLG_Eof:
- break;
- }
- } while(Token != FLG_Eof);
-
- fclose(fh);
- }
- else
- PrintPrgErr(pmRsrcOpen, Filename);
-
- return(Success);
-}
-
-/*
- * Reads a token from the `.chktexrc' file; if the token is
- * FLG_Item or FLG_Word, Buffer will contain the plaintext of the
- * token. If not, the contents are undefined.
- */
-
-static enum Token ReadWord(STRPTR Buffer, FILE *fh)
-{
- static
- STRPTR String = NULL;
- static
- TEXT StatBuf[BUFSIZ];
- enum Token Retval = FLG_Eof;
-
- UWORD Chr;
-
- STRPTR Ptr;
- BOOL OnceMore = TRUE, Cont = TRUE;
-
- if(Buffer)
- {
- do
- {
- if(!(String && *String))
- {
- if(fgets(StatBuf, BUFSIZ-1, fh))
- String = strip(StatBuf, STRP_RGT);
- RsrcLine++;
- }
-
- Ptr = Buffer;
- if(String && (String = strip(String, STRP_LFT)))
- {
- switch(Chr = *String)
- {
- case 0:
- case CMNT:
- String = NULL;
- break;
- case QUOTE: /* Quoted argument */
- Cont = TRUE;
- String++;
-
- while(Cont)
- {
- switch(Chr = *String++)
- {
- case 0:
- case QUOTE:
- Cont = FALSE;
- break;
- case ESCAPE:
- ifn(Chr = MapChars(&String))
- break;
-
- /* FALLTHRU */
- default:
- *Ptr++ = Chr;
- }
- }
- *Ptr = 0;
- Retval = FLG_Item;
- OnceMore = FALSE;
- break;
-
-#define DONEKEY (FLG_Open | FLG_Equal | FLG_BrOpen)
-#define DONELIST (FLG_Close | FLG_BrClose)
-#define TOKEN(c, ctxt, tk) case c: if(Expect & (ctxt)) Retval = tk; LAST(token);
-
- LOOP(token,
- TOKEN('{', DONEKEY, FLG_Open);
- TOKEN('[', DONEKEY, FLG_BrOpen);
- TOKEN('=', DONEKEY, FLG_Equal);
- TOKEN(']', DONELIST, FLG_BrClose);
- TOKEN('}', DONELIST, FLG_Close);
- )
-
- if(Retval != FLG_Eof)
- {
- OnceMore = FALSE;
- String++;
- break;
- }
-
- /* FALLTHRU */
-
- default: /* Non-quoted argument */
- OnceMore = FALSE;
- if(Expect & FLG_Word)
- {
- while(Cont)
- {
- Chr = *String++;
- if(isalpha(Chr))
- *Ptr++ = Chr;
- else
- Cont = FALSE;
- }
- String--;
- Retval = FLG_Word;
- }
- else /* Expect & FLG_Item */
- {
- while(Cont)
- {
- switch(Chr = *String++)
- {
- case CMNT:
- case 0:
- String = NULL;
- Cont = FALSE;
- break;
- case ESCAPE:
- ifn(Chr = MapChars(&String))
- break;
-
- *Ptr++ = Chr;
- break;
- default:
- if(!isspace(Chr))
- *Ptr++ = Chr;
- else
- Cont = FALSE;
- }
- }
- Retval = FLG_Item;
- }
-
- ifn(Buffer[0])
- {
- PrintPrgErr(pmEmptyToken);
- if(*String)
- String++;
- }
- *Ptr = 0;
- break;
- }
- }
- else
- OnceMore = FALSE;
- } while(OnceMore);
- }
- return(Retval);
-}
-
-
-
-/*
- * Translates escape codes. Give it a pointer to the char after the
- * escape char, and we'll return what it maps to.
- */
-
-#define MAP(a,b) case a: Tmp = b; break;
-
-static TEXT MapChars(STRPTR *String)
-{
- int Chr, Tmp = 0;
- UWORD Cnt;
-
- Chr = *((STRPTR) (*String)++);
-
- switch(tolower(Chr))
- {
- MAP(QUOTE, QUOTE);
- MAP(ESCAPE, ESCAPE);
- MAP(CMNT, CMNT);
- MAP('n', '\n');
- MAP('r', '\r');
- MAP('b', '\b');
- MAP('t', '\t');
- MAP('f', '\f');
- MAP('{', '{');
- MAP('}', '}');
- MAP('[', '[');
- MAP(']', ']');
- MAP('=', '=');
- MAP(' ', ' ');
- case 'x':
- Tmp = 0;
-
- for(Cnt = 0; Cnt < 2; Cnt++)
- {
- Chr = *((*String)++);
- if(isxdigit(Chr))
- {
- Chr = toupper(Chr);
- Tmp = (Tmp<<4) + Chr;
-
- if(isdigit(Chr))
- Tmp -= '0';
- else
- Tmp -= 'A' - 10;
- }
- else
- {
- if(Chr)
- {
- PrintPrgErr(pmNotPSDigit, Chr, "hex");
- Tmp = 0;
- }
- break;
- }
- }
- break;
- case '0': case '1': case '2': case '3': case '4':
- case '5': case '6': case '7':
-
- Tmp = Chr - '0';
-
- for(Cnt = 0; Cnt < 2; Cnt++)
- {
- Chr = *((*String)++);
- if(within('0',Chr,'7'))
- Tmp = (Tmp * 8) + Chr - '0';
- else
- {
- if(Chr)
- {
- PrintPrgErr(pmNotPSDigit, Chr, "octal");
- Tmp = 0;
- }
- break;
- }
- }
- break;
- case 'd':
- for(Cnt = 0; Cnt < 3; Cnt++)
- {
- if(isdigit(Chr = *((*String)++)))
- Tmp = (Tmp * 10) + Chr - '0';
- else
- {
- if(Chr)
- {
- PrintPrgErr(pmNotPSDigit, Chr, "");
- Tmp = 0;
- }
- break;
- }
- }
- break;
- default:
- PrintPrgErr(pmEscCode, ESCAPE, Chr);
- }
- return(Tmp);
-}
-
-
diff --git a/Build/source/texk/chktex/Resource.h b/Build/source/texk/chktex/Resource.h
deleted file mode 100644
index f0e7b9b58e8..00000000000
--- a/Build/source/texk/chktex/Resource.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * ChkTeX v1.5, resource file reader.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-#ifndef RESOURCE_H
-#define RESOURCE_H
-#ifndef CHKTEX_H
-# include "ChkTeX.h"
-#endif /* CHKTEX_H */
-
-#define QUOTE '\"' /* Char used to quote text containing blanks */
-#define ESCAPE '!' /* Char used to access special characters */
-#define CMNT '#' /* Char used as comment */
-
-#define RESOURCE_INFO \
- LIST(Silent) LIST(Linker) LIST(IJAccent) LIST(Italic)\
- LIST(ItalCmd) LIST(PostLink) LIST(WipeArg) LIST(VerbEnvir)\
- LIST(MathEnvir) LIST(MathRoman) LIST(HyphDash) LIST(NumDash)\
- LIST(WordDash) LIST(CenterDots) LIST(LowDots) LIST(OutFormat)\
- LIST(Primitives) LIST(NotPreSpaced) LIST(NonItalic) LIST(NoCharNext)\
- LNEMPTY(CmdLine) LNEMPTY(TeXInputs)\
- LCASE(Abbrev) LCASE(UserWarn)\
- KEY(VerbClear, "|") KEY(QuoteStyle, "Traditional") KEY(TabSize, "8")
-
-#define LIST(a) extern struct WordList a;
-#define LNEMPTY LIST
-#define LCASE(a) LIST(a) LIST(a ## Case)
-#define KEY(a,def) extern STRPTR a;
-
-RESOURCE_INFO
-
-#undef KEY
-#undef LCASE
-#undef LNEMPTY
-#undef LIST
-
-BOOL ReadRC __PROTO((STRPTR const));
-
-
-#endif /* RESOURCE */
diff --git a/Build/source/texk/chktex/Test.out b/Build/source/texk/chktex/Test.out
deleted file mode 100644
index 5d7b70d8ba9..00000000000
--- a/Build/source/texk/chktex/Test.out
+++ /dev/null
@@ -1,408 +0,0 @@
-Message 30 in Test.tex line 2: Multiple spaces detected in input.
- o To test the program upon it
- ^^^
-Message 30 in Test.tex line 3: Multiple spaces detected in input.
- o To show off some of the features
- ^^^
-Message 22 in Test.tex line 8: Comment displayed.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-^
-Message 22 in Test.tex line 10: Comment displayed.
-% Warning 1
-^
-Message 1 in Test.tex line 12: Command terminated with space.
-\foo This is an error.
- ^
-Message 22 in Test.tex line 15: Comment displayed.
-% Warning 2
-^
-Message 2 in Test.tex line 17: Non-breaking space (`~') should have been used.
-This is a faulty reference to \ref{foo}
- ^
-Message 22 in Test.tex line 20: Comment displayed.
-% Warning 3
-^
-Message 3 in Test.tex line 22: You should enclose the previous parenthesis with `{}'.
-$[(ab)^{-1}]^{-2}$ is not beautiful
- ^
-Message 3 in Test.tex line 22: You should enclose the previous parenthesis with `{}'.
-$[(ab)^{-1}]^{-2}$ is not beautiful
- ^
-Message 30 in Test.tex line 22: Multiple spaces detected in input.
-$[(ab)^{-1}]^{-2}$ is not beautiful
- ^^
-Message 22 in Test.tex line 25: Comment displayed.
-% Warning 4-6, 28
-^
-Message 6 in Test.tex line 27: No italic correction (`\/') found.
-Testing {\it italic} in \/ this {\em sentence\/}, as {\em you \/ see\/}.
- ^
-Message 42 in Test.tex line 27: You should remove spaces in front of `\/'
-Testing {\it italic} in \/ this {\em sentence\/}, as {\em you \/ see\/}.
- ^
-Message 4 in Test.tex line 27: Italic correction (`\/') found in non-italic buffer.
-Testing {\it italic} in \/ this {\em sentence\/}, as {\em you \/ see\/}.
- ^^
-Message 28 in Test.tex line 27: Don't use \/ in front of small punctuation.
-Testing {\it italic} in \/ this {\em sentence\/}, as {\em you \/ see\/}.
- ^^
-Message 42 in Test.tex line 27: You should remove spaces in front of `\/'
-Testing {\it italic} in \/ this {\em sentence\/}, as {\em you \/ see\/}.
- ^
-Message 5 in Test.tex line 27: Italic correction (`\/') found more than once.
-Testing {\it italic} in \/ this {\em sentence\/}, as {\em you \/ see\/}.
- ^^
-Message 22 in Test.tex line 30: Comment displayed.
-% LaTeX2e
-^
-Message 42 in Test.tex line 32: You should remove spaces in front of `\/'
-Testing \textem{italic} in \/ this \textit{sentence\/}, as \textem{you \/ see\/}.
- ^
-Message 4 in Test.tex line 32: Italic correction (`\/') found in non-italic buffer.
-Testing \textem{italic} in \/ this \textit{sentence\/}, as \textem{you \/ see\/}.
- ^^
-Message 28 in Test.tex line 32: Don't use \/ in front of small punctuation.
-Testing \textem{italic} in \/ this \textit{sentence\/}, as \textem{you \/ see\/}.
- ^^
-Message 42 in Test.tex line 32: You should remove spaces in front of `\/'
-Testing \textem{italic} in \/ this \textit{sentence\/}, as \textem{you \/ see\/}.
- ^
-Message 4 in Test.tex line 32: Italic correction (`\/') found in non-italic buffer.
-Testing \textem{italic} in \/ this \textit{sentence\/}, as \textem{you \/ see\/}.
- ^^
-Message 4 in Test.tex line 32: Italic correction (`\/') found in non-italic buffer.
-Testing \textem{italic} in \/ this \textit{sentence\/}, as \textem{you \/ see\/}.
- ^^
-Message 4 in Test.tex line 33: Italic correction (`\/') found in non-italic buffer.
-Testing \textem{italic\/} in this \textit{sentence}, as \textem{you see}.
- ^^
-Message 22 in Test.tex line 35: Comment displayed.
-% Warning 7
-^
-Message 7 in Test.tex line 37: Accent command `\'' needs use of `\i'.
-This \'is a test of $\hat{j}$ accents.
- ^^
-Message 7 in Test.tex line 37: Accent command `\hat' needs use of `\jmath'.
-This \'is a test of $\hat{j}$ accents.
- ^^^^
-Message 22 in Test.tex line 40: Comment displayed.
-% Warning 8
-^
-Message 8 in Test.tex line 42: Wrong length of dash may have been used.
-It wasn't anything - just a 2---3 star--shots.
- ^
-Message 8 in Test.tex line 42: Wrong length of dash may have been used.
-It wasn't anything - just a 2---3 star--shots.
- ^^^
-Message 8 in Test.tex line 42: Wrong length of dash may have been used.
-It wasn't anything - just a 2---3 star--shots.
- ^^
-Message 22 in Test.tex line 45: Comment displayed.
-% Warning 9-10
-^
-Message 22 in Test.tex line 47: Comment displayed.
-% Brackets:
-^
-Message 10 in Test.tex line 49: Solo `)' found.
-)}{[])} }}}]]])))
-^
-Message 10 in Test.tex line 49: Solo `}' found.
-)}{[])} }}}]]])))
- ^
-Message 9 in Test.tex line 49: `}' expected, found `)'.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `}' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `}' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `}' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `}' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `]' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `]' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `]' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `)' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `)' found.
-)}{[])} }}}]]])))
- ^
-Message 10 in Test.tex line 49: Solo `)' found.
-)}{[])} }}}]]])))
- ^
-Message 22 in Test.tex line 52: Comment displayed.
-% Envs:
-^
-Message 9 in Test.tex line 54: `baz' expected, found `quux'.
-\begin{quux} \begin{baz} \end{quux} \end{baz} \end{asoi} \begin{dobedo}
- ^^^^
-Message 9 in Test.tex line 54: `quux' expected, found `baz'.
-\begin{quux} \begin{baz} \end{quux} \end{baz} \end{asoi} \begin{dobedo}
- ^^^^
-Message 10 in Test.tex line 54: Solo `asoi' found.
-\begin{quux} \begin{baz} \end{quux} \end{baz} \end{asoi} \begin{dobedo}
- ^^^^
-Message 22 in Test.tex line 58: Comment displayed.
-% Warning 11
-^
-Message 11 in Test.tex line 60: You should use \ldots to achieve an ellipsis.
-Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. $1\cdot\ldots\cdot3$.
- ^^^
-Message 11 in Test.tex line 60: You should use \ldots to achieve an ellipsis.
-Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. $1\cdot\ldots\cdot3$.
- ^^^
-Message 11 in Test.tex line 60: You should use \cdots to achieve an ellipsis.
-Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. $1\cdot\ldots\cdot3$.
- ^^^
-Message 11 in Test.tex line 60: You should use \ldots to achieve an ellipsis.
-Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. $1\cdot\ldots\cdot3$.
- ^^^^^^
-Message 11 in Test.tex line 60: You should use \cdots to achieve an ellipsis.
-Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. $1\cdot\ldots\cdot3$.
- ^^^^^^
-Message 22 in Test.tex line 63: Comment displayed.
-% Warning 12
-^
-Message 12 in Test.tex line 65: Interword spacing (`\ ') should perhaps be used.
-1st. Foo Inc. Ab.cd. foo ab.cd. Foo. bar
- ^
-Message 12 in Test.tex line 65: Interword spacing (`\ ') should perhaps be used.
-1st. Foo Inc. Ab.cd. foo ab.cd. Foo. bar
- ^
-Message 12 in Test.tex line 65: Interword spacing (`\ ') should perhaps be used.
-1st. Foo Inc. Ab.cd. foo ab.cd. Foo. bar
- ^
-Message 22 in Test.tex line 68: Comment displayed.
-% Warning 13
-^
-Message 13 in Test.tex line 70: Intersentence spacing (`\@') should perhaps be used.
-Look at THIS! It's an error.
- ^
-Message 22 in Test.tex line 73: Comment displayed.
-% Warning 14
-^
-Message 1 in Test.tex line 75: Command terminated with space.
-\hat
- ^
-Message 14 in Test.tex line 75: Could not find argument for command.
-\hat
-^^^^
-Message 22 in Test.tex line 78: Comment displayed.
-% Warning 18,19
-^
-Message 18 in Test.tex line 80: Use either `` or '' as an alternative to `"'.
-Is this an "example", or is it an ´example´.
- ^
-Message 18 in Test.tex line 80: Use either `` or '' as an alternative to `"'.
-Is this an "example", or is it an ´example´.
- ^
-Message 19 in Test.tex line 80: Use "'" (ASCII 39) instead of "´" (ASCII 180).
-Is this an "example", or is it an ´example´.
- ^
-Message 19 in Test.tex line 80: Use "'" (ASCII 39) instead of "´" (ASCII 180).
-Is this an "example", or is it an ´example´.
- ^
-Message 22 in Test.tex line 83: Comment displayed.
-% Warning 20
-^
-Message 20 in Test.tex line 85: User-specified pattern found.
-That bug is \unknown\ to me.
- ^^^^^^^^
-Message 22 in Test.tex line 87: Comment displayed.
-% Warning 21
-^
-Message 21 in Test.tex line 89: This command might not be intended.
-\LaTeX\ is an extension of \TeX\. Right?
- ^^
-Message 22 in Test.tex line 92: Comment displayed.
-% Warning 23
-^
-Message 23 in Test.tex line 94: Either `\,`` or ``\,` will look better.
-```Hello', I heard him said'', she remembered.
-^^^
-Message 22 in Test.tex line 97: Comment displayed.
-% Warning 24
-^
-Message 24 in Test.tex line 99: Delete this space to maintain correct pagereferences.
-Indexing text \index{text} is fun!
- ^
-Message 22 in Test.tex line 102: Comment displayed.
-% Warning 25
-^
-Message 25 in Test.tex line 104: You might wish to put this between a pair of `{}'
-$5\cdot10^10$
- ^^
-Message 22 in Test.tex line 107: Comment displayed.
-% Warning 26
-^
-Message 26 in Test.tex line 109: You ought to remove spaces in front of punctuation.
-Do you understand ?
- ^
-Message 22 in Test.tex line 112: Comment displayed.
-% Warning 27
-^
-Message 1 in input.tex line 1: Command terminated with space.
-\this is a test of whether the file is actually inputted...
- ^
-Message 11 in input.tex line 1: You should use \ldots to achieve an ellipsis.
-\this is a test of whether the file is actually inputted...
- ^^^
-Message 1 in input.tex line 1: Command terminated with space.
-\this is a test of whether the file is actually inputted...
- ^
-Message 11 in input.tex line 1: You should use \ldots to achieve an ellipsis.
-\this is a test of whether the file is actually inputted...
- ^^^
-Message 22 in Test.tex line 117: Comment displayed.
-% Warning 29
-^
-Message 29 in Test.tex line 118: $\times$ may look prettier here.
-The program opens a screen sized 640x200 pixels
- ^
-Message 22 in Test.tex line 121: Comment displayed.
-% Warning 30
-^
-Message 30 in Test.tex line 123: Multiple spaces detected in input.
-White is a beautiful colour.
- ^^^^^^^^^^^
-Message 22 in Test.tex line 126: Comment displayed.
-% Warning 31
-^
-Message 31 in Test.tex line 129: This text may be ignored.
-\end{verbatim} foo bar
- ^^^^^^^
-Message 22 in Test.tex line 131: Comment displayed.
-% Warning 32-34
-^
-Message 32 in Test.tex line 133: Use ` to begin quotation, not '.
-This is either an 'example`, an ''example`` or an `"`example'`'.
- ^
-Message 33 in Test.tex line 133: Use ' to end quotation, not `.
-This is either an 'example`, an ''example`` or an `"`example'`'.
- ^
-Message 32 in Test.tex line 133: Use ` to begin quotation, not '.
-This is either an 'example`, an ''example`` or an `"`example'`'.
- ^^
-Message 33 in Test.tex line 133: Use ' to end quotation, not `.
-This is either an 'example`, an ''example`` or an `"`example'`'.
- ^^
-Message 34 in Test.tex line 133: Don't mix quotes.
-This is either an 'example`, an ''example`` or an `"`example'`'.
- ^^^
-Message 34 in Test.tex line 133: Don't mix quotes.
-This is either an 'example`, an ''example`` or an `"`example'`'.
- ^^^
-Message 22 in Test.tex line 136: Comment displayed.
-% Warning 35
-^
-Message 35 in Test.tex line 138: You should perhaps use `\sin' instead.
-$sin^2 + cos^2 = 1$
- ^^^
-Message 35 in Test.tex line 138: You should perhaps use `\cos' instead.
-$sin^2 + cos^2 = 1$
- ^^^
-Message 22 in Test.tex line 141: Comment displayed.
-% Warning 36-37
-^
-Message 36 in Test.tex line 143: You should put a space in front of parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 37 in Test.tex line 143: You should avoid spaces after parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 36 in Test.tex line 143: You should put a space in front of parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 37 in Test.tex line 143: You should avoid spaces after parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 37 in Test.tex line 143: You should avoid spaces in front of parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 36 in Test.tex line 143: You should put a space in front of parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 37 in Test.tex line 143: You should avoid spaces after parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 37 in Test.tex line 143: You should avoid spaces in front of parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 36 in Test.tex line 143: You should put a space after parenthesis.
-This( an example( Nuff said )), illustrates( ``my'' )point.
- ^
-Message 22 in Test.tex line 146: Comment displayed.
-% Warning 38
-^
-Message 38 in Test.tex line 147: You should not use punctuation in front of quotes.
-``An example,'' he said, ``would be great.''
- ^
-Message 38 in Test.tex line 147: You should not use punctuation in front of quotes.
-``An example,'' he said, ``would be great.''
- ^
-Message 22 in Test.tex line 150: Comment displayed.
-% Warning 39
-^
-Message 39 in Test.tex line 152: Double space found.
-For output codes, see table ~\ref{tab:fmtout}.
- ^
-Message 22 in Test.tex line 155: Comment displayed.
-% Warning 40
-^
-Message 40 in Test.tex line 156: You should put punctuation outside inner math mode.
-$\this,$ and $$this$$.
- ^
-Message 40 in Test.tex line 156: You should put punctuation inside display math mode.
-$\this,$ and $$this$$.
- ^
-Message 22 in Test.tex line 159: Comment displayed.
-% Warning 41
-^
-Message 1 in Test.tex line 160: Command terminated with space.
-foo \above qux
- ^
-Message 41 in Test.tex line 160: You ought to not use primitive TeX in LaTeX code.
-foo \above qux
- ^^^^^^
-Message 22 in Test.tex line 163: Comment displayed.
-% Warning 42
-^
-Message 42 in Test.tex line 164: You should remove spaces in front of `\footnote'
-This is a footnote \footnote{foo}.
- ^
-Message 22 in Test.tex line 168: Comment displayed.
-% Verb check
-^
-Message 14 in Test.tex line 171: Could not find argument for command.
-\verb#
-^^^^^
-Message 31 in Test.tex line 175: This text may be ignored.
-\end{verbatim} FOO
- ^^^
-Message 22 in Test.tex line 177: Comment displayed.
-% Warning 16,15
-^
-Message 16 in Test.tex line 181: Mathmode still on at end of LaTeX file.
-
-
-Message 17 in Test.tex line 181: Number of `(' doesn't match the number of `)'!
-
-
-Message 17 in Test.tex line 181: Number of `[' doesn't match the number of `]'!
-
-
-Message 17 in Test.tex line 181: Number of `{' doesn't match the number of `}'!
-
-
diff --git a/Build/source/texk/chktex/Test.tex b/Build/source/texk/chktex/Test.tex
deleted file mode 100644
index 65067b75f16..00000000000
--- a/Build/source/texk/chktex/Test.tex
+++ /dev/null
@@ -1,181 +0,0 @@
-Note: This file was written with only two purposes in mind:
- o To test the program upon it
- o To show off some of the features
-
-Most of the file does thus consist of lots of pseudo-commands, which
-are nonsense in a TeXnical manner.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Warning 1
-
-\foo This is an error.
-\smallskip This is a not. $\foo Neither$ is this.
-
-% Warning 2
-
-This is a faulty reference to \ref{foo}
-This is not a faulty reference to~\ref{foo}
-
-% Warning 3
-
-$[(ab)^{-1}]^{-2}$ is not beautiful
-${{[{(ab)}^{-1}]}}^{-2}$ is beautiful
-
-% Warning 4-6, 28
-
-Testing {\it italic} in \/ this {\em sentence\/}, as {\em you \/ see\/}.
-Testing {\it italic\/} in this {\em sentence}, as {\em you see}.
-
-% LaTeX2e
-
-Testing \textem{italic} in \/ this \textit{sentence\/}, as \textem{you \/ see\/}.
-Testing \textem{italic\/} in this \textit{sentence}, as \textem{you see}.
-
-% Warning 7
-
-This \'is a test of $\hat{j}$ accents.
-This \'{\i}s a test of $\hat{\jmath}$ accents.
-
-% Warning 8
-
-It wasn't anything - just a 2---3 star--shots.
-It wasn't anything --- just a 2--3 star-shots.
-
-% Warning 9-10
-
-% Brackets:
-
-)}{[])} }}}]]])))
-{[]} ((([[[{{{}}}]]])))
-
-% Envs:
-
-\begin{quux} \begin{baz} \end{quux} \end{baz} \end{asoi} \begin{dobedo}
-
-\begin{foo} \begin{bar} \end{bar}\end{foo}
-
-% Warning 11
-
-Foo...bar. $1,...,3$. $1+...+3$. $1,\cdots,3$. $1\cdot\ldots\cdot3$.
-Foo\dots bar. $1,\ldots,3$. $1+\cdots+3$. $1,\ldots,3$. $1\cdot\cdots\cdot3$.
-
-% Warning 12
-
-1st. Foo Inc. Ab.cd. foo ab.cd. Foo. bar
-1st.\ foo Inc.\ ab.cd.\ foo ab.cd.\ Foo.\ bar
-
-% Warning 13
-
-Look at THIS! It's an error.
-Look at THIS\@! It's an error. D. E. Knuth.
-
-% Warning 14
-
-\hat
-\hat{a}
-
-% Warning 18,19
-
-Is this an "example", or is it an ´example´.
-Is this an `example', or is it an `example'.
-
-% Warning 20
-
-That bug is \unknown\ to me.
-
-% Warning 21
-
-\LaTeX\ is an extension of \TeX\. Right?
-\LaTeX\ is an extension of \TeX. Right?
-
-% Warning 23
-
-```Hello', I heard him said'', she remembered.
-``\,`Hello', I heard him said'', she remembered.
-
-% Warning 24
-
-Indexing text \index{text} is fun!
-Indexing text\index{text} is fun!
-
-% Warning 25
-
-$5\cdot10^10$
-$5\cdot10^{10}$
-
-% Warning 26
-
-Do you understand ?
-Do you understand?
-
-% Warning 27
-
-\input input.tex
-\input input
-
-% Warning 29
-The program opens a screen sized 640x200 pixels
-The program opens a screen sized $640\times200$ pixels
-
-% Warning 30
-
-White is a beautiful colour.
-White is a beautiful colour.
-
-% Warning 31
-\begin{verbatim}
-\this is
-\end{verbatim} foo bar
-
-% Warning 32-34
-
-This is either an 'example`, an ''example`` or an `"`example'`'.
-This is either an `example', an ``example'' or an ``example''.
-
-% Warning 35
-
-$sin^2 + cos^2 = 1$
-$\sin^2 + \cos^2 = 1$
-
-% Warning 36-37
-
-This( an example( Nuff said )), illustrates( ``my'' )point.
-This (an example (Nuff said)), illustrates (``my'') point.
-
-% Warning 38
-``An example,'' he said, ``would be great.''
-``An example'', he said, ``would be great''.
-
-% Warning 39
-
-For output codes, see table ~\ref{tab:fmtout}.
-For output codes, see table~\ref{tab:fmtout}.
-
-% Warning 40
-$\this,$ and $$this$$.
-$\this$, and $$this.$$
-
-% Warning 41
-foo \above qux
-\frac{foo}{qux}
-
-% Warning 42
-This is a footnote \footnote{foo}.
-This is a footnote\footnote{foo}.
-
-
-% Verb check
-
-\verb@\this is )() lots of errors, etc. Or what?@
-\verb#
-
-\begin{verbatim}
-\this is
-\end{verbatim} FOO
-
-% Warning 16,15
-
-$$(
-
-
diff --git a/Build/source/texk/chktex/Utility.c b/Build/source/texk/chktex/Utility.c
deleted file mode 100644
index e5428593b5b..00000000000
--- a/Build/source/texk/chktex/Utility.c
+++ /dev/null
@@ -1,937 +0,0 @@
-/*
- * ChkTeX v1.5, utility functions.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-#include "ChkTeX.h"
-#include "Utility.h"
-#include "Resource.h"
-#include "OpSys.h"
-
-#ifdef ASM_HASHWORD
-extern UWORD HashWord(STRPTR a);
-typedef UWORD HASH_TYPE;
-#else
-typedef ULONG HASH_TYPE;
-#endif
-
-/***************************** SUPPORT FUNCTIONS ************************/
-
-
-/*
- * Copies a string with a maximum length of `len' starting at `pos' in
- * `source' into `dest'.
- * Returns -1 if the pos value is beyond the length of the source value,
- * else NULL.
- */
-
-
-WORD substring(const STRPTR source, STRPTR dest, ULONG pos, LONG len)
-{
- STRPTR Start;
- WORD Retval = -1;
-
- if(len >= 0)
- {
- if(strlen(source) > pos)
- {
- Start = &source[pos];
-
- while((len-- > 0) && (*dest++ = *Start++))
- ;
-
- if(len == -1)
- Retval = 0;
- }
- }
- else
- Retval = 0L;
-
- *dest = 0;
-
- return(Retval);
-}
-
-
-/*
- * Determine whether a file exists.
- *
- */
-
-
-BOOL fexists(const STRPTR Filename)
-{
- BOOL Retval;
-
-#if defined(F_OK) && defined(R_OK) && defined(HAVE_ACCESS)
- Retval = access(Filename, F_OK|R_OK) == 0;
-#else
- FILE *fh;
-
- if(fh = fopen(Filename, "r"))
- {
- Retval = TRUE;
- fclose(fh);
- }
- else
- Retval = FALSE;
-#endif
- return(Retval);
-}
-
-
-
-/*
- * 'Safe' memset() replacement.
- * Just tries to check the parameters, so that the risk of killing
- * innocent memory is lowered.
- * Please note that the `n' parameter now is an signed longword, not
- * an size_t. Won't permit that `n' exceeds BUFLEN, nor negative sizes.
- * Returns `to' if some memset()'ing was done, NULL if not.
- */
-
-APTR sfmemset(APTR to, int c, LONG n)
-{
- if(to && (n > 0))
- {
- n = min(n, BUFSIZ);
-
- return(memset(to, c, (size_t) n));
- }
- return(NULL);
-}
-
-
-/*
- * Quick replace function
- * Replaces every occurrence of a character in a string with another one.
- */
-
-void strrep(STRPTR String, /* String to replace within. */
- const TEXT From, /* Character to search for. */
- const TEXT To) /* Character to put instead. */
-{
- register int c;
- while((c = *String++))
- {
- if(c == From)
- String[-1] = To;
- }
-}
-
-/*
- * Replaces every char not in Prot with To in Buf
- */
-
-void strxrep(STRPTR Buf,
- const STRPTR Prot,
- const TEXT To)
-{
- int c;
-
- while((c = *Buf))
- {
- if(!strchr(Prot, c))
- *Buf = To;
- Buf++;
- }
-}
-
-/*
- * Strips tail and/or front of a string
- * Kills trailing/leading spaces. The macro/function LATEX_SPACE(char c)
- * is used to decide whether a space should be skipped. This function
- * should return TRUE if the character should be skipped, FALSE if not.
- * Returns the string which was passed onto it.
- */
-
-
-STRPTR strip(STRPTR str, /* String to strip */
- const enum Strip flags)
- /* One of the following: */
- /* STRP_LFT - Strips leading blanks */
- /* STRP_RGT - Strips trailing blanks */
- /* STRP_BTH - Strips on both sides */
-{
- STRPTR bufptr = str, nlptr;
- TEXT c;
-
- if(bufptr && (c = *bufptr))
- {
- if(flags & STRP_LFT)
- {
- if(LATEX_SPACE(c) && c)
- {
- do
- {
- c = *++bufptr;
- } while(LATEX_SPACE(c) && c);
- }
- }
-
- if(flags & STRP_RGT)
- {
- if(c && *bufptr)
- {
- nlptr = bufptr;
-
- while(*++nlptr);
-
- do
- {
- *nlptr = 0;
- c = *--nlptr;
- } while(LATEX_SPACE(c) && c && (nlptr > bufptr));
-
- }
- else
- *bufptr = 0;
- }
- }
- return(bufptr);
-}
-
-
-/*
- * Converts all the chars in the string passed into lowercase.
- */
-
-#ifndef HAVE_STRLWR
-STRPTR strlwr(STRPTR String)
-{
- STRPTR Bufptr;
- TEXT TmpC;
-
- for(Bufptr = String;
- (TmpC = *Bufptr);
- Bufptr++)
- *Bufptr = tolower(TmpC);
-
- return(String);
-}
-#endif
-
-/*
- * Returns a duplicate of the string passed.
- */
-
-#ifndef HAVE_STRDUP
-STRPTR strdup(const STRPTR String)
-{
- STRPTR Retval = NULL;
- size_t Len;
-
- if(String)
- {
- Len = strlen(String) + 1;
- if((Retval = malloc(Len)))
- memcpy(Retval, String, Len);
- }
-
- return(Retval);
-}
-#endif
-
-/*
- * Does the same as strdup, but adds a zero-filled padding, length extra bytes.
- */
-
-STRPTR strdupx(const STRPTR String, int Extra)
-{
- STRPTR Retval = NULL;
- size_t Len;
-
- if(String)
- {
- Len = strlen(String) + 1 + Extra;
- if((Retval = malloc(Len)))
- strncpy(Retval, String, Len);
- }
-
- return(Retval);
-}
-
-/*
- * Case-insensitive comparison of two strings.
- */
-
-#ifndef HAVE_STRCASECMP
-int strcasecmp(const char* a, const char *b)
-{
- int aa, bb;
-
- do
- {
- aa = *a++;
- bb = *b++;
- } while(aa && (tolower(aa) == tolower(bb)));
- /* bb != 0 is implicit */
-
- return(tolower(aa) - tolower(bb));
-}
-#endif
-
-/*
- * Not all reallocs are intelligent enough to handle NULL's as
- * parameters. This fixes this.
- */
-
-void *saferealloc(void *b, size_t n)
-{
- APTR Retval = NULL;
-
- if(b)
- {
- if(n)
- Retval = realloc(b, n);
- else
- free(b);
- }
- else
- Retval = malloc(n);
-
- return(Retval);
-}
-
-/*
- * Repeatedly writes the From string over To so that we overwrite Len bytes.
- * Does nothing if passed empty/NULL string.
- */
-
-void strwrite (STRPTR To, const STRPTR From, ULONG Len)
-{
- ULONG i, j;
- ULONG FromLen = strlen(From);
-
- Len = min(Len, BUFSIZ);
-
- if(To && From)
- {
- switch(FromLen)
- {
- case 0:
- break;
- case 1:
- memset(To, *From, Len);
- break;
- default:
- for(i = j = 0;
- i < Len;
- i++, j++)
- {
- if(j >= FromLen)
- j = 0;
- To[i] = From[j];
- }
- }
- }
-}
-
-/*
- * Checks whether Cmp comes after Str.
- *
- */
-
-int strafter(const STRPTR Str, const STRPTR Cmp)
-{
- return(strncmp(Str, Cmp, strlen(Cmp)));
-}
-
-/*
- * Checks whether Cmp comes before Str. Returns 0 if so, non-zero if not.
- *
- */
-
-int strinfront(STRPTR Str, STRPTR Cmp)
-{
- int CmpLen;
-
- if((CmpLen = strlen(Cmp)))
- {
- Cmp += CmpLen;
- Str++;
-
- while((*--Cmp == *--Str) && (--CmpLen > 0))
- ;
-
- return(CmpLen);
- }
- else
- return(1);
-}
-
-
-/*************************** HASH INDEX **************************/
-
-/*
- * Hashes a string. The string ought be rather short. We use an asm
- * version the Amiga; note that this returns an UWORD instead.
- *
- * The algorithm was designed by Peter Weinberger. This version was
- * adapted from Dr Dobb's Journal April 1996 page 26.
- */
-
-#ifndef ASM_HASHWORD
-inline static ULONG HashWord(STRPTR str)
-{
- register ULONG h = 0, hbit, c;
-
- while((c = *str++))
- {
- h = (h<<4) ^ c;
- if((hbit = h & 0xf0000000))
- h ^= hbit>>24;
- h &= ~hbit;
- }
-
- return(h);
-}
-#endif
-
-/*
- * Inserts a string into a hash index. Note: You'll have to
- * duplicate the string yourself.
- */
-
-inline void InsertHash(const STRPTR a, struct Hash *h)
-{
- struct HashEntry **he, *newhe;
-
- if(!h->Index)
- {
- ifn((h->Index = calloc(HASH_SIZE, sizeof(struct HashEntry *))))
- PrintPrgErr(pmWordListErr);
- }
-
- he = &h->Index[HashWord(a) % HASH_SIZE];
-
- if((newhe = malloc(sizeof(struct HashEntry))))
- {
- newhe->Next = *he;
- newhe->Str = a;
- *he = newhe;
- }
- else
- PrintPrgErr(pmWordListErr);
-}
-
-/*
- * Checks whether a string previously has been registered in a
- * hash index.
- */
-
-inline STRPTR HasHash(const STRPTR a, const struct Hash *h)
-{
- struct HashEntry *he;
- HASH_TYPE i; /* Special magic to optimize SAS/C */
-
- i = HashWord(a);
- i %= HASH_SIZE;
- he = h->Index[i];
-
- while(he)
- {
- if(!strcmp(he->Str, a))
- return(he->Str);
- else
- he = he->Next;
- }
- return(NULL);
-}
-
-/*
- * Clears a hash table.
- */
-
-void ClearHash(struct Hash *h)
-{
- if(h && h->Index)
- memset(h->Index, '\0', HASH_SIZE * sizeof(struct HashEntry *));
-}
-
-/*
- * Rehashes a wordlist. If you change any of the elem's, you must
- * call this.
- *
- */
-
-static void ReHash(struct WordList *WL)
-{
- ULONG i = 0;
-
- ClearHash(&WL->Hash);
- FORWL(i, *WL)
- InsertHash(WL->Stack.Data[i], &WL->Hash);
-}
-
-/*************************** WORDLIST HANDLING **************************/
-
-/*
- * Inserts a duplicate of `Word' into the `Wordlist' structure. You do thus
- * not need to make a duplicate of `Word' yourself.
- */
-
-BOOL InsertWord(const STRPTR Word, struct WordList *WL)
-{
- STRPTR WrdCpy;
- ULONG Len;
-
- if((WrdCpy = strdupx(Word, WALLBYTES)))
- {
- if(StkPush(WrdCpy, &WL->Stack))
- {
- Len = strlen(Word);
- if(WL->MaxLen < Len)
- WL->MaxLen = Len;
-
- InsertHash(WrdCpy, &WL->Hash);
- return(TRUE);
- }
-
- free(WrdCpy);
- }
-
- return(FALSE);
-}
-
-/*
- * Clears a WordList; removing all items.
- */
-
-void ClearWord(struct WordList *WL)
-{
- if(WL)
- {
- WL->Stack.Used = 0;
- WL->MaxLen = 0;
- ClearHash(&WL->Hash);
- if(WL->NonEmpty)
- InsertWord("", WL);
- }
-}
-
-/*
- * Query whether a `Word' is previously InsertWord()'ed into the WL
- * structure. Does case-sensitive comparison.
- *
- * Returns the data in the list.
- */
-
-
-STRPTR HasWord(const STRPTR Word, struct WordList *WL)
-{
- return(HasHash(Word, &WL->Hash));
-}
-
-/*
- * Make all the words in a list lower case for later case-insensitive
- * comparison.
- */
-
-void MakeLower(struct WordList *wl)
-{
- ULONG i;
- FORWL(i, *wl)
- strlwr(wl->Stack.Data[i]);
- ReHash(wl);
-}
-
-/*
- * Calls strrep on each argument in a list.
- */
-
-void ListRep(struct WordList *wl, const TEXT From, const TEXT To)
-{
- ULONG i;
- FORWL(i, *wl)
- strrep(wl->Stack.Data[i], From, To);
- ReHash(wl);
-}
-
-
-
-/************************** GENERIC STACK ******************************/
-
-/*
- * Push something onto a stack. Returns TRUE if successful, else FALSE.
- * Note: You can not push a NULL Data element.
- */
-
-BOOL StkPush(const APTR Data, struct Stack *Stack)
-{
- ULONG NewSize;
- APTR *NewBuf;
-
- if(Data && Stack)
- {
- if(Stack->Used >= Stack->Size)
- {
- NewSize = Stack->Size + MINPUDDLE;
-
- if((NewBuf = saferealloc(Stack->Data,
- (size_t) NewSize * sizeof(APTR))))
- {
- Stack->Size = NewSize;
- Stack->Data = NewBuf;
- }
- else
- return(FALSE);
- }
-
- Stack->Data[Stack->Used++] = Data;
- return(TRUE);
- }
-
- return(FALSE);
-}
-
-/*
- * Pops an element from the stack.
- *
- */
-
-inline APTR StkPop(struct Stack *Stack)
-{
- APTR Retval = NULL;
-
- if(Stack && (Stack->Used > 0))
- {
- Retval = Stack->Data[--Stack->Used];
-
-#ifdef NO_DIRTY_TRICKS
- {
- APTR *NewBuf;
-
- if(Stack->Used < (Stack->Size/2))
- {
- ULONG NewSize;
- NewSize = Stack->Size - MINPUDDLE;
- NewSize = max(NewSize, MINPUDDLE);
-
- if(NewBuf = saferealloc(Stack->Data,
- (size_t) NewSize * sizeof(APTR)))
- {
- Stack->Size = NewSize;
- Stack->Data = NewBuf;
- }
- }
- }
-#endif
- }
- return(Retval);
-}
-
-/*
- * Returns the topmost element of the stack.
- */
-
-APTR StkTop(struct Stack *Stack)
-{
- if(Stack && (Stack->Used > 0))
- return(Stack->Data[Stack->Used - 1]);
- else
- return(NULL);
-}
-
-/****************************** INPUT STACK *****************************/
-
-BOOL PushFileName(const STRPTR Name, struct Stack *stack)
-{
- FILE *fh = NULL;
- static
- TEXT NameBuf [BUFSIZ];
-
- if(Name && stack)
- {
- if(LocateFile(Name, NameBuf, ".tex", &TeXInputs))
- {
- if((fh = fopen(NameBuf, "r")))
- {
- return(PushFile(NameBuf, fh, stack));
- }
- }
- PrintPrgErr(pmNoTeXOpen, Name);
- }
- return(FALSE);
-}
-
-
-BOOL PushFile(STRPTR Name, FILE *fh, struct Stack *stack)
-{
- struct FileNode *fn;
-
- if(Name && fh && stack)
- {
- if((fn = malloc(sizeof(struct FileNode))))
- {
- if((fn->Name = strdup(Name)))
- {
- fn->fh = fh;
- fn->Line = 0L;
- if(StkPush(fn, stack))
- return(TRUE);
- free(fn->Name);
- }
- free(fn);
- }
- PrintPrgErr(pmNoStackMem);
- }
-
- return(FALSE);
-}
-
-STRPTR FGetsStk(STRPTR Dest, ULONG len, struct Stack *stack)
-{
- struct FileNode *fn;
- STRPTR Retval = NULL;
-
- if((fn = StkTop(stack)))
- {
- do
- {
- if((Retval = fgets(Dest, (int) len, fn->fh)))
- {
- fn->Line++;
- break;
- }
-
- fn = StkPop(stack);
- fclose(fn->fh);
- free(fn);
-
- } while(!Retval && (fn = StkTop(stack)));
- }
-
- return(Retval);
-}
-
-STRPTR CurStkName(struct Stack *stack)
-{
- struct FileNode *fn;
- static
- STRPTR LastName = "";
-
- if(PseudoInName && (stack->Used <= 1))
- return(PseudoInName);
- else
- {
- if((fn = StkTop(stack)))
- return(LastName = fn->Name);
- else
- return(LastName);
- }
-}
-
-
-FILE *CurStkFile(struct Stack *stack)
-{
- struct FileNode *fn;
-
- if((fn = StkTop(stack)))
- return(fn->fh);
- else
- return(NULL);
-}
-
-ULONG CurStkLine(struct Stack *stack)
-{
- struct FileNode *fn;
- static
- ULONG LastLine = 0L;
-
- if((fn = StkTop(stack)))
- return(LastLine = fn->Line);
- else
- return(LastLine);
-}
-
-
-
-/************************** CHARACTER STACK ******************************/
-
-/*
- * Pushes the character on the stack.
- */
-
-struct ErrInfo *PushChar(const TEXT c, const ULONG Line,
- const ULONG Column, struct Stack *Stk,
- const STRPTR LineCpy)
-{
- TEXT Buf[2];
-
- Buf[0] = c; Buf[1] = 0;
-
- return(PushErr( Buf, Line, Column, 1, LineCpy, Stk));
-}
-
-struct ErrInfo *PushErr(const STRPTR Data, const ULONG Line,
- const ULONG Column, const ULONG ErrLen,
- const STRPTR LineCpy, struct Stack *Stk)
-{
- struct ErrInfo *ci;
-
- if((ci = malloc(sizeof(struct ErrInfo))))
- {
- if((ci->Data = strdup(Data)))
- {
- ci->File = CurStkName(&InputStack);
- ci->Line = Line;
- ci->ErrLen = ErrLen;
- ci->Column = Column;
- ci->LineBuf = LineCpy;
- ci->Flags = efNone;
-
- if(StkPush(ci, Stk))
- return(ci);
- }
- else
- PrintPrgErr(pmStrDupErr);
- free(ci);
- }
-
- return(NULL);
-}
-
-/*
- * Finds the uppermost entry in the stack with a data matching
- * String.
- */
-
-struct ErrInfo *TopMatch(struct Stack *Stack, STRPTR String)
-{
- int i;
- struct ErrInfo *retval = NULL;
-
- if(Stack && String)
- {
- for(i = Stack->Used - 1;
- i >= 0;
- i--)
- {
- if(!strcmp(String, ((struct ErrInfo *) Stack->Data[i])->Data))
- {
- retval = (struct ErrInfo *) Stack->Data[i];
- break;
- }
- }
- }
- return(retval);
-}
-
-/*
- * Returns and removes a character from the stack, returns NULL if
- * the stack is empty.
- */
-
-
-struct ErrInfo *PopErr(struct Stack *Stack)
-{
- return((struct ErrInfo *) StkPop(Stack));
-}
-
-/*
- * Same as PopChar(), but lets the error alone on the stack.
- */
-
-
-struct ErrInfo *TopErr(struct Stack *Stack)
-{
- return((struct ErrInfo *) StkTop(Stack));
-}
-
-/*
- * Free all resources associated with a struct FreeInfo.
- */
-
-void FreeErrInfo(struct ErrInfo* ei)
-{
- if(ei) {
- if(ei->Data)
- free(ei->Data);
-
- free(ei);
- }
-}
-
-
-/************************* OPEN/CLOSE COUNTING **************************/
-
-/*
- * Returns the index a given bracket (`()[]{}') character has in the
- * BrOrder array. Returns ~0 if the character was not a bracket.
- */
-
-LONG BrackIndex(const TEXT c)
-{
- switch(c)
- {
- case '(':
- return(0);
- case ')':
- return(1);
- case '[':
- return(2);
- case ']':
- return(3);
- case '{':
- return(4);
- case '}':
- return(5);
- default:
- return(~0L);
- }
-}
-
-/*
- * Counts brackets for you. Give it a bracket, and it will update the
- * corresponding counter.
- */
-
-void AddBracket(const TEXT c)
-{
- LONG Index;
-
- if((Index = BrackIndex(c)) != -1)
- Brackets[Index]++;
-
-}
-
-/*
- * Returns the character that matches the given bracket, NULL if `c'
- * wasn't a bracket character.
- */
-
-TEXT MatchBracket(const TEXT c)
-{
- ULONG Index;
- TEXT Char = 0;
-
-
- if((Index = BrackIndex(c)) != ~0UL)
- Char = BrOrder[Index ^ 1];
-
- return(Char);
-}
diff --git a/Build/source/texk/chktex/Utility.h b/Build/source/texk/chktex/Utility.h
deleted file mode 100644
index 98acdd444f4..00000000000
--- a/Build/source/texk/chktex/Utility.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * ChkTeX v1.5, utility functions -- header file.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-#ifndef UTILITY_H
-#define UTILITY_H 1
-
-#ifndef CHKTEX_H
-# include "ChkTeX.h"
-#endif /* CHKTEX_H */
-#ifndef OPSYS_H
-# include "OpSys.h"
-#endif /* OPSYS_H */
-
-
-/*
- * How many indexes we'll allocate first time
- */
-#define MINPUDDLE 256
-
-/*
- * How many bytes we want in front/end of each TEXT buffer. > 2
- */
-#define WALLBYTES 4
-
-#ifndef HASH_SIZE
-# define HASH_SIZE 1009 /* A reasonably large prime */
-#endif
-
-#define FORWL(ind, list) for(ind = 0; ind < (list).Stack.Used; ind++)
-
-
-enum Strip {
- STRP_LFT = 0x01,
- STRP_RGT = 0x02,
- STRP_BTH = 0x03
-};
-
-struct HashEntry {
- struct HashEntry *Next;
- STRPTR Str;
-};
-
-struct Hash {
- struct HashEntry **Index;
-};
-
-struct Stack {
- APTR *Data;
- ULONG Size, Used;
-};
-
-struct WordList {
- ULONG MaxLen;
- BOOL NonEmpty;
- struct Stack Stack;
- struct Hash Hash;
-};
-#define WORDLIST_DEFINED
-
-struct FileNode {
- STRPTR Name;
- FILE *fh;
- ULONG Line;
-};
-
-/* Rotates x n bits left (should be an int, long, etc.) */
-#define ROTATEL(x,n) ((x<<n) | (x>>((CHAR_BIT*sizeof(x)) - n)))
-
-/* Rotates x n bits right (should be an int, long, etc.) */
-#define ROTATER(x,n) ((x>>n) | (x<<((CHAR_BIT*sizeof(x)) - n)))
-
-BOOL fexists __PROTO((const STRPTR Filename));
-
-APTR sfmemset __PROTO((APTR to, int c, LONG n));
-void * saferealloc __PROTO((void *old, size_t newsize));
-
-int strafter __PROTO((const STRPTR Str, const STRPTR Cmp));
-void strrep __PROTO((STRPTR String, const TEXT From,
- const TEXT To));
-void strxrep __PROTO((STRPTR Buf, const STRPTR Prot,
- const TEXT To));
-STRPTR strip __PROTO((STRPTR String, const enum Strip What));
-void strwrite __PROTO((STRPTR To, const STRPTR From, ULONG Len));
-int strinfront __PROTO((STRPTR Str, STRPTR Cmp));
-STRPTR strdupx __PROTO((const STRPTR String, int Extra));
-void strmove __PROTO((char *a, const char *b));
-
-inline void
- ClearHash __PROTO((struct Hash *h));
-inline void
- InsertHash __PROTO((const STRPTR a, struct Hash *h));
-inline STRPTR
- HasHash __PROTO((const STRPTR a, const struct Hash *h));
-
-BOOL InsertWord __PROTO((const STRPTR Word, struct WordList *WL));
-STRPTR HasWord __PROTO((const STRPTR Word, struct WordList *WL));
-void MakeLower __PROTO((struct WordList *wl));
-void ListRep __PROTO((struct WordList *wl, const TEXT From,
- const TEXT To));
-void ClearWord __PROTO((struct WordList *WL));
-
-BOOL StkPush __PROTO((const APTR Data, struct Stack *Stack));
-inline APTR
- StkPop __PROTO((struct Stack *Stack));
-APTR
- StkTop __PROTO((struct Stack *Stack));
-
-FILE * CurStkFile __PROTO((struct Stack *stack));
-STRPTR CurStkName __PROTO((struct Stack *stack));
-ULONG CurStkLine __PROTO((struct Stack *stack));
-STRPTR FGetsStk __PROTO((STRPTR Dest, ULONG len, struct Stack *stack));
-BOOL PushFileName __PROTO((const STRPTR Name, struct Stack *stack));
-BOOL PushFile __PROTO((STRPTR, FILE *, struct Stack *));
-
-
-void FreeErrInfo __PROTO((struct ErrInfo* ei));
-struct ErrInfo *
- PushChar __PROTO((const TEXT c, const ULONG Line,
- const ULONG Column, struct Stack *Stk,
- const STRPTR LineCpy));
-struct ErrInfo *
- PushErr __PROTO((const STRPTR Data, const ULONG Line,
- const ULONG Column, const ULONG ErrLen,
- const STRPTR LineCpy, struct Stack *Stk));
-struct ErrInfo *TopChar __PROTO((struct Stack *Stack));
-struct ErrInfo *TopErr __PROTO((struct Stack *Stack));
-struct ErrInfo *PopErr __PROTO((struct Stack *Stack));
-struct ErrInfo *TopMatch __PROTO((struct Stack *Stack, STRPTR String));
-
-LONG BrackIndex __PROTO((TEXT const c));
-void AddBracket __PROTO((TEXT const c));
-TEXT MatchBracket __PROTO((TEXT const));
-
-
-
-WORD substring __PROTO((const STRPTR source, STRPTR dest,
- ULONG pos, LONG len));
-
-#ifndef HAVE_STRLWR
-# define strlwr mystrlwr
-STRPTR mystrlwr __PROTO((STRPTR String));
-#endif
-
-#ifndef HAVE_STRDUP
-# define strdup mystrdup
-STRPTR mystrdup __PROTO((const STRPTR String));
-#endif
-
-
-#ifndef HAVE_STRCASECMP
-int strcasecmp(char* a, char* b);
-#endif
-
-
-
-#endif /* UTILITY_H */
diff --git a/Build/source/texk/chktex/chktex.c b/Build/source/texk/chktex/chktex.c
deleted file mode 100644
index 62e2d40236c..00000000000
--- a/Build/source/texk/chktex/chktex.c
+++ /dev/null
@@ -1,1080 +0,0 @@
-/*
- * ChkTeX v1.5, finds typographic errors in (La)TeX files.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-
-#ifdef AMIGA
-# include <exec/execbase.h>
-# include "WB2Argv.h"
-#endif
-
-#ifdef WIN32
-#include <getopt.h>
-#else
-#include "getopt.h"
-#endif
-#include "ChkTeX.h"
-#include "OpSys.h"
-#include "Utility.h"
-#include "FindErrs.h"
-#include "Resource.h"
-#include <string.h>
-
-#ifdef KPATHSEA
-#include <kpathsea/config.h>
-#include <kpathsea/progname.h>
-#endif
-
-#undef MSG
-#define MSG(num, type, inuse, ctxt, text) {num, type, inuse, ctxt, text},
-
-struct ErrMsg PrgMsgs [pmMaxFault + 1] =
-{
- PRGMSGS
- {pmMaxFault, etErr, TRUE, 0, INTERNFAULT}
-};
-
-struct Stack
- CharStack = {0L},
- InputStack = {0L},
- EnvStack = {0L};
-
-/************************************************************************/
-
-const TEXT BrOrder [NUMBRACKETS + 1] = "()[]{}";
-
-ULONG Brackets [NUMBRACKETS];
-
-/************************************************************************/
-
-
-/*
- * Have to do things this way, to ease some checking throughout the
- * program.
- */
-
-
-NEWBUF(TmpBuffer, BUFSIZ);
-NEWBUF(ReadBuffer, BUFSIZ);
-
-static const STRPTR
- Banner =
-"ChkTeX v1.5 - Copyright 1995-96 Jens T. Berger Thielemann.\n"
-#ifdef __OS2__
-"OS/2 port generated with emx compiler, by Wolfgang Fritsch, <fritsch@hmi.de>"
-#elif defined(__MSDOS__)
-"MS-DOS port by Bj\\o rn Ove Thue, <bjort@ifi.uio.no>"
-#elif defined(KPATHSEA)
-"Kpathsea port by Fabrice Popineau, <Fabrice.Popineau@supelec.fr>"
-#endif
-"\n",
- BigBanner =
-"ChkTeX comes with ABSOLUTELY NO WARRANTY; details on this and\n"
-"distribution conditions in the GNU General Public License file.\n"
-"Type \"ChkTeX -h\" for help, \"ChkTeX -i\" for distribution info.\n"
-"Author: Jens Berger, Spektrumvn. 4, N-0666 Oslo, Norway.\n"
-"E-mail: <jensthi@ifi.uio.no>\n"
-"Press " STDIN_BREAK " to abort stdin input.\n",
- GiftBanner =
-"\n"
-" If you like this program and use it frequently the author\n"
-" would like you to send him any gift that you feel would\n"
-" be an appropriate `payment' for `ChkTeX' --- thank you!\n"
-"\n",
-Distrib =
-"\n"
-"This program is free software; you can redistribute it and/or modify\n"
-"it under the terms of the GNU General Public License as published by\n"
-"the Free Software Foundation; either version 2 of the License, or\n"
-"(at your option) any later version.\n"
-"\n"
-"This program is distributed in the hope that it will be useful,\n"
-"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
-"GNU General Public License for more details.\n"
-"\n"
-"You should have received a copy of the GNU General Public License\n"
-"along with this program; if not, write to the Free Software\n"
-"Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n"
-,
-OnText =
-"On",
-OffText =
-"Off",
-HowHelp =
-"-h or --help gives usage information. See also ChkTeX.{ps,dvi}.\n",
-HelpText =
-"\n"
-"\n"
-" Usage of ChkTeX v1.5\n"
-" ~~~~~~~~~~~~~~~~~~~~\n"
-"\n"
-" Template\n"
-" ~~~~~~~~\n"
-"chktex [-hiqrW] [-v[0-...]] [-l <rcfile>] [-[wemn] <[1-42]|all>]\n"
-" [-d[0-...]] [-p <name>] [-o <outfile>] [-[btxgI][0|1]]\n"
-" file1 file2 ...\n"
-"\n"
-"----------------------------------------------------------------------\n"
-" Description of options:\n"
-" ~~~~~~~~~~~~~~~~~~~~~~~\n"
-"Misc. options\n"
-"~~~~~~~~~~~~~\n"
-" -h --help : This text.\n"
-" -i --license : Show distribution information\n"
-" -l --localrc : Read local .chktexrc formatted file.\n"
-" -d --debug : Debug information. Give it a number.\n"
-" -r --reset : Reset settings to default.\n"
-"\n"
-"Muting warning messages:\n"
-"~~~~~~~~~~~~~~~~~~~~~~~~\n"
-" -w --warnon : Makes msg # given a warning and turns it on.\n"
-" -e --erroron : Makes msg # given an error and turns it on.\n"
-" -m --msgon : Makes msg # given a message and turns it on.\n"
-" -n --nowarn : Mutes msg # given.\n"
-"\n"
-"Output control flags:\n"
-"~~~~~~~~~~~~~~~~~~~~~\n"
-" -v --verbosity : How errors are displayed.\n"
-" Default 1, 0=Less, 2=Fancy, 3=lacheck.\n"
-" -V --pipeverb : How errors are displayed when stdout != tty.\n"
-" Defaults to the same as -v.\n"
-" -s --splitchar : String used to split fields when doing -v0\n"
-" -o --output : Redirect error report to a file.\n"
-" -q --quiet : Shuts up about version information.\n"
-" -p --pseudoname: Input file-name when reporting.\n"
-" -f --format : Format to use for output\n"
-"\n"
-"Boolean switches (1 -> enables / 0 -> disables):\n"
-"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
-" -b --backup : Backup output file.\n"
-" -x --wipeverb : Ignore contents of `\\verb' commands.\n"
-" -g --globalrc : Read global .chktexrc file.\n"
-" -I --inputfiles: Execute \\input statements.\n"
-" -H --headererr : Show errors found in front of \\begin{document}\n"
-"\n"
-"Miscellaneous switches:\n"
-"~~~~~~~~~~~~~~~~~~~~~~~\n"
-" -W --version : Version information\n"
-"\n"
-"----------------------------------------------------------------------\n"
-"If no LaTeX files are specified on the command line, we will read from\n"
-"stdin. For explanation of warning/error messages, please consult the\n"
-"main document ChkTeX.dvi or ChkTeX.ps.\n";
-
-
-
-
-#define CHAR(a) a,
-
-TEXT LTX_EosPunc[] = {LATEX_EOSPUNC 0};
-TEXT LTX_GenPunc[] = {LATEX_GENPUNC 0};
-TEXT LTX_SmallPunc[] = {LATEX_SMALLPUNC 0};
-
-/*
- * Options we will set.
- *
- */
-
-enum Quote Quote;
-
-TEXT VerbNormal [] =
- "%k %n in %f line %l: %m\n"
- "%r%s%t\n"
- "%u\n";
-
-#define DEF(type, name, value) type name = value;
-OPTION_DEFAULTS
-STATE_VARS
-#undef DEF
-
-FILE *OutputFile = NULL;
-
-STRPTR PrgName;
-
-BOOL StdInTTY, StdOutTTY;
-
-/*
- * End of config params.
- */
-
-static int ParseArgs __PROTO((int argc, char **argv));
-static void ShowIntStatus __PROTO((void));
-static BOOL OpenOut __PROTO((void));
-static int ShiftArg __PROTO((STRPTR *Argument));
-
-
-/*
- * Duplicates all arguments, and appends an asterix to each of them.
- */
-
-static void AddStars(struct WordList *wl)
-{
- ULONG Count, CmdLen;
- STRPTR Data;
-
- FORWL(Count, *wl)
- {
- Data = wl->Stack.Data[Count];
- CmdLen = strlen(Data);
- if(Data[CmdLen - 1] != '*')
- {
- strcpy(TmpBuffer, Data);
- strcat(TmpBuffer, "*");
- InsertWord(TmpBuffer, wl);
- }
- }
-}
-
-/*
- * Sets up all the lists.
- *
- */
-
-static void SetupLists(void)
-{
- ULONG i;
-
- AddStars(&VerbEnvir);
- AddStars(&MathEnvir);
-
- MakeLower(&UserWarnCase);
-
- ListRep(&WipeArg, ':', 0);
- ListRep(&NoCharNext, ':', 0);
-
-#define ThisItem ((STRPTR) AbbrevCase.Stack.Data[i])
-
- FORWL(i, AbbrevCase)
- {
- if(isalpha(ThisItem[0]))
- {
- ThisItem[0] = toupper(ThisItem[0]);
- InsertWord(ThisItem, &Abbrev);
- ThisItem[0] = tolower(ThisItem[0]);
- }
- InsertWord(ThisItem, &Abbrev);
- }
-}
-
-#define NOCOMMON(a,b) NoCommon(&a,#a,&b,#b)
-
-/*
- * Checks that two lists don't have any common element.
- */
-
-static void NoCommon(struct WordList *a, const STRPTR aName,
- struct WordList *b, const STRPTR bName)
-{
- ULONG i;
-
- FORWL(i, *a)
- {
- if(HasWord((STRPTR) a->Stack.Data[i], b))
- PrintPrgErr(pmNoCommon, a->Stack.Data[i], aName, bName);
- }
-}
-
-/*
- * Expands the tabs in a string to regular intervals sized
- * TSize.
- */
-
-static void ExpandTabs(STRPTR From, STRPTR To, LONG TSize)
-{
- STRPTR Next, Orig;
- ULONG Diff;
-
- Next = From;
- Orig = To;
-
- while((Next = strchr(From, '\t')))
- {
- if((Diff = Next - From))
- {
- strncpy(To, From, Diff);
- To += Diff;
- Diff = TSize - ((To - Orig) % TSize);
- }
- else
- Diff = TSize;
-
- memset(To, ' ', Diff);
- To += Diff;
-
- From = ++Next;
- }
- strcpy(To, From);
-}
-
-
-int main(int argc, char **argv)
-{
- int retval = EXIT_FAILURE, CurArg;
- ULONG Count;
- BOOL StdInUse = FALSE;
- STRPTR NameMatch = "";
- LONG Tab = 8;
-
-#ifdef KPATHSEA
- extern KPSEDLL char *kpse_bug_address;
-
- kpse_set_program_name (argv[0], "ChkTeX");
-#endif
-
-#ifdef __LOCALIZED
- InitStrings();
-#endif
-
-#ifdef AMIGA
- if(_WBenchMsg)
- {
- if(argv = WB2Argv(_WBenchMsg, W2A_LOWER))
- argc = CountArgv(argv);
- else
- exit(EXIT_FAILURE);
- }
-#endif
-
- OutputFile = stdout;
- PrgName = argv[0];
-
-#undef KEY
-#undef LCASE
-#undef LIST
-#undef LNEMPTY
-#define KEY(a, def)
-#define LCASE(a)
-#define LIST(a)
-#define LNEMPTY(a) InsertWord("", &a);
-
- RESOURCE_INFO;
-
- while(SetupVars())
- ReadRC(ConfigFile);
-
- if(CmdLine.Stack.Used)
- {
- ParseArgs(CmdLine.Stack.Used, (STRPTR *) CmdLine.Stack.Data);
- CmdLine.Stack.Used = 1L;
- }
-
- if((CurArg = ParseArgs((ULONG) argc, argv)))
- {
- if(CmdLine.Stack.Used)
- {
- ParseArgs(CmdLine.Stack.Used, (STRPTR *) CmdLine.Stack.Data);
- CmdLine.Stack.Used = 1L;
- }
-
- if(!Quiet || LicenseOnly)
- fprintf(stderr, Banner);
-
- if(CurArg == argc)
- UsingStdIn = TRUE;
-
-#if defined(HAVE_FILENO) && defined(HAVE_ISATTY)
- StdInTTY = isatty(fileno(stdin));
- StdOutTTY = isatty(fileno(stdout));
-#else
- StdInTTY = StdOutTTY = TRUE;
-#endif
- SetupTerm();
-
- if((UsingStdIn && StdInTTY && !Quiet) || LicenseOnly)
- {
- fprintf(stderr, BigBanner);
- if(!LicenseOnly)
- fprintf(stderr, GiftBanner);
- }
-
- if(!StdOutTTY && PipeOutputFormat)
- OutputFormat = PipeOutputFormat;
-
- if(LicenseOnly)
- {
- fprintf(stderr, Distrib);
- fprintf(stderr, GiftBanner);
- }
- else
- {
- SetupLists();
- if(QuoteStyle)
- {
- if(!strcasecmp(QuoteStyle, "LOGICAL"))
- Quote = quLogic;
- elif(!strcasecmp(QuoteStyle, "TRADITIONAL"))
- Quote = quTrad;
- else
- {
- PrintPrgErr(pmQuoteStyle, QuoteStyle);
- Quote = quTrad;
- }
- }
-
- if(DebugLevel)
- ShowIntStatus();
-
- NOCOMMON(Italic, NonItalic);
- NOCOMMON(Italic, ItalCmd);
- NOCOMMON(LowDots, CenterDots);
-
- if(TabSize && isdigit(*TabSize))
- Tab = strtol(TabSize, NULL, 10);
-
- if(OpenOut())
- {
- for(;;)
- {
- for(Count = 0; Count < NUMBRACKETS; Count++)
- Brackets[Count] = 0L;
-
-#define DEF(type, name, value) name = value;
- STATE_VARS
-#undef DEF
-
- if(UsingStdIn) {
- if(StdInUse)
- break;
- else {
- StdInUse = TRUE;
- PushFile("stdin", stdin, &InputStack);
- }
- } else {
- if((CurArg <= argc) || NameMatch) {
- ifn(NameMatch = MatchFileName(NULL)) {
- if(CurArg < argc)
- NameMatch = MatchFileName(argv[CurArg++]);
- }
-
- if(!PushFileName(NameMatch, &InputStack))
- break;
- }
- }
-
- if(StkTop(&InputStack) && OutputFile)
- {
- while(!ferror(OutputFile) && StkTop(&InputStack) &&
- !ferror(CurStkFile(&InputStack)) &&
- FGetsStk(ReadBuffer, BUFSIZ-1, &InputStack))
- {
-
- /* Make all spaces ordinary spaces */
-
- strrep(ReadBuffer, '\n', ' ');
- strrep(ReadBuffer, '\r', ' ');
- ExpandTabs(ReadBuffer, TmpBuffer, Tab);
- strcpy(ReadBuffer, TmpBuffer);
-
- strcat(ReadBuffer, " ");
- FindErr(ReadBuffer, CurStkLine(&InputStack));
- }
-
- PrintStatus(CurStkLine(&InputStack));
- retval = EXIT_SUCCESS;
- }
- }
- }
- }
- }
- exit(retval);
- return retval;
-}
-
-/*
- * Opens the output file handle & possibly renames
- */
-
-static BOOL OpenOut(void)
-{
-#ifdef __MSDOS__
- char *p;
-#endif
- BOOL Success = TRUE;
-
- if(*OutputName)
- {
- if(BackupOut && fexists(OutputName))
- {
- strcpy(TmpBuffer, OutputName);
- AddAppendix(TmpBuffer, BAKAPPENDIX);
-
- if(fexists(TmpBuffer))
- remove(TmpBuffer);
-
- if(!rename(OutputName, TmpBuffer))
- PrintPrgErr(pmRename,
- OutputName, TmpBuffer);
- else
- {
- PrintPrgErr(pmRenameErr,
- OutputName, TmpBuffer);
- Success = FALSE;
- }
-
- }
-
- if(Success)
- {
- ifn(OutputFile = fopen(OutputName, "w"))
- {
- PrintPrgErr(pmOutOpen);
- Success = FALSE;
- }
- }
- }
- else
- OutputFile = stdout;
-
- return(Success);
-}
-
-#ifndef STRIP_DEBUG
-static void ShowWL(const STRPTR Name, const struct WordList *wl)
-{
- ULONG i, j, percent;
-
- fprintf(stderr,
- "Name: %12s", Name);
-
- if(DebugLevel & FLG_DbgListInfo)
- {
- fprintf(stderr, ", MaxLen: %3ld, Entries: %3ld, ",
- wl->MaxLen, wl->Stack.Used);
-
- if(wl->Hash.Index && wl->Stack.Used)
- {
- for(i = j = 0;
- i < HASH_SIZE;
- i++)
- {
- if(wl->Hash.Index[i])
- j++;
- }
- percent = (j * 10000)/wl->Stack.Used;
-
-
- fprintf(stderr, "Hash usage: %3ld.%02ld%%",
- percent/100, percent%100);
- }
- else
- fprintf(stderr, "No hash table.");
- }
-
- fputc('\n', stderr);
-
- if(DebugLevel & FLG_DbgListCont)
- {
- FORWL(i, *wl)
- fprintf(stderr, "\t%s\n", (STRPTR) wl->Stack.Data[i]);
- }
-}
-#endif
-
-#define BOOLDISP(var) ((var)? OnText : OffText)
-#define SHOWSTAT(text, arg) fprintf(stderr, "\t" text ": %s\n", arg)
-#define BOOLSTAT(name, var) SHOWSTAT(name, BOOLDISP(var))
-#define SHOWSTR(text, arg) fprintf(stderr, "%s:\n\t%s\n", text, arg);
-
-
-/*
- * Prints some of the internal flags; mainly for debugging purposes
- */
-
-static void ShowIntStatus(void)
-{
-#ifndef STRIP_DEBUG
- ULONG Cnt;
- STRPTR String, iuStr;
-
- if(DebugLevel & FLG_DbgMsgs)
- {
- fprintf(stderr, "There are %d warnings/error messages available:\n",
- emMaxFault - emMinFault - 1);
-
- for(Cnt = emMinFault + 1; Cnt < emMaxFault; Cnt++)
- {
- switch(LaTeXMsgs[Cnt].Type)
- {
- case etWarn: String = "Warning"; break;
- case etErr: String = "Error"; break;
- case etMsg: String = "Message"; break;
- default: String = ""; break;
- }
-
- switch(LaTeXMsgs[Cnt].InUse)
- {
- case iuOK: iuStr = "In use"; break;
- case iuNotUser: iuStr = "User muted"; break;
- case iuNotSys: iuStr = "System muted"; break;
- }
-
- fprintf(stderr, "Number: %2ld, Type: %s, Status: %s\n"
- "\tText: %s\n\n",
- Cnt, String,
- iuStr, LaTeXMsgs[Cnt].Message);
- }
- }
-
-#undef KEY
-#undef LCASE
-#undef LNEMPTY
-#undef LIST
-
-#define LNEMPTY LIST
-#define LIST(a) ShowWL(#a, &a);
-#define LCASE(a) LIST(a); LIST(a ## Case);
-#define KEY(a,def) SHOWSTR(#a, a);
-
-
- if(DebugLevel & (FLG_DbgListInfo | FLG_DbgListCont))
- {
- RESOURCE_INFO;
- }
-
- if(DebugLevel & FLG_DbgOtherInfo)
- {
- SHOWSTR("Outputformat", OutputFormat);
-
- fprintf(stderr, "Current flags include:\n");
-
- BOOLSTAT("Read global resource", GlobalRC);
- BOOLSTAT("Wipe verbose commands", WipeVerb);
- BOOLSTAT("Backup outfile", BackupOut);
- BOOLSTAT("Quiet mode", Quiet);
- BOOLSTAT("Show license", LicenseOnly);
- BOOLSTAT("Use stdin", UsingStdIn);
- BOOLSTAT("\\input files", InputFiles);
- BOOLSTAT("Output header errors", HeadErrOut);
- }
-#endif
-}
-
-/*
- * Resets all stacks.
- *
- */
-
-#undef KEY
-#undef LCASE
-#undef LNEMPTY
-#undef LIST
-
-#define LNEMPTY LIST
-#define LIST(a) ClearWord(&a);
-#define LCASE(a) LIST(a); LIST(a ## Case);
-#define KEY(a,def) a = def;
-
-static void ResetStacks(void)
-{
- RESOURCE_INFO;
-
-}
-
-/*
- * Resets all flags (not wordlists) to their default values. Sets
- * Outputfile to stdout.
- *
- */
-
-static void ResetSettings(void)
-{
-
-#define DEF(type, name, value) name = value;
-OPTION_DEFAULTS
-#undef DEF
-
- if(OutputFile != stdout)
- {
- fclose(OutputFile);
- OutputFile = stdout;
- }
-}
-
-/*
- * Reads a numerical argument from the argument. Supports concatenation
- * of arguments (main purpose)
- */
-
-static int ParseNumArg(LONG *Dest, /* Where to put the value */
- LONG Default, /* Value to put in if no in argue */
- STRPTR *Argument) /* optarg or similar */
-{
- if(Argument && *Argument && isdigit(**Argument))
- *Dest = strtol(*Argument, Argument, 10);
- else
- *Dest = Default;
-
- return(ShiftArg(Argument));
-}
-
-/*
- * Same as above; however, will toggle the boolean if user doesn't
- * supply value
- */
-
-static int ParseBoolArg(BOOL *Dest, /* Boolean value */
- STRPTR *Argument) /* optarg or similar */
-{
- LONG D = *Dest? 1L : 0L;
- int Retval;
-
- Retval = ParseNumArg(&D, *Dest? 0L : 1L, Argument);
-
- *Dest = D ? TRUE : FALSE;
-
- return(Retval);
-}
-
-/*
- * Returns the first character in the string passed, updates the
- * string pointer, if the string is non-empty.
- *
- * 0 if the string is empty.
- */
-
-static int ShiftArg(STRPTR *Argument) /* optarg or similar */
-{
- if(Argument && *Argument && **Argument)
- return(*((STRPTR) (*Argument)++));
- else
- return 0;
-}
-
-/*
- * Parses an argv similar array.
- */
-
-static int ParseArgs(int argc, char **argv)
-{
- /* Needed for option parsing. */
-
-static const
- struct option long_options[] =
- {
- {"help", no_argument, 0L, 'h'},
- {"localrc", required_argument, 0L, 'l'},
- {"output", required_argument, 0L, 'o'},
- {"warnon", required_argument, 0L, 'w'},
- {"erroron", required_argument, 0L, 'e'},
- {"msgon", required_argument, 0L, 'm'},
- {"nowarn", required_argument, 0L, 'n'},
- {"verbosity", optional_argument, 0L, 'v'},
- {"pipeverb", optional_argument, 0L, 'V'},
- {"debug", required_argument, 0L, 'd'},
- {"reset", no_argument, 0L, 'r'},
- {"quiet", no_argument, 0L, 'q'},
- {"license", no_argument, 0L, 'i'},
- {"splitchar", required_argument, 0L, 's'},
- {"format", required_argument, 0L, 'f'},
- {"pseudoname", required_argument, 0L, 'p'},
-
- {"inputfiles", optional_argument, 0L, 'I'},
- {"backup", optional_argument, 0L, 'b'},
- {"globalrc", optional_argument, 0L, 'g'},
- {"wipeverb", optional_argument, 0L, 'x'},
- {"tictoc", optional_argument, 0L, 't'},
- {"headererr", optional_argument, 0L, 'H'},
- {"version", no_argument, 0L, 'W'},
-
- {0L, 0L, 0L, 0L}
- };
-
- int option_index = 0L, c, i, nextc, ErrType;
-
- int Retval = FALSE, InUse;
- BOOL Success, Foo;
- LONG Err, Verb = 1, PipeVerb = 1;
-
- enum
- {
- aeNoErr = 0,
- aeArg, /* missing/bad required argument */
- aeOpt, /* unknown option returned */
- aeHelp, /* just a call for help */
- aeMem /* no memory */
- } ArgErr = aeNoErr;
-
- optind = 0;
-
- while(!ArgErr &&
- ((c = getopt_long((int) argc, argv,
- "b::d:e:f:g::hH::I::il:m:n:o:p:qrs:t::v::V::w:Wx::",
- long_options,
- &option_index)) != EOF))
- {
- while(c) {
- nextc = 0;
- switch(c)
- {
- case 's':
- ifn(Delimit = strdup(optarg)) {
- PrintPrgErr(pmStrDupErr);
- ArgErr = aeMem;
- }
-
- break;
- case 'p':
- ifn(PseudoInName = strdup(optarg)) {
- PrintPrgErr(pmStrDupErr);
- ArgErr = aeMem;
- }
-
- break;
-
- case 'd':
-#ifdef STRIP_DEBUG
- PrintPrgErr(pmNoDebugFlag);
-#else
- nextc = ParseNumArg(&DebugLevel, 0xffff, &optarg);
-#endif
- break;
- case 'i':
- LicenseOnly = TRUE;
-
- nextc = ShiftArg(&optarg);
- break;
- case 'q':
- Quiet = TRUE;
-
- nextc = ShiftArg(&optarg);
- break;
-
- LOOP(warntype,
- case 'w':
- ErrType = etWarn;
- InUse = iuOK;
- LAST(warntype);
- case 'e':
- ErrType = etErr;
- InUse = iuOK;
- LAST(warntype);
- case 'm':
- ErrType = etMsg;
- InUse = iuOK;
- LAST(warntype);
- case 'n':
- ErrType = etMsg;
- InUse = iuNotUser;
- LAST(warntype);
- )
-
- if(isdigit(*optarg))
- {
- nextc = ParseNumArg(&Err, -1, &optarg);
- if(betw(emMinFault, Err, emMaxFault))
- {
- LaTeXMsgs[Err].Type = ErrType;
- LaTeXMsgs[Err].InUse = InUse;
- }
- else
- {
- ArgErr = aeOpt;
- PrintPrgErr(pmWarnNumErr);
- }
- }
- else if(!strcasecmp(optarg, "all"))
- {
- for(i = emMinFault + 1; i < emMaxFault; i++)
- {
- LaTeXMsgs[i].Type = ErrType;
- LaTeXMsgs[i].InUse = InUse;
- }
- }
- else
- {
- ArgErr = aeOpt;
- PrintPrgErr(pmWarnNumErr);
- }
-
- break;
-
- case 'g':
- nextc = ParseBoolArg(&GlobalRC, &optarg);
- if(!GlobalRC) {
- ResetStacks();
- }
- break;
-
- case 'r':
- ResetSettings();
- nextc = ShiftArg(&optarg);
- break;
-
- case 'l':
- if(optarg)
- ReadRC(optarg);
- break;
-
- case 'f':
- ifn(OutputFormat = strdup(optarg))
- {
- PrintPrgErr(pmStrDupErr);
- ArgErr = aeMem;
- }
- break;
-
- case 'v':
- nextc = ParseNumArg(&Verb, 2, &optarg);
-
- if(Verb < (LONG) OutFormat.Stack.Used)
- OutputFormat = strdup(OutFormat.Stack.Data[Verb]);
- else
- {
- PrintPrgErr(pmVerbLevErr);
- ArgErr = aeArg;
- }
- break;
- case 'V':
- nextc = ParseNumArg(&PipeVerb, 1, &optarg);
-
- if(PipeVerb < (LONG) OutFormat.Stack.Used)
- PipeOutputFormat = strdup(OutFormat.Stack.Data[PipeVerb]);
- else
- {
- PrintPrgErr(pmVerbLevErr);
- ArgErr = aeArg;
- }
- break;
-
- case 'o':
- if(optarg)
- {
- if(*OutputName)
- {
- PrintPrgErr(pmOutTwice);
- ArgErr = aeOpt;
- }
- else
- {
- ifn(OutputName = strdup(optarg))
- {
- PrintPrgErr(pmStrDupErr);
- ArgErr = aeMem;
- }
- }
- }
-
- break;
-
- case 't':
- nextc = ParseBoolArg(&Foo, &optarg);
- break;
- case 'x':
- nextc = ParseBoolArg(&WipeVerb, &optarg);
- break;
- case 'b':
- nextc = ParseBoolArg(&BackupOut, &optarg);
- break;
- case 'I':
- nextc = ParseBoolArg(&InputFiles, &optarg);
- break;
- case 'H':
- nextc = ParseBoolArg(&HeadErrOut, &optarg);
- break;
- case 'W':
- printf(Banner);
- exit(EXIT_SUCCESS);
- case '?':
- default:
- fputs(Banner, stderr);
- fputs(HowHelp, stderr);
- exit(EXIT_FAILURE);
- break;
- case 'h':
- ArgErr = aeHelp;
- break;
- }
- c = nextc;
- }
- }
-
- if((argc > optind) && !strcmp(argv[optind], "?"))
- ArgErr = aeHelp;
-
- if(ArgErr)
- {
- fputs(Banner, stderr);
- fputs(BigBanner, stderr);
- fputs(HelpText, stderr);
- Success = FALSE;
- }
- else
- Success = TRUE;
-
- if(Success)
- Retval = optind;
-
- return(Retval);
-}
-
-/*
- * Outputs a program error.
- */
-
-
-void PrintPrgErr(enum PrgErrNum Error, ...)
-{
- STRPTR Type;
- va_list MsgArgs;
-
- if(betw(pmMinFault, Error, pmMaxFault)) {
- switch(PrgMsgs[Error].Type) {
- case etWarn:
- Type = "WARNING";
- break;
- case etMsg:
- Type = "NOTE";
- break;
- default:
- case etErr:
- Type = "ERROR";
- break;
- }
- fprintf(stderr, "%s: %s -- ", PrgName, Type);
-
- va_start(MsgArgs, Error);
- vfprintf(stderr, PrgMsgs[Error].Message, MsgArgs);
- va_end(MsgArgs);
- fputc('\n', stderr);
-
- if(PrgMsgs[Error].Type == etErr)
- exit(EXIT_FAILURE);
- }
-}
-
-void ErrPrintf(const char *fmt, ...)
-{
- va_list MsgArgs;
-
- va_start(MsgArgs, fmt);
- vfprintf(stderr, fmt, MsgArgs);
- va_end(MsgArgs);
-}
-
-
-
diff --git a/Build/source/texk/chktex/chktex.el b/Build/source/texk/chktex/chktex.el
deleted file mode 100644
index 2e50877d8e4..00000000000
--- a/Build/source/texk/chktex/chktex.el
+++ /dev/null
@@ -1,77 +0,0 @@
-;;; chktex.el --- quick hack to add ChkTeX capability to AUC-TeX mode
-;;
-;;
-;; Keywords: LaTeX, AUC-TeX, ChkTeX
-;;
-;; ChkTeX v1.5, quick hack to add ChkTeX in LaTeX menu.
-;; Copyright (C) 1995-96 Jens T. Berger Thielemann
-;;
-;; 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-;;
-;; Contact the author at:
-;; Jens Berger
-;; Spektrumvn. 4
-;; N-0666 Oslo
-;; Norway
-;; E-mail: <jensthi@ifi.uio.no>
-;;
-;;
-;;; Commentary:
-;;
-;; This tiny hack will add a "ChkTeX" item to the command menu of
-;; AUC-TeX, thus making the use of ChkTeX much more comfortable from
-;; within AUC-TeX (`LaTeX-mode').
-;;
-;; INSTALLATION
-;;
-;; 1. Put this file somewhere in your loading path.
-;; 2. Add the line
-;; (require 'chktex)
-;; to your .emacs file
-;;
-;; It is doubtful whether byte-compiling this file gains anything.
-;;
-;;; Code:
-;;
-
-
-
-(require 'tex-site)
-(require 'easymenu)
-
-(setq TeX-command-list
- (nconc TeX-command-list
- (list (list "ChkTeX" "chktex -v3 %s" 'TeX-run-compile nil t))))
-
-(add-hook 'LaTeX-mode-hook
- (function (lambda ()
-(easy-menu-define LaTeX-mode-menu
- LaTeX-mode-map
- "Menu used in LaTeX mode."
- (append '("Command")
- '(("Command on"
- [ "Master File" TeX-command-select-master
- :keys "C-c C-c" :style radio
- :selected (eq TeX-command-current 'TeX-command-master) ]
- [ "Buffer" TeX-command-select-buffer
- :keys "C-c C-b" :style radio
- :selected (eq TeX-command-current 'TeX-command-buffer) ]
- [ "Region" TeX-command-select-region
- :keys "C-c C-r" :style radio
- :selected (eq TeX-command-current 'TeX-command-region) ]))
- (let ((file 'TeX-command-on-current))
- (mapcar 'TeX-command-menu-entry TeX-command-list)))))))
-
-(provide 'chktex) \ No newline at end of file
diff --git a/Build/source/texk/chktex/chktex.h b/Build/source/texk/chktex/chktex.h
deleted file mode 100644
index 7429b0b2c46..00000000000
--- a/Build/source/texk/chktex/chktex.h
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * ChkTeX v1.5, header file for main program.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-#ifndef CHKTEX_H
-#define CHKTEX_H 1
-
-#ifdef WIN32
-# include <win32lib.h>
-# include "config.h"
-#else
-
-#if defined(HAVE_CONFIG_H) || defined(CONFIG_H_NAME)
-# ifndef CONFIG_H_NAME
-# define CONFIG_H_NAME "config.h"
-# endif
-# ifndef HAVE_CONFIG_H
-# define HAVE_CONFIG_H 1
-# endif
-# include CONFIG_H_NAME
-#endif
-
-#endif
-
-#include <ctype.h>
-#include <math.h>
-#include <stdio.h>
-#ifdef HAVE_STDARG_H
-# include <stdarg.h>
-#else
-#error Sorry, ChkTeX needs an _ANSI_ compiler w/stdarg.h installed to compile.
-#endif
-#ifndef HAVE_VPRINTF
-#error Sorry, ChkTeX needs an _ANSI_ compiler w/vprintf() to compile.
-#endif
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-#ifdef HAVE_LIMITS_H
-# include <limits.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#include "chktypes.h"
-#ifndef __NOPROTO
-# ifndef __PROTO
-# define __PROTO(a) a
-# endif
-#else
-# ifndef __PROTO
-# define __PROTO(a) ()
-# endif
-#endif
-#ifndef LONG_MAX
-# define LONG_MAX (0x7fffffff)
-#endif
-#ifndef CHAR_BIT
-# define CHAR_BIT (8)
-#endif
-#ifndef FINDERRS_H
-# include "FindErrs.h"
-#endif /* FINDERRS_H */
-
-#ifndef CDECL
-#define CDECL
-#endif
-
-/*
- * Define aliases for preprocessor statements
- */
-
-#if defined(__unix__) || defined(__unix) || defined(unix)
-#undef __unix__
-#define __unix__ 1
-#elif defined(AMIGA) || defined(__AMIGA) || defined(__amigados__)
-#undef AMIGA
-#define AMIGA 1
-#elif defined(MSDOS) || defined(__MSDOS__) || defined(__msdos__)
-#undef __MSDOS__
-#define __MSDOS__ 1
-#endif
-
-/*
- * The next macro should contain a list of characters LaTeX (and you?)
- * considers as an end-of-sentence characters, which should be
- * detected when whether sentence spacing is correct.
- *
- */
-
-#define LATEX_EOSPUNC CHAR('.') CHAR(':') CHAR('?') CHAR('!')
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * The next macro should contain general punctuation characters
- * used on your system.
- */
-
-#define LATEX_GENPUNC LATEX_EOSPUNC CHAR(',') CHAR(';')
-
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * The next macro should contain a list of characters LaTeX (and you?)
- * considers as an small punctuation characters, which should not be
- * preceded by a \/.
- */
-
-#define LATEX_SMALLPUNC CHAR('.') CHAR(',')
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-/*
- * NOTE: All macros below should return FALSE (0) if the input
- * character is 0.
- *
- * The next macro should return TRUE if LaTeX (and you?) considers
- * the character `c' as a space, which should be detected when
- * we're checking whether commands are terminated by spaces.
- *
- * Note: If you wish to change this macro, you'll have to update
- * the main loop in FindErrs.c as well.
- */
-
-#define LATEX_SPACE(c) (c > 0 && c <= ' ')
-
-/* -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- -=><=- */
-
-
-
-
-
-
-#define betw(a,b,c) ((a < b) && (b < c))
-#define within(a,b,c) ((a <= b) && (b <= c))
-#define elif else if
-
-#ifndef NOT
-# define NOT(a) (!(a))
-#endif
-#define ifn(a) if(NOT(a))
-
-#ifndef min
-# define min(a,b) ((a)<=(b)?(a):(b))
-#endif
-
-#ifndef max
-# define max(a,b) ((a)>(b)?(a):(b))
-#endif
-
-#ifndef abs
-# define abs(a) (a>=0?a:(-a))
-#endif
-
-#define LOOP(name, body) {{body} _end__##name:;}
-#define LAST(name) goto _end__##name
-
-#define NUMBRACKETS 6
-
-#define NEWBUF(name,len) \
-static TEXT _ ## name [len + (WALLBYTES<<1)] = {0}; \
-const STRPTR name = &_ ## name[WALLBYTES]
-
-#define INTFAULTMSG "INTERNAL FAULT OCCURED! PLEASE SUBMIT A BUG REPORT!\n"
-
-#define INTERNFAULT INTFAULTMSG
-
-#define BITDEF1(a) BIT_ ## a
-#define BITDEF2(a) FLG_ ## a = (1<<BIT_ ## a)
-
-/*
- * Debugging info
- */
-
-#define DEBUGBITS(a) enum a { \
- BIT(DbgMsgs), /* Dump messages */ \
- BIT(DbgListInfo), /* Dump list info */ \
- BIT(DbgListCont), /* Dump list contents */ \
- BIT(DbgOtherInfo), /* Dump misc. other info */ \
- BIT(DbgRunTime) /* Dump runtime info */ \
-};
-
-#undef BIT
-#define BIT BITDEF1
-DEBUGBITS(Debug_BIT)
-#undef BIT
-#define BIT BITDEF2
-DEBUGBITS(Debug_FLG)
-
-#ifdef STRIP_DEBUG
-# define DEBUG(a)
-#else
-# define DEBUG(a) if(DebugLevel & FLG_DbgRunTime) ErrPrintf a
-#endif
-
-#define PRGMSGS \
- MSG(pmMinFault, etWarn, TRUE, 0, INTERNFAULT)\
- MSG(pmNoFileMatch, etWarn, TRUE, 0,\
- "No files matched the pattern `%s'.")\
- MSG(pmNoTeXOpen, etWarn, TRUE, 0,\
- "Unable to open the TeX file `%s'.")\
- MSG(pmRename, etMsg, TRUE, 0,\
- "Renaming `%s' as `%s'.")\
- MSG(pmRenameErr, etErr, TRUE, 0,\
- "Could not rename `%s' to `%s'.")\
- MSG(pmOutOpen, etErr, TRUE, 0,\
- "Unable to open output file.")\
- MSG(pmOutTwice, etErr, TRUE, 0,\
- "You can specify output file only once.")\
- MSG(pmStrDupErr, etErr, TRUE, 0,\
- "Unable to duplicate strings - no memory?")\
- MSG(pmWordListErr, etErr, TRUE, 0,\
- "Unable to create wordlist - no memory?")\
- MSG(pmNoStackMem, etErr, TRUE, 0,\
- "Unable to create stack - no memory?\n")\
- MSG(pmWarnNumErr, etErr, TRUE, 0,\
- "Illegal warning number used.")\
- MSG(pmVerbLevErr, etErr, TRUE, 0,\
- "Illegal verbosity level.")\
- MSG(pmNotPSDigit, etWarn, TRUE, 0,\
- "`%c' is not a %s digit - ignored!")\
- MSG(pmEscCode, etWarn, TRUE, 0,\
- "Unknown escape code `%c%c' - ignored!")\
- MSG(pmKeyWord, etErr, TRUE, 0,\
- "Unsupported control word (`%s') encountered in file `%s'.")\
- MSG(pmFaultFmt, etErr, TRUE, 0,\
- "\"%s\", line %d: Faulty format - unexpected %s found.")\
- MSG(pmRsrcOpen, etWarn, TRUE, 0,\
- "Could not open `%s', may cause unwanted behaviour.")\
- MSG(pmSlowAbbr, etMsg, FALSE, 0,\
- "The abbreviation `%s' requires slow abbreviation searching.")\
- MSG(pmEmptyToken, etWarn, TRUE, 0,\
- "Empty token isolated in `%s' - probably faulty format")\
- MSG(pmAssert, etErr, TRUE, 0,\
- "Assertion failed. Please report bug.")\
- MSG(pmNoRsrc, etWarn, TRUE, 0,\
- "Could not find global resource file.")\
- MSG(pmQuoteStyle, etWarn, TRUE, 0,\
- "Illegal quotestyle `%s'.")\
- MSG(pmWrongWipeTemp, etWarn, TRUE, 0,\
- "Wrong template for wiping arguments, \"%s\"")\
- MSG(pmSpecifyTerm, etErr, TRUE, 0,\
- "Specify a terminal type with `setenv TERM <yourtype>'.")\
- MSG(pmNoTermData, etErr, TRUE, 0,\
- "Could not access the termcap data base.")\
- MSG(pmNoTermDefd, etErr, TRUE, 0,\
- "Terminal type `%s' is not defined.")\
- MSG(pmNoRegExp, etWarn, TRUE, 0,\
- "Regular expressions not compiled in. Please recompile.")\
- MSG(pmNoCommon, etErr, TRUE, 0,\
- "`%s' can't be a member of both `%s' and `%s'.") \
- MSG(pmNoOpenDir, etWarn, TRUE, 0, \
- "Could not open the directory `%s'.") \
- MSG(pmNoDebugFlag, etWarn, TRUE, 0, \
- "This version of doesn't support the -d flag. Please recompile.")
-
-
-#undef MSG
-#define MSG(num, type, inuse, ctxt, text) num,
-
-enum PrgErrNum {
- PRGMSGS
- pmMaxFault
-};
-#undef MSG
-
-extern struct ErrMsg PrgMsgs [pmMaxFault + 1];
-
-struct ErrInfo {
- STRPTR Data, LineBuf, File;
- ULONG Line, Column, ErrLen;
- enum
- {
- efNone = 0x00,
- efNoItal = 0x01,
- efItal = 0x02
- } Flags;
-};
-
-extern const STRPTR
- ReadBuffer,
- CmdBuffer,
- TmpBuffer;
-
-extern const
- TEXT BrOrder[NUMBRACKETS + 1];
-
-extern
- ULONG Brackets [NUMBRACKETS];
-
-
-extern FILE *OutputFile, *InputFile;
-
-#define OPTION_DEFAULTS \
- DEF(BOOL, GlobalRC, TRUE) \
- DEF(BOOL, WipeVerb, TRUE) \
- DEF(BOOL, BackupOut, TRUE) \
- DEF(BOOL, Quiet, FALSE) \
- DEF(BOOL, LicenseOnly, FALSE) \
- DEF(BOOL, UsingStdIn, FALSE) \
- DEF(BOOL, InputFiles, TRUE) \
- DEF(BOOL, HeadErrOut, TRUE) \
- DEF(STRPTR, OutputName, "") \
- DEF(STRPTR, PseudoInName, NULL) \
- DEF(STRPTR, OutputFormat, VerbNormal) \
- DEF(STRPTR, PipeOutputFormat, NULL) \
- DEF(STRPTR, Delimit, ":") \
- DEF(LONG, DebugLevel, 0)
-
-#define STATE_VARS \
- DEF(enum ItState, ItState, itOff) /* Are we doing italics? */ \
- DEF(BOOL, AtLetter, FALSE) /* Whether `@' is a letter or not. */ \
- DEF(BOOL, InHeader, TRUE) /* Whether we're in the header */ \
- DEF(BOOL, VerbMode, FALSE) /* Whether we're in complete ignore-mode */ \
- DEF(LONG, MathMode, 0) /* Whether we're in math mode or not */ \
- DEF(STRPTR, VerbStr, "") /* String we'll terminate verbmode upon */ \
- DEF(ULONG, ErrPrint, 0) /* # errors printed */ \
- DEF(ULONG, WarnPrint, 0) /* # warnings printed */ \
- DEF(ULONG, UserSupp, 0) /* # user suppressed warnings */
-
-#define DEF(type, name, value) extern type name;
-OPTION_DEFAULTS
-STATE_VARS
-#undef DEF
-
-extern struct Stack
- CharStack,
- InputStack,
- EnvStack;
-
-enum Quote {
- quLogic,
- quTrad
-};
-
-extern enum Quote Quote;
-extern BOOL StdInTTY, StdOutTTY, UsingStdIn;
-
-int main __PROTO((int argc, char **argv));
-void PrintPrgErr __PROTO((enum PrgErrNum , ...));
-void ErrPrintf __PROTO((const char *fmt, ...));
-
-extern TEXT LTX_EosPunc[], LTX_GenPunc[], LTX_SmallPunc[];
-extern STRPTR PrgName;
-
-#endif /* CHKTEX_H */
diff --git a/Build/source/texk/chktex/chktexrc b/Build/source/texk/chktex/chktexrc
deleted file mode 100644
index 59b840412d6..00000000000
--- a/Build/source/texk/chktex/chktexrc
+++ /dev/null
@@ -1,670 +0,0 @@
-##
-## ChkTeX v1.5, example resource file for ChkTeX.
-## Copyright (C) 1995-96 Jens T. Berger Thielemann
-##
-## 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-##
-## Contact the author at:
-## Jens Berger
-## Spektrumvn. 4
-## N-0666 Oslo
-## Norway
-## E-mail: <jensthi@ifi.uio.no>
-##
-
-#####################################################################
-#
-# Note: The format has changed slightly (again). The { ... }
-# syntax does now mean case-sensitive comparing, while [ ... ] means
-# case-insensitive comparing of the keywords. Case-insensitive
-# comparing of the keywords is only supported on a few of the
-# keywords (it's not meaningful in all contexts, and it slows ChkTeX
-# down). Keywords supporting this are marked throughout the file.
-#
-# You may also reset a list by saying "KEYWORD = { ... }"; it will
-# then be set equal to the contents of the list you specify.
-#
-# Comments begin with `#', and continues for the rest of the line.
-# Blank lines plus leading and trailing spaces are of course ignored.
-#
-# The general format of this file is the following:
-#
-# KEYWORD { item item ...} [ item item ... ] /* Adds items */
-#
-# KEYWORD [ item item ...] { item item ... } /* Adds items */
-#
-# KEYWORD = item
-#
-# KEYWORD = { item item ... } /* Clears list before adding */
-#
-# KEYWORD = [ item item ... ] /* Clears list before adding */
-#
-# This does _not_ mean that you may alternate the forms; certain
-# keywords demands a list, other a single value. You thus have to
-# look at the examples of their use.
-#
-# Please also note that if you specify a list-keyword twice, we'll
-# concatenate the lists. If you you specify a item-keyword twice,
-# we'll kill the previous value.
-#
-# We are slightly context-sensitive when detecting tokens like "}"
-# and "]"; they have to be preceded by a space. This generally makes
-# life easier.
-#
-# Items are separated by spaces. Newlines are considered as spaces,
-# but can't be escaped. You may surround items with quotes (`"') to
-# easily put spaces into them.
-#
-# Escape sequences available:
-#
-# Sequence Resulting character
-# ! A space (type `! ', not just a exclamation mark)
-# !" "
-# !# #
-# !! !
-# !{ {
-# !} }
-# ![ [
-# !] ]
-# != =
-# !b Backspace
-# !n New line
-# !r Carriage return
-# !t Tab
-# !f Form feed
-# !xNN NN must be a hexadecimal number (00 - ff),
-# _both_ characters must be included.
-# !dNNN DDD must be a decimal number (000 - 255), all
-# three characters must be included. Unspecified
-# results if DDD > 255.
-# !NNN DDD must be a octal number (000 - 377), all
-# three characters must be included. Unspecified
-# results if DDD > 377.
-#
-# Minor note: As you can see, most of these escape sequences are
-# equal to those in C (with some extensions); however, we use !
-# instead of \ as escape character for obvious reasons.
-#
-#
-# Quick summary of keywords follows. Keywords marked with a * accept
-# keywords accepting case-insensitive lists.
-#
-# Abbrev* - A list of abbreviations not automatically catched.
-# CenterDots - Commands/characters which should have \cdots in
-# between.
-# CmdLine - Default commandline options. These will be
-# processed before the ones you give on the command
-# line.
-# HyphDash \
-# NumDash - No. of dashes allowed in different contexts.
-# WordDash /
-# IJAccent - Commands which puts an accent _over_ their
-# argument.
-# Italic - Commands immediately turning on italic mode.
-# ItalCmd - Commands putting their argument into italic.
-# Linker - Commands which should have a non-breaking space in
-# front.
-# LowDots - Commands/characters which should have \ldots in
-# between.
-# MathEnvir - Environments which turn on math mode.
-# MathRoman - Mathematical operators with LaTeX replacement
-# defined.
-# NoCharNext - Insists on that certain commands aren't followed by
-# certain characters.
-# NonItalic - Commands immediately turning off italic mode.
-# NotPreSpaced- Commands which should not have a space in front of
-# them.
-# Primitives - Primitive TeX commands.
-# PostLink - Commands which generates a page reference.
-# OutFormat - Formats to use for output. See the -f & -v switch
-# in the main doc.
-# QuoteStyle - Either "Traditional" or "Logical". See main doc,
-# warning 38.
-# Silent - These commands do not produce any textual output;
-# and are thus allowed to have a space after them.
-# TabSize - Tab size you are using.
-# TeXInputs - Paths to search \input and \include files for.
-# UserWarn* - These strings will be searched for throughout the
-# text.
-# VerbEnvir - Environments which contents should be ignored.
-# VerbClear - String we will overwrite unwanted data with.
-# WipeArg - Commands (with arguments) which should be ignored
-# in the checking.
-#
-
-
-#####################################################################
-#
-# Enter which type of quote-style you are using here. Currently, we
-# support the following styles:
-#
-# Style Example of use
-# Traditional "An example," he said, "would be great."
-# Logical "An example", he said, "would be great".
-#
-
-QuoteStyle = Logical
-
-#####################################################################
-#
-# Enter here what interval you have between your tabs. Only regular
-# intervals are supported.
-#
-
-TabSize = 8
-
-#####################################################################
-#
-# Here, you can put default commandline options; most users would for
-# instance like to put -v2 here.
-#
-
-CmdLine
-{
-
-}
-
-#####################################################################
-#
-# These patterns will be searched for through the text; no matter
-# whether they appear as normal text, commands or whatever.
-# Currently case-sensitive.
-#
-# I usually define a special command like this:
-#
-# \def\unknown{\large\bf??}
-#
-# which I use whenever there is some information I don't have at the
-# moment of writing. Thus, it makes sense to search for it.
-#
-# You should be able to develop your own uses for this.
-#
-
-UserWarn
-{
-
- \unknown
-###
-#
-# Another example; one should write \chktex or Chk\TeX - never ChkTeX.
-#
-###
-
- ChkTeX
-}
-[
-
-###
-#
-# You may put case-insensitive patterns here.
-#
-###
-
-]
-
-#####################################################################
-#
-# Here you can list the path of where ChkTeX should look for files it
-# \inputs. The // postfix is now supported; if you append a double
-# path-separator we'll recursively search that directory directories.
-# MS-DOS users must append \\ instead, e.g. "C:\EMTEX\\".
-#
-# If you under either MS-DOS or UNIX wish to search an entire
-# partition or the complete directory tree, you must use *three*
-# slashes, e.g. "c:\\\" or "///". This may be considered to be a bug.
-#
-# By default, we'll search the current directory (not recursively,
-# put "//" in the list for this); any paths specified below will be
-# searched in addition to this.
-#
-
-TeXInputs
-{
-
-}
-
-#####################################################################
-#
-# Here you may specify more outputformats for use with the -v option,
-# it simply indexes into this list. Remember to use ! instead of \,
-# though.
-#
-# For explanation of how % fields expand; look at ChkTeX.{dvi,ps}.
-#
-# We will by default select entry number _two_ in this list (we count
-# from 0), and -v without any parameter selects entry number _three_.
-#
-
-OutFormat
-{
-
-# -v0; silent mode
-%f%b%l%b%c%b%n%b%m!n
-
-# -v1; normal mode
-"%k %n in %f line %l: %m!n%r%s%t!n%u!n"
-
-# -v2; fancy mode
-"%k %n in %f line %l: %m!n%r%i%s%I%t!n!n"
-
-# -v3; lacheck mode
-"!"%f!", line %l: %m!n"
-
-# -v4; verbose lacheck mode
-"!"%f!", line %l: %m!n%r%s%t!n%u!n"
-
-}
-
-
-
-#####################################################################
-#
-# These commands should be ignored when detecting whether a command
-# is ended by a space.
-#
-
-Silent
-{
- \rm \em \bf \it \sl \sf \sc \tt \selectfont
- \rmfamily \sffamily \ttfamily \mdseries \bfseries
- \slshape \scshape \relax
- \vskip \pagebreak \nopagebreak
-
- \textrm \textem \textbf \textit \textsl \textsf \textsc \texttt
-
- \clearpage \ddots \dotfill \flushbottom \fussy \indent \linebreak
- \onecolumn \pagebreak \pushtabs \poptabs \scriptsize \sloppy
- \twocolumn \vdots
- \today \kill \newline \thicklines \thinlines
-
- \columnsep \space \item \tiny \footnotesize \small \normalsize
- \normal \large \Large \LARGE \huge \Huge \printindex
-
- \newpage \listoffigures \listoftables \tableofcontents
- \maketitle \makeindex
-
- \hline \hrule \vrule
-
- \centering
-
- \bigskip \medskip \smallskip
-
- \noindent \expandafter
-
- \makeatletter \makeatother
-
- \columnseprule
-
- \textwidth \textheight \hsize \vsize
-
- \if \fi
-
- \csname \endcsname
-
- \z@ \p@ \@warning \typeout
-
- \dots \ldots \input \endinput \nextline \leavevmode \cdots
-- \appendix \listfiles \and \quad
- \vfill \vfil \hfill \hfil \topmargin \oddsidemargin
- \frenchspacing \nonfrenchspacing
- \begingroup \endgroup \par
-
- \vrefwarning \upshape \headheight \headsep \hoffset \voffset
- \cdot \qquad
- \left \right
-}
-
-#####################################################################
-#
-# Here, you can specify the length of various dashes. We sort the
-# dash according to which type of characters that are on the left and
-# right of of it. We are only conclusive if they are the same.
-#
-# We associate as follows:
-#
-# Name Type of character on each side
-# HyphDash Alphabetic (foo-bar)
-# NumDash Numeric (2--3)
-# WordDash Space (like this --- see?)
-#
-# Below you specify how many dashes which are legal in each case. We
-# define 0 as an magic constant which always generates an error. You
-# may specify more than one legal dash-length.
-#
-# Let's look at an example. You use the following dash-syntax:
-#
-# foo-bar
-# 2--3
-# like this---see?
-#
-#
-# HYPHDASH { 1 3 } # Either a hyphen, or inter-word
-# NUMDASH { 2 } # Between words
-# WORDDASH { 0 } # We never use this
-#
-
-HyphDash
-{
- 1
-}
-
-NumDash
-{
- 2
-}
-
-WordDash
-{
- 3
-}
-
-#####################################################################
-#
-# This keyword indicates commands which argument isn't LaTeX code,
-# and which thus should be ignored.
-#
-# After the command, you may place arguments that you wish that
-# should be wiped in the process; use [] for optional arguments, {}
-# for required ones and * if the command supports an alternative
-# variant. These should be separated from the command with a colon.
-#
-# For instance, if you would like to wipe the \newcommand command,
-# you would declare it as \newcommand:*[][]{}
-#
-# These commands may be "executed" before they're wiped, so you will
-# typically also wish to list filehandling commands and similar here.
-#
-
-WipeArg
-{
- \label:{} \ref:{} \vref:{} \pageref:{} \index:{} \cite:[]{}
- \input:{} \verbatiminput:[]{} \listinginput:[]{}{}
- \verbatimtabinput:[]{} \include:{} \includeonly:{}
- \bibitem:[]{}
-}
-
-#####################################################################
-#
-# These environments contains material which will be typeset as
-# mathematics by LaTeX. This turns on/off some warnings.
-#
-# We will automagically append a * to each keyword.
-#
-
-MathEnvir
-{
- displaymath math eqnarray array equation
-}
-
-#####################################################################
-#
-# These environments contains material which contents should be
-# ignored.
-#
-# We will automagically append a * to each keyword.
-#
-
-VerbEnvir
-{
- verbatim comment listing verbatimtab rawhtml errexam picture texdraw
-}
-
-#####################################################################
-#
-# ChkTeX does automagically catch most abbreviations; the ones we
-# need to list here, are those which are most likely to be followed
-# by a word with an upper-case letter (that is not the beginning of a
-# new sentence).
-#
-# The case-insensitive abbreviations are not really case-insensitive,
-# it seems to be more practical to only let the first character be
-# case-insensitive, while the remaining are case-sensitive.
-#
-# To speed up the searching process somewhat, we require that these
-# end in a `.', this should not be a problem.
-#
-# Much of this work (both the abbreviations below, and the regexps
-# necessary to catch the remaining automatically) have been provided
-# by Russ Bubley, <russ@scs.leeds.ac.uk>.
-#
-
-
-Abbrev
-{
-# Ordinals
-1st. 2nd. 3rd. 4th.
-# Titles
-Mr. Mrs. Miss. Ms. Dr. Prof. St.
-
-#
-# Days
-# Mon. Tue. Wed. Thu. Fri. Sat. Sun.
-#
-# Months
-# Jan. Feb. Mar. Apr. May. Jun. Jul. Aug. Sep. Oct. Nov. Dec.
-#
-# Letters
-# Kt. Jr.
-#
-# Corporate
-# Co. Ltd.
-#
-# Addresses
-# Rd. Dr. St. Ave. Cres. Gdns. Sq. Circ. Terr. Pl. Arc. La. Clo. Ho. Est. Gn.
-#
-# Misc.
-# oe. pbab. ps. rsvp. Tx.
-}
-[
-###
-#
-# The first letter is case-insensitive in the abbrevs in this
-# list. Due to the nature of the checking algorithm used for
-# this, entries consisting of only one character will be
-# silently ignored.
-#
-##
-
-# Latin
-# cf. "et al." etc. qed. qv. viz.
-#
-# Corporate
-# inc. plc.
-#
-# Misc
-# fax. pcs. qty. tel. misc.
-]
-
-#####################################################################
-#
-# Commands which accent characters, meaning that \i or \j (\imath and
-# \jmath in mathmode) should be used instead of `i' and `j'
-#
-
-IJAccent
-{
- \hat \check \breve \acute \grave \tilde \bar \vec \dot \ddot
-
- \' \` \^ \" \~ \= \. \u \v \H \t
-
-###
-#
-# The remaining accent commands (\c,\d,\b) put their accent _under_
-# the character, not above, and should thus be used with normal i's
-# and j's.
-#
-###
-
-}
-
-#####################################################################
-#
-# Commands which, when the group is terminated, needs italic
-# correction.
-#
-
-Italic
-{
- \it \em \sl
-}
-
-#####################################################################
-#
-# Commands which makes the font non-italic.
-#
-
-NonItalic
-{
- \bf \rm \sf \tt \sc
-}
-
-#####################################################################
-#
-# Commands which puts their argument into italic (and thus possibly
-# needs italic correction in the end.
-#
-
-ItalCmd
-{
- \textit \textsl \emph
-}
-
-#####################################################################
-#
-# These commands all have in common that a pagebreak right in front
-# of them is highly undesirable; thus there should be no space in
-# front of them.
-#
-
-PostLink
-{
- \index \label
-}
-
-#####################################################################
-#
-# These commands should not have a space in front of them for various
-# reasons. I.e. much the same as POSTLINK, but produces another
-# warning.
-#
-
-NotPreSpaced
-{
- \footnote \footnotemark \/
-}
-
-#####################################################################
-#
-# The commands listed here, should be prepended with a `~', as in
-# "look in table~\ref{foo}", to avoid the references being split
-# across lines.
-#
-
-Linker
-{
- \ref \vref \pageref \cite
-}
-
-#####################################################################
-#
-# Commands/characters which should have \cdots in between, e.g.
-# $1+2+3+\cdots+n$.
-#
-
-CenterDots
-{
- = + - \cdot \div & \times \geq \leq < >
-}
-
-#####################################################################
-#
-# Commands/characters which should have \ldots in between, e.g.
-# $1,2,3,\ldots,n$.
-#
-
-LowDots
-{
- . , ;
-}
-
-#####################################################################
-#
-# In maths mode, there are certain aliases for mathematical operators
-# like sin, cos, etc. Ignore the leading backslash in the commands,
-# and so forth. You should list these below.
-#
-
-MathRoman
-{
- log lg ln lim limsup liminf sin arcsin sinh cos arccos cosh tan
- arctan tanh cot coth sec csc max min sup inf arg ker dim hom det
- exp Pr gcd deg bmod pmod mod
-}
-
-#####################################################################
-#
-# These TeX commands have become unnecessary, as there are LaTeX cmds
-# that does the same. Purists should thus avoid these in their code.
-#
-# (These are a spell-corrected version of those lacheck uses).
-#
-
-Primitives
-{
- \above \advance \catcode \chardef \closein \closeout \copy \count
- \countdef \cr \crcr \csname \delcode \dimendef \dimen \divide
- \expandafter \font \hskip \vskip \openout
-}
-
-#####################################################################
-#
-# Format: \command:characters
-#
-# We'll emit a warning if any of characters are found after the
-# command.
-#
-
-NoCharNext
-{
- \left:{}$ \right:{}$
-}
-
-#####################################################################
-#
-# We're killing \verb@...@ commands and the arguments of the commands
-# listed above in WIPEARG by overwriting them with a string or a
-# single character.
-#
-# This should not contain an alphabetic character (in case the user
-# writes (\foo\verb@bar@), neither should it contain be one of LaTeX'
-# reserved characters (`#$%&~_^\{}'), or any parenthesis character
-# ('()[]{}'). If possible, don't use a punctuation character,
-# either, or any spacing character.
-#
-# The asterix is also unsuitable, as some commands behave in another
-# way if they are postpended with an asterix. Which more or less
-# leaves us with the pipe.
-#
-# Please note that this may also be a _string_, which will be
-# repeated until the proper length is reached.
-#
-
-VerbClear = "|"
-
-#
-# All for now - have fun.
-#
-#####################################################################
-
diff --git a/Build/source/texk/chktex/chktypes.h b/Build/source/texk/chktex/chktypes.h
deleted file mode 100644
index 2ab6ec4736e..00000000000
--- a/Build/source/texk/chktex/chktypes.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Clone of <exec/types.h>, which could not be included because it's
- * (c) Commodore/Escom/Amiga/whatever.
- *
- */
-
-#ifndef EXEC_TYPES_H
-#define EXEC_TYPES_H
-
-#define GLOBAL extern /* the declaratory use of an external */
-#define IMPORT extern /* reference to an external */
-#define STATIC static /* a local static variable */
-#define REGISTER register /* a (hopefully) register variable */
-
-#ifndef VOID
-# define VOID void
-#endif
-
-
-typedef void* APTR; /* Address pointer */
-
-#ifndef WIN32
-typedef unsigned long ULONG;
-typedef long LONG;
-#endif
-
-#ifdef AMIGA
-typedef unsigned long LONGBITS; /* Longword accessed bitwise */
-#endif
-
-#ifndef WIN32
-typedef short WORD;
-#endif
-typedef unsigned short UWORD;
-typedef unsigned short WORDBITS;
-
-typedef unsigned char UBYTE;
-typedef unsigned char BYTEBITS;
-
-typedef unsigned short RPTR; /* relative pointer */
-
-
-#ifndef WIN32
-#if __STDC__
-typedef signed char BYTE;
-#else
-typedef char BYTE;
-#endif
-#endif
-
-#if defined(__cplusplus) || defined(AMIGA)
-typedef unsigned char TEXT;
-#else
-typedef char TEXT;
-#endif
-
-typedef TEXT * STRPTR; /* pointer to a string */
-
-#ifndef WIN32
-typedef float FLOAT;
-typedef double DOUBLE;
-typedef short BOOL; /* Boolean value */
-#endif
-
-#ifndef TRUE
-# define TRUE 1L
-#endif
-#ifndef FALSE
-# define FALSE 0L
-#endif
-#ifndef NULL
-# define NULL (void *) 0L
-#endif
-
-
-#endif
diff --git a/Build/source/texk/chktex/chkweb b/Build/source/texk/chktex/chkweb
deleted file mode 100644
index cbc0caa780d..00000000000
--- a/Build/source/texk/chktex/chkweb
+++ /dev/null
@@ -1,56 +0,0 @@
-#! /bin/sh
-
-# ChkWEB v1.0, runs the LaTeX parts of a CWEB file through ChkTeX.
-# Copyright (C) 1996 Jens T. Berger Thielemann
-#
-# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Contact the author at:
-# Jens Berger
-# Spektrumvn. 4
-# N-0666 Oslo
-# Norway
-# E-mail: <jensthi@ifi.uio.no>
-
-
-params=
-
-for p
-do
- case $p in
- --) break
- ;;
- -*) params="$params $p"
- shift
- ;;
- *) break
- ;;
- esac
-done
-
-
-if test "$1" = ""; then
- deweb | chktex -v3 $params
-else
- for file
- do
- if test -f $file; then
- deweb $file | chktex -p $file -v3 $params
- else
- deweb $file.w | chktex -p $file.w -v3 $params
- fi
- done
-fi
-
diff --git a/Build/source/texk/chktex/config.h.in b/Build/source/texk/chktex/config.h.in
deleted file mode 100644
index fce5fcaa508..00000000000
--- a/Build/source/texk/chktex/config.h.in
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * ChkTeX v1.5, configuration file.
- * Copyright (C) 1995-96 Jens T. Berger Thielemann
- *
- * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Contact the author at:
- * Jens Berger
- * Spektrumvn. 4
- * N-0666 Oslo
- * Norway
- * E-mail: <jensthi@ifi.uio.no>
- *
- *
- */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-#undef size_t
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
-
-/* Define if you don't have vprintf but do have _doprnt. */
-#undef HAVE_DOPRNT
-
-/* Define if you have the vprintf function. */
-#undef HAVE_VPRINTF
-
-/* Define if you have the access function. */
-#undef HAVE_ACCESS
-
-/* Define if you have the closedir function. */
-#undef HAVE_CLOSEDIR
-
-/* Define if you have the fileno function. */
-#undef HAVE_FILENO
-
-/* Define if you have the isatty function. */
-#undef HAVE_ISATTY
-
-/* Define if you have the opendir function. */
-#undef HAVE_OPENDIR
-
-/* Define if you have the readdir function. */
-#undef HAVE_READDIR
-
-/* Define if you have the stat function. */
-#undef HAVE_STAT
-
-/* Define if you have the strcasecmp function. */
-#undef HAVE_STRCASECMP
-
-/* Define if you have the strdup function. */
-#undef HAVE_STRDUP
-
-/* Define if you have the strlwr function. */
-#undef HAVE_STRLWR
-
-/* Define if you have the strtol function. */
-#undef HAVE_STRTOL
-
-/* Define if you have the <dirent.h> header file. */
-#undef HAVE_DIRENT_H
-
-/* Define if you have the <sys/ndir.h> header file. */
-#undef HAVE_SYS_NDIR_H
-
-/* Define if you have the <sys/dir.h> header file. */
-#undef HAVE_SYS_DIR_H
-
-/* Define if you have the <ndir.h> header file. */
-#undef HAVE_NDIR_H
-
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define if you have the <stat.h> header file. */
-#undef HAVE_STAT_H
-
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define if you have the <stdarg.h> header file. */
-#undef HAVE_STDARG_H
-
-/* Define if you have the <sys/dir.h> header file. */
-#undef HAVE_SYS_DIR_H
-
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define if you have the <termcap.h> header file. */
-#undef HAVE_TERMCAP_H
-
-/* Define if you have the <termlib.h> header file. */
-#undef HAVE_TERMLIB_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if you have the termcap library (-ltermcap). */
-#undef HAVE_LIBTERMCAP
-
-/* Define if you have the termlib library (-ltermlib). */
-#undef HAVE_LIBTERMLIB
-
-/* Define if you don't want runtime debugging compiled in */
-#undef STRIP_DEBUG
-
diff --git a/Build/source/texk/chktex/configure b/Build/source/texk/chktex/configure
deleted file mode 100755
index bcc0260004c..00000000000
--- a/Build/source/texk/chktex/configure
+++ /dev/null
@@ -1,6073 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61a.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
-else
- as_have_required=no
-fi
-
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
-else
- as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- case $as_dir in
- /*)
- for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
- done;;
- esac
-done
-IFS=$as_save_IFS
-
-
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
-fi
-
-fi
-
- done
-
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
-}
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="ChkTeX.c"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-SCRIPTS
-ELISPDIR
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-LN_S
-PERL5
-GROFF
-LATEX
-DVIPS
-LYNX
-LATEX2HTML
-CPP
-GREP
-EGREP
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-.]/_/g'`
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-.]/_/g'`
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-.]/_/g'`
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
- { (exit 1); exit 1; }; }
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-.]/_/g'`
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { $as_echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { $as_echo "$as_me: error: Working directory cannot be determined" >&2
- { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
- { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
- { (exit 1); exit 1; }; }
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
-
- --enable-lacheck-replace: Installs a lacheck replacement for the
- AUC-TeX interface. (Default: no).
-
- --enable-emacs-hack: Installs a Elisp file, which makes ChkTeX
- available in Emacs. Must be followed by
- the path of your elisp files (e.g.
- "--enable-emacs-hack=/usr/lib/emacs/").
- (Default: no).
-
- --enable-debug-info: Compile in miscellaneous runtime debugging
- information. (Default: yes).
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.61a
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.61a. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args '$ac_arg'"
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
- if test -r "$ac_site_file"; then
- { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { $as_echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-$as_echo "$as_me: former value: $ac_old_val" >&2;}
- { $as_echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-$as_echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-SCRIPTS=
-
-ELISPDIR=
-
-
-# Check whether --enable-lacheck-replace was given.
-if test "${enable_lacheck_replace+set}" = set; then
- enableval=$enable_lacheck_replace;
-else
- enable_lacheck_replace=no
-fi
-
-
-# Check whether --enable-emacs-hack was given.
-if test "${enable_emacs_hack+set}" = set; then
- enableval=$enable_emacs_hack;
-else
- enable_emacs_hack=no
-fi
-
-
-# Check whether --enable-debug-info was given.
-if test "${enable_debug_info+set}" = set; then
- enableval=$enable_debug_info;
-else
- enable_debug_info=yes
-fi
-
-
-if test "$silent" != "yes"; then
-cat <<EOF
-
-
- ##### ### ### ######## ### ##
- ### ## ## ## ## ## #0
- @@ @@ @@@ @@ @@ @@ ####### @@ @
- @@ @@@ @@ @@ @@ @@ ## # @@
- && && && &&&& && @@ & &&
- &&& && && && && && && @@@@ & &&
- %%%%% %%% %%% %%% %%% %% && %%% %%%
- && &
- %%%%%%%
-
- Welcome to the ChkTeX configuration script!
- Before taking the program in use, please read the
- COPYING file; it applies to this script as well
- as the remaining parts of the package. In short:
-
- *NO WARRANTIES WHATSOEVER*
-
- Copyright © 1995-96
- Jens T. Berger Thielemann
- <jensthi@ifi.uio.no>
-EOF
-sleep 1
-cat <<EOF
-Supported features:
- --enable-lacheck-replace: Installs a lacheck replacement for the
- AUC-TeX interface. (Default: no).
- --enable-debug-info: Compile in miscellaneous runtime debugging
- information. (Default: yes).
- --enable-emacs-hack: Installs a Elisp file, which makes ChkTeX
- available in Emacs. Must be followed by
- the path of your elisp files (e.g.
- "--enable-emacs-hack=/usr/lib/emacs/").
- (Default: no).
-EOF
-sleep 1
-fi
-
-{ $as_echo "$as_me:$LINENO: checking whether lacheck replacement should be installed" >&5
-$as_echo_n "checking whether lacheck replacement should be installed... " >&6; }
-if test "$enable_lacheck_replace" = "yes"; then
- SCRIPTS="$SCRIPTS lacheck"
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- SCRIPTS=
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-{ $as_echo "$as_me:$LINENO: checking whether runtime debug info should be used" >&5
-$as_echo_n "checking whether runtime debug info should be used... " >&6; }
-if test "$enable_debug_info" = "yes"; then
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- cat >>confdefs.h <<\_ACEOF
-#define STRIP_DEBUG 1
-_ACEOF
-
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-{ $as_echo "$as_me:$LINENO: checking whether the emacs hack should be installed" >&5
-$as_echo_n "checking whether the emacs hack should be installed... " >&6; }
-case $enable_emacs_hack in
- no) { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- ;;
- /*|*/*) ELISPDIR=$enable_emacs_hack
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
- ;;
- *) echo;
- { { $as_echo "$as_me:$LINENO: error: --enable-emacs-hack needs the *full path* of Elisp files" >&5
-$as_echo "$as_me: error: --enable-emacs-hack needs the *full path* of Elisp files" >&2;}
- { (exit 1); exit 1; }; }
- ;;
-esac
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet. If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compiler --version >&5") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compiler -v >&5") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compiler -V >&5") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort. b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions. Remove them first so a
-# subsequent execution test works.
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-
-{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-if test -z "$ac_file"; then
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_compiler_gnu=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- CFLAGS=""
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_g=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c89=$ac_arg
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:$LINENO: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
-$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-for ac_prog in perl5 perl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PERL5+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $PERL5 in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PERL5="$PERL5" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_dummy="$PATH:/usr/bin:/usr/local/bin"
-for as_dir in $as_dummy
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PERL5="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PERL5=$ac_cv_path_PERL5
-if test -n "$PERL5"; then
- { $as_echo "$as_me:$LINENO: result: $PERL5" >&5
-$as_echo "$PERL5" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$PERL5" && break
-done
-test -n "$PERL5" || PERL5="no"
-
-if test "$PERL5" != no; then
- { $as_echo "$as_me:$LINENO: checking whether perl is v5 or higher" >&5
-$as_echo_n "checking whether perl is v5 or higher... " >&6; }
- if $PERL5 -e 'exit($] >= 5)'; then
- PERL5=no
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
- else
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
- fi
-fi
-
-if test "$PERL5" != no; then
- { $as_echo "$as_me:$LINENO: checking whether #! works in shell scripts" >&5
-$as_echo_n "checking whether #! works in shell scripts... " >&6; }
-if test "${ac_cv_sys_interpreter+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- echo '#! /bin/cat
-exit 69
-' >conftest
-chmod u+x conftest
-(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null 2>&1)
-if test $? -ne 69; then
- ac_cv_sys_interpreter=yes
-else
- ac_cv_sys_interpreter=no
-fi
-rm -f conftest
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_interpreter" >&5
-$as_echo "$ac_cv_sys_interpreter" >&6; }
-interpval=$ac_cv_sys_interpreter
-
- if test "$ac_cv_sys_interpreter" = "yes"; then
- SCRIPTS="$SCRIPTS chkweb deweb"
- else
- { $as_echo "$as_me:$LINENO: WARNING: deweb will not be installed since your system does" >&5
-$as_echo "$as_me: WARNING: deweb will not be installed since your system does" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: not support the pound-bang notation." >&5
-$as_echo "$as_me: WARNING: not support the pound-bang notation." >&2;}
- fi
-else
- { $as_echo "$as_me:$LINENO: WARNING: deweb will not be installed since you do not have perl5." >&5
-$as_echo "$as_me: WARNING: deweb will not be installed since you do not have perl5." >&2;}
-fi
-
-for ac_prog in 'groff -man -P-bu -Tlatin1' 'nroff -man'
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GROFF+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$GROFF"; then
- ac_cv_prog_GROFF="$GROFF" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_GROFF="$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-GROFF=$ac_cv_prog_GROFF
-if test -n "$GROFF"; then
- { $as_echo "$as_me:$LINENO: result: $GROFF" >&5
-$as_echo "$GROFF" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$GROFF" && break
-done
-test -n "$GROFF" || GROFF="'nroff -man'"
-
-
-# Extract the first word of "latex", so it can be a program name with args.
-set dummy latex; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LATEX+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $LATEX in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_LATEX="$LATEX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_LATEX="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-LATEX=$ac_cv_path_LATEX
-if test -n "$LATEX"; then
- { $as_echo "$as_me:$LINENO: result: $LATEX" >&5
-$as_echo "$LATEX" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "dvips", so it can be a program name with args.
-set dummy dvips; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_DVIPS+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $DVIPS in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_DVIPS="$DVIPS" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_DVIPS="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-DVIPS=$ac_cv_path_DVIPS
-if test -n "$DVIPS"; then
- { $as_echo "$as_me:$LINENO: result: $DVIPS" >&5
-$as_echo "$DVIPS" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# Extract the first word of "lynx", so it can be a program name with args.
-set dummy lynx; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LYNX+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $LYNX in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_LYNX="$LYNX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_LYNX="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-LYNX=$ac_cv_path_LYNX
-if test -n "$LYNX"; then
- { $as_echo "$as_me:$LINENO: result: $LYNX" >&5
-$as_echo "$LYNX" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "latex2html", so it can be a program name with args.
-set dummy latex2html; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_LATEX2HTML+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- case $LATEX2HTML in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_LATEX2HTML="$LATEX2HTML" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_LATEX2HTML="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-LATEX2HTML=$ac_cv_path_LATEX2HTML
-if test -n "$LATEX2HTML"; then
- { $as_echo "$as_me:$LINENO: result: $LATEX2HTML" >&5
-$as_echo "$LATEX2HTML" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-{ $as_echo "$as_me:$LINENO: checking for tgetent in -ltermlib" >&5
-$as_echo_n "checking for tgetent in -ltermlib... " >&6; }
-if test "${ac_cv_lib_termlib_tgetent+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltermlib $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char tgetent ();
-int
-main ()
-{
-return tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_termlib_tgetent=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_termlib_tgetent=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termlib_tgetent" >&5
-$as_echo "$ac_cv_lib_termlib_tgetent" >&6; }
-if test $ac_cv_lib_termlib_tgetent = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBTERMLIB 1
-_ACEOF
-
- LIBS="-ltermlib $LIBS"
-
-fi
-
-
-{ $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
-$as_echo_n "checking for tgetent in -ltermcap... " >&6; }
-if test "${ac_cv_lib_termcap_tgetent+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltermcap $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char tgetent ();
-int
-main ()
-{
-return tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_lib_termcap_tgetent=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_lib_termcap_tgetent=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
-$as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
-if test $ac_cv_lib_termcap_tgetent = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBTERMCAP 1
-_ACEOF
-
- LIBS="-ltermcap $LIBS"
-
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- :
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- # Broken: success on invalid input.
-continue
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
- # Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
- $ac_path_GREP_found && break 3
- done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
- { { $as_echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-else
- ac_cv_path_GREP=$GREP
-fi
-
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
- # Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- ac_count=`expr $ac_count + 1`
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
- $ac_path_EGREP_found && break 3
- done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
- { { $as_echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
-
- fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_header_stdc=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-
-
-
-
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
- as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
-$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
- { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' dir; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_search_opendir=$ac_res
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then
- break
-fi
-done
-if test "${ac_cv_search_opendir+set}" = set; then
- :
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-else
- { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
-$as_echo_n "checking for library containing opendir... " >&6; }
-if test "${ac_cv_search_opendir+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char opendir ();
-int
-main ()
-{
-return opendir ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' x; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_search_opendir=$ac_res
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext
- if test "${ac_cv_search_opendir+set}" = set; then
- break
-fi
-done
-if test "${ac_cv_search_opendir+set}" = set; then
- :
-else
- ac_cv_search_opendir=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-$as_echo "$ac_cv_search_opendir" >&6; }
-ac_res=$ac_cv_search_opendir
-if test "$ac_res" != no; then
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-fi
-
-ac_config_headers="$ac_config_headers config.h"
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- eval "$as_ac_Header=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-
-for ac_header in limits.h stat.h strings.h stdarg.h sys/stat.h termcap.h termlib.h unistd.h
-do
-as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_header_compiler=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then
- ac_header_preproc=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
- ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-
-fi
-if test `eval 'as_val=${'$as_ac_Header'}
- $as_echo "$as_val"'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset cs;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- pcpcc = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- if (s) return 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- if (!foo) return 0;
- }
- return !cs[0] && !zero.x;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_c_const=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_c_const=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define const
-_ACEOF
-
-fi
-
-{ $as_echo "$as_me:$LINENO: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_c_inline=$ac_kw
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-
-case $ac_cv_c_inline in
- inline | yes) ;;
- *)
- case $ac_cv_c_inline in
- no) ac_val=;;
- *) ac_val=$ac_cv_c_inline;;
- esac
- cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
- ;;
-esac
-
-{ $as_echo "$as_me:$LINENO: checking for size_t" >&5
-$as_echo_n "checking for size_t... " >&6; }
-if test "${ac_cv_type_size_t+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-typedef size_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
- return 0;
-if (sizeof (ac__type_new_))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_type_size_t=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_type_size_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-$as_echo "$ac_cv_type_size_t" >&6; }
-if test $ac_cv_type_size_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-
-
-for ac_func in vprintf
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5
-$as_echo_n "checking for _doprnt... " >&6; }
-if test "${ac_cv_func__doprnt+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define _doprnt innocuous__doprnt
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char _doprnt (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef _doprnt
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char _doprnt ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub__doprnt || defined __stub____doprnt
-choke me
-#endif
-
-int
-main ()
-{
-return _doprnt ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- ac_cv_func__doprnt=yes
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_cv_func__doprnt=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
-$as_echo "$ac_cv_func__doprnt" >&6; }
-if test $ac_cv_func__doprnt = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DOPRNT 1
-_ACEOF
-
-fi
-
-fi
-done
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in access closedir fileno isatty opendir readdir stat strcasecmp strdup strlwr strtol
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_link") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext &&
- $as_test_x conftest$ac_exeext; then
- eval "$as_ac_var=yes"
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
- conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'`
- { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-if test `eval 'as_val=${'$as_ac_var'}
- $as_echo "$as_val"'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-ac_config_files="$ac_config_files Makefile deweb MakeHTML"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) $as_unset $ac_var ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- test "x$cache_file" != "x/dev/null" &&
- { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- cat confcache >$cache_file
- else
- { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61a. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to <bug-autoconf@gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.61a,
- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- --he | --h)
- # Conflict between --help and --header
- { $as_echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { $as_echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0'$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "deweb") CONFIG_FILES="$CONFIG_FILES deweb" ;;
- "MakeHTML") CONFIG_FILES="$CONFIG_FILES MakeHTML" ;;
-
- *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp=
- trap 'exit_status=$?
- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} ||
-{
- $as_echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-echo 'BEGIN {' >"$tmp/subs.awk"
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF"
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/'
- echo "_ACEOF"
-} >conf$$subs.sh
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
- break
- elif $ac_last_try; then
- { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
- { (exit 1); exit 1; }; }
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >>"\$tmp/subs.awk" <<\CEOF
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\).*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\).*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^"]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF
-cat >>"\$tmp/subs.awk" <<CEOF
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-CEOF
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
-
-
-for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
- { (exit 1); exit 1; }; };;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
- { (exit 1); exit 1; }; };;
- esac
- ac_file_inputs="$ac_file_inputs $ac_f"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
-
- case $ac_tag in
- *:-:* | *:-) cat >"$tmp/stdin";;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- { as_dir="$ac_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-
-case `sed -n '/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | $AWK -f "$tmp/subs.awk" >$tmp/out
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
-
- rm -f "$tmp/stdin"
- case $ac_file in
- -) cat "$tmp/out"; rm -f "$tmp/out";;
- *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
- esac
- ;;
- :H)
- #
- # CONFIG_HEADER
- #
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status. If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless. But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*'
-ac_dB='\\)[ (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
- sed -n '
- t rset
- :rset
- s/^[ ]*#[ ]*define[ ][ ]*//
- t ok
- d
- :ok
- s/[\\&,]/\\&/g
- s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
- s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
- ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[ #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
- # Write a here document:
- cat >>$CONFIG_STATUS <<_ACEOF
- # First, check the format of the line:
- cat >"\$tmp/defines.sed" <<\\CEOF
-/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def
-/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def
-b
-:def
-_ACEOF
- sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
- ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
- sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
- grep . conftest.tail >/dev/null || break
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
- if test x"$ac_file" != x-; then
- $as_echo "/* $configure_input */" >"$tmp/config.h"
- cat "$ac_result" >>"$tmp/config.h"
- if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
- { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
- else
- rm -f $ac_file
- mv "$tmp/config.h" $ac_file
- fi
- else
- $as_echo "/* $configure_input */"
- cat "$ac_result"
- fi
- rm -f "$tmp/out12"
- ;;
-
-
- esac
-
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/Build/source/texk/chktex/configure.in b/Build/source/texk/chktex/configure.in
deleted file mode 100644
index a31397b2920..00000000000
--- a/Build/source/texk/chktex/configure.in
+++ /dev/null
@@ -1,183 +0,0 @@
-dnl
-dnl ChkTeX v1.5, configuration file.
-dnl Copyright (C) 1995-96 Jens T. Berger Thielemann
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software
-dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-dnl
-dnl Contact the author at:
-dnl Jens Berger
-dnl Spektrumvn. 4
-dnl N-0666 Oslo
-dnl Norway
-dnl E-mail: <jensthi@ifi.uio.no>
-dnl
-dnl
-
-
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT
-AC_CONFIG_SRCDIR([ChkTeX.c])
-AC_SUBST(SCRIPTS)
-SCRIPTS=
-AC_SUBST(ELISPDIR)
-ELISPDIR=
-
-
-AC_ARG_ENABLE(lacheck-replace,[
- --enable-lacheck-replace: Installs a lacheck replacement for the
- AUC-TeX interface. (Default: no).],,
-enable_lacheck_replace=no)
-
-AC_ARG_ENABLE(emacs-hack,[
- --enable-emacs-hack: Installs a Elisp file, which makes ChkTeX
- available in Emacs. Must be followed by
- the path of your elisp files (e.g.
- "--enable-emacs-hack=/usr/lib/emacs/").
- (Default: no).],,
-enable_emacs_hack=no)
-
-AC_ARG_ENABLE(debug-info,[
- --enable-debug-info: Compile in miscellaneous runtime debugging
- information. (Default: yes).],,
-enable_debug_info=yes)
-
-if test "$silent" != "yes"; then
-cat <<EOF
-
-
- ##### ### ### ######## ### ##
- ### ## ## ## ## ## #0
- @@ @@ @@@ @@ @@ @@ ####### @@ @
- @@ @@@ @@ @@ @@ @@ ## # @@
- && && && &&&& && @@ & &&
- &&& && && && && && && @@@@ & &&
- %%%%% %%% %%% %%% %%% %% && %%% %%%
- && &
- %%%%%%%
-
- Welcome to the ChkTeX configuration script!
- Before taking the program in use, please read the
- COPYING file; it applies to this script as well
- as the remaining parts of the package. In short:
-
- *NO WARRANTIES WHATSOEVER*
-
- Copyright © 1995-96
- Jens T. Berger Thielemann
- <jensthi@ifi.uio.no>
-EOF
-sleep 1
-cat <<EOF
-Supported features:
- --enable-lacheck-replace: Installs a lacheck replacement for the
- AUC-TeX interface. (Default: no).
- --enable-debug-info: Compile in miscellaneous runtime debugging
- information. (Default: yes).
- --enable-emacs-hack: Installs a Elisp file, which makes ChkTeX
- available in Emacs. Must be followed by
- the path of your elisp files (e.g.
- "--enable-emacs-hack=/usr/lib/emacs/").
- (Default: no).
-EOF
-sleep 1
-fi
-
-AC_MSG_CHECKING(whether lacheck replacement should be installed)
-if test "$enable_lacheck_replace" = "yes"; then
- SCRIPTS="$SCRIPTS lacheck"
- AC_MSG_RESULT(yes)
-else
- SCRIPTS=
- AC_MSG_RESULT(no)
-fi
-
-AC_MSG_CHECKING(whether runtime debug info should be used)
-if test "$enable_debug_info" = "yes"; then
- AC_MSG_RESULT(yes)
-else
- AC_DEFINE(STRIP_DEBUG, 1)
- AC_MSG_RESULT(no)
-fi
-
-AC_MSG_CHECKING(whether the emacs hack should be installed)
-case $enable_emacs_hack in
- no) AC_MSG_RESULT(no)
- ;;
- /*|*/*) ELISPDIR=$enable_emacs_hack
- AC_MSG_RESULT(yes)
- ;;
- *) echo;
- AC_MSG_ERROR(--enable-emacs-hack needs the *full path* of Elisp files)
- ;;
-esac
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PATH_PROGS(PERL5, perl5 perl, no, $PATH:/usr/bin:/usr/local/bin)
-if test "$PERL5" != no; then
- AC_MSG_CHECKING(whether perl is v5 or higher)
- if $PERL5 -e 'exit($] >= 5)'; then
- PERL5=no
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(yes)
- fi
-fi
-
-if test "$PERL5" != no; then
- AC_SYS_INTERPRETER
- if test "$ac_cv_sys_interpreter" = "yes"; then
- SCRIPTS="$SCRIPTS chkweb deweb"
- else
- AC_MSG_WARN(deweb will not be installed since your system does)
- AC_MSG_WARN(not support the pound-bang notation.)
- fi
-else
- AC_MSG_WARN(deweb will not be installed since you do not have perl5.)
-fi
-
-AC_CHECK_PROGS(GROFF, 'groff -man -P-bu -Tlatin1' 'nroff -man', 'nroff -man')
-
-AC_PATH_PROG(LATEX, latex)
-AC_PATH_PROG(DVIPS, dvips)
-
-AC_PATH_PROG(LYNX, lynx)
-AC_PATH_PROG(LATEX2HTML, latex2html)
-
-dnl Checks for libraries.
-AC_CHECK_LIB(termlib, tgetent)
-AC_CHECK_LIB(termcap, tgetent)
-
-dnl Checks for header files.
-AC_HEADER_STDC
-AC_HEADER_DIRENT
-AC_CONFIG_HEADER(config.h)
-AC_CHECK_HEADERS(limits.h stat.h strings.h stdarg.h dnl
-sys/stat.h termcap.h termlib.h unistd.h)
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_C_INLINE
-AC_TYPE_SIZE_T
-
-dnl Checks for library functions.
-AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(access closedir fileno isatty opendir readdir stat dnl
-strcasecmp strdup strlwr strtol)
-
-AC_CONFIG_FILES([Makefile deweb MakeHTML])
-AC_OUTPUT
diff --git a/Build/source/texk/chktex/deweb.1 b/Build/source/texk/chktex/deweb.1
deleted file mode 100644
index a84036a8466..00000000000
--- a/Build/source/texk/chktex/deweb.1
+++ /dev/null
@@ -1,116 +0,0 @@
-.TH deweb 1 "June 8, 1996"
-.AT 3
-.SH NAME
-deweb \- strips away C & CWEB commands from CWEB sources
-.SH SYNOPSIS
-.B deweb
-[
-.B file1 file2 ...
-]
-.SH DESCRIPTION
-.I deweb
-filters away all C & CWEB commands from a CWEB source code. This
-leaves only the
-.I LaTeX
-code. This stripped code, in turn, may then
-be passed to a suitable syntax checker for LaTeX, like
-.I ChkTeX
-and
-.I lacheck,
-or spell-checkers like
-.I ispell.
-.PP
-The
-.I chkweb
-tool, included in the
-.I ChkTeX
-distribution will do just this; writing similar scripts should be
-trivial.
-.PP
-When
-.I deweb
-strips away the C code from your CWEB source, it tries to preserve line breaks.
-This means that the error reports from
-.I <your favorite tool>
-will be correct regarding to line numbers. In most cases,
-the column position
-will also be correct. This significantly simplifies
-finding the errors in the
-.I LaTeX
-source (in contrast to the output from
-.I cweave,
-which output is truly difficult to figure anything out from).
-.PP
-.I deweb
-accepts a list of filenames on the argument line, and will send its output
-to
-.I stdout.
-If no filenames are given, it will read from stdin, acting as
-a filter. No options are currently accepted.
-.PP
-Macho users may try to pipe the output from
-.I deweb
-directly into
-.I LaTeX,
-theoretically, this should work. This would ease the debugging
-of the
-.I LaTeX
-code significantly, as when
-.I LaTeX
-complains about wrong syntax, you'll be able to find the erroneous
-line much more easily. Don't expect that the output looks very much
-like the final one, though.
-.PP
-.I deweb
-should now understand all correct
-.I CWEB
-opcodes. If it complains about not understanding a correct opcode,
-please inform the author.
-.SH DISTRIBUTION
-Copyright (C) 1996 Jens T. Berger Thielemann
-.PP
-This program is free software; you can redistribute it and/or modify
-it under the terms of the
-.I GNU General Public License
-as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-.PP
-This program is distributed in the hope that it will be useful,
-but
-.B WITHOUT ANY WARRANTY;
-without even the implied warranty of
-.B MERCHANTABILITY
-or
-.B FITNESS FOR A PARTICULAR PURPOSE.
-See the
-.I GNU General Public License
-for more details.
-.PP
-You should have received a copy of the
-.B GNU General Public License
-along with this program; if not, write to the
-.I Free Software Foundation, Inc.,
-675 Mass Ave, Cambridge, MA 02139, USA.
-.SH ENVIRONMENT
-No environment variables are used.
-.SH FILES
-None.
-.SH AUTHOR
-Jens T. Berger Thielemann,
-.I <jensthi@ifi.uio.no>
-.SH "SEE ALSO"
-.B cweave(1), perl(1), chktex, lacheck(1), ispell(1)
-.SH BUGS
-Doesn't even
-.B compile
-under
-.I Perl
-versions before perl v5. Unfortunately, this means that we can't even
-tell the user why we failed;
-.I Perl
-will just complain about not being able to compile the regexps.
-.PP
-The program will try to swallow the whole input file at once, instead of
-processing it on a line\-by\-line basis.
-.ex
diff --git a/Build/source/texk/chktex/deweb.doc b/Build/source/texk/chktex/deweb.doc
deleted file mode 100644
index 2636687602d..00000000000
--- a/Build/source/texk/chktex/deweb.doc
+++ /dev/null
@@ -1,132 +0,0 @@
-
-
-
-deweb(1) deweb(1)
-
-
-NAME
- deweb - strips away C & CWEB commands from CWEB sources
-
-SYNOPSIS
- deweb [ file1 file2 ... ]
-
-DESCRIPTION
- deweb filters away all C & CWEB commands from a CWEB
- source code. This leaves only the LaTeX code. This
- stripped code, in turn, may then be passed to a suitable
- syntax checker for LaTeX, like ChkTeX and lacheck, or
- spell-checkers like ispell.
-
- The chkweb tool, included in the ChkTeX distribution will
- do just this; writing similar scripts should be trivial.
-
- When deweb strips away the C code from your CWEB source,
- it tries to preserve line breaks. This means that the
- error reports from <your favorite tool> will be correct
- regarding to line numbers. In most cases, the column posi­
- tion will also be correct. This significantly simplifies
- finding the errors in the LaTeX source (in contrast to the
- output from cweave, which output is truly difficult to
- figure anything out from).
-
- deweb accepts a list of filenames on the argument line,
- and will send its output to stdout. If no filenames are
- given, it will read from stdin, acting as a filter. No
- options are currently accepted.
-
- Macho users may try to pipe the output from deweb directly
- into LaTeX, theoretically, this should work. This would
- ease the debugging of the LaTeX code significantly, as
- when LaTeX complains about wrong syntax, you'll be able to
- find the erroneous line much more easily. Don't expect
- that the output looks very much like the final one,
- though.
-
- deweb should now understand all correct CWEB opcodes. If
- it complains about not understanding a correct opcode,
- please inform the author.
-
-DISTRIBUTION
- Copyright (C) 1996 Jens T. Berger Thielemann
-
- 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
-
-
-
- June 8, 1996 1
-
-
-
-
-
-deweb(1) deweb(1)
-
-
- 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., 675 Mass Ave, Cambridge, MA
- 02139, USA.
-
-ENVIRONMENT
- No environment variables are used.
-
-FILES
- None.
-
-AUTHOR
- Jens T. Berger Thielemann, <jensthi@ifi.uio.no>
-
-SEE ALSO
- cweave(1), perl(1), chktex, lacheck(1), ispell(1)
-
-BUGS
- Doesn't even compile under Perl versions before perl v5.
- Unfortunately, this means that we can't even tell the user
- why we failed; Perl will just complain about not being
- able to compile the regexps.
-
- The program will try to swallow the whole input file at
- once, instead of processing it on a line-by-line basis.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- June 8, 1996 2
-
-
diff --git a/Build/source/texk/chktex/deweb.in b/Build/source/texk/chktex/deweb.in
deleted file mode 100644
index b40f2e0b57b..00000000000
--- a/Build/source/texk/chktex/deweb.in
+++ /dev/null
@@ -1,122 +0,0 @@
-#! @PERL5@
-# deweb v1.2, kills the C sections of a CWEB file, for passing to ChkTeX.
-# Copyright (C) 1996 Jens T. Berger Thielemann
-#
-# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-# Contact the author at:
-# Jens Berger
-# Spektrumvn. 4
-# N-0666 Oslo
-# Norway
-# E-mail: <jensthi@ifi.uio.no>
-#
-#
-#
-
-print STDERR "DeWEB v1.2 - Copyright 1996 Jens T. Berger Thielemann\n";
-
-undef $/;
-$texmode = 1;
-$_ = <>;
-
-while(/\@/)
-{
- &out($`);
- $_ = $';
-
- if(/^@/) {
- $_ = $';
- &out('@');
- next;
- }
-
- if(/^([\s\n])/) {
- $_ = $';
- print "\n" if $1 eq "\n";
- $texmode = 1;
- next;
- }
-
- if(/^[cpd]/i) {
- $_ = $';
- $texmode = 0;
- next;
- }
-
- if(/^\,/i) {
- $_ = $';
- print '\,';
- next;
- }
-
- if(m!^/!) {
- $_ = $';
- print '\\\\';
- next;
- }
-
- if(/^[h\&\|\;\#\+]/i || /^i.*/i) {
- $_ = $';
- next;
- }
-
- if(/^\*[0-9\*]?((.|\n)*?\.)/) {
- $_ = $';
- print $1;
- $texmode = 1;
- next;
- }
-
- if(/^[<(^.t!]((.|\n)*?)\@\>/i) {
- $_ = $';
- print '{'.$1.'}';
- $texmode = 0;
- next;
- }
-
- if(/^[=]((.|\n)*?)\@\>/) {
- $_ = $';
- print &printnl($1);
- next;
- }
-
- if(/^[fsl](\s+\S+\s+\S+)|^\'(.|\n)*?\'|^\[((.|\n)*?)\@\]/i) {
- $_ = $';
- print &printnl($+);
- next;
- }
-
- @line = split(/\n/, $_, 2);
- print STDERR "Unknown opcode, ignored. Buffer:\n$line[0]\n";
-
-}
-
-print $_;
-
-sub printnl {
- my($foo);
- if(defined $_[0]) {
- $foo = $_[0];
- $foo =~ s/.//g;
- } else {
- $foo = "";
- }
- $foo;
-}
-
-sub out {
- print $texmode? $_[0] : &printnl($_[0]);
-}
diff --git a/Build/source/texk/chktex/getopt.c b/Build/source/texk/chktex/getopt.c
deleted file mode 100644
index 6a083c7e9f0..00000000000
--- a/Build/source/texk/chktex/getopt.c
+++ /dev/null
@@ -1,756 +0,0 @@
-/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
- "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
- before changing it!
-
- Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94
- Free Software Foundation, Inc.
-
- 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
- Ditto for AIX 3.2 and <stdlib.h>. */
-#ifndef _NO_PROTO
-#define _NO_PROTO
-#endif
-
-#ifdef HAVE_CONFIG_H
-#if defined (emacs) || defined (CONFIG_BROKETS)
-/* We use <config.h> instead of "config.h" so that a compilation
- using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
- (which it would do because it found this file in $srcdir). */
-#include <config.h>
-#else
-#include "config.h"
-#endif
-#endif
-
-#ifndef __STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-#ifndef const
-#define const
-#endif
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
-
-
-/* This needs to come after some library #include
- to get __GNU_LIBRARY__ defined. */
-#ifdef __GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
- contain conflicting prototypes for getopt. */
-#include <stdlib.h>
-#endif /* GNU C library. */
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
- but it behaves differently for the user, since it allows the user
- to intersperse the options with the other arguments.
-
- As `getopt' works, it permutes the elements of ARGV so that,
- when it is done, all the options precede everything else. Thus
- all application programs are extended to handle flexible argument order.
-
- Setting the environment variable POSIXLY_CORRECT disables permutation.
- Then the behavior is completely standard.
-
- GNU application programs can use a third alternative mode in which
- they can distinguish the relative order of options and other arguments. */
-
-#include "getopt.h"
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-char *optarg = NULL;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns EOF, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-/* XXX 1003.2 says this must be 1 before any call. */
-int optind = 0;
-
-/* The next char to be scanned in the option-element
- in which the last option character we returned was found.
- This allows us to pick up the scan where we left off.
-
- If this is zero, or a null string, it means resume the scan
- by advancing to the next ARGV-element. */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
- for unrecognized options. */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
- This must be initialized on some systems to avoid linking in the
- system's own getopt implementation. */
-
-int optopt = '?';
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
- If the caller did not specify anything,
- the default is REQUIRE_ORDER if the environment variable
- POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
- REQUIRE_ORDER means don't recognize them as options;
- stop option processing when the first non-option is seen.
- This is what Unix does.
- This mode of operation is selected by either setting the environment
- variable POSIXLY_CORRECT, or using `+' as the first character
- of the list of option characters.
-
- PERMUTE is the default. We permute the contents of ARGV as we scan,
- so that eventually all the non-options are at the end. This allows options
- to be given in any order, even with programs that were not written to
- expect this.
-
- RETURN_IN_ORDER is an option available to programs that were written
- to expect options and other ARGV-elements in any order and that care about
- the ordering of the two. We describe each non-option ARGV-element
- as if it were the argument of an option with character code 1.
- Using `-' as the first character of the list of option characters
- selects this mode of operation.
-
- The special argument `--' forces an end of option-scanning regardless
- of the value of `ordering'. In the case of RETURN_IN_ORDER, only
- `--' can cause `getopt' to return EOF with `optind' != ARGC. */
-
-static enum
-{
- REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Value of POSIXLY_CORRECT environment variable. */
-static char *posixly_correct;
-
-#ifdef __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
- because there are many ways it can cause trouble.
- On some systems, it contains special magic macros that don't work
- in GCC. */
-#include <string.h>
-#define my_index strchr
-#else
-
-/* Avoid depending on library functions or files
- whose names are inconsistent. */
-
-char *getenv ();
-
-static char *
-my_index (str, chr)
- const char *str;
- int chr;
-{
- while (*str)
- {
- if (*str == chr)
- return (char *) str;
- str++;
- }
- return 0;
-}
-
-/* If using GCC, we can safely declare strlen this way.
- If not using GCC, it is ok not to declare it. */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
- That was relevant to code that was here before. */
-#ifndef __STDC__
-/* gcc with -traditional declares the built-in strlen to return int,
- and has done so at least since version 2.4.5. -- rms. */
-extern int strlen (const char *);
-#endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
-#endif /* not __GNU_LIBRARY__ */
-
-/* Handle permutation of arguments. */
-
-/* Describe the part of ARGV that contains non-options that have
- been skipped. `first_nonopt' is the index in ARGV of the first of them;
- `last_nonopt' is the index after the last of them. */
-
-static int first_nonopt;
-static int last_nonopt;
-
-/* Exchange two adjacent subsequences of ARGV.
- One subsequence is elements [first_nonopt,last_nonopt)
- which contains all the non-options that have been skipped so far.
- The other is elements [last_nonopt,optind), which contains all
- the options processed since those non-options were skipped.
-
- `first_nonopt' and `last_nonopt' are relocated so that they describe
- the new indices of the non-options in ARGV after they are moved. */
-
-static void
-exchange (argv)
- char **argv;
-{
- int bottom = first_nonopt;
- int middle = last_nonopt;
- int top = optind;
- char *tem;
-
- /* Exchange the shorter segment with the far end of the longer segment.
- That puts the shorter segment into the right place.
- It leaves the longer segment in the right place overall,
- but it consists of two parts that need to be swapped next. */
-
- while (top > middle && middle > bottom)
- {
- if (top - middle > middle - bottom)
- {
- /* Bottom segment is the short one. */
- int len = middle - bottom;
- register int i;
-
- /* Swap it with the top part of the top segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[top - (middle - bottom) + i];
- argv[top - (middle - bottom) + i] = tem;
- }
- /* Exclude the moved bottom segment from further swapping. */
- top -= len;
- }
- else
- {
- /* Top segment is the short one. */
- int len = top - middle;
- register int i;
-
- /* Swap it with the bottom part of the bottom segment. */
- for (i = 0; i < len; i++)
- {
- tem = argv[bottom + i];
- argv[bottom + i] = argv[middle + i];
- argv[middle + i] = tem;
- }
- /* Exclude the moved top segment from further swapping. */
- bottom += len;
- }
- }
-
- /* Update records for the slots the non-options now occupy. */
-
- first_nonopt += (optind - last_nonopt);
- last_nonopt = optind;
-}
-
-/* Initialize the internal data when the first call is made. */
-
-static const char *
-_getopt_initialize (optstring)
- const char *optstring;
-{
- /* Start processing options with ARGV-element 1 (since ARGV-element 0
- is the program name); the sequence of previously skipped
- non-option ARGV-elements is empty. */
-
- first_nonopt = last_nonopt = optind = 1;
-
- nextchar = NULL;
-
- posixly_correct = getenv ("POSIXLY_CORRECT");
-
- /* Determine how to handle the ordering of options and nonoptions. */
-
- if (optstring[0] == '-')
- {
- ordering = RETURN_IN_ORDER;
- ++optstring;
- }
- else if (optstring[0] == '+')
- {
- ordering = REQUIRE_ORDER;
- ++optstring;
- }
- else if (posixly_correct != NULL)
- ordering = REQUIRE_ORDER;
- else
- ordering = PERMUTE;
-
- return optstring;
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
- given in OPTSTRING.
-
- If an element of ARGV starts with '-', and is not exactly "-" or "--",
- then it is an option element. The characters of this element
- (aside from the initial '-') are option characters. If `getopt'
- is called repeatedly, it returns successively each of the option characters
- from each of the option elements.
-
- If `getopt' finds another option character, it returns that character,
- updating `optind' and `nextchar' so that the next call to `getopt' can
- resume the scan with the following option character or ARGV-element.
-
- If there are no more option characters, `getopt' returns `EOF'.
- Then `optind' is the index in ARGV of the first ARGV-element
- that is not an option. (The ARGV-elements have been permuted
- so that those that are not options now come last.)
-
- OPTSTRING is a string containing the legitimate option characters.
- If an option character is seen that is not listed in OPTSTRING,
- return '?' after printing an error message. If you set `opterr' to
- zero, the error message is suppressed but we still return '?'.
-
- If a char in OPTSTRING is followed by a colon, that means it wants an arg,
- so the following text in the same ARGV-element, or the text of the following
- ARGV-element, is returned in `optarg'. Two colons mean an option that
- wants an optional arg; if there is text in the current ARGV-element,
- it is returned in `optarg', otherwise `optarg' is set to zero.
-
- If OPTSTRING starts with `-' or `+', it requests different methods of
- handling the non-option ARGV-elements.
- See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
- Long-named options begin with `--' instead of `-'.
- Their names may be abbreviated as long as the abbreviation is unique
- or is an exact match for some defined option. If they have an
- argument, it follows the option name in the same ARGV-element, separated
- from the option name by a `=', or else the in next ARGV-element.
- When `getopt' finds a long-named option, it returns 0 if that option's
- `flag' field is nonzero, the value of the option's `val' field
- if the `flag' field is zero.
-
- The elements of ARGV aren't really const, because we permute them.
- But we pretend they're const in the prototype to be compatible
- with other systems.
-
- LONGOPTS is a vector of `struct option' terminated by an
- element containing a name which is zero.
-
- LONGIND returns the index in LONGOPT of the long-named option found.
- It is only valid when a long-named option has been found by the most
- recent call.
-
- If LONG_ONLY is nonzero, '-' as well as '--' can introduce
- long-named options. */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
- int argc;
- char *const *argv;
- const char *optstring;
- const struct option *longopts;
- int *longind;
- int long_only;
-{
- optarg = NULL;
-
- if (optind == 0)
- optstring = _getopt_initialize (optstring);
-
- if (nextchar == NULL || *nextchar == '\0')
- {
- /* Advance to the next ARGV-element. */
-
- if (ordering == PERMUTE)
- {
- /* If we have just processed some options following some non-options,
- exchange them so that the options come first. */
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (last_nonopt != optind)
- first_nonopt = optind;
-
- /* Skip any additional non-options
- and extend the range of non-options previously skipped. */
-
- while (optind < argc
- && (argv[optind][0] != '-' || argv[optind][1] == '\0'))
- optind++;
- last_nonopt = optind;
- }
-
- /* The special ARGV-element `--' means premature end of options.
- Skip it like a null option,
- then exchange with previous non-options as if it were an option,
- then skip everything else like a non-option. */
-
- if (optind != argc && !strcmp (argv[optind], "--"))
- {
- optind++;
-
- if (first_nonopt != last_nonopt && last_nonopt != optind)
- exchange ((char **) argv);
- else if (first_nonopt == last_nonopt)
- first_nonopt = optind;
- last_nonopt = argc;
-
- optind = argc;
- }
-
- /* If we have done all the ARGV-elements, stop the scan
- and back over any non-options that we skipped and permuted. */
-
- if (optind == argc)
- {
- /* Set the next-arg-index to point at the non-options
- that we previously skipped, so the caller will digest them. */
- if (first_nonopt != last_nonopt)
- optind = first_nonopt;
- return EOF;
- }
-
- /* If we have come to a non-option and did not permute it,
- either stop the scan or describe it to the caller and pass it by. */
-
- if ((argv[optind][0] != '-' || argv[optind][1] == '\0'))
- {
- if (ordering == REQUIRE_ORDER)
- return EOF;
- optarg = argv[optind++];
- return 1;
- }
-
- /* We have found another option-ARGV-element.
- Skip the initial punctuation. */
-
- nextchar = (argv[optind] + 1
- + (longopts != NULL && argv[optind][1] == '-'));
- }
-
- /* Decode the current option-ARGV-element. */
-
- /* Check whether the ARGV-element is a long option.
-
- If long_only and the ARGV-element has the form "-f", where f is
- a valid short option, don't consider it an abbreviated form of
- a long option that starts with f. Otherwise there would be no
- way to give the -f short option.
-
- On the other hand, if there's a long option "fubar" and
- the ARGV-element is "-fu", do consider that an abbreviation of
- the long option, just like "--fu", and not "-f" with arg "u".
-
- This distinction seems to be the most useful approach. */
-
- if (longopts != NULL
- && (argv[optind][1] == '-'
- || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
- {
- char *nameend;
- const struct option *p;
- const struct option *pfound = NULL;
- int exact = 0;
- int ambig = 0;
- int indfound;
- int option_index;
-
- for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
- /* Do nothing. */ ;
-
- /* Test all long options for either exact match
- or abbreviated matches. */
- for (p = longopts, option_index = 0; p->name; p++, option_index++)
- if (!strncmp (p->name, nextchar, nameend - nextchar))
- {
- if (nameend - nextchar == strlen (p->name))
- {
- /* Exact match found. */
- pfound = p;
- indfound = option_index;
- exact = 1;
- break;
- }
- else if (pfound == NULL)
- {
- /* First nonexact match found. */
- pfound = p;
- indfound = option_index;
- }
- else
- /* Second or later nonexact match found. */
- ambig = 1;
- }
-
- if (ambig && !exact)
- {
- if (opterr)
- fprintf (stderr, "%s: option `%s' is ambiguous\n",
- argv[0], argv[optind]);
- nextchar += strlen (nextchar);
- optind++;
- return '?';
- }
-
- if (pfound != NULL)
- {
- option_index = indfound;
- optind++;
- if (*nameend)
- {
- /* Don't test has_arg with >, because some C compilers don't
- allow it to be used on enums. */
- if (pfound->has_arg)
- optarg = nameend + 1;
- else
- {
- if (opterr)
- {
- if (argv[optind - 1][1] == '-')
- /* --option */
- fprintf (stderr,
- "%s: option `--%s' doesn't allow an argument\n",
- argv[0], pfound->name);
- else
- /* +option or -option */
- fprintf (stderr,
- "%s: option `%c%s' doesn't allow an argument\n",
- argv[0], argv[optind - 1][0], pfound->name);
- }
- nextchar += strlen (nextchar);
- return '?';
- }
- }
- else if (pfound->has_arg == 1)
- {
- if (optind < argc)
- optarg = argv[optind++];
- else
- {
- if (opterr)
- fprintf (stderr, "%s: option `%s' requires an argument\n",
- argv[0], argv[optind - 1]);
- nextchar += strlen (nextchar);
- return optstring[0] == ':' ? ':' : '?';
- }
- }
- nextchar += strlen (nextchar);
- if (longind != NULL)
- *longind = option_index;
- if (pfound->flag)
- {
- *(pfound->flag) = pfound->val;
- return 0;
- }
- return pfound->val;
- }
-
- /* Can't find it as a long option. If this is not getopt_long_only,
- or the option starts with '--' or is not a valid short
- option, then it's an error.
- Otherwise interpret it as a short option. */
- if (!long_only || argv[optind][1] == '-'
- || my_index (optstring, *nextchar) == NULL)
- {
- if (opterr)
- {
- if (argv[optind][1] == '-')
- /* --option */
- fprintf (stderr, "%s: unrecognized option `--%s'\n",
- argv[0], nextchar);
- else
- /* +option or -option */
- fprintf (stderr, "%s: unrecognized option `%c%s'\n",
- argv[0], argv[optind][0], nextchar);
- }
- nextchar = (char *) "";
- optind++;
- return '?';
- }
- }
-
- /* Look at and handle the next short option-character. */
-
- {
- char c = *nextchar++;
- char *temp = my_index (optstring, c);
-
- /* Increment `optind' when we start to process its last character. */
- if (*nextchar == '\0')
- ++optind;
-
- if (temp == NULL || c == ':')
- {
- if (opterr)
- {
- if (posixly_correct)
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, "%s: illegal option -- %c\n", argv[0], c);
- else
- fprintf (stderr, "%s: invalid option -- %c\n", argv[0], c);
- }
- optopt = c;
- return '?';
- }
- if (temp[1] == ':')
- {
- if (temp[2] == ':')
- {
- /* This is an option that accepts an argument optionally. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- optind++;
- }
- else
- optarg = NULL;
- nextchar = NULL;
- }
- else
- {
- /* This is an option that requires an argument. */
- if (*nextchar != '\0')
- {
- optarg = nextchar;
- /* If we end this ARGV-element by taking the rest as an arg,
- we must advance to the next element now. */
- optind++;
- }
- else if (optind == argc)
- {
- if (opterr)
- {
- /* 1003.2 specifies the format of this message. */
- fprintf (stderr, "%s: option requires an argument -- %c\n",
- argv[0], c);
- }
- optopt = c;
- if (optstring[0] == ':')
- c = ':';
- else
- c = '?';
- }
- else
- /* We already incremented `optind' once;
- increment it again when taking next ARGV-elt as argument. */
- optarg = argv[optind++];
- nextchar = NULL;
- }
- }
- return c;
- }
-}
-
-int
-getopt (argc, argv, optstring)
- int argc;
- char *const *argv;
- const char *optstring;
-{
- return _getopt_internal (argc, argv, optstring,
- (const struct option *) 0,
- (int *) 0,
- 0);
-}
-
-#endif /* _LIBC or not __GNU_LIBRARY__. */
-
-/*
-
-#ifdef TEST
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
-
- c = getopt (argc, argv, "abc:d:0123456789");
- if (c == EOF)
- break;
-
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif
-
-*/
diff --git a/Build/source/texk/chktex/getopt.h b/Build/source/texk/chktex/getopt.h
deleted file mode 100644
index 45541f5ac0f..00000000000
--- a/Build/source/texk/chktex/getopt.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Declarations for getopt.
- Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
-
- 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#ifndef _GETOPT_H
-#define _GETOPT_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
- When `getopt' finds an option that takes an argument,
- the argument value is returned here.
- Also, when `ordering' is RETURN_IN_ORDER,
- each non-option ARGV-element is returned here. */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
- This is used for communication to and from the caller
- and for communication between successive calls to `getopt'.
-
- On entry to `getopt', zero means this is the first call; initialize.
-
- When `getopt' returns EOF, this is the index of the first of the
- non-option elements that the caller should itself scan.
-
- Otherwise, `optind' communicates from one call to the next
- how much of ARGV has been scanned so far. */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
- for unrecognized options. */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized. */
-
-extern int optopt;
-
-/* Describe the long-named options requested by the application.
- The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of `struct option' terminated by an element containing a name which is
- zero.
-
- The field `has_arg' is:
- no_argument (or 0) if the option does not take an argument,
- required_argument (or 1) if the option requires an argument,
- optional_argument (or 2) if the option takes an optional argument.
-
- If the field `flag' is not NULL, it points to a variable that is set
- to the value given in the field `val' when the option is found, but
- left unchanged if the option is not found.
-
- To have a long-named option do something other than set an `int' to
- a compiled-in constant, such as set a value from `optarg', set the
- option's `flag' field to zero and its `val' field to a nonzero
- value (the equivalent single-letter option character, if there is
- one). For long options that have a zero `flag' field, `getopt'
- returns the contents of the `val' field. */
-
-struct option
-{
-#if __STDC__
- const char *name;
-#else
- char *name;
-#endif
- /* has_arg can't be an enum because some compilers complain about
- type mismatches in all the code that assumes it is an int. */
- int has_arg;
- int *flag;
- int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'. */
-
-#define no_argument 0
-#define required_argument 1
-#define optional_argument 2
-
-#if __STDC__
-#if defined(__GNU_LIBRARY__)
-/* Many other libraries have conflicting prototypes for getopt, with
- differences in the consts, in stdlib.h. To avoid compilation
- errors, only prototype getopt for the GNU C library. */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-#else /* not __GNU_LIBRARY__ */
-extern int getopt ();
-#endif /* not __GNU_LIBRARY__ */
-extern int getopt_long (int argc, char *const *argv, const char *shortopts,
- const struct option *longopts, int *longind);
-extern int getopt_long_only (int argc, char *const *argv,
- const char *shortopts,
- const struct option *longopts, int *longind);
-
-/* Internal only. Users should not call this directly. */
-extern int _getopt_internal (int argc, char *const *argv,
- const char *shortopts,
- const struct option *longopts, int *longind,
- int long_only);
-#else /* not __STDC__ */
-extern int getopt ();
-extern int getopt_long ();
-extern int getopt_long_only ();
-
-extern int _getopt_internal ();
-#endif /* not __STDC__ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GETOPT_H */
diff --git a/Build/source/texk/chktex/getopt1.c b/Build/source/texk/chktex/getopt1.c
deleted file mode 100644
index 4e9b7ca9b2b..00000000000
--- a/Build/source/texk/chktex/getopt1.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987, 88, 89, 90, 91, 92, 1993
- Free Software Foundation, Inc.
-
- 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, 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, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-#ifdef HAVE_CONFIG_H
-#if defined (emacs) || defined (CONFIG_BROKETS)
-/* We use <config.h> instead of "config.h" so that a compilation
- using -I. -I$srcdir will use ./config.h rather than $srcdir/config.h
- (which it would do because it found this file in $srcdir). */
-#include <config.h>
-#else
-#include "config.h"
-#endif
-#endif
-
-#include "getopt.h"
-
-#ifndef __STDC__
-/* This is a separate conditional since some stdc systems
- reject `defined (const)'. */
-#ifndef const
-#define const
-#endif
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
- actually compiling the library itself. This code is part of the GNU C
- Library, but also included in many other GNU distributions. Compiling
- and linking in this code is a waste when using the GNU C library
- (especially if it is a shared library). Rather than having every GNU
- program understand `configure --with-gnu-libc' and omit the object files,
- it is simpler to just do this in the source for each such file. */
-
-#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
-
-
-/* This needs to come after some library #include
- to get __GNU_LIBRARY__ defined. */
-#ifdef __GNU_LIBRARY__
-#include <stdlib.h>
-#else
-char *getenv ();
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-int
-getopt_long (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-/* Like getopt_long, but '-' as well as '--' can indicate a long option.
- If an option that starts with '-' (not '--') doesn't match a long option,
- but does match a short option, it is parsed as a short option
- instead. */
-
-int
-getopt_long_only (argc, argv, options, long_options, opt_index)
- int argc;
- char *const *argv;
- const char *options;
- const struct option *long_options;
- int *opt_index;
-{
- return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
-}
-
-
-#endif /* _LIBC or not __GNU_LIBRARY__. */
-
-/*
-#ifdef TEST
-
-#include <stdio.h>
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
- int option_index = 0;
- static struct option long_options[] =
- {
- {"add", 1, 0, 0},
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"verbose", 0, 0, 0},
- {"create", 0, 0, 0},
- {"file", 1, 0, 0},
- {0, 0, 0, 0}
- };
-
- c = getopt_long (argc, argv, "abc:d:0123456789",
- long_options, &option_index);
- if (c == EOF)
- break;
-
- switch (c)
- {
- case 0:
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
-
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case 'd':
- printf ("option d with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
-}
-
-#endif
-*/
diff --git a/Build/source/texk/chktex/input.tex b/Build/source/texk/chktex/input.tex
deleted file mode 100644
index 76bc301ff25..00000000000
--- a/Build/source/texk/chktex/input.tex
+++ /dev/null
@@ -1 +0,0 @@
-\this is a test of whether the file is actually inputted...