summaryrefslogtreecommitdiff
path: root/Build/source/texk
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-12 07:40:56 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-12 07:40:56 +0000
commit0de829485d275d17f89998dbbbde3f395bf857e6 (patch)
treea620ae3a87daa217c62577d6af846ded189ddcff /Build/source/texk
parentd491195130658a9a332bf79d49dcc40a5af6244f (diff)
texk/web2c: TFtoPL: Non-zero return code in case of problems and more tests
git-svn-id: svn://tug.org/texlive/trunk@36036 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk')
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/ChangeLog5
-rw-r--r--Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/patch-09-funccall7
-rw-r--r--Build/source/texk/web2c/ChangeLog7
-rw-r--r--Build/source/texk/web2c/Makefile.in219
-rw-r--r--Build/source/texk/web2c/am/web.am13
-rwxr-xr-xBuild/source/texk/web2c/pltotf.test2
-rw-r--r--Build/source/texk/web2c/tests/badtfm.tfmbin0 -> 112 bytes
-rw-r--r--Build/source/texk/web2c/tests/badvf.tfmbin0 -> 112 bytes
-rw-r--r--Build/source/texk/web2c/tests/badvf.vfbin0 -> 24 bytes
-rw-r--r--Build/source/texk/web2c/tftopl.ch34
-rwxr-xr-xBuild/source/texk/web2c/tftopl.test18
-rwxr-xr-xBuild/source/texk/web2c/vftovp.test20
-rwxr-xr-xBuild/source/texk/web2c/vptovf.test2
13 files changed, 200 insertions, 127 deletions
diff --git a/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/ChangeLog b/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/ChangeLog
index 485de034728..11386cabcda 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/ChangeLog
+++ b/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-11 Karl Berry <karl@tug.org>
+
+ * patch-09-funccall (new): LLVM/Clang build (or bug) fix.
+ problem found by Richard Koch <koch@math.uoregon.edu>.
+
2015-01-07 Peter Breitenlohner <peb@mppmu.mpg.de>
* Import release 1.9.
diff --git a/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/patch-09-funccall b/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/patch-09-funccall
index 09c5bddb4b1..621cf291758 100644
--- a/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/patch-09-funccall
+++ b/Build/source/texk/dvisvgm/dvisvgm-1.9-PATCHES/patch-09-funccall
@@ -1,7 +1,6 @@
-Index: VectorIterator.h
-===================================================================
---- VectorIterator.h (revision 36021)
-+++ VectorIterator.h (working copy)
+diff -ur dvisvgm-1.9.orig/src/VectorIterator.h dvisvgm-1.9/src/VectorIterator.h
+--- dvisvgm-1.9.orig/src/VectorIterator.h 2014-12-28 10:30:00.000000000 +0100
++++ dvisvgm-1.9/src/VectorIterator.h 2015-01-11 23:23:57.000000000 +0100
@@ -97,7 +97,7 @@
bool operator > (const VectorIterator &it) const {return _pos > it._pos;}
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index 53ca372a59b..9a2dfcbf843 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,3 +1,10 @@
+2015-01-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * tftopl.ch: Non-zero return code in case of problems.
+ * tftopl.test, vftovp.test: Add more tests.
+ * tests/badtfm.tfm, tests/badvf.{tfm,vf}: New test input files.
+ * am/web.am: Adjust for additional test input and output files.
+
2015-01-09 Peter Breitenlohner <peb@mppmu.mpg.de>
* pltotf.ch, vptovf.ch: Send diagnostic messages to stderr.
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 5e80ee04eb0..ca7c5d98eba 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -2083,44 +2083,45 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
$(web_programs:=.web) $(web_programs:=.ch) $(web_tests) \
tests/memdata1.bst tests/memdata2.bst tests/memdata3.bst \
tests/allbib.aux tests/allbib.tex tests/apalike.bst \
- tests/badpl.pl tests/badvpl.vpl tests/batch.tex \
- tests/check.log tests/cmr10.600gf tests/cmr10.pk \
- tests/cmr10.pl tests/cmr10.tfm tests/cmr7.tfm tests/cmr8.tfm \
- tests/cmti10.tfm tests/cmtt10.tfm tests/cmtt8.tfm tests/dict \
- tests/eight.tex tests/end.tex tests/exampl.aux \
- tests/exampl.tex tests/gray.tfm tests/hello.tex tests/io.mf \
- tests/just.texi tests/label.mp tests/label.mpx tests/logo8.tfm \
- tests/longline.aux tests/longline.bib tests/longline.tex \
- tests/longtfm.tex tests/magic.tex tests/memtest.tex \
- tests/mltextst.tex tests/mptest.mp tests/mptest.mpx \
- tests/one.two.mf tests/one.two.mp tests/one.two.tex \
- tests/online.mf tests/openout.mp tests/openout.tex \
- tests/pagenum.dvi tests/pagenum.tex tests/patgen.in \
- tests/patterns tests/plain.mft tests/pplr.dvi tests/pplr.tfm \
- tests/ptmr.dvi tests/ptmr.tfm tests/ptmr.vf tests/ptmr.vpl \
- tests/rpsyr.tfm tests/rptmr.tfm tests/story.dvi \
- tests/testex.err tests/testex.mp tests/testex.tex \
- tests/translate tests/uno.dos tests/xampl.bib ctiedir tiedir \
- lib/mfmpi386.asm lib/mfmpw32.c lib/texmfmp.c texmfmem.h \
- texmfmp-help.h texmfmp.h $(tex_ch_srcs) $(tex_tests) \
- tests/write18-quote.tex $(mf_ch_src) mftalk.h $(mf_tests) \
- triptrap/README triptrap/mftrap.diffs triptrap/mftrap.fot \
- triptrap/mftrap.log triptrap/mftrap.pl triptrap/mftrap1.in \
- triptrap/mftrap2.in triptrap/mftrapin.log \
- triptrap/mptrap.diffs triptrap/mptrap.fot triptrap/mptrap.log \
- triptrap/mptrap.pl triptrap/mptrap.readme triptrap/mptrap1.in \
- triptrap/mptrap2.in triptrap/mptrapin.log triptrap/mtrap.0 \
- triptrap/mtrap.1 triptrap/mtrap.log triptrap/mtrap.mp \
- triptrap/texmf.cnf triptrap/trap.148 triptrap/trap.149 \
- triptrap/trap.150 triptrap/trap.151 triptrap/trap.197 \
- triptrap/trap.200 triptrap/trap.5 triptrap/trap.6 \
- triptrap/trap.mf triptrap/trap.mp triptrap/trap.mpx \
- triptrap/trap.typ triptrap/trapf.pl triptrap/trapman.tex \
- triptrap/trip.diffs triptrap/trip.fot triptrap/trip.log \
- triptrap/trip.pl triptrap/trip.tex triptrap/trip.typ \
- triptrap/trip1.in triptrap/trip2.in triptrap/tripin.log \
- triptrap/tripman.tex triptrap/tripos.tex triptrap/writeo \
- triptrap/writeo.2 mplibdir/ChangeLog $(mpost_web) $(mp_tests) \
+ tests/badpl.pl tests/badtfm.tfm tests/badvf.tfm tests/badvf.vf \
+ tests/badvpl.vpl tests/batch.tex tests/check.log \
+ tests/cmr10.600gf tests/cmr10.pk tests/cmr10.pl \
+ tests/cmr10.tfm tests/cmr7.tfm tests/cmr8.tfm tests/cmti10.tfm \
+ tests/cmtt10.tfm tests/cmtt8.tfm tests/dict tests/eight.tex \
+ tests/end.tex tests/exampl.aux tests/exampl.tex tests/gray.tfm \
+ tests/hello.tex tests/io.mf tests/just.texi tests/label.mp \
+ tests/label.mpx tests/logo8.tfm tests/longline.aux \
+ tests/longline.bib tests/longline.tex tests/longtfm.tex \
+ tests/magic.tex tests/memtest.tex tests/mltextst.tex \
+ tests/mptest.mp tests/mptest.mpx tests/one.two.mf \
+ tests/one.two.mp tests/one.two.tex tests/online.mf \
+ tests/openout.mp tests/openout.tex tests/pagenum.dvi \
+ tests/pagenum.tex tests/patgen.in tests/patterns \
+ tests/plain.mft tests/pplr.dvi tests/pplr.tfm tests/ptmr.dvi \
+ tests/ptmr.tfm tests/ptmr.vf tests/ptmr.vpl tests/rpsyr.tfm \
+ tests/rptmr.tfm tests/story.dvi tests/testex.err \
+ tests/testex.mp tests/testex.tex tests/translate tests/uno.dos \
+ tests/xampl.bib ctiedir tiedir lib/mfmpi386.asm lib/mfmpw32.c \
+ lib/texmfmp.c texmfmem.h texmfmp-help.h texmfmp.h \
+ $(tex_ch_srcs) $(tex_tests) tests/write18-quote.tex \
+ $(mf_ch_src) mftalk.h $(mf_tests) triptrap/README \
+ triptrap/mftrap.diffs triptrap/mftrap.fot triptrap/mftrap.log \
+ triptrap/mftrap.pl triptrap/mftrap1.in triptrap/mftrap2.in \
+ triptrap/mftrapin.log triptrap/mptrap.diffs \
+ triptrap/mptrap.fot triptrap/mptrap.log triptrap/mptrap.pl \
+ triptrap/mptrap.readme triptrap/mptrap1.in triptrap/mptrap2.in \
+ triptrap/mptrapin.log triptrap/mtrap.0 triptrap/mtrap.1 \
+ triptrap/mtrap.log triptrap/mtrap.mp triptrap/texmf.cnf \
+ triptrap/trap.148 triptrap/trap.149 triptrap/trap.150 \
+ triptrap/trap.151 triptrap/trap.197 triptrap/trap.200 \
+ triptrap/trap.5 triptrap/trap.6 triptrap/trap.mf \
+ triptrap/trap.mp triptrap/trap.mpx triptrap/trap.typ \
+ triptrap/trapf.pl triptrap/trapman.tex triptrap/trip.diffs \
+ triptrap/trip.fot triptrap/trip.log triptrap/trip.pl \
+ triptrap/trip.tex triptrap/trip.typ triptrap/trip1.in \
+ triptrap/trip2.in triptrap/tripin.log triptrap/tripman.tex \
+ triptrap/tripos.tex triptrap/writeo triptrap/writeo.2 \
+ mplibdir/ChangeLog $(mpost_web) $(mp_tests) \
pmpostdir/ChangeLog $(pmpost_web) $(pmpost_tests) \
$(upmpost_tests) pmpostdir/tests/psample.mp $(libmplib_web) \
$(etex_web_srcs) $(etex_ch_srcs) etexdir/ChangeLog \
@@ -2278,47 +2279,50 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
omegaware/ovf2ovp.up omegaware/ovf2ovp.ch \
omegaware/ovp2ovf.web omegaware/ovp2ovf.up \
omegaware/ovp2ovf.ch $(OTANGLE_tests) $(OMFONTS_tests) \
- omegaware/tests/charwd-r.pl omegaware/tests/charwd-v.vpl \
- omegaware/tests/check.ofm omegaware/tests/check.opl \
- omegaware/tests/checked.opl omegaware/tests/level1.opl \
- omegaware/tests/ligall.opl omegaware/tests/ligbch.opl \
- omegaware/tests/ligbdy.opl omegaware/tests/ligblb.opl \
- omegaware/tests/ligblv.opl omegaware/tests/ligblv.ovp \
- omegaware/tests/ligloop1.ofm omegaware/tests/ligloop1.opl \
- omegaware/tests/ligloop2.opl omegaware/tests/liguse.opl \
- omegaware/tests/liguse1.opl omegaware/tests/liguse2.opl \
- omegaware/tests/ofontd1.dvi omegaware/tests/ofontd1.typ \
- omegaware/tests/ofontd2.dvi omegaware/tests/ofontd2.typ \
- omegaware/tests/ofontd3.dvi omegaware/tests/ofontd3.typ \
- omegaware/tests/ofontr1.vf omegaware/tests/ofontr2.ovf \
- omegaware/tests/ofontr3.ovf omegaware/tests/ofontv4.vf \
- omegaware/tests/ofontv5.ovf omegaware/tests/ofontv6.ovf \
- omegaware/tests/ofontd0.dtl omegaware/tests/ofontd0.dvi \
- omegaware/tests/ofontd0.typ omegaware/tests/ofontr0.tfm \
- omegaware/tests/ofontr1.tfm omegaware/tests/ofontr2.ofm \
- omegaware/tests/ofontr3.ofm omegaware/tests/ofontv4.tfm \
- omegaware/tests/ofontv5.ofm omegaware/tests/ofontv6.ofm \
- omegaware/tests/ofontr0.pl omegaware/tests/ofontr1.pl \
- omegaware/tests/ofontr1.vpl omegaware/tests/ofontr2.opl \
- omegaware/tests/ofontr2.ovp omegaware/tests/ofontr3.opl \
- omegaware/tests/ofontr3.ovp omegaware/tests/ofontv4.pl \
- omegaware/tests/ofontv4.vpl omegaware/tests/ofontv5.opl \
- omegaware/tests/ofontv5.ovp omegaware/tests/ofontv6.opl \
- omegaware/tests/ofontv6.ovp omegaware/tests/Cherokee.pl \
- omegaware/tests/OCherokee.ovp omegaware/tests/inbmp.opl \
- omegaware/tests/overbmp.opl omegaware/tests/overbmp.ovp \
- omegaware/tests/realnum.opl omegaware/tests/realnum.out \
- omegaware/tests/repeat.opl omegaware/tests/repeated.opl \
- omegaware/tests/sample.out omegaware/tests/sample.ovp \
- omegaware/tests/sample0-h.opl omegaware/tests/shorten.opl \
- omegaware/tests/specialhex.ovp omegaware/tests/vrepeat0.ofm \
- omegaware/tests/vrepeat0.opl omegaware/tests/vrepeat1.ofm \
- omegaware/tests/vrepeat1.opl omegaware/tests/vrepeat1.ovf \
- omegaware/tests/vrepeat1.ovp omegaware/tests/arabicr.pl \
- omegaware/tests/arabic.ovp $(aleph_web_srcs) $(aleph_ch_srcs) \
- alephdir/ChangeLog alephdir/aleph.defines \
- alephdir/aleph.version $(aleph_tests) synctexdir/ChangeLog \
- synctexdir/README.txt synctexdir/synctex_parser_readme.txt \
+ omegaware/tests/badofm.ofm omegaware/tests/badopl.opl \
+ omegaware/tests/badovf.ofm omegaware/tests/badovf.ovf \
+ omegaware/tests/badovp.ovp omegaware/tests/charwd-r.pl \
+ omegaware/tests/charwd-v.vpl omegaware/tests/check.ofm \
+ omegaware/tests/check.opl omegaware/tests/checked.opl \
+ omegaware/tests/level1.opl omegaware/tests/ligall.opl \
+ omegaware/tests/ligbch.opl omegaware/tests/ligbdy.opl \
+ omegaware/tests/ligblb.opl omegaware/tests/ligblv.opl \
+ omegaware/tests/ligblv.ovp omegaware/tests/ligloop1.ofm \
+ omegaware/tests/ligloop1.opl omegaware/tests/ligloop2.opl \
+ omegaware/tests/liguse.opl omegaware/tests/liguse1.opl \
+ omegaware/tests/liguse2.opl omegaware/tests/ofontd1.dvi \
+ omegaware/tests/ofontd1.typ omegaware/tests/ofontd2.dvi \
+ omegaware/tests/ofontd2.typ omegaware/tests/ofontd3.dvi \
+ omegaware/tests/ofontd3.typ omegaware/tests/ofontr1.vf \
+ omegaware/tests/ofontr2.ovf omegaware/tests/ofontr3.ovf \
+ omegaware/tests/ofontv4.vf omegaware/tests/ofontv5.ovf \
+ omegaware/tests/ofontv6.ovf omegaware/tests/ofontd0.dtl \
+ omegaware/tests/ofontd0.dvi omegaware/tests/ofontd0.typ \
+ omegaware/tests/ofontr0.tfm omegaware/tests/ofontr1.tfm \
+ omegaware/tests/ofontr2.ofm omegaware/tests/ofontr3.ofm \
+ omegaware/tests/ofontv4.tfm omegaware/tests/ofontv5.ofm \
+ omegaware/tests/ofontv6.ofm omegaware/tests/ofontr0.pl \
+ omegaware/tests/ofontr1.pl omegaware/tests/ofontr1.vpl \
+ omegaware/tests/ofontr2.opl omegaware/tests/ofontr2.ovp \
+ omegaware/tests/ofontr3.opl omegaware/tests/ofontr3.ovp \
+ omegaware/tests/ofontv4.pl omegaware/tests/ofontv4.vpl \
+ omegaware/tests/ofontv5.opl omegaware/tests/ofontv5.ovp \
+ omegaware/tests/ofontv6.opl omegaware/tests/ofontv6.ovp \
+ omegaware/tests/Cherokee.pl omegaware/tests/OCherokee.ovp \
+ omegaware/tests/inbmp.opl omegaware/tests/overbmp.opl \
+ omegaware/tests/overbmp.ovp omegaware/tests/realnum.opl \
+ omegaware/tests/realnum.out omegaware/tests/repeat.opl \
+ omegaware/tests/repeated.opl omegaware/tests/sample.out \
+ omegaware/tests/sample.ovp omegaware/tests/sample0-h.opl \
+ omegaware/tests/shorten.opl omegaware/tests/specialhex.ovp \
+ omegaware/tests/vrepeat0.ofm omegaware/tests/vrepeat0.opl \
+ omegaware/tests/vrepeat1.ofm omegaware/tests/vrepeat1.opl \
+ omegaware/tests/vrepeat1.ovf omegaware/tests/vrepeat1.ovp \
+ omegaware/tests/arabicr.pl omegaware/tests/arabic.ovp \
+ $(aleph_web_srcs) $(aleph_ch_srcs) alephdir/ChangeLog \
+ alephdir/aleph.defines alephdir/aleph.version $(aleph_tests) \
+ synctexdir/ChangeLog synctexdir/README.txt \
+ synctexdir/synctex_parser_readme.txt \
synctexdir/synctex_parser_version.txt synctexdir/tests \
synctexdir/synctex-common.h synctexdir/synctex.c \
synctexdir/synctex.defines synctexdir/synctex.h \
@@ -2343,11 +2347,11 @@ DISTCLEANFILES = $(EXTRA_LIBRARIES) CXXLD.sh tangle.c tangle.h \
tests/xpagenum.typ cmr10.dvi tests/xcmr10.dvi cmr10.pk \
tests/xcmr10.pk tests/xcmr10.gft1 tests/xcmr10.gft2 io.tex \
tests/io.tex tests/xpatout pattmp.4 cmr10.gf \
- tests/xcmr10.600gf tests/xcmr10.pktyp tests/badpl.* \
- tests/xcmr10.tfm tests/xtexpool.typ tests/xcmr10.pl \
- tests/xptmr.vpl tests/badvpl.* tests/yptmr*.* pooltype.tex \
- ctie.c cweave.c tie.c ctie.outc ctie.outm common.tex \
- common.scn common.idx tie.outc tie.outm $(nodist_tex_SOURCES) \
+ tests/xcmr10.600gf tests/xcmr10.pktyp badpl.* tests/xcmr10.tfm \
+ tests/xtexpool.typ badtfm.* tests/xcmr10*.pl badvf.* \
+ tests/xptmr*.vpl badvpl.* tests/yptmr*.* pooltype.tex ctie.c \
+ cweave.c tie.c ctie.outc ctie.outm common.tex common.scn \
+ common.idx tie.outc tie.outm $(nodist_tex_SOURCES) \
tex-final.ch tex-web2c tex.p tex.pool tex-tangle trip.diffs \
write18-quote.log mftrap.diffs $(nodist_libmf_a_SOURCES) \
mf-final.ch mf-web2c mf.p mf.pool mf-tangle \
@@ -2389,22 +2393,22 @@ DISTCLEANFILES = $(EXTRA_LIBRARIES) CXXLD.sh tangle.c tangle.h \
bug73.log bug73.out bug73.tex $(omegaware_programs:=.c) \
$(omegaware_programs:=.h) $(omegaware_programs:=.p) \
$(omegaware_programs:=-web2c) ofm2opl.web opl2ofm.web \
- ovf2ovp.web ovp2ovf.web omegaware/tests/charwdr.* \
- omegaware/tests/charwdv.* omegaware/tests/xcheck* \
- omegaware/tests/xlevel1.* omegaware/tests/xlig*.* ofont*vf \
- omegaware/tests/xofont* omegaware/tests/Cherokee.tfm \
- omegaware/tests/OCherokee.ofm omegaware/tests/OCherokee.opl \
- omegaware/tests/OCherokee.ovf omegaware/tests/xCherokee.* \
- omegaware/tests/xOCherokee.* omegaware/tests/xinbmp* \
- omegaware/tests/xoverbmp* ocftest.* omegaware/tests/xrealnum.* \
- omegaware/tests/xrepeated.* omegaware/tests/sample*.ofm \
- omegaware/tests/sample*.ovf omegaware/tests/sample1-h.opl \
- omegaware/tests/xsample*.out omegaware/tests/shortend.* \
- omegaware/tests/specialhex.ofm omegaware/tests/specialhex.opl \
- omegaware/tests/specialhex.ovf omegaware/tests/xspecialhex.* \
- omegaware/tests/yrepeat* omegaware/tests/*yarabic* \
- $(nodist_aleph_SOURCES) aleph.web aleph.ch aleph-web2c aleph.p \
- aleph.pool aleph-tangle
+ ovf2ovp.web ovp2ovf.web omegaware/bad*.* \
+ omegaware/tests/charwdr.* omegaware/tests/charwdv.* \
+ omegaware/tests/xcheck* omegaware/tests/xlevel1.* \
+ omegaware/tests/xlig*.* ofont*vf omegaware/tests/xofont* \
+ omegaware/tests/Cherokee.tfm omegaware/tests/OCherokee.ofm \
+ omegaware/tests/OCherokee.opl omegaware/tests/OCherokee.ovf \
+ omegaware/tests/xCherokee.* omegaware/tests/xOCherokee.* \
+ ocftest.* omegaware/tests/xinbmp* omegaware/tests/xoverbmp* \
+ omegaware/tests/xrealnum.* omegaware/tests/xrepeated.* \
+ omegaware/tests/sample*.ofm omegaware/tests/sample*.ovf \
+ omegaware/tests/sample1-h.opl omegaware/tests/xsample*.out \
+ omegaware/tests/shortend.* omegaware/tests/specialhex.ofm \
+ omegaware/tests/specialhex.opl omegaware/tests/specialhex.ovf \
+ omegaware/tests/xspecialhex.* omegaware/tests/yrepeat* \
+ omegaware/tests/*yarabic* $(nodist_aleph_SOURCES) aleph.web \
+ aleph.ch aleph-web2c aleph.p aleph.pool aleph-tangle
CLEANFILES =
TRIPTRAP_CLEAN = $(am__append_9) $(am__append_17) $(am__append_26) \
$(am__append_43) $(am__append_49) $(am__append_55) \
@@ -3443,13 +3447,14 @@ nodist_wovp2ovf_SOURCES = ovp2ovf.c ovp2ovf.h
OTANGLE_tests = omegaware/odvicopy.test omegaware/odvitype.test \
omegaware/otangle.test
-OMFONTS_tests = omegaware/charwd.test omegaware/check.test \
- omegaware/help.test omegaware/level1.test \
- omegaware/ligkern.test omegaware/ofonts.test \
- omegaware/omfonts.test omegaware/overbmp.test \
- omegaware/realnum.test omegaware/repeat.test \
- omegaware/selectfont.test omegaware/shorten.test \
- omegaware/specialhex.test omegaware/vrepeat.test \
+OMFONTS_tests = omegaware/bad.test omegaware/charwd.test \
+ omegaware/check.test omegaware/help.test \
+ omegaware/level1.test omegaware/ligkern.test \
+ omegaware/ofonts.test omegaware/omfonts.test \
+ omegaware/overbmp.test omegaware/realnum.test \
+ omegaware/repeat.test omegaware/selectfont.test \
+ omegaware/shorten.test omegaware/specialhex.test \
+ omegaware/version.test omegaware/vrepeat.test \
omegaware/yannis.test
al_tangle = WEBINPUTS=.:$(srcdir) AM_V_P=$(AM_V_P) $(SHELL) ./tangle-sh $@ $(OTANGLE)
diff --git a/Build/source/texk/web2c/am/web.am b/Build/source/texk/web2c/am/web.am
index c7fa2b522b7..2448409ca34 100644
--- a/Build/source/texk/web2c/am/web.am
+++ b/Build/source/texk/web2c/am/web.am
@@ -1,6 +1,6 @@
## texk/web2c/am/web.am: Makefile fragment for normal web programs (except tangle).
##
-## Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
web_programs = bibtex dvicopy dvitype gftodvi gftopk gftype mft \
@@ -183,15 +183,15 @@ DISTCLEANFILES += cmr10.gf tests/xcmr10.600gf
## pktype.test
DISTCLEANFILES += tests/xcmr10.pktyp
## pltotf.test
-DISTCLEANFILES += tests/badpl.* tests/xcmr10.tfm
+DISTCLEANFILES += badpl.* tests/xcmr10.tfm
## pooltype.test
DISTCLEANFILES += tests/xtexpool.typ
## tftopl.test
-DISTCLEANFILES += tests/xcmr10.pl
+DISTCLEANFILES += badtfm.* tests/xcmr10*.pl
## vftovp.test
-DISTCLEANFILES += tests/xptmr.vpl
+DISTCLEANFILES += badvf.* tests/xptmr*.vpl
## vptovf.test
-DISTCLEANFILES += tests/badvpl.* tests/yptmr*.*
+DISTCLEANFILES += badvpl.* tests/yptmr*.*
## weave.test
DISTCLEANFILES += pooltype.tex
@@ -202,6 +202,9 @@ EXTRA_DIST += \
tests/allbib.tex \
tests/apalike.bst \
tests/badpl.pl \
+ tests/badtfm.tfm \
+ tests/badvf.tfm \
+ tests/badvf.vf \
tests/badvpl.vpl \
tests/batch.tex \
tests/check.log \
diff --git a/Build/source/texk/web2c/pltotf.test b/Build/source/texk/web2c/pltotf.test
index 1f071e5d700..5e8aeeb38ee 100755
--- a/Build/source/texk/web2c/pltotf.test
+++ b/Build/source/texk/web2c/pltotf.test
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
+# Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
test -d tests || mkdir -p tests
diff --git a/Build/source/texk/web2c/tests/badtfm.tfm b/Build/source/texk/web2c/tests/badtfm.tfm
new file mode 100644
index 00000000000..4c114c1124c
--- /dev/null
+++ b/Build/source/texk/web2c/tests/badtfm.tfm
Binary files differ
diff --git a/Build/source/texk/web2c/tests/badvf.tfm b/Build/source/texk/web2c/tests/badvf.tfm
new file mode 100644
index 00000000000..1a49aa241bb
--- /dev/null
+++ b/Build/source/texk/web2c/tests/badvf.tfm
Binary files differ
diff --git a/Build/source/texk/web2c/tests/badvf.vf b/Build/source/texk/web2c/tests/badvf.vf
new file mode 100644
index 00000000000..cdea3200598
--- /dev/null
+++ b/Build/source/texk/web2c/tests/badvf.vf
Binary files differ
diff --git a/Build/source/texk/web2c/tftopl.ch b/Build/source/texk/web2c/tftopl.ch
index 2a8f44a93b0..3287df32fc5 100644
--- a/Build/source/texk/web2c/tftopl.ch
+++ b/Build/source/texk/web2c/tftopl.ch
@@ -50,6 +50,11 @@
program TFtoPL(@!tfm_file,@!pl_file,@!output);
@z
+@x [2] No global label.
+label @<Labels in the outer block@>@/
+@y
+@z
+
@x [still 2] Don't print banner until later (and unless verbose).
procedure initialize; {this procedure gets things started properly}
begin print_ln(banner);@/
@@ -65,6 +70,11 @@ procedure initialize; {this procedure gets things started properly}
parse_arguments;
@z
+@x [3] No global label.
+@<Labels...@>=final_end;
+@y
+@z
+
@x [5] Increase sizes to match vptovf.
@!tfm_size=30000; {maximum length of |tfm| data, in bytes}
@!lig_size=5000; {maximum length of |lig_kern| program, in words}
@@ -243,6 +253,12 @@ f:=((tfm[k+1] mod 16)*intcast(@'400)+tfm[k+2])*@'400+tfm[k+3];
@d class == class_var
@z
+@x [90]
+ goto final_end;
+@y
+ uexit(1);;
+@z
+
% [90] Change name of the function `f'.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@x
@@ -251,6 +267,12 @@ f:=((tfm[k+1] mod 16)*intcast(@'400)+tfm[k+2])*@'400+tfm[k+3];
r:=f_fn(r,(hash[r]-1)div 256,(hash[r]-1)mod 256);
@z
+@x [90]
+ out('(INFINITE LIGATURE LOOP MUST BE BROKEN!)'); goto final_end;
+@y
+ out('(INFINITE LIGATURE LOOP MUST BE BROKEN!)'); uexit(1);
+@z
+
% [94] web2c can't handle these mutually recursive procedures.
% But let's do a fake definition of f here, so that it gets into web2c's
% symbol table. We also have to change the name, because there is also a
@@ -284,6 +306,12 @@ f:=lig_z[h];
f_fn:=lig_z[h];
@z
+@x [99]
+if not organize then goto final_end;
+@y
+if not organize then uexit(1);
+@z
+
% [99] No final newline unless verbose.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@x
@@ -292,6 +320,12 @@ do_characters; print_ln('.');@/
do_characters; if verbose then print_ln('.');@/
@z
+@x [99]
+final_end:end.
+@y
+end.
+@z
+
@x [100] System-dependent changes.
This section should be replaced, if necessary, by changes to the program
that are necessary to make \.{TFtoPL} work at a particular installation.
diff --git a/Build/source/texk/web2c/tftopl.test b/Build/source/texk/web2c/tftopl.test
index 0241b542cbd..b9a87fed4ac 100755
--- a/Build/source/texk/web2c/tftopl.test
+++ b/Build/source/texk/web2c/tftopl.test
@@ -1,14 +1,24 @@
#! /bin/sh
-# Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
+# Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
test -d tests || mkdir -p tests
./tftopl -char=foo -help || exit 1
-TEXMFCNF=$srcdir/../kpathsea \
- ./tftopl -verbose $srcdir/tests/cmr10 tests/xcmr10 || exit 1
+./tftopl -version || exit 1
-diff $srcdir/tests/cmr10.pl tests/xcmr10.pl || exit 1
+TEXMFCNF=$srcdir/../kpathsea
+export TEXMFCNF
+
+./tftopl -verbose $srcdir/tests/badtfm && exit 1
+
+./tftopl -verbose $srcdir/tests/cmr10 tests/xcmr10a || exit 1
+
+diff $srcdir/tests/cmr10.pl tests/xcmr10a.pl || exit 1
+
+./tftopl -verbose $srcdir/tests/cmr10 >tests/xcmr10b.pl || exit 1
+
+diff $srcdir/tests/cmr10.pl tests/xcmr10b.pl || exit 1
diff --git a/Build/source/texk/web2c/vftovp.test b/Build/source/texk/web2c/vftovp.test
index c4a84b8bd20..6e8b01af288 100755
--- a/Build/source/texk/web2c/vftovp.test
+++ b/Build/source/texk/web2c/vftovp.test
@@ -1,15 +1,25 @@
#! /bin/sh
-# Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
+# Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
test -d tests || mkdir -p tests
./vftovp -char=bar -help || exit 1
-TEXMFCNF=$srcdir/../kpathsea \
- TFMFONTS=$srcdir/tests \
- ./vftovp -verbose $srcdir/tests/ptmr ptmr tests/xptmr || exit 1
+./vftovp -version || exit 1
-diff $srcdir/tests/ptmr.vpl tests/xptmr.vpl || exit 1
+TEXMFCNF=$srcdir/../kpathsea
+TFMFONTS=$srcdir/tests
+export TEXMFCNF TFMFONTS
+
+./vftovp -verbose $srcdir/tests/badvf && exit 1
+
+./vftovp -verbose $srcdir/tests/ptmr ptmr tests/xptmra || exit 1
+
+diff $srcdir/tests/ptmr.vpl tests/xptmra.vpl || exit 1
+
+./vftovp -verbose $srcdir/tests/ptmr ptmr >tests/xptmrb.vpl || exit 1
+
+diff $srcdir/tests/ptmr.vpl tests/xptmrb.vpl || exit 1
diff --git a/Build/source/texk/web2c/vptovf.test b/Build/source/texk/web2c/vptovf.test
index 3f54fb0b45f..55dfdb26fed 100755
--- a/Build/source/texk/web2c/vptovf.test
+++ b/Build/source/texk/web2c/vptovf.test
@@ -1,6 +1,6 @@
#! /bin/sh
-# Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
+# Copyright (C) 2009-2015 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
test -d tests || mkdir -p tests