summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2010-09-24 11:58:42 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2010-09-24 11:58:42 +0000
commitf3e8cd197d925bb36fd932ca74964e5f9ddf67a3 (patch)
treef3a305a91786d9b5058996488ad27dcf67d2c85e
parentdd05fef654f9f439fb4ab27d06a7dfe96ba7808b (diff)
remove obsolete detex-2.7
git-svn-id: svn://tug.org/texlive/trunk@19873 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/detex/ChangeLog5
-rw-r--r--Build/source/texk/detex/Makefile.am3
-rw-r--r--Build/source/texk/detex/Makefile.in5
-rwxr-xr-xBuild/source/texk/detex/configure4
-rw-r--r--Build/source/texk/detex/configure.ac3
-rw-r--r--Build/source/texk/detex/detex-2.7-PATCHES/TL-Changes6
-rw-r--r--Build/source/texk/detex/detex-2.7/README189
-rw-r--r--Build/source/texk/detex/detex-2.7/detex.h44
-rw-r--r--Build/source/texk/detex/detex-2.7/detex.l740
-rw-r--r--Build/source/texk/detex/detex-2.7/detex.man126
-rw-r--r--Build/source/texk/detex/detex-2.7/states.sed17
11 files changed, 7 insertions, 1135 deletions
diff --git a/Build/source/texk/detex/ChangeLog b/Build/source/texk/detex/ChangeLog
index 685bd71977b..d836e489b14 100644
--- a/Build/source/texk/detex/ChangeLog
+++ b/Build/source/texk/detex/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-24 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Remove detex-2.7/ and detex-2.7-PATCHES/.
+ * Makefile.am, configure.ac: Adapted.
+
2010-06-10 Peter Breitenlohner <peb@mppmu.mpg.de>
* Import detex-2.8, patches in detex-2.8-PATCHES.
diff --git a/Build/source/texk/detex/Makefile.am b/Build/source/texk/detex/Makefile.am
index 8383abffe4b..f24df275862 100644
--- a/Build/source/texk/detex/Makefile.am
+++ b/Build/source/texk/detex/Makefile.am
@@ -10,9 +10,6 @@ EXTRA_DIST = $(DETEX_TREE)
## Patches applied to the original source tree
EXTRA_DIST += $(DETEX_TREE)-PATCHES
-## Prepare for switch detex-2.7 -> detex-2.8
-EXTRA_DIST += $(OTHER_TREE) $(OTHER_TREE)-PATCHES
-
# in case of an SVN repository
dist-hook:
rm -rf `find $(distdir) -name .svn`
diff --git a/Build/source/texk/detex/Makefile.in b/Build/source/texk/detex/Makefile.in
index 19da098de0e..6768556da2c 100644
--- a/Build/source/texk/detex/Makefile.in
+++ b/Build/source/texk/detex/Makefile.in
@@ -188,7 +188,6 @@ NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
-OTHER_TREE = @OTHER_TREE@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
@@ -259,8 +258,8 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I ../../m4
-EXTRA_DIST = $(DETEX_TREE) $(DETEX_TREE)-PATCHES $(OTHER_TREE) \
- $(OTHER_TREE)-PATCHES test.lout test.tex test.tout
+EXTRA_DIST = $(DETEX_TREE) $(DETEX_TREE)-PATCHES test.lout test.tex \
+ test.tout
INCLUDES = -I$(top_srcdir)/$(DETEX_TREE) $(KPATHSEA_INCLUDES)
AM_CPPFLAGS = -DNO_MALLOC_DECL -DKPATHSEA -Dlint
AM_CFLAGS = $(WARNING_CFLAGS)
diff --git a/Build/source/texk/detex/configure b/Build/source/texk/detex/configure
index 592304eb3dd..8cbdf867da8 100755
--- a/Build/source/texk/detex/configure
+++ b/Build/source/texk/detex/configure
@@ -616,7 +616,6 @@ ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
-OTHER_TREE
DETEX_TREE
KPATHSEA_RULE
KPATHSEA_DEPEND
@@ -14219,9 +14218,6 @@ fi
DETEX_TREE=detex-2.8
-OTHER_TREE=`echo $DETEX_TREE | tr 78 87`
-
-
ac_config_files="$ac_config_files Makefile"
diff --git a/Build/source/texk/detex/configure.ac b/Build/source/texk/detex/configure.ac
index 7436cbac282..1ea938e5080 100644
--- a/Build/source/texk/detex/configure.ac
+++ b/Build/source/texk/detex/configure.ac
@@ -26,9 +26,6 @@ KPSE_KPATHSEA_FLAGS
DETEX_TREE=detex-[]detex_version
AC_SUBST([DETEX_TREE])
-OTHER_TREE=`echo $DETEX_TREE | tr 78 87`
-AC_SUBST([OTHER_TREE])
-
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/Build/source/texk/detex/detex-2.7-PATCHES/TL-Changes b/Build/source/texk/detex/detex-2.7-PATCHES/TL-Changes
deleted file mode 100644
index 2ad134b8998..00000000000
--- a/Build/source/texk/detex/detex-2.7-PATCHES/TL-Changes
+++ /dev/null
@@ -1,6 +0,0 @@
-Changes applied to the detex-2.7 tree as obtained from:
- http://www.cs.purdue.edu/homes/trinkle/detex/ ???
-
-Renamed:
- detex.1l -> detex.man
-
diff --git a/Build/source/texk/detex/detex-2.7/README b/Build/source/texk/detex/detex-2.7/README
deleted file mode 100644
index 59fb6b558c4..00000000000
--- a/Build/source/texk/detex/detex-2.7/README
+++ /dev/null
@@ -1,189 +0,0 @@
-Detex - Version 2.7
-
-Detex is a program to remove TeX constructs from a text file. It recognizes
-the \input command.
-
-This program assumes it is dealing with LaTeX input if it sees the string
-"\begin{document}" in the text. It recognizes the \include and \includeonly
-commands.
-
-This directory contains the following files:
-
-README - you're looking at it.
-
-Makefile - makefile for generating detex on a 4.2BSD Unix system.
-
-detex.1l - troff source for the detex manual page.
- Assuming you have the -man macros, use "make man-page" to
- generate it.
-
-detex.h - Various global definitions. These should be modified to suit
- the local installation.
-
-detex.l - Lex and C source for the detex program.
-
-lexout.c - C code generated from detex.l using lex on a Sun (SunOS 4.1.1)
- This can be useful for DOS, OS/2 or systems that don't have
- lex.
-
-states.sed - sed(1) script to munge the state names in detex.l so that
- reasonable names can be used in the source without causing
- lex(1) to overflow.
-
-os2 - subdirectory containing support for compilation on
- OS/2 and DOS systems
-
-
-Feel free to redistribute this program, but distribute the complete contents
-of this directory. The latest version is available at
-http://www.cs.purdue.edu/homes/trinkle/detex/ Send comments and fixes
-to me via email.
-
-Daniel Trinkle <trinkle@cs.purdue.edu>
-Department of Computer Sciences
-Purdue University
-West Lafayette, IN 47907-1398
-
-April 26, 1986
-
-Modified -- June 4, 1986
-Changed so that it automatically recognizes LaTeX source and ignores several
-environment modes such as array.
-
-
-Modified (Version 2.0) -- June 30, 1984
-Now handles white space in sequences like "\begin { document }". Detex is not
-as easily confused by such things as display mode ends and begins that don't
-match up.
-
-
-Modified -- September 19, 1986
-Added the "-e <environment-list>" option to ignore specified LaTeX
-environments.
-
-
-Modified -- June 30, 1987
-Added the "-n" no-follow option, to allow detex to ignore \input and \include
-commands. Also changed the algorithm for locating the input files. It now
-interprets the "." more reasonably (i.e. it is not always the beginning of an
-extension).
-
-
-Modified -- December 15, 1988
-Added handling of verbatim environment in LaTeX mode and added it to the list
-of modes ignored by default. Because of limitations with lex, it was
-necessary to shorten the names of some of the existing start states before
-adding a new one (ugh).
-
-
-Modified -- January 3, 1988
-Added ignore of \$ inside $$ (math) pair.
-
-
-Modified (Version 2.2) -- June 25, 1990
-Control sequences are no longer replaced by space, but just removed. This
-means accents no longer cause output words to be broken. The "-c" option was
-added to show the arguments of \cite, \ref, and \pageref macros. This is
-useful when using something like style on the output.
-
-
-Modified (Version 2.3) -- September 7, 1990
-Fixed the handling of Ctl mode a little better and added an exception
-for \index on suggestions from kcb@hss.caltech.edu (KC Border). Also
-changed the value for DEFAULTINPUTS to coincide with a local change.
-
-
-Modified -- February 10, 1991
-Added -t option to force TeX mode even when seeing the "\begin{document}"
-string in the input.
-
-
-Modified -- February 23, 1991
-Based on suggestions from pinard@iro.umontreal.ca (Francois Pinard), I
-added support for the SysV string routines (-DUSG), added defines for
-the flex lexical scanner (-DFLEX_SCANNER), changed NULL to '\0' when
-using it as a character (his sys defined NULL as (void *)0), changed
-the Makefile to use ${CC} instead of cc, and added comments about the
-new compile time options.
-
-
-Modified (Version 2.4) -- September 2, 1992
-Corrected the way CITEBEGIN worked. Due to serious braindeath I had
-the condition wrong in the if test. It should be (fLatex && !fCite).
-This solves the problem a couple people reported with amstex style
-\ref entries.
-
-Added a preprocessing sed(1) command to replace all the long, easy to
-read state names with short two letter state names (SA-S?) so that lex
-won't overflow and I don't have to keep shortening the state names
-every time I add one. If a state is added, it must also be added to
-states.sed (order is important) along with its unique S? replacement.
-
-Added \pagestyle, \setcounter, and \verb handling from
-K.Sattar@cs.exeter.ac.uk (Khalid Sattar). Also allows invocation as
-"delatex" to force LaTeX mode.
-
-Applied patches from queinnec@cenatls.cena.dgac.fr (Philippe Queinnec)
-to handle nested {}s in state <LaMacro2> (\bibitem, \cite, \index).
-
-Added special ligature handling (\aa, \ae, \oe, \l, \o, \i, \j, \ss)
-at the suggestion of gwp@dido.caltech.edu (G. W. Pigman II).
-
-Cleaned up the comments on detex.h, added mathmatica to DEFAULTENV.
-
-
-Modified (Version 2.5) -- January 28, 1993
-Leading spaces in macros are no longer stripped. This means
-"foo\footnote{ bar}" comes out as "foo bar" instead of "foobar".
-
-Fixed special ligature handling so it works in cases line {\ss} instead of
-just when followed by a space.
-
-
-Modified (Version 2.6) -- July 30, 1993
-Added OS/2 port from hankedr@mail.auburn.edu (Darrel R Hankerson).
-
-Added handling of leading and trailing ':' in TEXINPUTS per the latest
-TeX as suggested by jnp@tfl.dk (J|rgen N|rgaard).
-
-Changed the way the input path is constructed in SetInputPaths() so we
-never try to modify a constant string.
-
-Changed the way the the ignore environment list is contructed in
-SetEnvIgnore() so we never try to modify a constant string.
-
-Changed the USG define to HAVE_STRING_H.
-
-Fixed the states.sed script so it only replaces "Input" in the correct
-places. I would like to use the \< \> word separator patterns but
-they are not supported by all versions of sed. This as least works.
-
-Changed the detex.c target in the Makefile to use a temporary file
-because I experienced problems (segmentation fault) with lex on
-Solaris 2.1 when input was from stdin.
-
-
-Modified (Version 2.7) -- September 10, 1997
-Removed line breaks in detex.l between a few patterns and actions. It
-appears that flex is no longer able to handle this. Thanks to Anthony
-Harris <harris@hebb.neurology.pitt.edu> and Marty Leisner
-<leisner@sdsp.mc.xerox.com> for reporting this.
-
-
-Porting notes -- March 30, 1992
-When using gcc, or compiling on a NeXT, you should compile with
--fwritable-strings. With the change to SetInputPaths() in 2.6 this
-should no longer be necessary.
-
-On a NeXT, it has been reported that lex replaces the '\0' with NULL,
-and then the compiler complains about it. I think this is an old bug
-that is no longer applicable.
-
-July 30, 1993
-The flex scanner generator does not work because it does not handle
-input buffering the same way as lex. I don't know of any reasonable
-way to rewrite detex to get around this problem.
-
-May 25, 1995
-According to alain@ia1.u-strasbg.fr (Alain Ketterlin), using flex
-allows 8-bit characters to be handled correctly.
diff --git a/Build/source/texk/detex/detex-2.7/detex.h b/Build/source/texk/detex/detex-2.7/detex.h
deleted file mode 100644
index 2ed7fbf1eb0..00000000000
--- a/Build/source/texk/detex/detex-2.7/detex.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/******
-** The following parameters should be modified as necessary
-** MAXINCLIST - maximum number of files allowed in an \includeonly list
-**
-** DEFAULTINPUTS - this should be the same as the default TEXINPUTS
-** CHPATHSEP - the path separator character in TEXINPUTS
-** MAXINPUTPATHS - (arbitrary) number of separate paths in TEXINPUTS
-**
-** DEFAULTENV - list of LaTeX environments ignored
-** CHENVSEP - the list separator character in the ignore envronment list
-** MAXENVS - maximum number of environments listed in the ignore list
-** CCHMAXENV - maximum count of characters in an environment name (LaTex)
-******/
-
-#define MAXINCLIST 40
-
-#ifdef OS2
-#define DEFAULTINPUTS ".;/emtex/texinput"
-#define CHPATHSEP ';'
-#else
-#define DEFAULTINPUTS ".:/usr/local/tex/inputs"
-#define CHPATHSEP ':'
-#endif
-#define MAXINPUTPATHS 10
-
-#define DEFAULTENV "array,eqnarray,equation,figure,mathmatica,picture,table,verbatim"
-#define CHENVSEP ','
-#define MAXENVS 10
-#define CCHMAXENV 100
-
-/******
-** These probably should not be changed
-******/
-
-#define CHOPT '-'
-#define CHCITEOPT 'c'
-#define CHENVOPT 'e'
-#define CHLATEXOPT 'l'
-#define CHNOFOLLOWOPT 'n'
-#define CHSPACEOPT 's'
-#define CHTEXOPT 't'
-#define CHWORDOPT 'w'
-
-#define ERROR -1
diff --git a/Build/source/texk/detex/detex-2.7/detex.l b/Build/source/texk/detex/detex-2.7/detex.l
deleted file mode 100644
index 3d9a961dfa6..00000000000
--- a/Build/source/texk/detex/detex-2.7/detex.l
+++ /dev/null
@@ -1,740 +0,0 @@
-%{
-#ifndef lint
-static char rcsid[] = "$Header: /p/src/local/bin/detex/RCS/detex.l,v 2.19 1997/09/10 18:12:37 trinkle Exp $";
-#endif
-
-/*
- * detex [-e environment-list] [-c] [-l] [-n] [-s] [-t] [-w] [file[.tex] ]
- *
- * This program is used to remove TeX or LaTeX constructs from a text
- * file.
- *
- * Written by:
- * Daniel Trinkle
- * Department of Computer Science
- * Purdue University
- *
- */
-
-#ifdef FPTEX
-#include <win32lib.h>
-#undef ERROR
-#endif
-
-#include "detex.h"
-#ifndef KPATHSEA
-
-#ifdef HAVE_STRING_H
-#include <string.h>
-#define index strchr
-#define rindex strrchr
-#else
-#include <strings.h>
-#endif
-#ifndef MAXPATHLEN
-#include <sys/param.h>
-#endif
-#define PATH_MAX MAXPATHLEN
-#ifdef OS2
-#include <stdlib.h>
-#endif
-#ifndef NO_MALLOC_DECL
-char *malloc();
-#endif
-
-#else
-
-#include "c-auto.h"
-#include "kpathsea/c-auto.h"
-#include "kpathsea/config.h"
-#include "kpathsea/c-memstr.h"
-#include "kpathsea/c-pathmx.h"
-#include "kpathsea/c-std.h"
-#include "kpathsea/tex-file.h"
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#endif
-
-#undef IGNORE
-
-void SetEnvIgnore(const char *sbEnvList);
-int BeginEnv(const char *sbEnv);
-int EndEnv(const char *sbEnv);
-void InputFile(char *sbFile);
-void IncludeFile(char *sbFile);
-void AddInclude(char *sbFile);
-int InList(char *sbFile);
-void SetInputPaths(void);
-int SeparateList(char *sbList, char **rgsbList ,char chSep,int csbMax);
-FILE * TexOpen(char *sbFile);
-char * SafeMalloc(int cch, const char *sbMessage);
-void Warning(const char *sb1, const char *sb2);
-void ErrorExit(const char *sb1);
-
-#define LaBEGIN if (fLatex) BEGIN
-#define CITEBEGIN if (fLatex && !fCite) BEGIN
-#define IGNORE if (fSpace && !fWord) putchar(' ')
-#define SPACE if (!fWord) putchar(' ')
-#define NEWLINE if (!fWord) putchar('\n')
-
-#ifdef OS2
-void yyless(int);
-void OS2UsageExit(void);
-#endif
-
-char *rgsbEnvIgnore[MAXENVS]; /* list of environments ignored */
-char *rgsbIncList[MAXINCLIST]; /* list of includeonly files */
-char *rgsbInputPaths[MAXINPUTPATHS]; /* list of input paths in order */
-char sbCurrentEnv[CCHMAXENV]; /* current environment being ignored */
-char *sbProgName; /* name we were invoked with */
-#ifndef NOFILE /* might be defined in <sys/param.h> */
-#define NOFILE 256
-#endif
-FILE *rgfp[NOFILE+1]; /* stack of input/include files */
-int cfp = 0; /* count of files in stack */
-int cOpenBrace = 0; /* count of `{' in <LaMacro2> */
-int csbEnvIgnore; /* count of environments ignored */
-int csbIncList = 0; /* count of includeonly files */
-int csbInputPaths; /* count of input paths */
-int fLatex = 0; /* flag to indicated delatex */
-int fWord = 0; /* flag for -w option */
-int fFollow = 1; /* flag to follow input/include */
-int fCite = 0; /* flag to echo \cite and \ref args */
-int fSpace = 0; /* flag to replace \cs with space */
-int fForcetex = 0; /* flag to inhibit latex mode */
-%}
-
-S [ \t\n]*
-W [a-zA-Z]+
-
-%Start Define Display IncludeOnly Input Math Normal Control
-%Start LaBegin LaDisplay LaEnd LaEnv LaFormula LaInclude
-%Start LaMacro LaMacro2 LaVerbatim
-
-%%
-<Normal>"%".* /* ignore comments */ ;
-
-<Normal>"\\begin"{S}"{"{S}"document"{S}"}" {fLatex = !fForcetex; IGNORE;}
-
-<Normal>"\\begin" /* environment start */ {LaBEGIN LaBegin; IGNORE;}
-
-<LaBegin>{S}"{"{S}"verbatim"{S}"}" { if (BeginEnv("verbatim"))
- BEGIN LaEnv;
- else
- BEGIN LaVerbatim;
- IGNORE;
- }
-
-<LaVerbatim>"\\end"{S}"{"{S}"verbatim"{S}"}" /* verbatim mode */ {BEGIN Normal; IGNORE;}
-<LaVerbatim>. ECHO;
-
-<LaBegin>{W} { if (BeginEnv(yytext))
- BEGIN LaEnv;
- else
- BEGIN LaMacro;
- IGNORE;
- }
-<LaBegin>"\n" NEWLINE;
-<LaBegin>. ;
-
-<LaEnv>"\\end" /* absorb some environments */ {LaBEGIN LaEnd; IGNORE;}
-<LaEnv>"\n" NEWLINE;
-<LaEnv>. ;
-
-<LaEnd>{W} /* end environment */ { if (EndEnv(yytext))
- BEGIN Normal;
- IGNORE;
- }
-<LaEnd>"}" {BEGIN LaEnv; IGNORE;}
-<LaEnd>"\n" NEWLINE;
-<LaEnd>. ;
-
-<Normal>"\\bibitem" /* ignore args */ {LaBEGIN LaMacro2; IGNORE;}
-<Normal>"\\bibliography" /* of these \cs */ {LaBEGIN LaMacro; IGNORE;}
-<Normal>"\\bibstyle" {LaBEGIN LaMacro; IGNORE;}
-<Normal>"\\cite" {CITEBEGIN LaMacro2; IGNORE;}
-<Normal>"\\documentstyle" {LaBEGIN LaMacro; IGNORE;}
-<Normal>"\\end" {LaBEGIN LaMacro; IGNORE;}
-<Normal>"\\footnote" {SPACE;}
-<Normal>"\\index" {LaBEGIN LaMacro2; SPACE;}
-<Normal>"\\label" {LaBEGIN LaMacro; IGNORE;}
-<Normal>"\\pageref" {CITEBEGIN LaMacro; IGNORE;}
-<Normal>"\\pagestyle" {LaBEGIN LaMacro; IGNORE;}
-<Normal>"\\ref" {CITEBEGIN LaMacro; IGNORE;}
-<Normal>"\\setcounter" {LaBEGIN LaMacro; IGNORE;}
-<Normal>"\\verb" /* ignore \verb<ch>...<ch> */ { if (fLatex) {
- char verbchar, c;
- verbchar = input();
- while ((c = input()) != verbchar)
- if (c == '\n')
- NEWLINE;
- }
- IGNORE;
- }
-<LaMacro>"}" BEGIN Normal;
-<LaMacro>"\n" NEWLINE;
-<LaMacro>. ;
-<LaMacro2>"{" { cOpenBrace++; }
-<LaMacro2>"}" { cOpenBrace--;
- if (cOpenBrace == 0)
- BEGIN Normal;
- }
-<LaMacro2>"\n" NEWLINE;
-<LaMacro2>. ;
-
-<Normal>"\\def" /* ignore def begin */ {BEGIN Define; IGNORE;}
-<Define>"{" BEGIN Normal;
-<Define>"\n" NEWLINE;
-<Define>. ;
-
-<Normal>"\\(" /* formula mode */ {LaBEGIN LaFormula; IGNORE;}
-<LaFormula>"\\)" BEGIN Normal;
-<LaFormula>"\n" NEWLINE;
-<LaFormula>. ;
-
-<Normal>"\\[" /* display mode */ {LaBEGIN LaDisplay; IGNORE;}
-<LaDisplay>"\\]" BEGIN Normal;
-<LaDisplay>"\n" NEWLINE;
-<LaDisplay>. ;
-
-<Normal>"$$" /* display mode */ {BEGIN Display; IGNORE;}
-<Display>"$$" BEGIN Normal;
-<Display>"\n" NEWLINE;
-<Display>. ;
-
-<Normal>"$" /* math mode */ {BEGIN Math; IGNORE;}
-<Math>"$" BEGIN Normal;
-<Math>"\n" NEWLINE;
-<Math>"\\$" ;
-<Math>. ;
-
-<Normal>"\\include" /* process files */ {LaBEGIN LaInclude; IGNORE;}
-<LaInclude>[^{ \t\n}]+ { IncludeFile(yytext);
- BEGIN Normal;
- }
-<LaInclude>"\n" NEWLINE;
-<LaInclude>. ;
-
-<Normal>"\\includeonly" {BEGIN IncludeOnly; IGNORE;}
-<IncludeOnly>[^{ \t,\n}]+ AddInclude(yytext);
-<IncludeOnly>"}" { if (csbIncList == 0)
- rgsbIncList[csbIncList++] = '\0';
- BEGIN Normal;
- }
-<IncludeOnly>"\n" NEWLINE;
-<IncludeOnly>. ;
-
-<Normal>"\\input" {BEGIN Input; IGNORE;}
-<Input>[^{ \t\n}]+ { InputFile(yytext);
- BEGIN Normal;
- }
-<Input>"\n" NEWLINE;
-<Input>. ;
-
-<Normal>\\(aa|AA|ae|AE|oe|OE|ss)[ \t]*[ \t\n}] /* handle ligatures */ {(void)printf("%.2s", yytext+1);}
-<Normal>\\[OoijLl][ \t]*[ \t\n}] {(void)printf("%.1s", yytext+1);}
-
-<Normal>\\[a-zA-Z@]+ /* ignore other \cs */ {BEGIN Control; IGNORE;}
-<Normal>"\\ " SPACE;
-<Normal>\\. IGNORE;
-<Control>\\[a-zA-Z@]+ IGNORE;
-<Control>[a-zA-Z@0-9]*[-'=`][^ \t\n{]* IGNORE;
-<Control>"\n" {BEGIN Normal; NEWLINE;}
-<Control>[ \t]*[{]* {BEGIN Normal; IGNORE;}
-<Control>. {yyless(0);BEGIN Normal;}
-
-<Normal>[{}\\|] /* special characters */ IGNORE;
-<Normal>[!?]"`" IGNORE;
-<Normal>~ SPACE;
-
-<Normal>{W}[']*{W} { if (fWord)
- (void)printf("%s\n", yytext);
- else
- ECHO;
- }
-<Normal>[0-9]+ if (!fWord) ECHO;
-<Normal>(.|\n) if (!fWord) ECHO;
-%%
-/******
-** main --
-** Set sbProgName to the base of arg 0.
-** Set the input paths.
-** Check for options
-** -c echo LaTeX \cite, \ref, and \pageref values
-** -e <env-list> list of LaTeX environments to ignore
-** -l force latex mode
-** -n do not follow \input and \include
-** -s replace control sequences with space
-** -t force tex mode
-** -w word only output
-** Set the list of LaTeX environments to ignore.
-** Process each input file.
-** If no input files are specified on the command line, process stdin.
-******/
-
-int
-main(int cArgs, char *rgsbArgs[])
-{
- char *pch, sbBadOpt[2];
- const char *sbEnvList = DEFAULTENV;
- int fSawFile = 0, iArgs = 1;
-
- /* get base name and decide what we are doing, detex or delatex */
-#ifdef OS2
- char drive[_MAX_DRIVE], dir[_MAX_DIR];
- char fname[_MAX_FNAME], ext[_MAX_EXT];
-#ifdef __EMX__
- _wildcard(&cArgs, &rgsbArgs);
- _response(&cArgs, &rgsbArgs);
-#endif
- _splitpath (rgsbArgs[0], drive, dir, fname, ext);
- sbProgName = strlwr(fname);
-#else
-#ifdef KPATHSEA
- kpse_set_program_name (rgsbArgs[0], NULL);
-#endif
- if ((sbProgName = strrchr(rgsbArgs[0], '/')) != NULL)
- sbProgName++;
- else
- sbProgName = rgsbArgs[0];
-#endif
- if (strcmp("delatex",sbProgName) == 0)
- fLatex = 1;
-
-#ifndef KPATHSEA
- /* set rgsbInputPaths for use with TexOpen() */
- SetInputPaths();
-#endif
-
- /* process command line options */
- while (iArgs < cArgs && *(pch = rgsbArgs[iArgs]) == CHOPT) {
- while (*++pch)
- switch (*pch) {
- case CHCITEOPT:
- fCite = 1;
- break;
- case CHENVOPT:
- sbEnvList = rgsbArgs[++iArgs];
- break;
- case CHLATEXOPT:
- fLatex = 1;
- break;
- case CHNOFOLLOWOPT:
- fFollow = 0;
- break;
- case CHSPACEOPT:
- fSpace = 1;
- break;
- case CHTEXOPT:
- fForcetex = 1;
- break;
- case CHWORDOPT:
- fWord = 1;
- break;
- default:
-#ifdef OS2
- OS2UsageExit();
-#else
- sbBadOpt[0] = *pch;
- sbBadOpt[1] = '\0';
- Warning("unknown option ignored -", sbBadOpt);
-#endif
- }
- iArgs++;
- }
- SetEnvIgnore(sbEnvList);
-
- /* process input files */
- for (; iArgs < cArgs; iArgs++) {
- fSawFile++;
- if ((yyin = TexOpen(rgsbArgs[iArgs])) == NULL) {
- Warning("can't open file", rgsbArgs[iArgs]);
- continue;;
- }
- BEGIN Normal;
- (void)yylex();
- }
-
- /* if there were no input files, assume stdin */
- if (!fSawFile) {
- yyin = stdin;
-#ifdef OS2
- if (isatty(fileno(stdin)))
- OS2UsageExit();
-#endif
- BEGIN Normal;
- (void)yylex();
- }
-#ifndef FLEX_SCANNER
- if (YYSTATE != Normal)
- ErrorExit("input contains an unterminated mode or environment");
-#endif
- return(0);
-}
-
-#ifdef FLEX_SCANNER
-#undef yywrap
-#endif
-
-/******
-** yywrap -- handles EOF for lex. Check to see if the stack of open files
-** has anything on it. If it does, set yyin to the to value. If not
-** return the termination signal for lex.
-******/
-
-int
-yywrap(void)
-{
- (void)fclose(yyin);
- if (cfp > 0) {
- yyin = rgfp[--cfp];
- return(0);
- }
- return(1);
-}
-
-#ifdef OS2
-
-/******
-** yyless -- return characters to the input stream. Some systems don't have
-** a yyless routine
-******/
-
-void
-yyless(int n)
-{
- int i = strlen(yytext);
-
- while (i > n) unput(yytext[--i]);
- yytext[yyleng = n] = '\0';
-}
-#endif
-
-/******
-** SetEnvIgnore -- sets rgsbEnvIgnore to the values indicated by the
-** sbEnvList.
-******/
-
-void
-SetEnvIgnore(const char *sbEnvList)
-{
- char *sb;
-
- sb = SafeMalloc(strlen(sbEnvList) + 1, "malloc for SetEnvIgnore failed");
- (void) strcpy(sb, sbEnvList);
- csbEnvIgnore = SeparateList(sb, rgsbEnvIgnore, CHENVSEP, MAXENVS);
- if (csbEnvIgnore == ERROR)
- ErrorExit("The environtment list contains too many environments");
-}
-
-/******
-** BeginEnv -- checks to see if sbEnv is in the list rgsbEnvIgnore. If it
-** is, sbCurrentEnv is set to sbEnv.
-******/
-
-int
-BeginEnv(const char *sbEnv)
-{
- int i;
-
- if (!fLatex) return(0);
- for (i = 0; i < csbEnvIgnore; i++)
- if (strcmp(sbEnv, rgsbEnvIgnore[i]) == 0) {
- (void)strcpy(sbCurrentEnv, sbEnv);
- return(1);
- }
- return(0);
-}
-
-/******
-** EndEnv -- checks to see if sbEnv is the current environment being ignored.
-******/
-
-int
-EndEnv(const char *sbEnv)
-{
- if (!fLatex) return(0);
- if (strcmp(sbEnv, sbCurrentEnv) == 0)
- return(1);
- return(0);
-}
-
-/******
-** InputFile -- push the current yyin and open sbFile. If the open fails,
-** the sbFile is ignored.
-******/
-
-void
-InputFile(char *sbFile)
-{
- if (!fFollow)
- return;
- rgfp[cfp++] = yyin;
- if ((yyin = TexOpen(sbFile)) == NULL) {
- Warning("can't open \\input file", sbFile);
- yyin = rgfp[--cfp];
- }
-}
-
-/******
-** IncludeFile -- if sbFile is not in the rgsbIncList, push current yyin
-** and open sbFile. If the open fails, the sbFile is ignored.
-******/
-
-void
-IncludeFile(char *sbFile)
-{
- if (!fFollow)
- return;
- if (!InList(sbFile))
- return;
- rgfp[cfp++] = yyin;
- if ((yyin = TexOpen(sbFile)) == NULL) {
- Warning("can't open \\include file", sbFile);
- yyin = rgfp[--cfp];
- }
-}
-
-/******
-** AddInclude -- adds sbFile to the rgsbIncList and increments csbIncList.
-** If the include list is too long, sbFile is ignored.
-******/
-
-void
-AddInclude(char *sbFile)
-{
- if (!fFollow)
- return;
- if (csbIncList >= MAXINCLIST)
- Warning("\\includeonly list is too long, ignoring", sbFile);
- rgsbIncList[csbIncList] = SafeMalloc(strlen(sbFile) + 1, "malloc for AddInclude failed");
- (void)strcpy(rgsbIncList[csbIncList++], sbFile);
-}
-
-/******
-** InList -- checks to see if sbFile is in the rgsbIncList. If there is
-** no list, all files are assumed to be "in the list".
-******/
-
-int
-InList(char *sbFile)
-{
- char *pch, sbBase[PATH_MAX];
- int i;
-
- if (csbIncList == 0) /* no list */
- return(1);
- (void)strcpy(sbBase, sbFile);
- if ((pch = strrchr(sbBase, '.')) != NULL)
- *pch = '\0';
- i = 0;
- while ((i < csbIncList) && rgsbIncList[i])
- if (strcmp(rgsbIncList[i++], sbBase) == 0)
- return(1);
- return(0);
-}
-
-/******
-** SetInputPaths -- sets rgsbInputPaths to the values indicated by the
-** TEXINPUTS environment variable if set or else DEFAULTINPUTS. If
-** the user's TEXINPUTS has a leading ':' prepend the DEFAULTINPUTS
-** to the path, if there is a trailing ':' append the DEFAULTINPUTS.
-** This is consistent with the most recent TeX. However, this
-** routine does not honor the '//' construct (expand subdirs).
-******/
-
-void
-SetInputPaths(void)
-{
- const char *sb;
- char *sbPaths;
-#ifndef WIN32
- char *getenv();
-#endif
- int cchDefaults, cchPaths;
-
- cchDefaults = strlen(DEFAULTINPUTS);
-#ifdef OS2
- if ((sb = getenv("TEXINPUT")) == NULL)
-#endif
- if ((sb = getenv("TEXINPUTS")) == NULL)
- sb = DEFAULTINPUTS;
- cchPaths = strlen(sb);
- if (sb[0] == CHPATHSEP)
- cchPaths += cchDefaults;
- if (sb[strlen(sb) - 1] == CHPATHSEP)
- cchPaths += cchDefaults;
- sbPaths = SafeMalloc(cchPaths + 1, "malloc for SetInputPaths failed");
- sbPaths[0] = '\0';
- if (sb[0] == CHPATHSEP)
- (void)strcat(sbPaths, DEFAULTINPUTS);
- (void)strcat(sbPaths, sb);
- if (sb[strlen(sb) - 1] == CHPATHSEP)
- (void)strcat(sbPaths, DEFAULTINPUTS);
-
- csbInputPaths = SeparateList(sbPaths, rgsbInputPaths, CHPATHSEP, MAXINPUTPATHS);
- if (csbInputPaths == ERROR)
-#ifdef OS2
- ErrorExit("TEXINPUT(S) environment variable has too many paths");
-#else
- ErrorExit("TEXINPUTS environment variable has too many paths");
-#endif
-}
-
-/******
-** SeparateList -- takes a chSep separated list sbList, replaces the
-** chSep's with NULLs and sets rgsbList[i] to the beginning of
-** the ith word in sbList. The number of words is returned. A
-** ERROR is returned if there are more than csbMax words.
-******/
-
-int
-SeparateList(char *sbList, char **rgsbList, char chSep, int csbMax)
-{
- int csbList = 0;
-
- while (sbList && *sbList && csbList < csbMax) {
- rgsbList[csbList++] = sbList;
- if ((sbList = strchr(sbList, chSep)))
- *sbList++ = '\0';
- }
- return(sbList && *sbList ? ERROR : csbList);
-}
-
-/******
-** TexOpen -- tries to open sbFile in each of the rgsbInputPaths in turn.
-** For each input path the following order is used:
-** file.tex - must be as named, if not there go to the next path
-** file.ext - random extension, try it
-** file - base name, add .tex and try it
-** file - try it as is
-** Notice that if file exists in the first path and file.tex exists in
-** one of the other paths, file in the first path is what is opened.
-** If the sbFile begins with a '/', no paths are searched.
-******/
-
-FILE *
-TexOpen(char *sbFile)
-{
- char *sbNew;
-#ifndef KPATHSEA
- char *pch;
- FILE *fp;
- int iPath;
- static char sbFullPath[PATH_MAX];
-
- for (iPath = 0; iPath < csbInputPaths; iPath++) {
-#ifdef OS2
- if (*sbFile == '/' || *sbFile == '\\' || strchr(sbFile, ':')) /* absolute path */
-#else
- if (*sbFile == '/') /* absolute path */
-#endif
- {
- (void)sprintf(sbFullPath, "%s", sbFile);
- iPath = csbInputPaths; /* only check once */
- } else
- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile);
-#ifdef OS2
- pch = sbFullPath;
- while (pch = strchr(pch, '\\'))
- *pch = '/';
-#endif
-
- /* If sbFile ends in .tex then it must be there */
- if ((pch = strrchr(sbFullPath, '.')) != NULL
- && (strcmp(pch, ".tex") == 0))
- if ((fp = fopen(sbFullPath, "r")) != NULL)
- return(fp);
- else
- continue;
-
- /* if .<ext> then try to open it. the '.' represents */
- /* the beginning of an extension if it is not the first */
- /* character and it does not follow a '.' or a '/' */
- if (pch != NULL && pch > &(sbFullPath[0])
- && *(pch - 1) != '.' && *(pch - 1) != '/'
- && (fp = fopen(sbFullPath, "r")) != NULL)
- return(fp);
-
- /* just base name, add .tex to the name */
- sbNew = SafeMalloc(strlen(sbFullPath) + 5, "malloc for TexOpen failed");
- (void)strcpy(sbNew, sbFullPath);
- (void)strcat(sbNew, ".tex");
- if ((fp = fopen(sbNew, "r")) != NULL)
- return(fp);
-
- /* try sbFile regardless */
- if ((fp = fopen(sbFullPath, "r")) != NULL)
- return(fp);
- }
- return((FILE *)NULL);
-#else
- sbNew = kpse_find_file (sbFile, kpse_tex_format, false);
-
- if (sbNew == NULL)
- return (FILE *)NULL;
-
- return fopen (sbNew, "r");
-#endif
-}
-
-/******
-** SafeMalloc -- wrapper around malloc() to check for failure.
-******/
-
-char *
-SafeMalloc(int cch, const char *sbMessage)
-{
- char *sb;
-
- if ((sb = (char *)malloc((unsigned)cch)) == NULL)
- ErrorExit(sbMessage);
- return(sb);
-}
-
-/******
-** Warning -- print a warning message preceded by the program name.
-******/
-
-void
-Warning(const char *sb1, const char *sb2)
-{
- (void)fprintf(stderr, "%s: warning: %s %s\n", sbProgName, sb1, sb2);
-}
-
-/******
-** ErrorExit -- print an error message preceded by the program name.
-** Stdout is flushed and detex exits.
-******/
-
-void
-ErrorExit(const char *sb1)
-{
- (void)fflush(stdout);
- (void)fprintf(stderr, "%s: error: %s\n", sbProgName, sb1);
- exit(1);
-}
-#ifdef OS2
-
-/******
-** OS2UsageExit -- print OS/2 usage message and exit.
-******/
-
-void
-OS2UsageExit(void)
-{
- (void)printf("\n%s [ -clnstw ] [ -e environment-list ] [ filename[.tex] ... ]\n",
- sbProgName);
- puts(" -c echo LaTeX \\cite, \\ref, and \\pageref values\n \
--e <env-list> list of LaTeX environments to ignore\n \
--l force latex mode\n \
--n do not follow \\input and \\include\n \
--s replace control sequences with space\n \
--t force tex mode\n \
--w word only output");
- exit(0);
-}
-#endif
diff --git a/Build/source/texk/detex/detex-2.7/detex.man b/Build/source/texk/detex/detex-2.7/detex.man
deleted file mode 100644
index 93e71005746..00000000000
--- a/Build/source/texk/detex/detex-2.7/detex.man
+++ /dev/null
@@ -1,126 +0,0 @@
-.TH DETEX 1L "12 August 1993" "Purdue University"
-.SH NAME
-detex \- a filter to strip \fITeX\fP commands from a .tex file.
-.SH SYNOPSIS
-.B detex
-[ \fB\-clnstw\fR ] [ \fB\-e\fI environment-list\fR ] [ \fIfilename\fR[.tex] ... ]
-.SH DESCRIPTION
-.I Detex
-(Version 2.6)
-reads each file in sequence, removes all comments and
-.I TeX
-control sequences
-and writes the remainder on the standard output.
-All text in math mode and display mode is removed.
-By default,
-.I detex
-follows \\input commands.
-If a file cannot be opened, a warning message is
-printed and the command is ignored.
-If the
-.B \-n
-option is used, no \\input or \\include commands will be processed.
-This allows single file processing.
-If no input file is given on the command line,
-.I detex
-reads from standard input.
-.PP
-If the magic sequence ``\\begin{document}'' appears in the text,
-.I detex
-assumes it is dealing with
-.I LaTeX
-source and
-.I detex
-recognizes additional constructs used in
-.IR LaTeX .
-These include the \\include and \\includeonly commands.
-The
-.B \-l
-option can be used to force
-.I LaTeX
-mode and the
-.B \-t
-option can be used to force
-.I TeX
-mode regardless of input content.
-.PP
-Text in various environment modes of
-.I LaTeX
-is ignored. The default modes are array, eqnarray, equation, figure,
-mathmatica, picture, table and verbatim. The
-.B \-e
-option can be used to specify a comma separated
-.I environment-list
-of environments to ignore. The list replaces the defaults so specifying an
-empty list effectively causes no environments to be ignored.
-.PP
-The
-.B \-c
-option can be used in
-.I LaTeX
-mode to have detex echo the arguments to \\cite,
-\\ref, and \\pageref macros. This can be useful when sending the output to
-a style checker.
-.PP
-.I Detex
-assumes the standard character classes are being used for
-.IR TeX .
-.I Detex
-allows white space between control sequences
-and magic characters like `{' when recognizing things like
-.I LaTeX
-environments.
-.PP
-If the
-.B \-w
-flag is given, the output is a word list, one `word' (string of two or more
-letters and apostrophes beginning with a letter)
-per line, and all other characters ignored.
-Without \fB\-w\fR the output follows the original,
-with the deletions mentioned above. Newline characters are
-preserved where possible
-so that the lines of output match the input as closely as possible.
-.PP
-The TEXINPUTS environment variable is used to find \\input and \\include
-files. Like \fITeX\fP, it interprets a leading or trailing `:' as the default
-TEXINPUTS. It does \fInot\fP support the `//' directory expansion magic sequence.
-.PP
-Detex now handles the basic \fITeX\fP ligatures as a special case, replacing the
-ligatures with acceptable charater substitutes. This eliminates
-spelling errors introduced by merely removing them. The ligatures are
-\\aa, \\ae, \\oe, \\ss, \\o, \\l (and their upper-case
-equivalents). The special "dotless" characters \\i and \\j are also
-replaced with i and j respectively.
-.PP
-Note that previous versions of
-.I detex
-would replace control sequences with a space character to prevent words
-from running together.
-However, this caused accents in the middle of words to break words, generating
-"spelling errors" that were not desirable.
-Therefore, the new version merely removes these accents.
-The old functionality can be essentially duplicated by using the
-.B \-s
-option.
-.SH SEE ALSO
-tex(1L)
-.SH DIAGNOSTICS
-Nesting of \\input is allowed but the number of opened files must not
-exceed the system's limit on the number of simultaneously opened files.
-.I Detex
-ignores unrecognized option characters after printing a warning message.
-.SH AUTHOR
-Daniel Trinkle, Computer Science Department, Purdue University
-.SH BUGS
-.I Detex
-is not a complete
-.I TeX
-interpreter, so it can be confused by some constructs.
-Most errors result in too much rather than too little output.
-.PP
-Running \fILaTeX\fR
-source without a ``\\begin{document}''
-through \fIdetex\fR may produce
-errors.
-.PP
-Suggestions for improvements are (mildly) encouraged.
diff --git a/Build/source/texk/detex/detex-2.7/states.sed b/Build/source/texk/detex/detex-2.7/states.sed
deleted file mode 100644
index 1c99ebabe9e..00000000000
--- a/Build/source/texk/detex/detex-2.7/states.sed
+++ /dev/null
@@ -1,17 +0,0 @@
-# convert long labels to a shorter form so lex(1) won't overflow
-s/LaBegin/SA/g
-s/LaDisplay/SB/g
-s/LaEnd/SC/g
-s/LaEnv/SD/g
-s/LaFormula/SE/g
-s/LaInclude/SF/g
-s/LaMacro2/SG/g
-s/LaMacro/SH/g
-s/LaVerbatim/SI/g
-s/Define/SJ/g
-s/Display/SK/g
-s/IncludeOnly/SL/g
-s/\([ <]\)Input\([ >;]\)/\1SM\2/g
-s/Math/SN/g
-s/Normal/SO/g
-s/Control/SP/g