summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2010-12-10 11:22:05 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2010-12-10 11:22:05 +0000
commit0a1e75ee98dd6caa88dd7566007ab4c6c8511544 (patch)
treeb8845646169c5d84821f476a5eaa490afbf2ff55
parent7e8b4dc5ce744eed534c8aa93a8b503c80317c76 (diff)
texk/lacheck build: use orig source from ctan + patches
git-svn-id: svn://tug.org/texlive/trunk@20707 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/README2
-rw-r--r--Build/source/README.layout4
-rw-r--r--Build/source/texk/README3
-rw-r--r--Build/source/texk/lacheck/ChangeLog8
-rw-r--r--Build/source/texk/lacheck/Makefile.am29
-rw-r--r--Build/source/texk/lacheck/Makefile.in57
-rwxr-xr-xBuild/source/texk/lacheck/configure2
-rw-r--r--Build/source/texk/lacheck/configure.ac6
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog12
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/TL-Changes9
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-01-WIN3214
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-02-ANSI176
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-03-unsigned-char56
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-04-manpage18
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26/Makefile97
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26/lacheck.hlp (renamed from Build/source/texk/lacheck/lacheck.hlp)0
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26/lacheck.l (renamed from Build/source/texk/lacheck/lacheck.l)5
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26/lacheck.man (renamed from Build/source/texk/lacheck/lacheck.man)7
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26/make_vms.com (renamed from Build/source/texk/lacheck/make_vms.com)0
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26/test.old33
-rw-r--r--Build/source/texk/lacheck/lacheck-1.26/test.tex (renamed from Build/source/texk/lacheck/test.tex)0
-rw-r--r--Build/source/texk/lacheck/lacheck.c193
-rwxr-xr-xBuild/source/texk/lacheck/lacheck.test8
-rw-r--r--Build/source/texk/lacheck/test.out33
24 files changed, 586 insertions, 186 deletions
diff --git a/Build/source/README b/Build/source/README
index ab3af1e44b2..47a1ff03464 100644
--- a/Build/source/README
+++ b/Build/source/README
@@ -28,7 +28,7 @@ Prerequisites:
- If you modify any .y or .l source files, then Bison and Flex (or maybe
equivalents) are needed. The distributed .c and .h files are generated
- with bison-2.4.1 and flex-2.5.35.
+ with bison-2.4.3 and flex-2.5.35.
The binaries will be left in ./inst/bin/<stdplatform>.
For TeX Live, ignore the other files and directories that end up in ./inst.
diff --git a/Build/source/README.layout b/Build/source/README.layout
index c226194d442..96565d10296 100644
--- a/Build/source/README.layout
+++ b/Build/source/README.layout
@@ -69,7 +69,7 @@ m4/kpse-Lib-flags.m4 defines Autoconf macros for configure options
Several libraries use an (almost) unmodified source tree supplemented by a
proxy build system (bypassing that of the source tree), e.g.,
-libs/zlib/zlib-1.2.3/ (almost) unmodified source tree
+libs/zlib/zlib-1.2.5/ (almost) unmodified source tree
libs/zlib/Makefile.am proxy Makefile.am
libs/zlib/configure.ac and configure.ac
@@ -105,7 +105,7 @@ required by these programs.
3. Running `make' at the top-level
==================================
-First, if texk/kpathsea/ and texk/ptexenc/ are not yet configured, this runs
+First, if texk/kpathsea/ or texk/ptexenc/ is not yet configured, this runs
`configure' and if required `make all' in that directory. Then this
recurses into all required subdirectories texk/kpathsea/, texk/ptexenc/,
libs/, utils/, and texk/ for the selected Make target: `default' or `all' to
diff --git a/Build/source/texk/README b/Build/source/texk/README
index bfb9c58dead..b75ad32e621 100644
--- a/Build/source/texk/README
+++ b/Build/source/texk/README
@@ -66,7 +66,8 @@ gsftopk - from Paul Vojta's xdvi?
kpathsea - maintained here by Karl Berry, Akira Kakuto, ...
-lacheck - ?
+lacheck - checked 10dec10
+ http://mirror.ctan.org/support/lacheck/lacheck-1.26.tar.gz
lcdf-typetools - checked 04oct10
http://www.lcdf.org/type/
diff --git a/Build/source/texk/lacheck/ChangeLog b/Build/source/texk/lacheck/ChangeLog
index b3751189c83..a676c93d4db 100644
--- a/Build/source/texk/lacheck/ChangeLog
+++ b/Build/source/texk/lacheck/ChangeLog
@@ -1,3 +1,8 @@
+2010-12-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * Import original lacheck-1.26, patches in lacheck-1.26-PATCHES.
+ * Makefile.am, configure.ac, lacheck.test: Adapted.
+
2010-02-20 Peter Breitenlohner <peb@mppmu.mpg.de>
* lacheck.l: Do not #include <win32lib.h> for MinGW32.
@@ -7,7 +12,7 @@
Avoid maximal compiler warnings.
* lacheck.l (push): Change param1 from 'unsigned char *' to
'const char *'.
- (struct tex_group}: Change member s_name from 'unsigned char *'
+ (struct tex_group): Change member s_name from 'unsigned char *'
to 'char *' and drop or adjust casts accordingly.
2009-06-16 Peter Breitenlohner <peb@mppmu.mpg.de>
@@ -52,6 +57,7 @@ Tue Jan 27 14:32:25 1998 Sebastian Rahtz <s.rahtz@elsevier.co.uk>
* configure etc: new configure.in, c-auto.in, Makefile.in from
Olaf Weber
+
Tue Jan 27 13:57:52 1998 Sebastian Rahtz <s.rahtz@elsevier.co.uk>
* Makefile.in: depend inclusion
diff --git a/Build/source/texk/lacheck/Makefile.am b/Build/source/texk/lacheck/Makefile.am
index a3b9c05e491..a3070bf2302 100644
--- a/Build/source/texk/lacheck/Makefile.am
+++ b/Build/source/texk/lacheck/Makefile.am
@@ -1,36 +1,39 @@
## Makefile.am for the TeX Live subdirectory texk/lacheck/
##
-## Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
##
ACLOCAL_AMFLAGS = -I ../../m4
+LACHECK_TREE = lacheck-$(REV)
+
+## We want to re-distribute the whole original lacheck source tree.
+EXTRA_DIST = $(LACHECK_TREE)
+## Patches applied to the original source tree
+EXTRA_DIST += $(LACHECK_TREE)-PATCHES
+
+# in case of an SVN repository
+dist-hook:
+ rm -rf `find $(distdir) -name .svn`
+
AM_CFLAGS = $(WARNING_CFLAGS)
bin_PROGRAMS = lacheck
-lacheck_SOURCES = lacheck.l
+lacheck_SOURCES = $(LACHECK_TREE)/lacheck.l
nodist_man1_MANS = lacheck.1
-lacheck.1: lacheck.man
+lacheck.1: $(LACHECK_TREE)/lacheck.man
sed -e "s!%%LACHECKREV%%!Release $(REV)!" \
- -e "s!%%LACHECKDATE%%!`date +%Y-%m-%d`!" \
-e "s!%%LACHECKPATH%%!lacheck!" $< > $@
-EXTRA_DIST = lacheck.man
-
CLEANFILES = lacheck.1
dist_check_SCRIPTS = lacheck.test
TESTS = lacheck.test
+TESTS_ENVIRONMENT = LACHECK_TREE=$(LACHECK_TREE)
-EXTRA_DIST += test.tex test.out
-
-CLEANFILES += test.xout
-
-## Not used
-##
-EXTRA_DIST += lacheck.hlp make_vms.com
+CLEANFILES += test.out
diff --git a/Build/source/texk/lacheck/Makefile.in b/Build/source/texk/lacheck/Makefile.in
index dd75aca344f..b80cd82702c 100644
--- a/Build/source/texk/lacheck/Makefile.in
+++ b/Build/source/texk/lacheck/Makefile.in
@@ -252,13 +252,15 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ACLOCAL_AMFLAGS = -I ../../m4
+LACHECK_TREE = lacheck-$(REV)
+EXTRA_DIST = $(LACHECK_TREE) $(LACHECK_TREE)-PATCHES
AM_CFLAGS = $(WARNING_CFLAGS)
-lacheck_SOURCES = lacheck.l
+lacheck_SOURCES = $(LACHECK_TREE)/lacheck.l
nodist_man1_MANS = lacheck.1
-EXTRA_DIST = lacheck.man test.tex test.out lacheck.hlp make_vms.com
-CLEANFILES = lacheck.1 test.xout
+CLEANFILES = lacheck.1 test.out
dist_check_SCRIPTS = lacheck.test
TESTS = lacheck.test
+TESTS_ENVIRONMENT = LACHECK_TREE=$(LACHECK_TREE)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -394,6 +396,11 @@ distclean-compile:
.l.c:
$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE)
+lacheck.c: $(LACHECK_TREE)/lacheck.l
+ \
+ $(am__skiplex) \
+ $(SHELL) $(YLWRAP) `test -f '$(LACHECK_TREE)/lacheck.l' || echo '$(srcdir)/'`$(LACHECK_TREE)/lacheck.l $(LEX_OUTPUT_ROOT).c lacheck.c -- $(LEX) $(LFLAGS) $(AM_LFLAGS)
+
mostlyclean-libtool:
-rm -f *.lo
@@ -626,6 +633,9 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
@@ -856,26 +866,29 @@ uninstall-man: uninstall-man1
.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \
clean clean-binPROGRAMS clean-generic clean-libtool ctags dist \
- dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \
- dist-xz dist-zip distcheck distclean distclean-compile \
- distclean-generic distclean-hdr distclean-libtool \
- distclean-tags distcleancheck distdir distuninstallcheck dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-man1 install-pdf install-pdf-am install-ps \
- install-ps-am install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-binPROGRAMS uninstall-man \
- uninstall-man1
-
-
-lacheck.1: lacheck.man
+ dist-all dist-bzip2 dist-gzip dist-hook dist-lzma dist-shar \
+ dist-tarZ dist-xz dist-zip distcheck distclean \
+ distclean-compile distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-man1 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-binPROGRAMS \
+ uninstall-man uninstall-man1
+
+
+# in case of an SVN repository
+dist-hook:
+ rm -rf `find $(distdir) -name .svn`
+
+lacheck.1: $(LACHECK_TREE)/lacheck.man
sed -e "s!%%LACHECKREV%%!Release $(REV)!" \
- -e "s!%%LACHECKDATE%%!`date +%Y-%m-%d`!" \
-e "s!%%LACHECKPATH%%!lacheck!" $< > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/Build/source/texk/lacheck/configure b/Build/source/texk/lacheck/configure
index 9e7b2457349..696b388ef19 100755
--- a/Build/source/texk/lacheck/configure
+++ b/Build/source/texk/lacheck/configure
@@ -575,7 +575,7 @@ PACKAGE_STRING='LaCheck for TeX Live 1.26'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="lacheck.l"
+ac_unique_file="lacheck-1.26/lacheck.l"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
diff --git a/Build/source/texk/lacheck/configure.ac b/Build/source/texk/lacheck/configure.ac
index 2faa6aac44d..64f92008001 100644
--- a/Build/source/texk/lacheck/configure.ac
+++ b/Build/source/texk/lacheck/configure.ac
@@ -1,15 +1,15 @@
dnl Process this file with autoconf to produce a configure script.
dnl
-dnl Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org>
+dnl Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
-m4_define([lacheck_version], [1.26])
+m4_define([lacheck_version], [1.26])[]dnl using unmodified lacheck source tree
AC_INIT([LaCheck for TeX Live], lacheck_version, [tex-k@tug.org])
AC_PREREQ([2.65])
-AC_CONFIG_SRCDIR([lacheck.l])
+AC_CONFIG_SRCDIR([lacheck-]lacheck_version[/lacheck.l])
AC_CONFIG_AUX_DIR([../../build-aux])
AC_CONFIG_MACRO_DIR([../../m4])
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog
new file mode 100644
index 00000000000..7f8601fc99b
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/ChangeLog
@@ -0,0 +1,12 @@
+2010-12-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Patches applied to lacheck-1.26 as obtained from CTAN.
+ * patch-01-WIN32 (new): #include <win32lib.h> for WIN32, but not
+ for __MINGW32__.
+ * patch-02-ANSI (new): ANSI C function protos and definitions.
+ Declare param1 of push() as const. Avoid ambiguous `else'.
+ Define yywrap() after flex-provided prototype.
+ * patch-03-unsigned-char (new): Change param1 of push() and
+ member s_name of struct tex_group from 'unsigned char *' to
+ 'char *' and drop or adjust casts accordingly.
+ * patch-04-manpage (new): Formatting. Avoid use of build date. \ No newline at end of file
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/TL-Changes b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/TL-Changes
new file mode 100644
index 00000000000..c7c52c5df80
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/TL-Changes
@@ -0,0 +1,9 @@
+Changes applied to the lacheck-1.26 tree as obtained from:
+ http://mirror.ctan.org/support/lacheck/lacheck-1.26.tar.gz
+
+Renamed:
+ lacheck.lex -> lacheck.l
+
+Removed:
+ lacheck.c
+
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-01-WIN32 b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-01-WIN32
new file mode 100644
index 00000000000..4baf9b833c9
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-01-WIN32
@@ -0,0 +1,14 @@
+diff -ur -x lacheck.c lacheck-1.26.orig/lacheck.l lacheck-1.26/lacheck.l
+--- lacheck-1.26.orig/lacheck.l 1998-03-07 08:47:31.000000000 +0100
++++ lacheck-1.26/lacheck.l 2010-02-20 12:35:04.000000000 +0100
+@@ -117,6 +117,10 @@
+
+ #include <stdio.h>
+ #include <string.h>
++
++#if defined(WIN32) && !defined(__MINGW32__)
++#include <win32lib.h>
++#endif
+ /* #include <sys/param.h> */
+
+ /* extern char *realloc(); */
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-02-ANSI b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-02-ANSI
new file mode 100644
index 00000000000..bb6654b4ef7
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-02-ANSI
@@ -0,0 +1,176 @@
+diff -ur lacheck-1.26.orig/lacheck.l lacheck-1.26/lacheck.l
+--- lacheck-1.26.orig/lacheck.l 2010-02-20 12:35:04.000000000 +0100
++++ lacheck-1.26/lacheck.l 2010-12-09 23:22:45.000000000 +0100
+@@ -125,8 +125,6 @@
+
+ /* extern char *realloc(); */
+
+-int yywrap() { return 1; }
+-
+ #ifdef NEED_STRSTR
+ char *strstr();
+ #endif
+@@ -144,16 +142,16 @@
+ #define CG_ITALIC gstack[gstackp-1].italic
+ #define CG_FILE gstack[gstackp-1].s_file
+
+-char *bg_command();
+-void pop();
+-void push();
+-void linecount();
+-void g_checkend();
+-void e_checkend();
+-void f_checkend();
+-void input_file();
+-void print_bad_match();
+-int check_top_level_end();
++char *bg_command(char *name);
++void pop(void);
++void push(const char *p_name, int p_type, int p_line);
++void linecount(void);
++void g_checkend(int n);
++void e_checkend(int n, char *name);
++void f_checkend(char *name);
++void input_file(char *file_nam);
++void print_bad_match(char *end_command, int type);
++int check_top_level_end(char *end_command, int type);
+
+ /* global variables */
+
+@@ -764,9 +762,7 @@
+
+ . { ; }
+ %%
+-int main( argc, argv )
+-int argc;
+-char *argv[];
++int main(int argc, char *argv[])
+ {
+ /* allocate initial stacks */
+ gstack = (tex_group *)malloc(gstack_size * sizeof(tex_group));
+@@ -824,6 +820,8 @@
+ return(0);
+ }
+
++int yywrap(void) { return 1; }
++
+ #ifdef NEED_STRSTR
+ char *
+ strstr(string, substring)
+@@ -860,10 +858,7 @@
+ }
+ #endif /* NEED_STRSTR */
+
+-void push(p_name, p_type, p_line)
+-unsigned char *p_name;
+-int p_type;
+-int p_line;
++void push(const unsigned char *p_name, int p_type, int p_line)
+ {
+ if ( gstackp == gstack_size ) { /* extend stack */
+ gstack_size *= 2;
+@@ -895,8 +890,7 @@
+
+ }
+
+-void input_file(file_nam)
+-char *file_nam;
++void input_file(char *file_nam)
+ {
+ char *tmp_file_name;
+ FILE *tmp_yyin;
+@@ -953,7 +947,7 @@
+ }
+ }
+
+-void pop()
++void pop(void)
+ {
+ if ( gstackp == 0 )
+ {
+@@ -966,8 +960,7 @@
+ free(gstack[gstackp].s_file);
+ }
+
+-char *bg_command(name)
+-char *name;
++char *bg_command(char *name)
+ {
+
+ switch (CG_TYPE) {
+@@ -1001,9 +994,7 @@
+ return ((char *)returnval);
+ }
+
+-char *eg_command(name,type)
+-int type;
+-char *name;
++static char *eg_command(char *name, int type)
+ {
+
+ switch (type) {
+@@ -1038,19 +1029,18 @@
+ }
+
+
+-void g_checkend(n)
+-int n;
++void g_checkend(int n)
+ {
+ if ( check_top_level_end(yytext,n) == 1 )
++ {
+ if ( CG_TYPE != n )
+ print_bad_match(yytext,n);
+ else
+ pop();
++ }
+ }
+
+-void e_checkend(n, name)
+-int n;
+-char *name;
++void e_checkend(int n, char *name)
+ {
+ if ( check_top_level_end(name,n) == 1 )
+ {
+@@ -1062,8 +1052,7 @@
+ }
+ }
+
+-void f_checkend(name)
+-char *name;
++void f_checkend(char *name)
+ {
+ if ( check_top_level_end(name,3) == 1 )
+ {
+@@ -1079,9 +1068,7 @@
+ }
+ }
+
+-void print_bad_match(end_command,type)
+-char *end_command;
+-int type;
++void print_bad_match(char *end_command, int type)
+ {
+ printf("\"%s\", line %d: <- unmatched \"%s\"\n",
+ file_name,
+@@ -1095,9 +1082,7 @@
+ warn_count += 2;
+ }
+
+-int check_top_level_end(end_command,type)
+-char *end_command;
+-int type;
++int check_top_level_end(char *end_command, int type)
+ {
+ if ( gstackp == 0 )
+ {
+@@ -1112,7 +1097,7 @@
+ return(1);
+ }
+
+-void linecount()
++void linecount(void)
+ {
+ int i;
+ for (i = 0; i < yyleng; i++)
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-03-unsigned-char b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-03-unsigned-char
new file mode 100644
index 00000000000..e5b07bcfee0
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-03-unsigned-char
@@ -0,0 +1,56 @@
+diff -ur lacheck-1.26.orig/lacheck.l lacheck-1.26/lacheck.l
+--- lacheck-1.26.orig/lacheck.l 2010-12-09 23:22:45.000000000 +0100
++++ lacheck-1.26/lacheck.l 2010-12-09 23:25:22.000000000 +0100
+@@ -136,7 +136,7 @@
+
+ /* macros */
+
+-#define CG_NAME (char *)gstack[gstackp-1].s_name
++#define CG_NAME gstack[gstackp-1].s_name
+ #define CG_TYPE gstack[gstackp-1].s_type
+ #define CG_LINE gstack[gstackp-1].s_line
+ #define CG_ITALIC gstack[gstackp-1].italic
+@@ -165,7 +165,7 @@
+
+ typedef struct tex_group
+ {
+- unsigned char *s_name;
++ char *s_name;
+ int s_type;
+ int s_line;
+ int italic;
+@@ -467,7 +467,7 @@
+
+ \\begingroup/[^a-zA-Z] {
+ {
+- push((unsigned char *)"\\begingroup", 1, line_count);
++ push("\\begingroup", 1, line_count);
+ }}
+
+
+@@ -858,7 +858,7 @@
+ }
+ #endif /* NEED_STRSTR */
+
+-void push(const unsigned char *p_name, int p_type, int p_line)
++void push(const char *p_name, int p_type, int p_line)
+ {
+ if ( gstackp == gstack_size ) { /* extend stack */
+ gstack_size *= 2;
+@@ -870,14 +870,14 @@
+ }
+
+ if ( (gstack[gstackp].s_name =
+- (unsigned char *)malloc(strlen((char *)p_name) + 1)) == NULL ||
++ (char *)malloc(strlen(p_name) + 1)) == NULL ||
+ (gstack[gstackp].s_file =
+ (char *)malloc(strlen(file_name) + 1)) == NULL ) {
+ fprintf(stderr, "%s: out of memory\n", PROGNAME);
+ exit(3);
+ }
+
+- strcpy((char *)gstack[gstackp].s_name,(char *)p_name);
++ strcpy(gstack[gstackp].s_name, p_name);
+ gstack[gstackp].s_type = p_type;
+ gstack[gstackp].s_line = p_line;
+ gstack[gstackp].italic = ( (p_type == 4 || p_type == 5)
diff --git a/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-04-manpage b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-04-manpage
new file mode 100644
index 00000000000..1e482cfbb63
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26-PATCHES/patch-04-manpage
@@ -0,0 +1,18 @@
+diff -ur lacheck-1.26.orig/lacheck.man lacheck-1.26/lacheck.man
+--- lacheck-1.26.orig/lacheck.man 1998-03-07 08:47:31.000000000 +0100
++++ lacheck-1.26/lacheck.man 2010-12-10 11:38:32.032814793 +0100
+@@ -1,12 +1,9 @@
+-.TH "LaCheck" "1" "%%LACHECKDATE%%" "%%LACHECKREV%%"
++.TH "LaCheck" "1" "2010-12-10" "%%LACHECKREV%%"
+ .SH NAME
+ lacheck - A consistency checker for LaTeX documents.
+ .SH SYNOPSIS
+ .B lacheck
+-.I filename
+-[
+-.I .tex
+-]
++.IR filename [ \fB.tex\fP ]
+ .SH DESCRIPTION
+ LaCheck is a general purpose consistency checker for LaTeX documents.
+ It reads a LaTeX document and displays warning messages, if it finds
diff --git a/Build/source/texk/lacheck/lacheck-1.26/Makefile b/Build/source/texk/lacheck/lacheck-1.26/Makefile
new file mode 100644
index 00000000000..a7e2b5aeee0
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26/Makefile
@@ -0,0 +1,97 @@
+# Makefile for lacheck.
+
+# If both flex lacheck.c are missing, copy lacheck.noflex.c to
+# lacheck.c.
+
+prefix = /usr/local
+exec_prefix = $(prefix)
+
+bindir = $(exec_prefix)/bin
+mandir = $(prefix)/man/man1
+manext = .1
+srcdir = .
+
+# Use `cc -bsd' on a next
+# use `cc -cckr' on a sgi
+# CC = gcc -traditional
+CC=cc
+
+CFLAGS = -g # -O -DNEED_STRSTR
+
+# No changes should be needed below
+
+# Remember to change when lacheck is updated.
+REV = 1.26
+
+DISTFILES = lacheck.lex lacheck.man Makefile lacheck.c test.tex test.old \
+ lacheck.hlp make_vms.com
+
+FTPDIR = /home/ftp/pub/Staff/Per.Abrahamsen/mirror/ftp/lacheck
+
+SHELL = /bin/sh
+
+LACHECK=lacheck
+
+INSTALL = cp
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL)
+
+FLEX = flex
+FLEXFLAGS = -8
+
+LIBS= #-ll
+
+$(LACHECK): lacheck.o
+ $(CC) $(CFLAGS) -o $@ $(srcdir)/lacheck.o $(LIBS)
+
+lacheck.c: lacheck.lex
+ -if [ ! -f $(srcdir)/lacheck.noflex.c ] ; then \
+ if [ -f $(srcdir)/lacheck.c ] ; then \
+ $(INSTALL_DATA) $(srcdir)/lacheck.c $(srcdir)/lacheck.noflex.c ; \
+ fi ; \
+ fi
+ $(FLEX) $(FLEXFLAGS) $(srcdir)/lacheck.lex
+ mv $(srcdir)/lex.yy.c $@
+
+lacheck.1: lacheck.man
+ -sed -e "s!%%LACHECKREV%%!Release $(REV)!" $(srcdir)/lacheck.man |\
+ sed -e "s!%%LACHECKDATE%%!`date +%D`!" |\
+ sed -e "s!%%LACHECKPATH%%!$(bindir)/$(LACHECK)!" > $@
+
+test.new: test.tex $(LACHECK)
+ $(srcdir)/$(LACHECK) $(srcdir)/test.tex > $@
+
+test.old: test.tex $(LACHECK)
+ $(srcdir)/$(LACHECK) $(srcdir)/test.tex > $@
+
+check: test.new
+ -diff $(srcdir)/test.old $(srcdir)/test.new
+
+install: $(LACHECK) lacheck.1
+ cp $(srcdir)/$(LACHECK) $(bindir)
+ cp $(srcdir)/lacheck.1 $(mandir)/lacheck$(manext)
+
+uninstall:
+ -rm -f $(bindir)/$(LACHECK) $(mandir)/lacheck$(manext)
+
+clean:
+ -rm -f $(srcdir)/$(LACHECK) $(srcdir)/*.o $(srcdir)/*.1 $(srcdir)/*~
+
+distclean: clean
+
+mostlyclean: clean
+ -rm -f $(srcdir)/lacheck.c $(srcdir)/lacheck.noflex.c
+
+realclean: mostlyclean
+ -rm -f test.old
+
+dist: $(DISTFILES)
+ mkdir lacheck-$(REV)
+ cp $(DISTFILES) lacheck-$(REV)
+ touch lacheck-$(REV)/lacheck.c
+ -rm -f $(FTPDIR)/lacheck-$(REV).tar.gz
+ -rm -f $(FTPDIR)/lacheck.tar.gz $(FTPDIR)/lacheck.tar.Z
+ tar -cf - lacheck-$(REV) | gzip > $(FTPDIR)/lacheck-$(REV).tar.gz
+ tar -cf - lacheck-$(REV) | compress > $(FTPDIR)/lacheck-$(REV).tar.Z
+ (cd $(FTPDIR); ln -s lacheck-$(REV).tar.gz lacheck.tar.gz)
+
diff --git a/Build/source/texk/lacheck/lacheck.hlp b/Build/source/texk/lacheck/lacheck-1.26/lacheck.hlp
index b99a0e91a47..b99a0e91a47 100644
--- a/Build/source/texk/lacheck/lacheck.hlp
+++ b/Build/source/texk/lacheck/lacheck-1.26/lacheck.hlp
diff --git a/Build/source/texk/lacheck/lacheck.l b/Build/source/texk/lacheck/lacheck-1.26/lacheck.l
index 441fbdefefc..b6fd1ba5ceb 100644
--- a/Build/source/texk/lacheck/lacheck.l
+++ b/Build/source/texk/lacheck/lacheck-1.26/lacheck.l
@@ -125,9 +125,6 @@
/* extern char *realloc(); */
-#define YY_SKIP_YYWRAP
-static int yywrap(void) { return 1; }
-
#ifdef NEED_STRSTR
char *strstr();
#endif
@@ -823,6 +820,8 @@ int main(int argc, char *argv[])
return(0);
}
+int yywrap(void) { return 1; }
+
#ifdef NEED_STRSTR
char *
strstr(string, substring)
diff --git a/Build/source/texk/lacheck/lacheck.man b/Build/source/texk/lacheck/lacheck-1.26/lacheck.man
index 45a221f3e0e..66c818f9aad 100644
--- a/Build/source/texk/lacheck/lacheck.man
+++ b/Build/source/texk/lacheck/lacheck-1.26/lacheck.man
@@ -1,12 +1,9 @@
-.TH "LaCheck" "1" "%%LACHECKDATE%%" "%%LACHECKREV%%"
+.TH "LaCheck" "1" "2010-12-10" "%%LACHECKREV%%"
.SH NAME
lacheck - A consistency checker for LaTeX documents.
.SH SYNOPSIS
.B lacheck
-.I filename
-[
-.I .tex
-]
+.IR filename [ \fB.tex\fP ]
.SH DESCRIPTION
LaCheck is a general purpose consistency checker for LaTeX documents.
It reads a LaTeX document and displays warning messages, if it finds
diff --git a/Build/source/texk/lacheck/make_vms.com b/Build/source/texk/lacheck/lacheck-1.26/make_vms.com
index 24d224733a0..24d224733a0 100644
--- a/Build/source/texk/lacheck/make_vms.com
+++ b/Build/source/texk/lacheck/lacheck-1.26/make_vms.com
diff --git a/Build/source/texk/lacheck/lacheck-1.26/test.old b/Build/source/texk/lacheck/lacheck-1.26/test.old
new file mode 100644
index 00000000000..015686391c0
--- /dev/null
+++ b/Build/source/texk/lacheck/lacheck-1.26/test.old
@@ -0,0 +1,33 @@
+"./test.tex", line 3: possible unwanted space at "{"
+"./test.tex", line 4: you may need a \/ before "world"
+"./test.tex", line 5: \/ not needed before italic text "world"
+"./test.tex", line 6: \/ not needed after non-italic text "hello"
+"./test.tex", line 7: double \/ found "\/"
+"./test.tex", line 8: do not use \/ before ","
+"./test.tex", line 9: punctuation mark "." should be placed before end of displaymath
+"./test.tex", line 10: punctuation mark "." should be placed after end of math mode
+"./test.tex", line 11: {argument} missing for \begin
+"./test.tex", line 13: TAB character in verbatim environment
+"./test.tex", line 15: {argument} missing for \end
+"./test.tex", line 16: missing `\ ' after "a.k.a."
+"./test.tex", line 17: missing `\@' before `.' in "HELLO."
+"./test.tex", line 18: double space at "~ "
+"./test.tex", line 19: \ldots should be \cdots in "+ \ldots +"
+"./test.tex", line 20: \cdots should be \ldots in " , \cdots ,"
+"./test.tex", line 21: Dots should be \cdots in "+ .. +"
+"./test.tex", line 22: Dots should be \ldots in " , .. ,"
+"./test.tex", line 23: Dots should be ellipsis "..."
+"./test.tex", line 24: bad character in label "\label{hello evil world}", see C.10.2
+"./test.tex", line 25: perhaps you should insert a `~' before "\ref"
+"./test.tex", line 26: whitespace before footnote in "\footnote"
+"./test.tex", line 27: Don't use "\above" in LaTeX documents
+"./test.tex", line 28: Fontspecifiers don't take arguments. " \rm"
+"./test.tex", line 29: Do not use @ in LaTeX macro names. "\hello@world"
+"./test.tex", line 30: Use ` to begin quotation, not ' " ''world"
+"./test.tex", line 31: Use ' to end quotation, not ` "hello`"
+"./test.tex", line 32: Whitespace before punctation mark in " ."
+"./test.tex", line 34: <- unmatched "display math end \]"
+"./test.tex", line 33: -> unmatched "math begin \("
+"./test.tex", line 35: \verb should not contain end of line characters
+"./test.tex", line 43: <- unmatched "end of file ./test.tex"
+"./test.tex", line 33: -> unmatched "math begin \("
diff --git a/Build/source/texk/lacheck/test.tex b/Build/source/texk/lacheck/lacheck-1.26/test.tex
index 98b18c1e3b5..98b18c1e3b5 100644
--- a/Build/source/texk/lacheck/test.tex
+++ b/Build/source/texk/lacheck/lacheck-1.26/test.tex
diff --git a/Build/source/texk/lacheck/lacheck.c b/Build/source/texk/lacheck/lacheck.c
index b66ef042b3a..e08abeb4c10 100644
--- a/Build/source/texk/lacheck/lacheck.c
+++ b/Build/source/texk/lacheck/lacheck.c
@@ -2101,9 +2101,6 @@ char *yytext;
/* extern char *realloc(); */
-#define YY_SKIP_YYWRAP
-static int yywrap(void) { return 1; }
-
#ifdef NEED_STRSTR
char *strstr();
#endif
@@ -2170,7 +2167,7 @@ int def_count = 0;
-#line 2174 "lacheck.c"
+#line 2171 "lacheck.c"
#define INITIAL 0
#define B_ENVIRONMENT 1
@@ -2367,10 +2364,10 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 240 "lacheck.l"
+#line 237 "lacheck.l"
-#line 2374 "lacheck.c"
+#line 2371 "lacheck.c"
if ( !(yy_init) )
{
@@ -2485,45 +2482,45 @@ do_action: /* This label is used only to access EOF actions. */
{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
-#line 242 "lacheck.l"
+#line 239 "lacheck.l"
{ ; }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 244 "lacheck.l"
+#line 241 "lacheck.l"
{ ; }
YY_BREAK
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
-#line 246 "lacheck.l"
+#line 243 "lacheck.l"
{ line_count++; }
YY_BREAK
case 4:
/* rule 4 can match eol */
YY_RULE_SETUP
-#line 248 "lacheck.l"
+#line 245 "lacheck.l"
{ line_count++; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 250 "lacheck.l"
+#line 247 "lacheck.l"
{ ; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 252 "lacheck.l"
+#line 249 "lacheck.l"
{ ; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 254 "lacheck.l"
+#line 251 "lacheck.l"
{ ; }
YY_BREAK
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 256 "lacheck.l"
+#line 253 "lacheck.l"
{
if (CG_TYPE != 4 && CG_TYPE != 5) {
if (!(CG_TYPE == 2 && strstr(CG_NAME, "array"))) {
@@ -2538,12 +2535,12 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 268 "lacheck.l"
+#line 265 "lacheck.l"
{ push( "{", 0, line_count);}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 270 "lacheck.l"
+#line 267 "lacheck.l"
{
{
int italic = CG_ITALIC;
@@ -2556,12 +2553,12 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 280 "lacheck.l"
+#line 277 "lacheck.l"
{ g_checkend(0); }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 282 "lacheck.l"
+#line 279 "lacheck.l"
{
{
if (!CG_ITALIC)
@@ -2575,7 +2572,7 @@ YY_RULE_SETUP
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 293 "lacheck.l"
+#line 290 "lacheck.l"
{
{
if (CG_ITALIC)
@@ -2593,7 +2590,7 @@ case 14:
(yy_c_buf_p) = yy_cp -= 2;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 304 "lacheck.l"
+#line 301 "lacheck.l"
{
{
linecount();
@@ -2611,7 +2608,7 @@ case 15:
(yy_c_buf_p) = yy_cp -= 2;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 315 "lacheck.l"
+#line 312 "lacheck.l"
{
{
linecount();
@@ -2625,17 +2622,17 @@ YY_RULE_SETUP
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 326 "lacheck.l"
+#line 323 "lacheck.l"
{ BEGIN(INITIAL); }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 328 "lacheck.l"
+#line 325 "lacheck.l"
{ BEGIN(ICOR); }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 330 "lacheck.l"
+#line 327 "lacheck.l"
{
{
printf("\"%s\", line %d: double \\/ found \"%s\"\n",
@@ -2650,7 +2647,7 @@ case 19:
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 338 "lacheck.l"
+#line 335 "lacheck.l"
{ CG_ITALIC = 1; }
YY_BREAK
case 20:
@@ -2659,7 +2656,7 @@ case 20:
(yy_c_buf_p) = yy_cp = yy_bp + 12;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 340 "lacheck.l"
+#line 337 "lacheck.l"
{
{
if(CG_ITALIC)
@@ -2675,7 +2672,7 @@ case 21:
(yy_c_buf_p) = yy_cp = yy_bp + 12;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 349 "lacheck.l"
+#line 346 "lacheck.l"
{ CG_ITALIC = 0; }
YY_BREAK
case 22:
@@ -2684,7 +2681,7 @@ case 22:
(yy_c_buf_p) = yy_cp = yy_bp + 3;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 351 "lacheck.l"
+#line 348 "lacheck.l"
{
{
if(CG_ITALIC)
@@ -2700,12 +2697,12 @@ case 23:
(yy_c_buf_p) = yy_cp = yy_bp + 3;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 360 "lacheck.l"
+#line 357 "lacheck.l"
{ CG_ITALIC = !CG_ITALIC; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 362 "lacheck.l"
+#line 359 "lacheck.l"
{
{
printf("\"%s\", line %d: do not use \\/ before \"%s\"\n",
@@ -2717,17 +2714,17 @@ YY_RULE_SETUP
case 25:
/* rule 25 can match eol */
YY_RULE_SETUP
-#line 370 "lacheck.l"
+#line 367 "lacheck.l"
{ ; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 372 "lacheck.l"
+#line 369 "lacheck.l"
{ ; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 374 "lacheck.l"
+#line 371 "lacheck.l"
{
{
unput(yytext[0]);
@@ -2736,51 +2733,51 @@ YY_RULE_SETUP
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 380 "lacheck.l"
+#line 377 "lacheck.l"
BEGIN(DEF);
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 382 "lacheck.l"
+#line 379 "lacheck.l"
{ ++def_count; }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 384 "lacheck.l"
+#line 381 "lacheck.l"
{ --def_count;
if(def_count == 0)
BEGIN(INITIAL); }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 388 "lacheck.l"
+#line 385 "lacheck.l"
{ ; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 390 "lacheck.l"
+#line 387 "lacheck.l"
BEGIN(ENV_DEF);
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 392 "lacheck.l"
+#line 389 "lacheck.l"
{ ++def_count; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 394 "lacheck.l"
+#line 391 "lacheck.l"
{ --def_count;
if(def_count == 0)
BEGIN(DEF); }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 398 "lacheck.l"
+#line 395 "lacheck.l"
{ ; }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 400 "lacheck.l"
+#line 397 "lacheck.l"
{
if(CG_TYPE == 4 || CG_TYPE == 5)
print_bad_match(yytext,4);
@@ -2791,12 +2788,12 @@ YY_RULE_SETUP
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 408 "lacheck.l"
+#line 405 "lacheck.l"
{ g_checkend(4); }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 410 "lacheck.l"
+#line 407 "lacheck.l"
{
if(CG_TYPE == 4 || CG_TYPE == 5)
print_bad_match(yytext,5);
@@ -2807,12 +2804,12 @@ YY_RULE_SETUP
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 419 "lacheck.l"
+#line 416 "lacheck.l"
{ g_checkend(5); BEGIN(AFTER_DISPLAY);}
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 421 "lacheck.l"
+#line 418 "lacheck.l"
{
printf( "\"%s\", line %d: punctuation mark \"%s\" should be placed before end of displaymath\n",
@@ -2824,7 +2821,7 @@ YY_RULE_SETUP
case 41:
/* rule 41 can match eol */
YY_RULE_SETUP
-#line 429 "lacheck.l"
+#line 426 "lacheck.l"
{ unput(yytext[0]); BEGIN(INITIAL); }
YY_BREAK
case 42:
@@ -2832,7 +2829,7 @@ case 42:
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 431 "lacheck.l"
+#line 428 "lacheck.l"
{ if (CG_TYPE == 4)
{
printf( "\"%s\", line %d: punctuation mark \"%s\" should be placed after end of math mode\n",
@@ -2843,7 +2840,7 @@ YY_RULE_SETUP
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 439 "lacheck.l"
+#line 436 "lacheck.l"
{
if(CG_TYPE == 5)
@@ -2861,7 +2858,7 @@ YY_RULE_SETUP
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 455 "lacheck.l"
+#line 452 "lacheck.l"
{
if(CG_TYPE == 4)
@@ -2884,7 +2881,7 @@ case 45:
(yy_c_buf_p) = yy_cp = yy_bp + 11;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 471 "lacheck.l"
+#line 468 "lacheck.l"
{
{
push("\\begingroup", 1, line_count);
@@ -2896,7 +2893,7 @@ case 46:
(yy_c_buf_p) = yy_cp = yy_bp + 9;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 477 "lacheck.l"
+#line 474 "lacheck.l"
{
{
g_checkend(1);
@@ -2904,7 +2901,7 @@ YY_RULE_SETUP
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 483 "lacheck.l"
+#line 480 "lacheck.l"
{ BEGIN(B_ENVIRONMENT); }
YY_BREAK
case 48:
@@ -2913,7 +2910,7 @@ case 48:
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 485 "lacheck.l"
+#line 482 "lacheck.l"
{
{
@@ -2924,7 +2921,7 @@ YY_RULE_SETUP
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 493 "lacheck.l"
+#line 490 "lacheck.l"
{
{
if (strcmp( yytext, "verbatim" ) == 0 )
@@ -2951,12 +2948,12 @@ YY_RULE_SETUP
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 517 "lacheck.l"
+#line 514 "lacheck.l"
{ BEGIN(INITIAL); }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 519 "lacheck.l"
+#line 516 "lacheck.l"
{
printf("\"%s\", line %d: TAB character in verbatim environment\n",
file_name, line_count) ;
@@ -2965,18 +2962,18 @@ YY_RULE_SETUP
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 525 "lacheck.l"
+#line 522 "lacheck.l"
{ ; }
YY_BREAK
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
-#line 527 "lacheck.l"
+#line 524 "lacheck.l"
{ ++line_count; }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 530 "lacheck.l"
+#line 527 "lacheck.l"
{
verb_char = yytext[yyleng-1];
BEGIN(VERB);
@@ -2985,7 +2982,7 @@ YY_RULE_SETUP
case 55:
/* rule 55 can match eol */
YY_RULE_SETUP
-#line 535 "lacheck.l"
+#line 532 "lacheck.l"
{
printf("\"%s\", line %d: \\verb should not contain end of line characters\n",
file_name, line_count) ;
@@ -2994,7 +2991,7 @@ YY_RULE_SETUP
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 541 "lacheck.l"
+#line 538 "lacheck.l"
{
if ( *yytext == verb_char )
BEGIN(INITIAL);
@@ -3002,7 +2999,7 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 547 "lacheck.l"
+#line 544 "lacheck.l"
{ BEGIN(E_ENVIRONMENT); }
YY_BREAK
case 58:
@@ -3011,7 +3008,7 @@ case 58:
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 549 "lacheck.l"
+#line 546 "lacheck.l"
{
{
printf("\"%s\", line %d: {argument} missing for \\end\n",
@@ -3021,7 +3018,7 @@ YY_RULE_SETUP
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 557 "lacheck.l"
+#line 554 "lacheck.l"
{
{
e_checkend(2, yytext);
@@ -3033,7 +3030,7 @@ YY_RULE_SETUP
case 60:
/* rule 60 can match eol */
YY_RULE_SETUP
-#line 566 "lacheck.l"
+#line 563 "lacheck.l"
{
{
linecount();
@@ -3046,7 +3043,7 @@ YY_RULE_SETUP
case 61:
/* rule 61 can match eol */
YY_RULE_SETUP
-#line 575 "lacheck.l"
+#line 572 "lacheck.l"
{
{
printf( "\"%s\", line %d: missing `\\ ' after \"%s\"\n",
@@ -3058,7 +3055,7 @@ YY_RULE_SETUP
case 62:
/* rule 62 can match eol */
YY_RULE_SETUP
-#line 583 "lacheck.l"
+#line 580 "lacheck.l"
{
{
linecount();
@@ -3071,7 +3068,7 @@ YY_RULE_SETUP
case 63:
/* rule 63 can match eol */
YY_RULE_SETUP
-#line 592 "lacheck.l"
+#line 589 "lacheck.l"
{
printf("\"%s\", line %d: double space at \"%s\"\n",
@@ -3084,7 +3081,7 @@ YY_RULE_SETUP
case 64:
/* rule 64 can match eol */
YY_RULE_SETUP
-#line 601 "lacheck.l"
+#line 598 "lacheck.l"
{
printf("\"%s\", line %d: \\ldots should be \\cdots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3095,7 +3092,7 @@ YY_RULE_SETUP
case 65:
/* rule 65 can match eol */
YY_RULE_SETUP
-#line 608 "lacheck.l"
+#line 605 "lacheck.l"
{
printf("\"%s\", line %d: \\cdots should be \\ldots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3107,7 +3104,7 @@ YY_RULE_SETUP
case 66:
/* rule 66 can match eol */
YY_RULE_SETUP
-#line 616 "lacheck.l"
+#line 613 "lacheck.l"
{
printf("\"%s\", line %d: Dots should be \\cdots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3118,7 +3115,7 @@ YY_RULE_SETUP
case 67:
/* rule 67 can match eol */
YY_RULE_SETUP
-#line 623 "lacheck.l"
+#line 620 "lacheck.l"
{
printf("\"%s\", line %d: Dots should be \\ldots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3129,7 +3126,7 @@ YY_RULE_SETUP
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 632 "lacheck.l"
+#line 629 "lacheck.l"
{
printf("\"%s\", line %d: Dots should be ellipsis \"%s\"\n",
file_name, line_count, yytext);
@@ -3140,7 +3137,7 @@ YY_RULE_SETUP
case 69:
/* rule 69 can match eol */
YY_RULE_SETUP
-#line 639 "lacheck.l"
+#line 636 "lacheck.l"
{
linecount();
printf("\"%s\", line %d: bad character in label \"%s\", see C.10.2\n",
@@ -3153,7 +3150,7 @@ case 70:
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 645 "lacheck.l"
+#line 642 "lacheck.l"
{
linecount();
BEGIN(INITIAL);
@@ -3165,7 +3162,7 @@ case 71:
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 650 "lacheck.l"
+#line 647 "lacheck.l"
{
linecount();
printf("\"%s\", line %d: perhaps you should insert a `~' before \"%s\"\n",
@@ -3179,7 +3176,7 @@ case 72:
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 657 "lacheck.l"
+#line 654 "lacheck.l"
{
linecount();
printf("\"%s\", line %d: whitespace before footnote in \"%s\"\n",
@@ -3193,7 +3190,7 @@ case 73:
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 665 "lacheck.l"
+#line 662 "lacheck.l"
{
{
printf("\"%s\", line %d: Don't use \"%s\" in LaTeX documents\n",
@@ -3204,19 +3201,19 @@ YY_RULE_SETUP
case 74:
/* rule 74 can match eol */
YY_RULE_SETUP
-#line 672 "lacheck.l"
+#line 669 "lacheck.l"
{ linecount() ;}
YY_BREAK
case 75:
/* rule 75 can match eol */
YY_RULE_SETUP
-#line 673 "lacheck.l"
+#line 670 "lacheck.l"
{ linecount(); }
YY_BREAK
case 76:
/* rule 76 can match eol */
YY_RULE_SETUP
-#line 675 "lacheck.l"
+#line 672 "lacheck.l"
{
{
linecount();
@@ -3229,7 +3226,7 @@ YY_RULE_SETUP
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 685 "lacheck.l"
+#line 682 "lacheck.l"
{
{
printf("\"%s\", line %d: Do not use @ in LaTeX macro names. \"%s\"\n",
@@ -3240,7 +3237,7 @@ YY_RULE_SETUP
case 78:
/* rule 78 can match eol */
YY_RULE_SETUP
-#line 692 "lacheck.l"
+#line 689 "lacheck.l"
{
{
linecount();
@@ -3252,7 +3249,7 @@ YY_RULE_SETUP
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 701 "lacheck.l"
+#line 698 "lacheck.l"
{
{
printf("\"%s\", line %d: Use ' to end quotation, not ` \"%s\"\n",
@@ -3264,7 +3261,7 @@ YY_RULE_SETUP
case 80:
/* rule 80 can match eol */
YY_RULE_SETUP
-#line 710 "lacheck.l"
+#line 707 "lacheck.l"
{
{
printf("\"%s\", line %d: Whitespace before punctation mark in \"%s\"\n",
@@ -3276,28 +3273,28 @@ YY_RULE_SETUP
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 719 "lacheck.l"
+#line 716 "lacheck.l"
{ BEGIN(COMMENT); }
YY_BREAK
case 82:
/* rule 82 can match eol */
YY_RULE_SETUP
-#line 721 "lacheck.l"
+#line 718 "lacheck.l"
{ BEGIN(INITIAL); ++line_count; }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 723 "lacheck.l"
+#line 720 "lacheck.l"
{ ; }
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 726 "lacheck.l"
+#line 723 "lacheck.l"
{ BEGIN(INCLUDE); }
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 728 "lacheck.l"
+#line 725 "lacheck.l"
{
{
if ( strstr(yytext,".sty") == NULL )
@@ -3321,7 +3318,7 @@ case 86:
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
(yy_c_buf_p) = yy_cp = yy_bp + 9;
YY_DO_BEFORE_ACTION; /* set up yytext again */
-#line 747 "lacheck.l"
+#line 744 "lacheck.l"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(B_ENVIRONMENT):
case YY_STATE_EOF(E_ENVIRONMENT):
@@ -3335,7 +3332,7 @@ case YY_STATE_EOF(AFTER_DISPLAY):
case YY_STATE_EOF(ENV_DEF):
case YY_STATE_EOF(ICOR):
case YY_STATE_EOF(GETICOR):
-#line 747 "lacheck.l"
+#line 744 "lacheck.l"
{
if (--istackp < 0)
yyterminate();
@@ -3356,15 +3353,15 @@ case YY_STATE_EOF(GETICOR):
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 766 "lacheck.l"
+#line 763 "lacheck.l"
{ ; }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 767 "lacheck.l"
+#line 764 "lacheck.l"
ECHO;
YY_BREAK
-#line 3368 "lacheck.c"
+#line 3365 "lacheck.c"
case YY_END_OF_BUFFER:
{
@@ -4337,7 +4334,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 767 "lacheck.l"
+#line 764 "lacheck.l"
int main(int argc, char *argv[])
@@ -4398,6 +4395,8 @@ int main(int argc, char *argv[])
return(0);
}
+int yywrap(void) { return 1; }
+
#ifdef NEED_STRSTR
char *
strstr(string, substring)
diff --git a/Build/source/texk/lacheck/lacheck.test b/Build/source/texk/lacheck/lacheck.test
index 1478bd22885..21b1d5ed0e9 100755
--- a/Build/source/texk/lacheck/lacheck.test
+++ b/Build/source/texk/lacheck/lacheck.test
@@ -1,10 +1,10 @@
#! /bin/sh
-# Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org>
+# Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
-./lacheck $srcdir/test.tex | \
- sed -e "s!$srcdir/test.tex!test.tex!g" >test.xout || exit 1
+./lacheck $srcdir/$LACHECK_TREE/test.tex | \
+ sed -e "s!$srcdir/$LACHECK_TREE/test.tex!./test.tex!g" >test.out || exit 1
-diff $srcdir/test.out test.xout || exit 1
+diff $srcdir/$LACHECK_TREE/test.old test.out || exit 1
diff --git a/Build/source/texk/lacheck/test.out b/Build/source/texk/lacheck/test.out
deleted file mode 100644
index 6e2d2e50491..00000000000
--- a/Build/source/texk/lacheck/test.out
+++ /dev/null
@@ -1,33 +0,0 @@
-"test.tex", line 3: possible unwanted space at "{"
-"test.tex", line 4: you may need a \/ before "world"
-"test.tex", line 5: \/ not needed before italic text "world"
-"test.tex", line 6: \/ not needed after non-italic text "hello"
-"test.tex", line 7: double \/ found "\/"
-"test.tex", line 8: do not use \/ before ","
-"test.tex", line 9: punctuation mark "." should be placed before end of displaymath
-"test.tex", line 10: punctuation mark "." should be placed after end of math mode
-"test.tex", line 11: {argument} missing for \begin
-"test.tex", line 13: TAB character in verbatim environment
-"test.tex", line 15: {argument} missing for \end
-"test.tex", line 16: missing `\ ' after "a.k.a."
-"test.tex", line 17: missing `\@' before `.' in "HELLO."
-"test.tex", line 18: double space at "~ "
-"test.tex", line 19: \ldots should be \cdots in "+ \ldots +"
-"test.tex", line 20: \cdots should be \ldots in " , \cdots ,"
-"test.tex", line 21: Dots should be \cdots in "+ .. +"
-"test.tex", line 22: Dots should be \ldots in " , .. ,"
-"test.tex", line 23: Dots should be ellipsis "..."
-"test.tex", line 24: bad character in label "\label{hello evil world}", see C.10.2
-"test.tex", line 25: perhaps you should insert a `~' before "\ref"
-"test.tex", line 26: whitespace before footnote in "\footnote"
-"test.tex", line 27: Don't use "\above" in LaTeX documents
-"test.tex", line 28: Fontspecifiers don't take arguments. " \rm"
-"test.tex", line 29: Do not use @ in LaTeX macro names. "\hello@world"
-"test.tex", line 30: Use ` to begin quotation, not ' " ''world"
-"test.tex", line 31: Use ' to end quotation, not ` "hello`"
-"test.tex", line 32: Whitespace before punctation mark in " ."
-"test.tex", line 34: <- unmatched "display math end \]"
-"test.tex", line 33: -> unmatched "math begin \("
-"test.tex", line 35: \verb should not contain end of line characters
-"test.tex", line 43: <- unmatched "end of file test.tex"
-"test.tex", line 33: -> unmatched "math begin \("