summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2011-01-19 16:29:28 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2011-01-19 16:29:28 +0000
commit04c2cc3e4fd3c33cb2dd3b2e2c1b7067dd9204dc (patch)
tree314efc9986dab5ab1cc2756c2b5f3a2474b6f4d7 /Build/source
parentba0525ab1357402db941d4e2e6da5cd579ab2056 (diff)
texmf.cnf for (e-)pTeX's trip test
git-svn-id: svn://tug.org/texlive/trunk@21125 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r--Build/source/texk/web2c/Makefile.in14
-rw-r--r--Build/source/texk/web2c/eptexdir/ChangeLog.TL2
-rw-r--r--Build/source/texk/web2c/eptexdir/am/eptex.am6
-rwxr-xr-xBuild/source/texk/web2c/eptexdir/eptrip.test9
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs (renamed from Build/source/texk/web2c/eptexdir/eptrip.diffs)bin28324 -> 25797 bytes
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/etrip.log4281
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/etrip.tex1249
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf40
-rw-r--r--Build/source/texk/web2c/eptexdir/fam256.ch2
-rw-r--r--Build/source/texk/web2c/etexdir/etrip/texmf.cnf15
-rw-r--r--Build/source/texk/web2c/ptexdir/am/ptex.am2
-rwxr-xr-xBuild/source/texk/web2c/ptexdir/ptrip.test7
-rw-r--r--Build/source/texk/web2c/ptexdir/ptrip/ptrip.diffs (renamed from Build/source/texk/web2c/ptexdir/ptrip.diffs)bin9630 -> 9543 bytes
-rw-r--r--Build/source/texk/web2c/ptexdir/ptrip/texmf.cnf41
14 files changed, 5643 insertions, 25 deletions
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 59f62a56532..de436bebc3e 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -1294,13 +1294,15 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
ptexdir/tests/goth10.tfm ptexdir/tests/sample.dvi \
ptexdir/tests/min10.pl ptexdir/tests/min10.tfm \
ptexdir/tests/tmin10.pl ptexdir/tests/tmin10.tfm \
- ptexdir/ptrip.diffs $(eptex_tests) $(eptex_web_srcs) \
- $(eptex_ch_srcs) eptexdir/eptex.defines eptexdir/ChangeLog \
+ ptexdir/ptrip/ptrip.diffs ptexdir/ptrip/texmf.cnf \
+ $(eptex_tests) $(eptex_web_srcs) $(eptex_ch_srcs) \
+ eptexdir/eptex.defines eptexdir/ChangeLog \
eptexdir/ChangeLog.TL eptexdir/README.txt \
- eptexdir/eptrip.diffs $(pdftex_ch_srcs) etexdir/etex.ch \
- pdftexdir/pdftex.defines pdftexdir/pdftex.h \
- pdftexdir/ChangeLog pdftexdir/NEWS pdftexdir/README \
- pdftexdir/change-files.txt $(pdftex_tests) \
+ eptexdir/eptrip/eptrip.diffs eptexdir/eptrip/etrip.log \
+ eptexdir/eptrip/etrip.tex eptexdir/eptrip/texmf.cnf \
+ $(pdftex_ch_srcs) etexdir/etex.ch pdftexdir/pdftex.defines \
+ pdftexdir/pdftex.h pdftexdir/ChangeLog pdftexdir/NEWS \
+ pdftexdir/README pdftexdir/change-files.txt $(pdftex_tests) \
pdftexdir/regex/COPYING.LIB pdftexdir/regex/README \
luatexdir/ptexlib.h luatexdir/getluatexsvnversion.sh \
$(luatex_tests) luatexdir/lua51/Makefile \
diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog.TL b/Build/source/texk/web2c/eptexdir/ChangeLog.TL
index b5815a4d959..3c645b56958 100644
--- a/Build/source/texk/web2c/eptexdir/ChangeLog.TL
+++ b/Build/source/texk/web2c/eptexdir/ChangeLog.TL
@@ -8,6 +8,8 @@ ChangeLog.TL: TeX Live (TL) changes for e-pTeX
* eptex.ech: Make \lastnodetype consistent with e-TeX, based on
code from Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>.
+ * fam256.ch (max_reg_help_line): Use correct max_reg_num value.
+
2011-01-17 Peter Breitenlohner <peb@mppmu.mpg.de>
* eptex.ech: banner_k==banner for e-pTeX.
diff --git a/Build/source/texk/web2c/eptexdir/am/eptex.am b/Build/source/texk/web2c/eptexdir/am/eptex.am
index b1b1266d954..5b399622111 100644
--- a/Build/source/texk/web2c/eptexdir/am/eptex.am
+++ b/Build/source/texk/web2c/eptexdir/am/eptex.am
@@ -101,7 +101,11 @@ endif EPTEX
## Test data and results
##
## eptexdir/eptrip.test
-EXTRA_DIST += eptexdir/eptrip.diffs
+EXTRA_DIST += \
+ eptexdir/eptrip/eptrip.diffs \
+ eptexdir/eptrip/etrip.log \
+ eptexdir/eptrip/etrip.tex \
+ eptexdir/eptrip/texmf.cnf
eptrip.diffs: eptex$(EXEEXT)
$(triptrap_diffs) $@
.PHONY: eptrip-clean
diff --git a/Build/source/texk/web2c/eptexdir/eptrip.test b/Build/source/texk/web2c/eptexdir/eptrip.test
index ea4066dfcbc..b545d9667c4 100755
--- a/Build/source/texk/web2c/eptexdir/eptrip.test
+++ b/Build/source/texk/web2c/eptexdir/eptrip.test
@@ -6,13 +6,14 @@
testdir=$srcdir/triptrap
etestdir=$srcdir/etexdir/etrip
+eptestdir=$srcdir/eptexdir/eptrip
-TEXMFCNF=$testdir; export TEXMFCNF
+TEXMFCNF=$eptestdir; export TEXMFCNF
dvitype_args="-output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'"
echo ">>> Running e-TRIP test for e-pTeX." >&2
-echo ">>> See $srcdir/eptexdir/eptrip.diffs for example of acceptable diffs." >&2
+echo ">>> See $eptestdir/eptrip.diffs for example of acceptable diffs." >&2
rm -f trip.tfm trip.pl trip.tex trip.log trip.fmt trip.log trip.dvi \
cptripin.fot cptripin.log cptrip.fot cptrip.log cptrip.typ \
@@ -92,7 +93,7 @@ echo "*** e-TeX specific part of e-TRIP test for e-pTeX ***."
diff $etestdir/etrip.pl etrip.pl || is_OK=false
# get same filename in log
-$LN_S $etestdir/etrip.tex .
+$LN_S $eptestdir/etrip.tex .
./eptex --progname=epinitex --ini <$etestdir/etrip2.in >eptripin.fot
sed "$P_SED1" etrip.log > eptripin.log || exit 1
@@ -105,7 +106,7 @@ diff $etestdir/etrip.fot eptrip.fot
# We use $DIFF instead of `diff' only for those files where there
# might actually be legitimate numerical differences.
-$DIFF $DIFFFLAGS $etestdir/etrip.log eptrip.log
+$DIFF $DIFFFLAGS $eptestdir/etrip.log eptrip.log
eval ./dvitype $dvitype_args etrip.dvi >eptrip.typ || exit 1
$DIFF $DIFFFLAGS $etestdir/etrip.typ eptrip.typ
diff --git a/Build/source/texk/web2c/eptexdir/eptrip.diffs b/Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs
index b2f1fec66b2..353816d2ec9 100644
--- a/Build/source/texk/web2c/eptexdir/eptrip.diffs
+++ b/Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs
Binary files differ
diff --git a/Build/source/texk/web2c/eptexdir/eptrip/etrip.log b/Build/source/texk/web2c/eptexdir/eptrip/etrip.log
new file mode 100644
index 00000000000..a838b070ad6
--- /dev/null
+++ b/Build/source/texk/web2c/eptexdir/eptrip/etrip.log
@@ -0,0 +1,4281 @@
+This is e-TeX, Version 3.141592-2.2 (preloaded format=etrip 2004.9.6) 6 SEP 2004 23:13
+entering extended mode
+**&etrip etrip
+(etrip.tex e-IniTeX: e-Trip format loaded.
+This is the e-Trip test [2004-09-06] for e-TeX v3.141592-2.2.
+(You are using e-TeX version/revision 2.2)
+Missing character: There is no b in font nullfont!
+
+Missing character: There is no c in font nullfont!
+
+Checking input/output of new csnames:
+e-TeX Version 2 has 66 new csnames:
+> \3=macro:
+-> \eTeXversion \eTeXrevision
+ \showgroups \showtokens
+ \tracingassigns \tracinggroups
+ \tracingifs \tracingscantokens
+ \currentgrouplevel \currentgrouptype
+ \middle \lastnodetype
+ \TeXXeTstate \beginL
+ \endL \beginR
+ \endR \predisplaydirection
+ \marks \topmarks
+ \firstmarks \botmarks
+ \splitfirstmarks \splittopmarks
+ \protected \unexpanded
+ \detokenize \scantokens
+ \readline \unless
+ \ifdefined \ifcsname
+ \everyeof \interactionmode
+ \currentiflevel \currentiftype
+ \currentifbranch \showifs
+ \fontcharwd \fontcharht
+ \fontchardp \fontcharic
+ \iffontchar \tracingnesting
+ \parshapelength \parshapeindent
+ \parshapedimen \numexpr
+ \dimexpr \glueexpr
+ \muexpr \mutoglue
+ \gluetomu \gluestretchorder
+ \glueshrinkorder \gluestretch
+ \glueshrink \savingvdiscards
+ \pagediscards \splitdiscards
+ \lastlinefit \savinghyphcodes
+ \interlinepenalties \clubpenalties
+ \widowpenalties \displaywidowpenalties
+.
+l.181 \show\3
+ \endgroup
+
+Checking creation and printing for new node types:
+
+Overfull \hbox (38.99965pt too wide) in paragraph at lines 195--197
+[]\trip a[]b[]p$q [] t$u[][]
+
+\hbox(17.0+3.00002)x0.0
+.\hbox(0.0+0.0)x0.0
+.\trip a
+.\beginL
+.\trip b
+.\beginR
+.\trip p
+.\mathon
+.\trip q
+.\glue(\thinmuskip) 4.99988 plus 0.99997
+.\hbox(17.0+3.00002)x23.9999
+..\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+...\bigtrip a
+..\trip r
+..\glue(\thinmuskip) 4.99988 plus 0.99997
+..\hbox(16.0+4.00002)x6.0, shifted -1.0
+...\bigtrip B
+..\trip s
+..\vbox(7.0+11.0)x7.0, shifted -9.0
+...\hbox(7.0+1.0)x3.0
+....\trip A
+...\hbox(8.0+2.0)x3.0
+....\trip B
+.\glue(\thinmuskip) 4.99988 plus 0.99997
+.\trip t
+.\mathoff
+.\trip r (ligature u|)
+.\penalty 10000
+.\glue(\parfillskip) 0.0
+.\endR
+.\endL
+.\glue(\rightskip) 0.0
+
+
+Overfull \hbox (11.0pt too wide) detected at line 197
+\trip aMb
+
+\hbox(8.0+2.0)x0.0
+.\trip a
+.\trip M
+.\trip b
+
+
+Overfull \hbox (24.6pt too wide) in paragraph at lines 197--201
+[][]\trip p[]q$st$u[]
+
+\hbox(0.0+0.0)x0.0
+.\beginL
+.\beginR
+.\trip p
+.\endR
+.\trip q (ligature |)
+.\trip q
+.\mathon, surrounded 12.3
+.\trip s
+.\trip t
+.\mathoff, surrounded 12.3
+.\trip r (ligature u|)
+.\penalty 10000
+.\glue(\parfillskip) 0.0
+.\endL
+.\glue(\rightskip) 0.0
+
+
+Overfull \hbox (6.0pt too wide) detected at line 201
+\trip rMs
+
+\hbox(0.0+0.0)x0.0
+.\trip r
+.\trip M
+.\trip s
+
+
+Overfull \hbox (3.0pt too wide) in paragraph at lines 201--205
+[]\trip tp[]u
+
+\hbox(0.0+0.0)x0.0
+.\beginL
+.\trip t
+.\kern3.0
+.\trip q (ligature )
+.\trip p
+.\endL
+.\trip r (ligature u|)
+.\penalty 10000
+.\glue(\parfillskip) 0.0
+.\glue(\rightskip) 0.0
+
+
+Overfull \hbox (6.0pt too wide) detected at line 205
+\trip rMs
+
+\hbox(0.0+0.0)x0.0
+.\trip r
+.\trip M
+.\trip s
+
+! Bad register code (-1).
+<to be read again>
+ {
+l.208 \marks-1{
+ -1}\marks65536{65536}% Bad register (-1) ....
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ {
+l.208 ...marks-1{-1}\marks65536{
+ 65536}% Bad register (-1) ......
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Improper \beginL.
+l.210 \beginL
+ \beginR\endL\endR % Improper \(begin/end)(L/R)
+Sorry, this optional e-TeX feature has been disabled.
+
+! Improper \beginR.
+l.210 \beginL\beginR
+ \endL\endR % Improper \(begin/end)(L/R)
+Sorry, this optional e-TeX feature has been disabled.
+
+! Improper \endL.
+l.210 \beginL\beginR\endL
+ \endR % Improper \(begin/end)(L/R)
+Sorry, this optional e-TeX feature has been disabled.
+
+! Improper \endR.
+l.210 ...beginL\beginR\endL\endR
+ % Improper \(begin/end)(L/R)
+Sorry, this optional e-TeX feature has been disabled.
+
+
+Overfull \hbox (3.0pt too wide) in paragraph at lines 205--211
+\trip tp
+
+\hbox(0.0+0.0)x0.0
+.\trip t
+.\kern3.0
+.\trip q (ligature )
+.\trip p
+.\penalty 10000
+.\glue(\parfillskip) 0.0
+.\glue(\rightskip) 0.0
+
+> \box0=
+\vbox(30.00002+0.0)x0.0
+.\hbox(17.0+3.00002)x0.0
+..\hbox(0.0+0.0)x0.0
+..\trip a
+..\beginL
+..\trip b
+..\beginR
+..\trip p
+..\mathon
+..\trip q
+..\glue(\thinmuskip) 4.99988 plus 0.99997
+..\hbox(17.0+3.00002)x23.9999
+...\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+....\bigtrip a
+...\trip r
+...\glue(\thinmuskip) 4.99988 plus 0.99997
+...\hbox(16.0+4.00002)x6.0, shifted -1.0
+....\bigtrip B
+...\trip s
+...\vbox(7.0+11.0)x7.0, shifted -9.0
+....\hbox(7.0+1.0)x3.0
+.....\trip A
+....\hbox(8.0+2.0)x3.0
+.....\trip B
+..\glue(\thinmuskip) 4.99988 plus 0.99997
+..\trip t
+..\mathoff
+..\trip r (ligature u|)
+..\penalty 10000
+..\glue(\parfillskip) 0.0
+..\endR
+..\endL
+..\glue(\rightskip) 0.0
+.\penalty 0
+.\glue(\abovedisplayskip) 0.0
+.\glue(\lineskip) 0.0
+.\hbox(8.0+2.0)x0.0
+..\beginM
+..\kern0.0
+..\hbox(8.0+2.0)x0.0, display
+...\trip a
+...\trip M
+...\trip b
+..\kern0.0
+..\endM
+.\penalty 0
+.\glue(\belowdisplayskip) 0.0
+.\glue(\lineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+..\beginL
+..\beginR
+..\trip p
+..\endR
+..\trip q (ligature |)
+..\trip q
+..\mathon, surrounded 12.3
+..\trip s
+..\trip t
+..\mathoff, surrounded 12.3
+..\trip r (ligature u|)
+..\penalty 10000
+..\glue(\parfillskip) 0.0
+..\endL
+..\glue(\rightskip) 0.0
+.\penalty 0
+.\glue(\abovedisplayskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+..\beginM
+..\kern0.0
+..\hbox(0.0+0.0)x0.0, display
+...\trip r
+...\trip M
+...\trip s
+..\kern0.0
+..\endM
+.\penalty 0
+.\glue(\belowdisplayskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+..\beginL
+..\trip t
+..\kern3.0
+..\trip q (ligature )
+..\trip p
+..\endL
+..\trip r (ligature u|)
+..\penalty 10000
+..\glue(\parfillskip) 0.0
+..\glue(\rightskip) 0.0
+.\penalty 0
+.\glue(\abovedisplayskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0, display
+..\trip r
+..\trip M
+..\trip s
+.\penalty 0
+.\glue(\belowdisplayskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+..\trip t
+..\kern3.0
+..\trip q (ligature )
+..\trip p
+..\penalty 10000
+..\glue(\parfillskip) 0.0
+..\glue(\rightskip) 0.0
+.\mark{0old}
+.\mark{0}
+.\marks1{1}
+.\marks15{15}
+.\marks65535{65535}
+.\mark{-1}
+.\mark{65536}
+
+! OK.
+l.211 }\showbox0
+
+
+Checking \interactionmode:
+
+
+current interactionmode (l.229): batch
+
+current interactionmode (l.230): nonstop
+
+current interactionmode (l.231): scroll
+
+current interactionmode (l.232): errorstop
+
+! Bad interaction mode (-1).
+l.237 \interactionmode=-1
+ \1 1 % nonstop
+Modes are 0=batch, 1=nonstop, 2=scroll, and
+3=errorstop. Proceed, and I'll ignore this case.
+
+current interactionmode (l.237): nonstop
+! Bad interaction mode (4).
+l.238 \interactionmode=4
+ \1 1 % nonstop
+Modes are 0=batch, 1=nonstop, 2=scroll, and
+3=errorstop. Proceed, and I'll ignore this case.
+
+current interactionmode (l.238): nonstop
+
+current interactionmode (l.239): scroll
+
+current interactionmode (l.239): scroll
+
+current interactionmode (l.239): nonstop
+
+current interactionmode (l.239): nonstop
+
+current interactionmode (l.239): errorstop
+
+current interactionmode (l.239): errorstop
+
+current interactionmode (l.239): batch
+
+current interactionmode (l.239): batch
+current interactionmode (l.240): batch
+
+current interactionmode (l.240): errorstop
+
+1 (l.243)
+0 (l.244)
+1 (l.245)
+current interactionmode (l.247): batch
+
+current interactionmode (l.247): errorstop
+
+current interactionmode (l.247): scroll
+
+current interactionmode (l.247): nonstop
+
+current interactionmode (l.248): batch
+Checking \tracingifs:
+{vertical mode: \iftrue: (level 1) entered on line 257}
+{\iffalse: (level 2) entered on line 257}
+{\else: \iffalse (level 2) entered on line 257}
+{\fi: \iffalse (level 2) entered on line 257}
+{\else: \iftrue (level 1) entered on line 257}
+{\fi: \iftrue (level 1) entered on line 257}
+{\unless\iftrue: (level 1) entered on line 258}
+{\else: \unless\iftrue (level 1) entered on line 258}
+{\unless\iffalse: (level 2) entered on line 258}
+{\else: \unless\iffalse (level 2) entered on line 258}
+{\fi: \unless\iffalse (level 2) entered on line 258}
+{\fi: \unless\iftrue (level 1) entered on line 258}
+{\ifdefined: (level 1) entered on line 260}
+{true}
+{\unless}
+{\unless\ifdefined: (level 2) entered on line 260}
+{true}
+{\ifcase: (level 3) entered on line 260}
+{case 2}
+{\or: \ifcase (level 3) entered on line 260}
+{\or: \ifcase (level 3) entered on line 260}
+{\ifcsname: (level 4) entered on line 261}
+{true}
+{\ifcsname: (level 5) entered on line 261}
+{false}
+{\else: \ifcsname (level 5) entered on line 261}
+{\ifx: (level 6) entered on line 262}
+{false}
+{\else: \ifx (level 6) entered on line 262}
+{\ifx: (level 7) entered on line 262}
+{false}
+{\fi: \ifx (level 7) entered on line 262}
+{\fi: \ifx (level 6) entered on line 262}
+{\fi: \ifcsname (level 5) entered on line 261}
+{\fi: \ifcsname (level 4) entered on line 261}
+{\or: \ifcase (level 3) entered on line 260}
+{\fi: \ifcase (level 3) entered on line 260}
+{\fi: \unless\ifdefined (level 2) entered on line 260}
+{\fi: \ifdefined (level 1) entered on line 260}
+{\endgroup}
+Checking \tracingassigns:
+{into \tracingassigns=1}
+{globally changing \count17=0}
+{into \count17=7}
+{reassigning \count17=7}
+{globally changing \9=undefined}
+{into \9=macro:->\relax }
+{globally changing \8=undefined}
+{into \8=macro:->\relax }
+{reassigning \8=macro:->\relax }
+{globally changing \count17=7}
+{into \count17=0}
+{reassigning \count17=0}
+{globally changing \9=macro:->\relax }
+{into \9=undefined}
+{globally changing \8=macro:->\relax }
+{into \8=undefined}
+{reassigning \8=undefined}
+{restoring \tracingassigns=0}
+Checking \currentgrouptype, \currentgrouplevel, and \lastnodetype:
+current group level (l.282): outer level
+current group type (l.284): bottom level
+current group type (l.311): semi simple group
+{entering vbox group (level 2) at line 313}
+current group type (l.313): vbox group
+{entering adjusted hbox group (level 3) at line 314}
+current group type (l.314): adjusted hbox group
+{entering simple group (level 4) at line 315}
+current group type (l.315): simple group
+{leaving simple group (level 4) entered at line 315}
+last node type (l.316): empty
+{entering hbox group (level 4) at line 317}
+current group type (l.317): hbox group
+{entering disc group (level 5) at line 318}
+current group type (l.318): disc group
+{leaving disc group (level 5) entered at line 318}
+{entering disc group (level 5) at line 318}
+current group type (l.318): disc group
+{leaving disc group (level 5) entered at line 318}
+{entering disc group (level 5) at line 318}
+current group type (l.318): disc group
+{leaving disc group (level 5) entered at line 318}
+last node type (l.320): disc node
+last node type (l.321): char node
+last node type (l.322): ligature node
+{entering insert group (level 5) at line 323}
+current group type (l.323): insert group
+{leaving insert group (level 5) entered at line 323}
+last node type (l.324): ins node
+{entering insert group (level 5) at line 325}
+current group type (l.325): insert group
+{leaving insert group (level 5) entered at line 325}
+last node type (l.326): adjust node
+last node type (l.327): mark node
+last node type (l.328): rule node
+last node type (l.329): glue node
+last node type (l.330): kern node
+last node type (l.331): penalty node
+{entering vtop group (level 5) at line 332}
+current group type (l.332): vtop group
+{leaving vtop group (level 5) entered at line 332}
+last node type (l.333): vlist node
+last node type (l.334): whatsit node
+{entering math shift group (level 5) at line 335}
+current group type (l.335): math shift group
+{entering math group (level 6) at line 336}
+current group type (l.336): math group
+{leaving math group (level 6) entered at line 336}
+{leaving math shift group (level 5) entered at line 335}
+last node type (l.338): math node
+last node type (l.339): math node
+last node type (l.340): math node
+{entering align group (level 5) at line 341}
+{entering align group (level 6) at line 341}
+current group type (l.341): align group
+{leaving align group (level 6) entered at line 341}
+{entering align group (level 6) at line 342}
+{entering no align group (level 7) at line 342}
+current group type (l.342): no align group
+last node type (l.343): unset node
+{leaving no align group (level 7) entered at line 342}
+{leaving align group (level 6) entered at line 342}
+{leaving align group (level 5) entered at line 341}
+{leaving hbox group (level 4) entered at line 317}
+{leaving adjusted hbox group (level 3) entered at line 314}
+last node type (l.347): hlist node
+{entering math shift group (level 3) at line 348}
+current group type (l.348): math shift group
+last node type (l.349): empty
+{entering math choice group (level 4) at line 350}
+current group type (l.350): math choice group
+{leaving math choice group (level 4) entered at line 350}
+{entering math choice group (level 4) at line 350}
+current group type (l.350): math choice group
+{leaving math choice group (level 4) entered at line 350}
+{entering math choice group (level 4) at line 350}
+current group type (l.350): math choice group
+{leaving math choice group (level 4) entered at line 350}
+{entering math choice group (level 4) at line 350}
+current group type (l.350): math choice group
+{entering vcenter group (level 5) at line 351}
+current group type (l.351): vcenter group
+{leaving vcenter group (level 5) entered at line 351}
+last node type (l.352): math mode node
+{leaving math choice group (level 4) entered at line 350}
+last node type (l.353): math mode node
+{entering math left group (level 4) at line 354}
+current group type (l.354): math left group
+{leaving math left group (level 4) entered at line 354}
+{entering math left group (level 4) at line 355}
+current group type (l.355): math left group
+{leaving math left group (level 4) entered at line 355}
+{entering math left group (level 4) at line 356}
+current group type (l.356): math left group
+{leaving math left group (level 4) entered at line 356}
+{leaving math shift group (level 3) entered at line 348}
+{leaving vbox group (level 2) entered at line 313}
+{entering adjusted hbox group (level 2) at line 394}
+{leaving adjusted hbox group (level 2) entered at line 394}
+{entering output group (level 2) at line 394}
+current group type (l.394): output group
+{entering vbox group (level 3) at line 394}
+{entering adjusted hbox group (level 4) at line 394}
+{entering hbox group (level 5) at line 394}
+{entering simple group (level 6) at line 394}
+{entering align group (level 7) at line 394}
+{entering align group (level 8) at line 394}
+{entering no align group (level 9) at line 394}
+{entering math shift group (level 10) at line 394}
+{entering vtop group (level 11) at line 394}
+{entering math shift group (level 12) at line 394}
+{entering math group (level 13) at line 394}
+{entering math left group (level 14) at line 394}
+{leaving math left group (level 14) entered at line 394}
+{entering math left group (level 14) at line 394}
+{entering math choice group (level 15) at line 394}
+{leaving math choice group (level 15) entered at line 394}
+{entering math choice group (level 15) at line 394}
+{leaving math choice group (level 15) entered at line 394}
+{entering math choice group (level 15) at line 394}
+{entering vcenter group (level 16) at line 394}
+{entering insert group (level 17) at line 394}
+{entering disc group (level 18) at line 394}
+{leaving disc group (level 18) entered at line 394}
+{entering disc group (level 18) at line 394}
+
+### disc group (level 18) entered at line 394 (\discretionary{}{)
+### insert group (level 17) entered at line 394 (\vadjust{)
+### vcenter group (level 16) entered at line 394 (\vcenter to7.0pt{)
+### math choice group (level 15) entered at line 394 (\mathchoice{}{}{)
+### math left group (level 14) entered at line 394 (\middle)
+### math group (level 13) entered at line 394 ({)
+### math shift group (level 12) entered at line 394 ($$)
+### vtop group (level 11) entered at line 394 (\vtop{)
+### math shift group (level 10) entered at line 394 ($)
+### no align group (level 9) entered at line 394 (\noalign{)
+### align group (level 8) entered at line 394 (\cr)
+### align group (level 7) entered at line 394 (\valign{)
+### simple group (level 6) entered at line 394 ({)
+### hbox group (level 5) entered at line 394 (\raise5.0pt\hbox{)
+### adjusted hbox group (level 4) entered at line 394 (\hbox spread5.0pt
+{)
+### vbox group (level 3) entered at line 394 (\setbox0=\vbox{)
+### output group (level 2) entered at line 394 (\output)
+### semi simple group (level 1) entered at line 285 (\begingroup)
+### bottom level
+
+! OK.
+<output> ...nary {}{\showgroups
+ }{} } } }{} \right . } $$ } $...
+l.394 ...ox{}\vfil\penalty-10000
+
+
+{leaving disc group (level 18) entered at line 394}
+{entering disc group (level 18) at line 394}
+{leaving disc group (level 18) entered at line 394}
+{leaving insert group (level 17) entered at line 394}
+{leaving vcenter group (level 16) entered at line 394}
+{leaving math choice group (level 15) entered at line 394}
+{entering math choice group (level 15) at line 394}
+{leaving math choice group (level 15) entered at line 394}
+{leaving math left group (level 14) entered at line 394}
+{leaving math group (level 13) entered at line 394}
+{leaving math shift group (level 12) entered at line 394}
+{leaving vtop group (level 11) entered at line 394}
+{leaving math shift group (level 10) entered at line 394}
+{leaving no align group (level 9) entered at line 394}
+{leaving align group (level 8) entered at line 394}
+{leaving align group (level 7) entered at line 394}
+{leaving simple group (level 6) entered at line 394}
+{leaving hbox group (level 5) entered at line 394}
+{leaving adjusted hbox group (level 4) entered at line 394}
+{leaving vbox group (level 3) entered at line 394}
+{leaving output group (level 2) entered at line 394}
+Checking expansion of \protected macros:
+> \2=\protected macro:
+->.
+l.402 ...otected\def\2{} \show\2
+
+
+> \3=\protected macro:
+->.
+l.403 \let\3=\2 \show\3
+
+
+> \1=\protected macro:
+->\2.
+l.404 ...cted\def\1{\2}} \show\1
+
+
+
+\1->\2
+\1\2
+\typeout ->\immediate \write 15
+
+\1->\2
+\1\2
+
+\1->\2
+> \box0=
+\vbox(0.0+0.0)x0.0
+.\special{\1\2}
+
+! OK.
+l.408 ...ndafter\1\1}} \showbox0
+
+
+
+\1->\2
+> \5=macro:
+->\1\2.
+l.409 ...xpandafter\1\1} \show\5
+
+
+
+\1->\2
+
+\1->\3
+
+\3->
+
+\2->
+Checking \scantokens, \tracingscantokens, \readline, and \everyeof:
+
+Completed box being shipped out [1]
+\vbox(0.0+0.0)x0.0
+.\openout1=etrip.out
+.\write1{\unexpanded \expandafter {\1}}
+.\closeout1
+
+Memory usage before: 50&182; after: 36&176; still untouched: 680
+(etrip.out) (
+Warning: end of semi simple group (level 3) entered at line 431 of a dif
+ferent file
+Warning: end of \iftrue entered on line 431 of a different file
+Warning: end of file when simple group (level 3) entered at line 3 is in
+complete
+Warning: end of file when \iffalse\else entered on line 4 is incomplete
+) (
+Warning: end of semi simple group (level 3) entered at line 433 of a dif
+ferent file
+l.1 \endgroup
+
+l.433 ...ntokens\expandafter{\1}
+ \egroup \fi
+Warning: end of \unless\iffalse entered on line 433 of a different file
+l.2 \fi
+
+l.433 ...ntokens\expandafter{\1}
+ \egroup \fi
+Warning: end of file when simple group (level 3) entered at line 3 is in
+complete
+Warning: end of file when \iffalse\else entered on line 4 is incomplete
+l.5 \iffalse \else
+
+l.433 ...ntokens\expandafter{\1}
+ \egroup \fi) (
+Warning: end of hbox group (level 4) entered at line 1 of a different fi
+le
+l.1 \egroup
+
+l.6 }
+
+l.444 }
+ % end of outer \scantokens
+Warning: end of \ifcase entered on line 2 of a different file
+l.2 \else \fi
+
+l.6 }
+
+l.444 }
+ % end of outer \scantokens
+Warning: end of hbox group (level 3) entered at line 435 of a different
+file
+
+\1->\egroup
+ \fi
+l.4 \1
+
+l.6 }
+
+l.444 }
+ % end of outer \scantokens
+Warning: end of \unless\iftrue entered on line 436 of a different file
+
+\1->\egroup \fi
+
+l.4 \1
+
+l.6 }
+
+l.444 }
+ % end of outer \scantokens
+Warning: end of file when math shift group (level 4) entered at line 7 i
+s incomplete
+Warning: end of file when vtop group (level 3) entered at line 5 is inco
+mplete
+Warning: end of file when \iffalse entered on line 9 is incomplete
+Warning: end of file when \ifinner\else entered on line 8 is incomplete
+Warning: end of file when \ifnum entered on line 6 is incomplete
+l.10 \csname iffalse\endcsname
+
+l.6 }
+
+l.444 }
+ % end of outer \scantokens
+! Incomplete \iffalse; all text was ignored after line 9.
+<inserted text>
+ \fi
+l.6 }
+
+l.444 }
+ % end of outer \scantokens
+The file ended while I was skipping conditional text.
+This kind of error happens when you say `\if...' and forget
+the matching `\fi'. I've inserted a `\fi'; this might work.
+
+Warning: end of file when vtop group (level 3) entered at line 5 is inco
+mplete
+Warning: end of file when \ifnum entered on line 6 is incomplete
+l.9 \fi
+
+l.444 }
+ % end of outer \scantokens) (etrip.out
+! Undefined control sequence.
+\endgroup ->\9\9
+
+l.1 \endgroup
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+) (
+! Undefined control sequence.
+\endgroup ->\9\9
+
+l.1 \endgroup
+
+l.451 ...ntokens\expandafter{\1}
+ \egroup \fi
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+) ( )
+Runaway definition?
+->\begingroup
+! File ended while scanning definition of \1.
+<inserted text>
+ }
+l.453 ...scantokens{\begingroup}
+ % <== error
+I suspect you have forgotten a `}', causing me
+to read past where you wanted me to stop.
+I'll try to recover; but if the error is serious,
+you'd better type `E' or `X' now and fix your file.
+
+( ) ( level=2 ( level=3 ( level=4
+! Undefined control sequence.
+<everyeof> ...uplevel \2\else \9
+ \fi
+l.2
+
+\2...=\the \currentgrouplevel }}
+ \endgroup
+<everyeof> ...rrentgrouplevel \2
+ \else \9\fi
+l.2
+
+\2...=\the \currentgrouplevel }}
+ \endgroup
+<everyeof> ...rrentgrouplevel \2
+ \else \9\fi
+l.2
+
+\2...=\the \currentgrouplevel }}
+ \endgroup
+l.461 ...evel\2\else\9\fi}}}\1\2
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+)))
+{\tracingrestores}
+{\tracingassigns}
+{into \tracingassigns=1}
+{\setbox}
+{restricted horizontal mode: \unless}
+{\unless\ifeof}
+{true}
+{\readline}
+{changing \2=macro:->\begingroup \scantokens {\message \ETC.}
+{into \2=macro:->\endgroup^^M}
+{\endlinechar}
+{changing \endlinechar=13}
+{into \endlinechar=-1}
+{the character \}
+Missing character: There is no \ in font etrip!
+{the character e}
+Missing character: There is no e in font etrip!
+{the character n}
+Missing character: There is no n in font etrip!
+{the character d}
+Missing character: There is no d in font etrip!
+{the character g}
+Missing character: There is no g in font etrip!
+{the character r}
+Missing character: There is no o in font etrip!
+{the character u}
+Missing character: There is no ^^M in font etrip!
+{\expandafter}
+{\fi}
+{\unless}
+{\unless\ifeof}
+{true}
+{\readline}
+{changing \2=macro:->\endgroup^^M}
+{into \2=macro:->\fi}
+{\endlinechar}
+{reassigning \endlinechar=-1}
+{the character \}
+Missing character: There is no \ in font etrip!
+{the character f}
+Missing character: There is no f in font etrip!
+{the character i}
+Missing character: There is no i in font etrip!
+{\expandafter}
+{\fi}
+{\unless}
+{\unless\ifeof}
+{true}
+{\readline}
+{changing \2=macro:->\fi}
+{into \2=macro:->\bgroup}
+{\endlinechar}
+{reassigning \endlinechar=-1}
+{the character \}
+Missing character: There is no \ in font etrip!
+{the character b}
+Missing character: There is no g in font etrip!
+{the character r}
+Missing character: There is no o in font etrip!
+{the character u}
+{\expandafter}
+{\fi}
+{\unless}
+{\unless\ifeof}
+{true}
+{\readline}
+{changing \2=macro:->\bgroup}
+{into \2=macro:->\iffalse \else}
+{\endlinechar}
+{reassigning \endlinechar=-1}
+{the character \}
+Missing character: There is no \ in font etrip!
+{the character i}
+Missing character: There is no i in font etrip!
+{the character f}
+Missing character: There is no f in font etrip!
+{the character f}
+Missing character: There is no f in font etrip!
+{the character a}
+Missing character: There is no l in font etrip!
+{the character s}
+Missing character: There is no e in font etrip!
+{blank space }
+{the character \}
+Missing character: There is no \ in font etrip!
+{the character e}
+Missing character: There is no e in font etrip!
+{the character l}
+Missing character: There is no l in font etrip!
+{the character s}
+Missing character: There is no e in font etrip!
+{\expandafter}
+{\fi}
+{\unless}
+{\unless\ifeof}
+{true}
+{\readline}
+{changing \2=macro:->\iffalse \else}
+{into \2=macro:->}
+{\endlinechar}
+{reassigning \endlinechar=-1}
+{\expandafter}
+{\fi}
+{\unless}
+{\unless\ifeof}
+{false}
+{\showlists}
+
+### restricted horizontal mode entered at line 468
+\trip r
+\trip r (ligature up)
+\trip b
+\trip r
+\trip r (ligature up)
+\trip a
+\trip s
+\glue 4.0 plus 2.0 minus 1.0
+\trip s
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.468 ...ox25=\hbox{\1\showlists
+ }^^M
+
+{end-group character }}
+{restoring \endlinechar=13}
+{restoring \2=macro:->\begingroup \scantokens {\message \ETC.}
+{changing \box25=void}
+{into \box25=
+\hbox(8.0+2.0)x9.0 []}
+{vertical mode: blank space }
+{end-group character }}
+{restoring \box25=void}
+{restoring \tracingassigns=0}
+Checking \marks etc., \showtokens, and \detokenize:
+
+Current marks:
+ \splitfirstmarks 0=.
+ \splitbotmarks 0=.
+ \splitfirstmarks 1=.
+ \splitbotmarks 1=.
+ \splitfirstmarks 3=.
+ \splitbotmarks 3=.
+> \box0=
+\vbox(188.0+0.0)x10.0
+.\mark{0-1}
+.\marks1{1-1}
+.\glue 1.0
+.\vbox(9.0+0.0)x0.0
+.\mark{0-2}
+.\marks3{}
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+.\glue 5.0
+.\glue 0.0 plus 1.0fil
+.\penalty 0
+.\glue 40.0
+.\mark{0-3}
+.\glue 1.0
+.\glue(\lineskip) 0.0
+.\vbox(19.0+0.0)x0.0
+.\marks3{3-3}
+.\glue 3.0 plus 1.0fil
+.\penalty 0
+.\glue 40.0
+.\glue(\lineskip) 0.0
+.\vbox(30.0+0.0)x0.0
+.\glue 0.0 plus 1.0fil
+.\penalty 0
+.\glue 40.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x10.0
+
+! OK.
+l.491 \1 \showbox0
+ \let\5=\3 \def\3#1{\showtokens\expandaft...
+
+> 0-1.
+<recently read> }
+
+...
+l.493 \1
+ \showbox1 \showbox0 \let\3=\5
+
+> 0-2.
+<recently read> }
+
+...
+l.493 \1
+ \showbox1 \showbox0 \let\3=\5
+
+> 1-1.
+<recently read> }
+
+...
+l.493 \1
+ \showbox1 \showbox0 \let\3=\5
+
+> 1-1.
+<recently read> }
+
+...
+l.493 \1
+ \showbox1 \showbox0 \let\3=\5
+
+> .
+<recently read> }
+
+...
+l.493 \1
+ \showbox1 \showbox0 \let\3=\5
+
+> .
+<recently read> }
+
+...
+l.493 \1
+ \showbox1 \showbox0 \let\3=\5
+
+
+Current marks:
+ \splitfirstmarks 0=0-1.
+ \splitbotmarks 0=0-2.
+ \splitfirstmarks 1=1-1.
+ \splitbotmarks 1=1-1.
+ \splitfirstmarks 3=.
+ \splitbotmarks 3=.
+> \box1=
+\vbox(17.0+0.0)x0.0, glue set 2.0fil
+.\mark{0-1}
+.\marks1{1-1}
+.\glue 1.0
+.\vbox(9.0+0.0)x0.0
+.\mark{0-2}
+.\marks3{}
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+.\glue 5.0
+.\glue 0.0 plus 1.0fil
+
+! OK.
+l.493 \1 \showbox1
+ \showbox0 \let\3=\5
+
+> \box0=
+\vbox(132.0+0.0)x10.0
+.\mark{0-3}
+.\glue(\splittopskip) 0.0
+.\vbox(19.0+0.0)x0.0
+.\marks3{3-3}
+.\glue 3.0 plus 1.0fil
+.\penalty 0
+.\glue 40.0
+.\glue(\lineskip) 0.0
+.\vbox(30.0+0.0)x0.0
+.\glue 0.0 plus 1.0fil
+.\penalty 0
+.\glue 40.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x10.0
+
+! OK.
+l.493 \1 \showbox1 \showbox0
+ \let\3=\5
+
+
+Current marks:
+ \splitfirstmarks 0=0-3.
+ \splitbotmarks 0=0-3.
+ \splitfirstmarks 1=.
+ \splitbotmarks 1=.
+ \splitfirstmarks 3=3-3.
+ \splitbotmarks 3=3-3.
+> \box1=
+\vbox(27.0+0.0)x0.0, glue set 5.0fil
+.\mark{0-3}
+.\glue(\splittopskip) 0.0
+.\vbox(19.0+0.0)x0.0
+.\marks3{3-3}
+.\glue 3.0 plus 1.0fil
+
+! OK.
+l.495 \1 \showbox1
+ \showbox0
+
+> \box0=
+\vbox(70.0+0.0)x10.0
+.\glue(\splittopskip) 0.0
+.\vbox(30.0+0.0)x0.0
+.\glue 0.0 plus 1.0fil
+.\penalty 0
+.\glue 40.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x10.0
+
+! OK.
+l.495 \1 \showbox1 \showbox0
+
+
+
+Current marks:
+ \splitfirstmarks 0=.
+ \splitbotmarks 0=.
+ \splitfirstmarks 1=.
+ \splitbotmarks 1=.
+ \splitfirstmarks 3=.
+ \splitbotmarks 3=.
+> \box1=
+\vbox(37.0+0.0)x0.0, glue set 7.0fil
+.\glue(\splittopskip) 0.0
+.\vbox(30.0+0.0)x0.0
+.\glue 0.0 plus 1.0fil
+
+! OK.
+l.497 \1 \showbox1
+ \showbox0
+
+> \box0=
+\vbox(0.0+0.0)x10.0
+.\glue(\splittopskip) 0.0
+.\hbox(0.0+0.0)x10.0
+
+! OK.
+l.497 \1 \showbox1 \showbox0
+
+
+
+Current marks:
+ \topmarks 0=.
+ \firstmarks 0=.
+ \botmarks 0=.
+ \topmarks 1=.
+ \firstmarks 1=.
+ \botmarks 1=.
+ \topmarks 3=.
+ \firstmarks 3=.
+ \botmarks 3=.
+
+Current marks:
+ \topmarks 0=.
+ \firstmarks 0=0-1.
+ \botmarks 0=0-2.
+ \topmarks 1=.
+ \firstmarks 1=1-1.
+ \botmarks 1=1-1.
+ \topmarks 3=.
+ \firstmarks 3=.
+ \botmarks 3=.
+> \box255=
+\vbox(35.0+0.0)x0.0, glue set 21.0fil
+.\mark{0-1}
+.\marks1{1-1}
+.\glue(\topskip) 0.0
+.\vbox(9.0+0.0)x0.0
+.\mark{0-2}
+.\marks3{}
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+.\glue 5.0
+.\glue 0.0 plus 1.0fil
+
+! OK.
+<output> {\1 \showbox 255
+ \setbox 0=\box 255}
+l.500 ...s3{}\vfil\penalty-10000
+
+
+
+Current marks:
+ \topmarks 0=0-2.
+ \firstmarks 0=0-3.
+ \botmarks 0=0-3.
+ \topmarks 1=1-1.
+ \firstmarks 1=1-1.
+ \botmarks 1=1-1.
+ \topmarks 3=.
+ \firstmarks 3=3-3.
+ \botmarks 3=3-3.
+> \box255=
+\vbox(35.0+0.0)x0.0, glue set 13.0fil
+.\mark{0-3}
+.\glue(\topskip) 0.0
+.\vbox(19.0+0.0)x0.0
+.\marks3{3-3}
+.\glue 3.0 plus 1.0fil
+
+! OK.
+<output> {\1 \showbox 255
+ \setbox 0=\box 255}
+l.500 ...s3{}\vfil\penalty-10000
+
+
+
+Current marks:
+ \topmarks 0=0-3.
+ \firstmarks 0=0-3.
+ \botmarks 0=0-3.
+ \topmarks 1=1-1.
+ \firstmarks 1=1-1.
+ \botmarks 1=1-1.
+ \topmarks 3=3-3.
+ \firstmarks 3=3-3.
+ \botmarks 3=3-3.
+> \box255=
+\vbox(35.0+0.0)x0.0, glue set 5.0fil
+.\glue(\topskip) 0.0
+.\vbox(30.0+0.0)x0.0
+.\glue 0.0 plus 1.0fil
+
+! OK.
+<output> {\1 \showbox 255
+ \setbox 0=\box 255}
+l.500 ...s3{}\vfil\penalty-10000
+
+
+
+Current marks:
+ \topmarks 0=0-3.
+ \firstmarks 0=.
+ \botmarks 0=.
+ \topmarks 1=1-1.
+ \firstmarks 1=.
+ \botmarks 1=.
+ \topmarks 3=3-3.
+ \firstmarks 3=.
+ \botmarks 3=.
+> \box255=
+\vbox(35.0+0.0)x10.0, glue set 35.0fil
+.\glue(\topskip) 0.0
+.\hbox(0.0+0.0)x10.0
+.\mark{}
+.\marks1{}
+.\marks3{}
+.\glue 0.0 plus 1.0fil
+
+! OK.
+<output> {\1 \showbox 255
+ \setbox 0=\box 255}
+l.500 ...s3{}\vfil\penalty-10000
+
+
+
+Current marks:
+ \topmarks 0=.
+ \firstmarks 0=.
+ \botmarks 0=.
+ \topmarks 1=.
+ \firstmarks 1=.
+ \botmarks 1=.
+ \topmarks 3=.
+ \firstmarks 3=.
+ \botmarks 3=.
+> \box255=
+\vbox(35.0+0.0)x0.0, glue set 35.0fil
+.\glue(\topskip) 0.0
+.\hbox(0.0+0.0)x0.0
+.\mark{}
+.\marks1{}
+.\marks3{}
+.\glue 0.0 plus 1.0fil
+
+! OK.
+<output> {\1 \showbox 255
+ \setbox 0=\box 255}
+l.501 ...s3{}\vfil\penalty-10000
+
+
+
+Current marks:
+ \topmarks 0=.
+ \firstmarks 0=.
+ \botmarks 0=.
+ \topmarks 1=.
+ \firstmarks 1=.
+ \botmarks 1=.
+ \topmarks 3=.
+ \firstmarks 3=.
+ \botmarks 3=.
+> \box255=
+\vbox(35.0+0.0)x0.0, glue set 35.0fil
+.\glue(\topskip) 0.0
+.\hbox(0.0+0.0)x0.0
+.\glue 0.0 plus 1.0fil
+
+! OK.
+<output> {\1 \showbox 255
+ \setbox 0=\box 255}
+l.502 ...x{}\vfil\penalty-10000
+ % reclaim sparse array memory!
+
+Checking \middle:
+! Missing $ inserted.
+<inserted text>
+ $
+...
+l.511 \setbox0=\vbox{\middle
+ \par \right \par} % <== 8 errors
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Missing delimiter (. inserted).
+<to be read again>
+ \par
+l.511 ...box0=\vbox{\middle \par
+ \right \par} % <== 8 errors
+I was expecting to see something like `(' or `\{' or
+`\}' here. If you typed, e.g., `{' instead of `\{', you
+should probably delete the `{' by typing `1' now, so that
+braces don't get unbalanced. Otherwise just proceed.
+Acceptable delimiters are characters whose \delcode is
+nonnegative, or you can use `\delimiter <delimiter code>'.
+
+! Extra \middle.
+<to be read again>
+ \par
+l.511 ...box0=\vbox{\middle \par
+ \right \par} % <== 8 errors
+I'm ignoring a \middle that had no matching \left.
+
+! Missing $ inserted.
+<inserted text>
+ $
+...
+l.511 ...box0=\vbox{\middle \par
+ \right \par} % <== 8 errors
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Missing $ inserted.
+<inserted text>
+ $
+...
+l.511 ...box{\middle \par \right
+ \par} % <== 8 errors
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Missing delimiter (. inserted).
+<to be read again>
+ \par
+l.511 ...middle \par \right \par
+ } % <== 8 errors
+I was expecting to see something like `(' or `\{' or
+`\}' here. If you typed, e.g., `{' instead of `\{', you
+should probably delete the `{' by typing `1' now, so that
+braces don't get unbalanced. Otherwise just proceed.
+Acceptable delimiters are characters whose \delcode is
+nonnegative, or you can use `\delimiter <delimiter code>'.
+
+! Extra \right.
+<to be read again>
+ \par
+l.511 ...middle \par \right \par
+ } % <== 8 errors
+I'm ignoring a \right that had no matching \left.
+
+! Missing $ inserted.
+<inserted text>
+ $
+...
+l.511 ...middle \par \right \par
+ } % <== 8 errors
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+
+### math mode entered at line 522
+\mathord
+.\fam1 r
+this will be denominator of:
+\fraction, thickness = default
+\\left"161361
+\\mathord
+\.\fam1 p
+\\middle"142342
+\\mathord
+\.\fam1 q
+\\middle"142342
+\\mathord
+\.\fam1 q
+### math mode entered at line 519
+\left"161361
+\mathord
+.\fam1 p
+\middle"142342
+\mathord
+.\fam1 q
+\middle"142342
+\mathord
+.\fam1 q
+### math mode entered at line 515
+\mathord
+.\fam1 r
+this will be denominator of:
+\fraction, thickness = default
+\\left"161361
+\\mathord
+\.\fam1 q
+### math mode entered at line 514
+\left"161361
+\mathord
+.\fam1 p
+### math mode entered at line 513
+### restricted horizontal mode entered at line 512
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.523 ... \over r\showlists
+
+
+
+### math mode entered at line 519
+\left"161361
+\mathord
+.\fam1 p
+\middle"142342
+\mathord
+.\fam1 q
+\middle"142342
+\mathord
+.\fam1 q
+\mathinner
+.\left"161361
+.\mathord
+..\fam1 p
+.\middle"142342
+.\mathord
+..\fam1 q
+.\middle"142342
+.\fraction, thickness = default
+.\\mathord
+.\.\fam1 q
+./\mathord
+./.\fam1 r
+.\right"162362
+### math mode entered at line 515
+\mathord
+.\fam1 r
+this will be denominator of:
+\fraction, thickness = default
+\\left"161361
+\\mathord
+\.\fam1 q
+### math mode entered at line 514
+\left"161361
+\mathord
+.\fam1 p
+### math mode entered at line 513
+### restricted horizontal mode entered at line 512
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.524 ... \right]\showlists
+
+
+
+### math mode entered at line 515
+\mathord
+.\fam1 r
+\mathinner
+.\left"161361
+.\mathord
+..\fam1 p
+.\middle"142342
+.\mathord
+..\fam1 q
+.\middle"142342
+.\mathord
+..\fam1 q
+.\mathinner
+..\left"161361
+..\mathord
+...\fam1 p
+..\middle"142342
+..\mathord
+...\fam1 q
+..\middle"142342
+..\fraction, thickness = default
+..\\mathord
+..\.\fam1 q
+../\mathord
+../.\fam1 r
+..\right"162362
+.\right"162362
+this will be denominator of:
+\fraction, thickness = default
+\\left"161361
+\\mathord
+\.\fam1 q
+### math mode entered at line 514
+\left"161361
+\mathord
+.\fam1 p
+### math mode entered at line 513
+### restricted horizontal mode entered at line 512
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.525 ... \right]\showlists
+
+
+
+### math mode entered at line 514
+\left"161361
+\mathord
+.\fam1 p
+\mathinner
+.\left"161361
+.\fraction, thickness = default
+.\\mathord
+.\.\fam1 q
+./\mathord
+./.\fam1 r
+./\mathinner
+./.\left"161361
+./.\mathord
+./..\fam1 p
+./.\middle"142342
+./.\mathord
+./..\fam1 q
+./.\middle"142342
+./.\mathord
+./..\fam1 q
+./.\mathinner
+./..\left"161361
+./..\mathord
+./...\fam1 p
+./..\middle"142342
+./..\mathord
+./...\fam1 q
+./..\middle"142342
+./..\fraction, thickness = default
+./..\\mathord
+./..\.\fam1 q
+./../\mathord
+./../.\fam1 r
+./..\right"162362
+./.\right"162362
+.\right"162362
+### math mode entered at line 513
+### restricted horizontal mode entered at line 512
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.526 \right]\showlists
+
+
+
+### math mode entered at line 513
+\mathinner
+.\left"161361
+.\mathord
+..\fam1 p
+.\mathinner
+..\left"161361
+..\fraction, thickness = default
+..\\mathord
+..\.\fam1 q
+../\mathord
+../.\fam1 r
+../\mathinner
+../.\left"161361
+../.\mathord
+../..\fam1 p
+../.\middle"142342
+../.\mathord
+../..\fam1 q
+../.\middle"142342
+../.\mathord
+../..\fam1 q
+../.\mathinner
+../..\left"161361
+../..\mathord
+../...\fam1 p
+../..\middle"142342
+../..\mathord
+../...\fam1 q
+../..\middle"142342
+../..\fraction, thickness = default
+../..\\mathord
+../..\.\fam1 q
+../../\mathord
+../../.\fam1 r
+../..\right"162362
+../.\right"162362
+..\right"162362
+.\right"162362
+### restricted horizontal mode entered at line 512
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.527 \right]\showlists
+
+
+
+### restricted horizontal mode entered at line 512
+\mathon
+\hbox(30.99977+16.99977)x80.99994
+.\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+..\bigtrip a
+.\trip p
+.\glue(\thinmuskip) 4.99988 plus 0.99997
+.\hbox(30.99977+16.99977)x63.00005
+..\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+...\bigtrip a
+..\hbox(8.5+16.49994)x50.00003
+...\hbox(0.0+0.0)x0.0, shifted -7.0
+...\vbox(8.5+16.49994)x50.00003
+....\hbox(0.0+0.0)x50.00003, glue set 25.00002fil
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+.....\trip q
+.....\glue 0.0 plus 1.0fil minus 1.0fil
+....\kern1.0
+....\rule(1.0+0.0)x*
+....\kern1.0
+....\hbox(17.99997+3.99997)x50.00003
+.....\trip r
+.....\hbox(17.99997+3.99997)x50.00003
+......\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+.......\bigtrip a
+......\trip p
+......\hbox(16.0+4.00002)x6.0, shifted -1.0
+.......\bigtrip B
+......\trip q
+......\hbox(16.0+4.00002)x6.0, shifted -1.0
+.......\bigtrip B
+......\trip q
+......\hbox(17.0+3.00002)x25.00002
+.......\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+........\bigtrip a
+.......\trip p
+.......\hbox(16.0+4.00002)x6.0, shifted -1.0
+........\bigtrip B
+.......\trip q
+.......\hbox(16.0+4.00002)x6.0, shifted -1.0
+........\bigtrip B
+.......\hbox(8.5+2.0)x0.0
+........\hbox(0.0+0.0)x0.0, shifted -7.0
+........\vbox(8.5+2.0)x0.0
+.........\hbox(0.0+0.0)x0.0
+..........\trip q
+.........\kern1.0
+.........\rule(1.0+0.0)x*
+.........\kern8.5
+.........\hbox(0.0+0.0)x0.0
+..........\trip r
+........\hbox(0.0+0.0)x0.0, shifted -7.0
+.......\vbox(7.0+11.0)x7.0, shifted -9.0
+........\hbox(7.0+1.0)x3.0
+.........\trip A
+........\hbox(8.0+2.0)x3.0
+.........\trip B
+......\vbox(-1.00002+22.99995)x7.0, shifted -18.99998
+.......\hbox(-1.00002+2.0)x7.0
+........\trip ^^@
+.......\hbox(-1.00002+2.0)x7.0
+........\trip ^^@
+.......\hbox(7.0+1.0)x3.0
+........\trip A
+.......\hbox(-1.00002+2.0)x7.0
+........\trip ^^@
+.......\hbox(-1.00002+2.0)x7.0
+........\trip ^^@
+.......\hbox(8.0+2.0)x3.0
+........\trip B
+...\hbox(0.0+0.0)x0.0, shifted -7.0
+..\vbox(-1.00002+48.99956)x7.0, shifted -31.99979
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(7.0+1.0)x3.0
+....\trip A
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(-1.00002+2.0)x7.0
+....\trip ^^@
+...\hbox(8.0+2.0)x3.0
+....\trip B
+.\vbox(-1.00002+48.99956)x7.0, shifted -31.99979
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(7.0+1.0)x3.0
+...\trip A
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(8.0+2.0)x3.0
+...\trip B
+\mathoff
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.528 $\showlists
+
+
+
+### restricted horizontal mode entered at line 530
+\mathon
+\hbox(17.0+3.00002)x19.00002
+.\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+..\bigtrip a
+.\hbox(16.0+4.00002)x6.0, shifted -1.0
+..\bigtrip B
+.\trip p
+.\hbox(0.0+0.0)x0.0, shifted -16.5
+.\vbox(-1.00002+20.99998)x7.0, shifted -18.0
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(7.0+1.0)x3.0
+...\trip A
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(8.0+2.0)x3.0
+...\trip B
+\mathoff
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.532 ...box{}\right]$\showlists
+ }
+
+
+### restricted horizontal mode entered at line 533
+\mathon
+\hbox(17.99997+3.99997)x19.00002
+.\hbox(14.00002+2.0)x6.00002, shifted -0.99998
+..\bigtrip a
+.\hbox(0.0+0.0)x0.0, shifted 3.0
+.\hbox(16.0+4.00002)x6.0, shifted -1.0
+..\bigtrip B
+.\trip s
+.\vbox(-1.00002+22.99995)x7.0, shifted -18.99998
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(7.0+1.0)x3.0
+...\trip A
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(-1.00002+2.0)x7.0
+...\trip ^^@
+..\hbox(8.0+2.0)x3.0
+...\trip B
+\mathoff
+spacefactor 1000
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+l.535 \right]$\showlists
+ }
+
+Checking TeX--XeT enhancements:
+
+\endL or \endR problem (0 missing, 1 extra) in paragraph at lines 548--5
+48
+[][][][][][]
+
+\hbox(0.0+0.0)x10.0, glue set 3.5fil
+.\hbox(0.0+0.0)x0.5
+.\beginL
+.\beginR
+.\kern 3.0
+.\penalty 0
+.\hbox(0.0+0.0)x0.0
+.\kern 3.0
+.\kern 0.0
+.\endR
+.\endL
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fil
+.\glue(\rightskip) 0.0
+
+
+\endL or \endR problem (0 missing, 2 extra) in paragraph at lines 549--5
+49
+[]
+
+\hbox(0.0+0.0)x10.0, glue set 5.5fil
+.\hbox(0.0+0.0)x0.5
+.\kern 0.0
+.\kern 4.0
+.\kern 0.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fil
+.\glue(\rightskip) 0.0
+
+> \box0=
+\vbox(0.0+0.0)x10.0
+.\hbox(0.0+0.0)x10.0, glue set 8.5fil
+..\hbox(0.0+0.0)x0.5
+..\beginL
+..\kern 1.0
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\endL
+..\glue(\rightskip) 0.0
+.\glue(\parskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x10.0, glue set 7.5fil
+..\hbox(0.0+0.0)x0.5
+..\beginR
+..\kern 2.0
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\endR
+..\glue(\rightskip) 0.0
+.\glue(\parskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x10.0, glue set 3.5fil
+..\hbox(0.0+0.0)x0.5
+..\beginL
+..\beginR
+..\kern 3.0
+..\penalty 0
+..\hbox(0.0+0.0)x0.0
+..\kern 3.0
+..\kern 0.0
+..\endR
+..\endL
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+.\glue(\parskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x10.0, glue set 5.5fil
+..\hbox(0.0+0.0)x0.5
+..\kern 0.0
+..\kern 4.0
+..\kern 0.0
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+l.550 \showbox0
+
+
+Checking optimized \aftergroup:
+! Undefined control sequence.
+<to be read again> \x
+ }{\relax
+l.562 ...roup{\aftergroup\relax}
+ }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Checking \showifs, \currentiftype, \currentiflevel, and \currentifbranch
+:
+\currentifbranch OK
+current if level (l.581): 0
+current if level (l.582): 1
+current if level (l.583): 2
+current if type (l.601): \if!NONE
+current if branch (l.601): no branch
+current if type (l.602): \if
+current if branch (l.602): true branch
+current if type (l.602): \unless\if
+current if branch (l.602): false branch
+current if type (l.603): \if
+current if branch (l.603): false branch
+current if type (l.603): \unless\if
+current if branch (l.603): true branch
+current if type (l.604): \ifcat
+current if branch (l.604): true branch
+current if type (l.604): \unless\ifcat
+current if branch (l.604): false branch
+current if type (l.605): \ifcat
+current if branch (l.605): false branch
+current if type (l.605): \unless\ifcat
+current if branch (l.605): true branch
+current if type (l.606): \ifnum
+current if branch (l.606): true branch
+current if type (l.606): \unless\ifnum
+current if branch (l.606): true branch
+current if type (l.607): \ifdim
+current if branch (l.607): false branch
+current if type (l.607): \unless\ifdim
+current if branch (l.607): true branch
+current if type (l.608): \ifodd
+current if branch (l.608): true branch
+current if type (l.608): \unless\ifodd
+current if branch (l.608): false branch
+current if type (l.610): \ifvmode
+current if branch (l.610): true branch
+current if type (l.610): \unless\ifvmode
+current if branch (l.610): false branch
+current if type (l.613): \ifhmode
+current if branch (l.613): true branch
+current if type (l.613): \unless\ifhmode
+current if branch (l.613): false branch
+current if type (l.615): \ifmmode
+current if branch (l.615): true branch
+current if type (l.615): \unless\ifmmode
+current if branch (l.615): false branch
+current if type (l.617): \ifinner
+current if branch (l.617): true branch
+current if type (l.619): \unless\ifinner
+current if branch (l.619): true branch
+current if type (l.620): \ifvoid
+current if branch (l.620): true branch
+current if type (l.620): \unless\ifvoid
+current if branch (l.620): true branch
+current if type (l.621): \ifhbox
+current if branch (l.621): true branch
+current if type (l.621): \unless\ifhbox
+current if branch (l.621): true branch
+current if type (l.622): \ifvbox
+current if branch (l.622): true branch
+current if type (l.622): \unless\ifvbox
+current if branch (l.622): true branch
+current if type (l.623): \ifx
+current if branch (l.623): false branch
+current if type (l.623): \unless\ifx
+current if branch (l.623): true branch
+current if type (l.624): \ifeof
+current if branch (l.624): true branch
+current if type (l.624): \unless\ifeof
+current if branch (l.624): false branch
+current if type (l.625): \iftrue
+current if branch (l.625): true branch
+current if type (l.625): \unless\iftrue
+current if branch (l.625): false branch
+current if type (l.626): \iffalse
+current if branch (l.626): false branch
+current if type (l.626): \unless\iffalse
+current if branch (l.626): true branch
+current if type (l.627): \ifcase
+current if branch (l.627): true branch
+current if type (l.627): \ifcase
+current if branch (l.627): false branch
+current if type (l.628): \ifdefined
+current if branch (l.628): true branch
+current if type (l.628): \unless\ifdefined
+current if branch (l.628): true branch
+current if type (l.629): \ifcsname
+current if branch (l.629): true branch
+current if type (l.630): \unless\ifcsname
+current if branch (l.630): true branch
+current if type (l.631): \iffontchar
+current if branch (l.631): true branch
+current if type (l.631): \unless\iffontchar
+current if branch (l.631): true branch
+{math mode: \ifcsname: (level 41) entered on line 647}
+{\unless\ifcsname: (level 42) entered on line 647}
+{\iffontchar: (level 43) entered on line 648}
+{\unless\iffontchar: (level 44) entered on line 648}
+
+### level 44: \unless\iffontchar entered on line 648
+### level 43: \iffontchar entered on line 648
+### level 42: \unless\ifcsname entered on line 647
+### level 41: \ifcsname entered on line 647
+### level 40: \unless\ifdefined entered on line 645
+### level 39: \ifdefined entered on line 645
+### level 38: \ifcase\else entered on line 644
+### level 37: \ifcase entered on line 644
+### level 36: \unless\iffalse entered on line 643
+### level 35: \iffalse\else entered on line 643
+### level 34: \unless\iftrue\else entered on line 643
+### level 33: \iftrue entered on line 643
+### level 32: \unless\ifx entered on line 642
+### level 31: \ifx\else entered on line 642
+### level 30: \unless\ifeof\else entered on line 641
+### level 29: \ifeof entered on line 641
+### level 28: \unless\ifvbox entered on line 641
+### level 27: \ifvbox entered on line 641
+### level 26: \unless\ifhbox entered on line 640
+### level 25: \ifhbox entered on line 640
+### level 24: \unless\ifvoid entered on line 640
+### level 23: \ifvoid entered on line 640
+### level 22: \unless\ifinner\else entered on line 639
+### level 21: \ifinner entered on line 639
+### level 20: \unless\ifmmode\else entered on line 639
+### level 19: \ifmmode entered on line 639
+### level 18: \unless\ifhmode\else entered on line 638
+### level 17: \ifhmode entered on line 638
+### level 16: \unless\ifvmode\else entered on line 637
+### level 15: \ifvmode entered on line 637
+### level 14: \unless\ifodd\else entered on line 636
+### level 13: \ifodd entered on line 636
+### level 12: \unless\ifdim entered on line 635
+### level 11: \ifdim\else entered on line 635
+### level 10: \unless\ifnum entered on line 635
+### level 9: \ifnum entered on line 635
+### level 8: \unless\ifcat entered on line 634
+### level 7: \ifcat\else entered on line 634
+### level 6: \unless\ifcat\else entered on line 634
+### level 5: \ifcat entered on line 634
+### level 4: \unless\if entered on line 633
+### level 3: \if\else entered on line 633
+### level 2: \unless\if\else entered on line 633
+### level 1: \if entered on line 633
+
+! OK.
+l.649 \showifs
+ % <== show 44 nested ifs
+
+{\fi: \unless\iffontchar (level 44) entered on line 648}
+{\fi: \iffontchar (level 43) entered on line 648}
+{\fi: \unless\ifcsname (level 42) entered on line 647}
+{\fi: \ifcsname (level 41) entered on line 647}
+Checking \iffontchar, \fontcharwd, etc.:
+! Missing font identifier.
+<to be read again>
+ \relax
+...
+l.672 \iffontchar \else
+ \fi % <== missing font identifie...
+I was looking for a control sequence whose
+current meaning has been defined by \font.
+
+! Missing number, treated as zero.
+<to be read again>
+ \relax
+...
+l.672 \iffontchar \else
+ \fi % <== missing font identifie...
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Bad character code (-1).
+l.673 ...ffontchar\textfont2 -1
+ \else \fi % <== bad charac...
+A character number must be between 0 and 255.
+I changed this one to zero.
+
+! Bad character code (256).
+l.674 \iffontchar\font 256
+ \else \fi % <== bad character...
+A character number must be between 0 and 255.
+I changed this one to zero.
+
+! You can't use `\fontcharwd' in vertical mode.
+l.675 \fontcharwd
+ \fontcharht \fontchardp \fontcharic % ...
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\fontcharht' in vertical mode.
+l.675 \fontcharwd \fontcharht
+ \fontchardp \fontcharic % ...
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\fontchardp' in vertical mode.
+l.675 ...\fontcharht \fontchardp
+ \fontcharic % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\fontcharic' in vertical mode.
+l.675 ...\fontchardp \fontcharic
+ % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+Font \font character A: wd=2.0pt ht=7.0pt dp=1.0pt ic=1.0pt
+Font \textfont1 character B: wd=3.0pt ht=8.0pt dp=2.0pt
+Font \scriptfont2 character B: wd=1.5pt ht=4.0pt dp=1.0pt
+Font \scriptscriptfont3 character B: wd=6.0pt ht=16.0pt dp=4.00002pt
+Font \trip character 7:
+Font \trip character D does not exist
+Font \nullfont character D does not exist
+Font \font has 23 characters.
+Font \trip has 23 characters.
+Font \nullfont has 0 characters.
+Checking \parshapelength, \parshapeindent, and \parshapedimen:
+! You can't use `\parshapelength' in vertical mode.
+l.699 \parshapelength
+ \parshapeindent \parshapedimen % <...
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\parshapeindent' in vertical mode.
+l.699 ...elength \parshapeindent
+ \parshapedimen % <== can'...
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\parshapedimen' in vertical mode.
+l.699 ...peindent \parshapedimen
+ % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+Parshape test 1 OK
+Parshape test 2 OK
+Parshape test 3 OK
+Parshape test 4 OK
+Checking \numexpr, \dimexpr, \glueexpr, and \muexpr:
+! You can't use `\numexpr' in vertical mode.
+l.763 \numexpr
+ \dimexpr \glueexpr \muexpr % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\dimexpr' in vertical mode.
+l.763 \numexpr \dimexpr
+ \glueexpr \muexpr % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\glueexpr' in vertical mode.
+l.763 ...expr \dimexpr \glueexpr
+ \muexpr % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\muexpr' in vertical mode.
+l.763 ...mexpr \glueexpr \muexpr
+ % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! Missing ) inserted for expression.
+<to be read again>
+ \9
+l.765 ...unt43=\numexpr ( ( 2 \9
+ \dimen43=\dimexpr ...
+I was expecting to see `+', `-', `*', `/', or `)'. Didn't.
+
+! Missing ) inserted for expression.
+<to be read again>
+ \9
+l.765 ...unt43=\numexpr ( ( 2 \9
+ \dimen43=\dimexpr ...
+I was expecting to see `+', `-', `*', `/', or `)'. Didn't.
+
+! Missing ) inserted for expression.
+<to be read again>
+ \9
+l.765 ...men43=\dimexpr ( 3pt \9
+
+I was expecting to see `+', `-', `*', `/', or `)'. Didn't.
+
+\numexpr \count 43=2
+\dimexpr \dimen 43=3.0pt
+\glueexpr \skip 43=4.0pt plus 3.0fil
+\muexpr \muskip 43=5.0mu minus 1.0mu
+{into \tracingassigns=5}
+{changing \count44=0}
+{into \count44=2147483647}
+{changing \dimen44=0.0pt}
+{into \dimen44=16383.99998pt}
+{changing \count44=2147483647}
+{into \count44=-2147483647}
+{changing \dimen44=16383.99998pt}
+{into \dimen44=-16383.99998pt}
+{changing \count44=-2147483647}
+{into \count44=2147450880}
+{changing \dimen44=-16383.99998pt}
+{into \dimen44=16383.5pt}
+{changing \skip44=0.0pt}
+{into \skip44=16383.99998pt}
+{changing \skip44=16383.99998pt}
+{into \skip44=16384.0pt}
+! Dimension too large.
+l.778 \dimen45=\skip44
+ \dimen45=\dimexpr...
+I can't work with sizes bigger than about 19 feet.
+Continue and I'll use the largest value I can.
+
+{changing \dimen45=0.0pt}
+{into \dimen45=16383.99998pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.778 ...5=\dimexpr1sp*\skip44\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{changing \dimen45=16383.99998pt}
+{into \dimen45=0.0pt}
+{changing \dimen44=16383.5pt}
+{into \dimen44=-16383.99998pt}
+{changing \dimen44=-16383.99998pt}
+{into \dimen44=-16384.0pt}
+! Dimension too large.
+l.780 \dimen45=\skip44
+ \dimen45=\dimexpr...
+I can't work with sizes bigger than about 19 feet.
+Continue and I'll use the largest value I can.
+
+{changing \dimen45=0.0pt}
+{into \dimen45=16383.99998pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.780 ...5=\dimexpr1sp*\skip44\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{changing \dimen45=16383.99998pt}
+{into \dimen45=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.781 ...4=\numexpr"7FFFFFFE+2\9
+ \dimen44=\dimexpr"3FFFFFF...
+I can't evaluate this expression,
+since the result is out of range.
+
+{changing \count44=2147450880}
+{into \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.781 ...imexpr"3FFFFFFEsp+2sp\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{changing \dimen44=-16384.0pt}
+{into \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.782 ...=\numexpr-"7FFFFFFE-2\9
+ \dimen44=\dimexpr-"3FFFFFF...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.782 ...mexpr-"3FFFFFFEsp-2sp\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.783 ...=\numexpr"10000*"8000\9
+ \dimen44=\dimexpr"8000sp*"...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.783 ...\dimexpr"8000sp*"8000\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.784 ...\numexpr"10000*-"8000\9
+ \dimen44=\dimexpr"8000sp*-"...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.784 ...dimexpr"8000sp*-"8000\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.785 ...\numexpr-"10000*"8000\9
+ \dimen44=\dimexpr-"8000sp*"...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.785 ...dimexpr-"8000sp*"8000\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.786 ...numexpr-"10000*-"8000\9
+ \dimen44=\dimexpr-"8000sp*-"...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.786 ...imexpr-"8000sp*-"8000\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.787 \count44=\numexpr0/0\9
+ \dimen44=\dimexpr...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.787 ...dimen44=\dimexpr0pt/0\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.788 \count44=\numexpr1/0\9
+ \dimen44=\dimexpr...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.788 ...dimen44=\dimexpr1pt/0\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+! Arithmetic overflow.
+<recently read> \9
+
+l.789 ...\count44=\numexpr-1/0\9
+ \dimen44=\dimexpr-...
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \count44=0}
+! Arithmetic overflow.
+<recently read> \9
+
+l.789 ...imen44=\dimexpr-1pt/0\9
+
+I can't evaluate this expression,
+since the result is out of range.
+
+{reassigning \dimen44=0.0pt}
+{into \tracingassigns=5}
+{changing \skip93=0.0pt}
+{into \skip93=3.0pt minus 1.0fil}
+{changing \skip93=3.0pt minus 1.0fil}
+{into \skip93=3.0pt minus 1.0fil}
+{changing \skip93=3.0pt minus 1.0fil}
+{into \skip93=3.0pt minus 1.0fil}
+{reassigning \skip93=3.0pt minus 1.0fil}
+{changing \skip93=3.0pt minus 1.0fil}
+{into \skip93=3.0pt plus 1.0fil}
+{changing \skip93=3.0pt plus 1.0fil}
+{into \skip93=3.0pt plus 1.0fil}
+{reassigning \skip93=3.0pt plus 1.0fil}
+{changing \skip93=3.0pt plus 1.0fil}
+{into \skip93=2.0pt plus -1.0fil minus 1.0fil}
+{changing \skip93=2.0pt plus -1.0fil minus 1.0fil}
+{into \skip93=2.0pt plus -1.0fil minus 1.0fil}
+{reassigning \skip93=2.0pt plus -1.0fil minus 1.0fil}
+{changing \skip93=2.0pt plus -1.0fil minus 1.0fil}
+{into \skip93=0.0pt plus 1.0fil minus 1.0fil}
+{changing \skip93=0.0pt plus 1.0fil minus 1.0fil}
+{into \skip93=1.0pt plus 2.0fil minus 1.0fil}
+{changing \skip93=1.0pt plus 2.0fil minus 1.0fil}
+{into \skip93=5.0pt minus 1.0fil}
+Expr quotient rounding 1 OK
+Expr quotient rounding 2 OK
+Expr quotient rounding 3 OK
+Expr quotient rounding 4 OK
+! Incompatible glue units.
+<recently read> \9
+
+...
+l.829 \15{32}{5}{6}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<to be read again>
+ p
+...
+l.829 \15{32}{5}{6}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<recently read> \relax
+
+...
+l.829 \15{32}{5}{6}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+Expr quotient rounding 5 OK
+! Incompatible glue units.
+<recently read> \9
+
+...
+l.830 \16{33}{5}{7}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<to be read again>
+ p
+...
+l.830 \16{33}{5}{7}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<recently read> \relax
+
+...
+l.830 \16{33}{5}{7}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+Expr quotient rounding 6 OK
+! Incompatible glue units.
+<recently read> \9
+
+...
+l.831 \17{25}{4}{6}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<to be read again>
+ p
+...
+l.831 \17{25}{4}{6}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<recently read> \relax
+
+...
+l.831 \17{25}{4}{6}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+Expr quotient rounding 7 OK
+! Incompatible glue units.
+<recently read> \9
+
+...
+l.832 \18{26}{4}{7}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<to be read again>
+ p
+...
+l.832 \18{26}{4}{7}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+<recently read> \relax
+
+...
+l.832 \18{26}{4}{7}
+ % <== three mu_error's (! Incompatibl...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+Expr quotient rounding 8 OK
+Expr fraction rounding 1 OK
+Expr fraction rounding 2 OK
+! Arithmetic overflow.
+<to be read again>
+ =
+\1...\fi \ifdim \dimexpr 1sp*#6=
+ \dimexpr (#3sp)*(#4)/(#5)\els...
+l.860 ...1 "7FFFFFFF 2 "40000000
+
+I can't evaluate this expression,
+since the result is out of range.
+
+! Arithmetic overflow.
+<inserted text> \relax
+
+<to be read again>
+ \else
+\1...expr (#3sp)*(#4)/(#5)\else
+ \2#2 \fi
+l.860 ...1 "7FFFFFFF 2 "40000000
+
+I can't evaluate this expression,
+since the result is out of range.
+
+Expr fraction rounding 3 OK
+[1]
+Memory usage before: 51&320; after: 44&320; still untouched: 680
+[1]
+Memory usage before: 51&320; after: 44&320; still untouched: 680
+Checking \mutoglue and \gluetomu:
+! You can't use `\mutoglue' in vertical mode.
+l.903 \mutoglue
+ \gluetomu % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\gluetomu' in vertical mode.
+l.903 \mutoglue \gluetomu
+ % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! Incompatible glue units.
+l.905 ...kip2=\gluetomu\muskip1
+ % <== two mu_error's (! Inco...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+l.905 ...kip2=\gluetomu\muskip1
+ % <== two mu_error's (! Inco...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+l.906 ...uskip2=\mutoglue\skip1
+ % <== two mu_error's (! Inco...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+! Incompatible glue units.
+l.906 ...uskip2=\mutoglue\skip1
+ % <== two mu_error's (! Inco...
+I'm going to assume that 1mu=1pt when they're mixed.
+
+{into \tracingassigns=1}
+{changing \skip1=9.0pt}
+{into \skip1=1.0pt plus -2.0pt minus -3.0fil}
+{changing \muskip1=9.0mu}
+{into \muskip1=1.0mu plus -2.0mu minus -3.0fil}
+{changing \skip2=9.0pt}
+{into \skip2=-4.0pt plus 5.0fill minus 6.0filll}
+{changing \muskip2=9.0mu}
+{into \muskip2=-4.0mu plus 5.0fill minus 6.0filll}
+{changing \skip3=0.0pt}
+{into \skip3=-1.0pt plus 2.0pt minus 3.0fil}
+{changing \muskip3=0.0mu}
+{into \muskip3=-1.0mu plus 2.0mu minus 3.0fil}
+{changing \skip4=0.0pt}
+{into \skip4=4.0pt plus -5.0fill minus -6.0filll}
+{changing \muskip4=0.0mu}
+{into \muskip4=4.0mu plus -5.0fill minus -6.0filll}
+Checking (mu)glue identity:
+{changing \1=undefined}
+{into \1=\relax}
+{changing \1=\relax}
+{into \1=\skip65535}
+{changing \skip65535=0.0pt}
+{into \skip65535=7.0pt}
+{changing \2=undefined}
+{into \2=\relax}
+{changing \2=\relax}
+{into \2=\muskip32766}
+{changing \muskip32766=0.0mu}
+{into \muskip32766=7.0mu}
+{changing \tracingassigns=1}
+{into \tracingassigns=458752}
+{reassigning \skip65535=7.0pt}
+{reassigning \muskip32766=7.0mu}
+{changing \tracingassigns=458752}
+Checking \gluestretchorder, \glueshrinkorder, \gluestretch, and \glueshr
+ink:
+! You can't use `\gluestretchorder' in vertical mode.
+l.930 \gluestretchorder
+ \gluestretch % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\gluestretch' in vertical mode.
+l.930 ...retchorder \gluestretch
+ % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\glueshrinkorder' in vertical mode.
+l.931 \glueshrinkorder
+ \glueshrink % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+! You can't use `\glueshrink' in vertical mode.
+l.931 ...shrinkorder \glueshrink
+ % <== can't use
+Sorry, but I'm not programmed to handle this case;
+I'll just pretend that you didn't ask for it.
+If you're in the wrong mode, you might be able to
+return to the right one by typing `I}' or `I$' or `I\par'.
+
+Checking sparse arrays:
+! Bad register code (-1).
+<to be read again>
+ \countdef
+...
+l.968 \2\countdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ \countdef
+...
+l.968 \2\countdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+\count65535=0.
+! Bad register code (-1).
+<to be read again>
+ \dimendef
+...
+l.969 \2\dimendef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ \dimendef
+...
+l.969 \2\dimendef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+\dimen65535=0.0pt.
+! Bad register code (-1).
+<to be read again>
+ \skipdef
+...
+l.970 \2\skipdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ \skipdef
+...
+l.970 \2\skipdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+\skip65535=0.0pt.
+! Bad register code (-1).
+<to be read again>
+ \muskipdef
+...
+l.971 \2\muskipdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ \muskipdef
+...
+l.971 \2\muskipdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+\muskip65535=0.0mu.
+! Bad register code (-1).
+<to be read again>
+ \toksdef
+...
+l.972 \2\toksdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ \toksdef
+...
+l.972 \2\toksdef
+ % Bad register code (-1) ...and (65536).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+\toks65535=.
+> \9=\dimen256.
+l.979 ...8 \let\8=\relax \show\9
+
+
+{restoring \9=undefined}
+{restoring \8=undefined}
+{restoring \skip22=0.0pt}
+{restoring \dimen21=0.0pt}
+{restoring \muskip2200=0.0mu}
+{restoring \dimen2100=0.0pt}
+{restoring \count2000=0}
+{restoring \count20=0}
+testing count registers ...
+{into \tracingassigns=1}
+{reassigning \count2000=0}
+{restoring \tracingassigns=0}
+\count2000=0,
+ \count2001=5,
+ \count2002=7,
+ \count2002=7.
+\count2000=5,
+ \count2002=12,
+ \count2002=12.
+\count2000=50,
+ \count2002=120,
+ \count2002=120.
+\count2000=10,
+ \count2002=24,
+ \count2002=24.
+{into \tracingassigns=1}
+{globally changing \count2002=24}
+{into \count2002=5}
+{changing \count2002=5}
+{into \count2002=7}
+{globally changing \count2002=7}
+{into \count2002=0}
+{restoring \tracingassigns=0}
+{restoring \1=undefined}
+{retaining \count2002=0}
+{restoring \count2000=0}
+{retaining \count2002=0}
+{restoring \count2001=0}
+testing dimen registers ...
+{into \tracingassigns=1}
+{reassigning \dimen2000=0.0pt}
+{restoring \tracingassigns=0}
+\dimen2000=0.0pt,
+ \dimen2001=2.5pt,
+ \dimen2002=3.5pt,
+ \dimen2002=3.5pt.
+\dimen2000=2.5pt,
+ \dimen2002=6.0pt,
+ \dimen2002=6.0pt.
+\dimen2000=25.0pt,
+ \dimen2002=60.0pt,
+ \dimen2002=60.0pt.
+\dimen2000=5.0pt,
+ \dimen2002=12.0pt,
+ \dimen2002=12.0pt.
+{into \tracingassigns=1}
+{globally changing \dimen2002=12.0pt}
+{into \dimen2002=2.5pt}
+{changing \dimen2002=2.5pt}
+{into \dimen2002=3.5pt}
+{globally changing \dimen2002=3.5pt}
+{into \dimen2002=0.0pt}
+{restoring \tracingassigns=0}
+{restoring \1=undefined}
+{retaining \dimen2002=0.0pt}
+{restoring \dimen2000=0.0pt}
+{retaining \dimen2002=0.0pt}
+{restoring \dimen2001=0.0pt}
+testing skip registers ...
+{into \tracingassigns=1}
+{reassigning \skip2000=0.0pt}
+{restoring \tracingassigns=0}
+\skip2000=0.0pt,
+ \skip2001=2.5pt plus 1.0fil,
+ \skip2002=3.5pt minus 1.0fill,
+ \skip2002=3.5pt minus 1.0fill.
+\skip2000=2.5pt plus 1.0fil,
+ \skip2002=6.0pt plus 1.0fil minus 1.0fill,
+ \skip2002=6.0pt plus 1.0fil minus 1.0fill.
+\skip2000=25.0pt plus 10.0fil,
+ \skip2002=60.0pt plus 10.0fil minus 10.0fill,
+ \skip2002=60.0pt plus 10.0fil minus 10.0fill.
+\skip2000=5.0pt plus 2.0fil,
+ \skip2002=12.0pt plus 2.0fil minus 2.0fill,
+ \skip2002=12.0pt plus 2.0fil minus 2.0fill.
+{into \tracingassigns=1}
+{globally changing \skip2002=12.0pt plus 2.0fil minus 2.0fill}
+{into \skip2002=2.5pt plus 1.0fil}
+{changing \skip2002=2.5pt plus 1.0fil}
+{into \skip2002=3.5pt minus 1.0fill}
+{globally changing \skip2002=3.5pt minus 1.0fill}
+{into \skip2002=0.0pt}
+{restoring \tracingassigns=0}
+{restoring \1=undefined}
+{retaining \skip2002=0.0pt}
+{restoring \skip2000=0.0pt}
+{retaining \skip2002=0.0pt}
+{restoring \skip2001=0.0pt}
+testing muskip registers ...
+{into \tracingassigns=1}
+{reassigning \muskip2000=0.0mu}
+{restoring \tracingassigns=0}
+\muskip2000=0.0mu,
+ \muskip2001=2.5mu plus 1.0fil,
+ \muskip2002=3.5mu minus 1.0fill,
+ \muskip2002=3.5mu minus 1.0fill.
+\muskip2000=2.5mu plus 1.0fil,
+ \muskip2002=6.0mu plus 1.0fil minus 1.0fill,
+ \muskip2002=6.0mu plus 1.0fil minus 1.0fill.
+\muskip2000=25.0mu plus 10.0fil,
+ \muskip2002=60.0mu plus 10.0fil minus 10.0fill,
+ \muskip2002=60.0mu plus 10.0fil minus 10.0fill.
+\muskip2000=5.0mu plus 2.0fil,
+ \muskip2002=12.0mu plus 2.0fil minus 2.0fill,
+ \muskip2002=12.0mu plus 2.0fil minus 2.0fill.
+{into \tracingassigns=1}
+{globally changing \muskip2002=12.0mu plus 2.0fil minus 2.0fill}
+{into \muskip2002=2.5mu plus 1.0fil}
+{changing \muskip2002=2.5mu plus 1.0fil}
+{into \muskip2002=3.5mu minus 1.0fill}
+{globally changing \muskip2002=3.5mu minus 1.0fill}
+{into \muskip2002=0.0mu}
+{restoring \tracingassigns=0}
+{restoring \1=undefined}
+{retaining \muskip2002=0.0mu}
+{restoring \muskip2000=0.0mu}
+{retaining \muskip2002=0.0mu}
+{restoring \muskip2001=0.0mu}
+testing toks registers ...
+{into \tracingassigns=1}
+{reassigning \toks2000=}
+{restoring \tracingassigns=0}
+\toks2000=,
+ \toks2001=a b c,
+ \toks2002=d e f,
+ \toks2002=d e f.
+{into \tracingassigns=1}
+{reassigning \toks20=}
+{changing \toks21=}
+{into \toks21=a b c}
+{changing \toks2100=}
+{into \toks2100=d e f}
+{changing \toks2002=d e f}
+{into \toks2002=}
+{changing \toks2002=}
+{into \toks2002=a b c}
+{reassigning \toks2200=}
+{changing \toks2200=}
+{into \toks2200=a b c}
+{changing \toks2002=a b c}
+{into \toks2002=}
+{changing \toks2002=}
+{into \toks2002=a b c}
+{changing \toks2200=a b c}
+{into \toks2200=}
+{changing \toks2200=}
+{into \toks2200=a b c}
+{changing \toks30=}
+{into \toks30=a b c}
+{changing \toks30=a b c}
+{into \toks30=}
+{changing \toks30=}
+{into \toks30=a b c}
+{changing \toks3000=}
+{into \toks3000=a b c}
+{changing \toks3000=a b c}
+{into \toks3000=}
+{changing \toks3000=}
+{into \toks3000=a b c}
+{restoring \toks30=}
+{restoring \toks3000=}
+{restoring \toks2200=}
+{restoring \toks2002=d e f}
+{restoring \toks2100=}
+{restoring \toks21=}
+{restoring \tracingassigns=0}
+{into \tracingassigns=1}
+{globally changing \toks2002=d e f}
+{into \toks2002=a b c}
+{changing \toks2002=a b c}
+{into \toks2002=d e f}
+{globally changing \toks2002=d e f}
+{into \toks2002=}
+{restoring \tracingassigns=0}
+{restoring \1=undefined}
+{retaining \toks2002=}
+{retaining \toks2002=}
+{restoring \toks2001=}
+testing box registers ...
+! Bad mathchar (-1).
+<to be read again>
+ \mathchardef
+...
+l.1021 \2\mathchardef
+ % Bad mathchar (-1) ...and (32768).
+A mathchar number must be between 0 and 32767.
+I changed this one to zero.
+
+! Bad mathchar (32768).
+<to be read again>
+ \mathchardef
+...
+l.1021 \2\mathchardef
+ % Bad mathchar (-1) ...and (32768).
+A mathchar number must be between 0 and 32767.
+I changed this one to zero.
+
+\mathchar"7FFF=32767.
+! Bad register code (-1).
+<to be read again>
+ =
+l.1023 \setbox-1=
+ \copy65536 % Bad register code (-1) ...and...
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+l.1023 \setbox-1=\copy65536
+ % Bad register code (-1) ...and...
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ =
+l.1024 \global\setbox65536=
+ \copy-1 % Bad register code (655...
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (-1).
+l.1024 ...l\setbox65536=\copy-1
+ % Bad register code (65536) ....
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (65536).
+<to be read again>
+ =
+l.1025 \wd65536=
+ \ht-1 % Bad register code (65536) ...and (-1).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (-1).
+l.1025 \wd65536=\ht-1
+ % Bad register code (65536) ...and (-1).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+! Bad register code (-1).
+l.1026 \showbox-1
+ % Bad register code (-1).
+A register number must be between 0 and 65535.
+I changed this one to zero.
+
+> \box0=void
+
+! OK.
+l.1026 \showbox-1
+ % Bad register code (-1).
+
+
+### vtop group (level 4) entered at line 1039 (\setbox32103=\vtop to7.0p
+t{)
+### vbox group (level 3) entered at line 1038 (\global\setbox32102=\vbox
+ to5.0pt{)
+### hbox group (level 2) entered at line 1037 (\setbox32101=\hbox to3.0p
+t{)
+### semi simple group (level 1) entered at line 1019 (\begingroup)
+### bottom level
+
+! OK.
+l.1040 \showgroups
+
+
+{restoring \box32103=void}
+> \box32100=void
+
+! OK.
+l.1044 \showbox32100
+
+
+> \box32101=
+\hbox(0.0+0.0)x3.0
+
+! OK.
+l.1045 \showbox32101
+
+
+\box32101=\hbox,wd=3.0pt.
+\box32102=\vbox,ht=5.0pt.
+\box32103=void.
+\box32101=\hbox,wd=3.0pt.
+\box32103=\hbox,wd=3.0pt.
+\box32102=void.
+\box32104=\vbox,ht=5.0pt.
+\box32101=\hbox,ht=2.0pt,wd=3.0pt.
+\box32102=void.
+\box32103=\hbox,dp=6.0pt,wd=3.0pt.
+\box32104=\vbox,ht=5.0pt,wd=8.0pt.
+\box32105=\hbox,ht=1.0pt,wd=5.0pt.
+\box32105=\hbox,ht=1.0pt,wd=5.0pt.
+\box32105=void.
+\box32105=void.
+\box32106=\hbox,ht=1.0pt,wd=10.0pt.
+\box32105=\vbox,ht=5.0pt,wd=1.0pt.
+\box32105=\vbox,ht=5.0pt,wd=1.0pt.
+\box32105=void.
+\box32105=void.
+\box32106=\vbox,ht=10.0pt,wd=1.0pt.
+\box32105=\vbox,ht=30.0pt.
+\box32106=\vbox,ht=10.0pt.
+\box32105=\vbox,ht=20.0pt.
+{restoring \box32106=void}
+{restoring \box32105=void}
+{restoring \box32104=void}
+{restoring \box32103=void}
+{restoring \box32101=void}
+Checking \lastlinefit:
+@firstpass
+[] []
+@ via @@0 b=371 p=0 d=137641
+@@1: line 1.0 t=137641 -> @@0
+[]
+@ via @@0 b=12 p=0 d=144
+@@2: line 1.2 t=144 -> @@0
+[]
+@ via @@1 b=371 p=0 d=137641
+@@3: line 2.0 t=275282 -> @@1
+[]
+@\par via @@1 b=12 p=-10000 d=144
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=144 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x96.0
+.\hbox(0.0+0.0)x96.0, glue set - 0.5 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x96.0, glue set 31.0fill []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1079 \lastlinefit=-1 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x96.0, glue set 31.0fill
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fill
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1079 \lastlinefit=-1 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=371 p=0 d=137641
+@@1: line 1.0 t=137641 s=31.0 g=20.0 -> @@0
+[]
+@ via @@0 b=12 p=0 d=144
+@@2: line 1.2 t=144 s=-4.0 g=8.0 -> @@0
+[]
+@ via @@1 b=371 p=0 d=137641
+@@3: line 2.0 t=275282 s=31.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=12 p=-10000 d=144
+@\par via @@2 b=2 p=-10000 d=4
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=148 s=31.0 a=-1.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x96.0
+.\hbox(0.0+0.0)x96.0, glue set - 0.5 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x96.0, glue set - 0.25 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1080 \lastlinefit=500 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x96.0, glue set - 0.25
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 32.0
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1080 \lastlinefit=500 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=371 p=0 d=137641
+@@1: line 1.0 t=137641 s=31.0 g=20.0 -> @@0
+[]
+@ via @@0 b=12 p=0 d=144
+@@2: line 1.2 t=144 s=-4.0 g=8.0 -> @@0
+[]
+@ via @@1 b=371 p=0 d=137641
+@@3: line 2.0 t=275282 s=31.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=12 p=-10000 d=144
+@\par via @@2 b=12 p=-10000 d=144
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=288 s=31.0 a=-2.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x96.0
+.\hbox(0.0+0.0)x96.0, glue set - 0.5 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x96.0, glue set - 0.5 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1081 \lastlinefit=1001 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x96.0, glue set - 0.5
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 33.0
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1081 \lastlinefit=1001 \1
+
+
+@firstpass
+[]
+@ via @@0 b=0 p=0 d=0
+@@1: line 1.2 t=0 -> @@0
+[]
+@ via @@0 b=0 p=0 d=0
+@ via @@1 b=0 p=0 d=0
+@@2: line 2.2 t=0 -> @@1
+[]
+@ via @@0 b=2 p=0 d=4
+@ via @@1 b=0 p=0 d=0
+@ via @@2 b=0 p=0 d=0
+@@3: line 3.2 t=0 -> @@2
+[]
+@ via @@1 b=2 p=0 d=4
+@ via @@2 b=0 p=0 d=0
+@ via @@3 b=0 p=0 d=0
+@@4: line 4.2 t=0 -> @@3
+[]
+@\par via @@2 b=2 p=-10000 d=4
+@\par via @@3 b=0 p=-10000 d=0
+@\par via @@4 b=0 p=-10000 d=0
+@@5: line 5.2- t=0 -> @@4
+
+> \box0=
+\vbox(0.0+0.0)x98.0
+.\hbox(0.0+0.0)x98.0, glue set 68.0fill []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x98.0, glue set 68.0fill []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x98.0, glue set 68.0fill []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x98.0, glue set 68.0fill []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x98.0, glue set 34.0fill []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1085 ... \lastlinefit=1000 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x98.0, glue set 34.0fill
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fill
+.\glue(\rightskip) 0.0 plus 1.0fill
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1085 ... \lastlinefit=1000 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=449 p=0 d=201601
+@@1: line 1.0 t=201601 s=33.0 g=20.0 -> @@0
+[]
+@ via @@0 b=2 p=0 d=4
+@@2: line 1.2 t=4 s=-2.0 g=8.0 -> @@0
+[]
+@ via @@1 b=449 p=0 d=201601
+@@3: line 2.0 t=403202 s=33.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=2 p=-10000 d=4
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=4 s=33.0 a=-0.5 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x98.0
+.\hbox(0.0+0.0)x98.0, glue set - 0.25 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x98.0, glue set - 0.125 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1087 \lastlinefit=500 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x98.0, glue set - 0.125
+.\glue(\leftskip) 0.0 plus -1.0fill
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 33.5
+.\glue(\rightskip) 0.0 plus 1.0fill
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1087 \lastlinefit=500 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=449 p=0 d=201601
+@@1: line 1.0 t=201601 s=33.0 g=20.0 -> @@0
+[]
+@ via @@0 b=2 p=0 d=4
+@@2: line 1.2 t=4 s=-2.0 g=8.0 -> @@0
+[]
+@ via @@1 b=449 p=0 d=201601
+@@3: line 2.0 t=403202 s=33.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=2 p=-10000 d=4
+@\par via @@2 b=2 p=-10000 d=4
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=8 s=33.0 a=-1.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x98.0
+.\hbox(0.0+0.0)x98.0, glue set - 0.25 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x98.0, glue set - 0.25 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1089 \lastlinefit=1000 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x98.0, glue set - 0.25
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 34.0
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1089 \lastlinefit=1000 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=533 p=0 d=284089
+@@1: line 1.0 t=284089 -> @@0
+[]
+@ via @@0 b=0 p=0 d=0
+@@2: line 1.2 t=0 -> @@0
+[]
+@ via @@1 b=533 p=0 d=284089
+@@3: line 2.0 t=568178 -> @@1
+[]
+@\par via @@1 b=0 p=-10000 d=0
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x100.0
+.\hbox(0.0+0.0)x100.0 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x100.0, glue set 35.0fill []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1091 \lastlinefit=0 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x100.0, glue set 35.0fill
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fill
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1091 \lastlinefit=0 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=533 p=0 d=284089
+@@1: line 1.0 t=284089 s=35.0 g=20.0 -> @@0
+[]
+@ via @@0 b=0 p=0 d=0
+@@2: line 1.2 t=0 s=0.0 g=0.0 -> @@0
+[]
+@ via @@1 b=533 p=0 d=284089
+@@3: line 2.0 t=568178 s=35.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=0 p=-10000 d=0
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=0 s=0.0 a=0.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x100.0
+.\hbox(0.0+0.0)x100.0 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x100.0, glue set 35.0fill []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1092 \lastlinefit=500 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x100.0, glue set 35.0fill
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fill
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1092 \lastlinefit=500 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=533 p=0 d=284089
+@@1: line 1.0 t=284089 s=35.0 g=20.0 -> @@0
+[]
+@ via @@0 b=0 p=0 d=0
+@@2: line 1.2 t=0 s=0.0 g=0.0 -> @@0
+[]
+@ via @@1 b=533 p=0 d=284089
+@@3: line 2.0 t=568178 s=35.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=0 p=-10000 d=0
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=0 s=0.0 a=0.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x100.0
+.\hbox(0.0+0.0)x100.0 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x100.0, glue set 35.0fill []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1093 \lastlinefit=1000 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x100.0, glue set 35.0fill
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fill
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1093 \lastlinefit=1000 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=1137 p=0 d=1292769
+@@1: line 1.0 t=1292769 s=45.0 g=20.0 -> @@0
+[]
+@ via @@0 b=2 p=0 d=4
+@@2: line 1.2 t=4 s=10.0 g=40.0 -> @@0
+[]
+@ via @@1 b=1137 p=0 d=1292769
+@@3: line 2.0 t=2585538 s=45.0 g=20.0 -> @@1
+ []
+@\par via @@1 b=0 p=-10000 d=0
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=4 s=0.0 a=0.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x110.0
+.\hbox(0.0+0.0)x110.0, glue set 0.25 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x110.0, glue set 45.0fill []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1097 ... \lastlinefit=1000 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x110.0, glue set 45.0fill
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\glue 0.0 plus 1.0fil
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fill
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1097 ... \lastlinefit=1000 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=1137 p=0 d=1292769
+@@1: line 1.0 t=1292769 s=45.0 g=20.0 -> @@0
+[]
+@ via @@0 b=2 p=0 d=4
+@@2: line 1.2 t=4 s=10.0 g=40.0 -> @@0
+[]
+@ via @@1 b=1137 p=0 d=1292769
+@@3: line 2.0 t=2585538 s=45.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=2 p=-10000 d=4
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=4 s=45.0 a=2.5 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x110.0
+.\hbox(0.0+0.0)x110.0, glue set 0.25 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x110.0, glue set 0.125 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1099 \lastlinefit=500 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x110.0, glue set 0.125
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 42.5
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1099 \lastlinefit=500 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=1137 p=0 d=1292769
+@@1: line 1.0 t=1292769 s=45.0 g=20.0 -> @@0
+[]
+@ via @@0 b=2 p=0 d=4
+@@2: line 1.2 t=4 s=10.0 g=40.0 -> @@0
+[]
+@ via @@1 b=1137 p=0 d=1292769
+@@3: line 2.0 t=2585538 s=45.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=2 p=-10000 d=4
+@\par via @@2 b=2 p=-10000 d=4
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=8 s=45.0 a=5.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x110.0
+.\hbox(0.0+0.0)x110.0, glue set 0.25 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x110.0, glue set 0.25 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1100 \lastlinefit=1000 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x110.0, glue set 0.25
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 40.0
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1100 \lastlinefit=1000 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=2073 p=0 d=4297329
+@@1: line 1.0 t=4297329 -> @@0
+[]
+@ via @@0 b=12 p=0 d=144
+@@2: line 1.2 t=144 -> @@0
+[]
+@ via @@1 b=2073 p=0 d=4297329
+@@3: line 2.0 t=8594658 -> @@1
+[]
+@\par via @@1 b=0 p=-10000 d=0
+@\par via @@2 b=0 p=-10000 d=0
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=144 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x120.0
+.\hbox(0.0+0.0)x120.0, glue set 0.5 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x120.0, glue set 55.0fill []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1102 \lastlinefit=0 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x120.0, glue set 55.0fill
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 0.0 plus 1.0fill
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1102 \lastlinefit=0 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=2073 p=0 d=4297329
+@@1: line 1.0 t=4297329 s=55.0 g=20.0 -> @@0
+[]
+@ via @@0 b=12 p=0 d=144
+@@2: line 1.2 t=144 s=20.0 g=40.0 -> @@0
+[]
+@ via @@1 b=2073 p=0 d=4297329
+@@3: line 2.0 t=8594658 s=55.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=12 p=-10000 d=144
+@\par via @@2 b=2 p=-10000 d=4
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=148 s=55.0 a=5.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x120.0
+.\hbox(0.0+0.0)x120.0, glue set 0.5 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x120.0, glue set 0.25 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1103 \lastlinefit=500 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x120.0, glue set 0.25
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 50.0
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1103 \lastlinefit=500 \1
+
+
+@firstpass
+[] []
+@ via @@0 b=2073 p=0 d=4297329
+@@1: line 1.0 t=4297329 s=55.0 g=20.0 -> @@0
+[]
+@ via @@0 b=12 p=0 d=144
+@@2: line 1.2 t=144 s=20.0 g=40.0 -> @@0
+[]
+@ via @@1 b=2073 p=0 d=4297329
+@@3: line 2.0 t=8594658 s=55.0 g=20.0 -> @@1
+[]
+@\par via @@1 b=12 p=-10000 d=144
+@\par via @@2 b=12 p=-10000 d=144
+@\par via @@3 b=0 p=-10000 d=0
+@@4: line 2.2- t=288 s=55.0 a=10.0 -> @@2
+
+> \box0=
+\vbox(0.0+0.0)x120.0
+.\hbox(0.0+0.0)x120.0, glue set 0.5 []
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x120.0, glue set 0.5 []
+
+! OK.
+\1...nt \2\2\2\2\3\2}\showbox 0
+ \setbox 0=\vbox {\unvbox 0 \s...
+l.1104 \lastlinefit=1000 \1
+
+
+> \box0=
+\hbox(0.0+0.0)x120.0, glue set 0.5
+.\hbox(0.0+0.0)x30.0
+.\glue 5.0 plus 20.0 minus 4.0
+.\hbox(0.0+0.0)x30.0
+.\penalty 10000
+.\glue(\parfillskip) 45.0
+.\glue(\rightskip) 0.0
+
+! OK.
+\1...tbox 0=\lastbox \showbox 0
+ }
+l.1104 \lastlinefit=1000 \1
+
+
+Checking expansion of V 2 \protected macros:
+\1 (l.1113)
+\1 (l.1113)
+relax (l.1115)
+relax (l.1115)
+Checking hyphenation and \savinghyphcodes:
+
+Underfull \hbox (badness 10000) in paragraph at lines 1132--1132
+ []\trip pp1Aqq []pp1Aqq []pp1A1qq []pp1Aqq []ppAqq
+
+\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1132--1132
+ []\trip up1Aqq []up1Aqq []up1A1qq []up1Aqq []upAqq
+
+\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1132--1132
+ []\trip ppB1qq []ppB1qq []ppB1qq []pp1B1qq []ppBqq
+
+\hbox(8.0+2.0)x16383.99998, glue set 1634.9 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1132--1132
+ []\trip upB1qq []upB1qq []upB1qq []up1B1qq []upBqq
+
+\hbox(8.0+2.0)x16383.99998, glue set 1634.9 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1134--1134
+ []\trip pp1A1qq []pp1Aqq []pp1A1qq []pp1Aqq []ppAqq
+
+\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1134--1134
+ []\trip up1A1qq []up1Aqq []up1A1qq []up1Aqq []upAqq
+
+\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1134--1134
+ []\trip ppB1qq []ppB1qq []ppB1qq []pp1B1qq []ppBqq
+
+\hbox(8.0+2.0)x16383.99998, glue set 1634.9 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1134--1134
+ []\trip upB1qq []upB1qq []upB1qq []up1B1qq []upBqq
+
+\hbox(8.0+2.0)x16383.99998, glue set 1634.9 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1136--1136
+ []\trip pp1Aqq []pp1Aqq []pp1A1qq []pp1Aqq []ppAqq
+
+\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1136--1136
+ []\trip up1Aqq []up1Aqq []up1A1qq []up1Aqq []upAqq
+
+\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1136--1136
+ []\trip pp1B1qq []ppB1qq []ppB1qq []pp1B1qq []ppBqq
+
+\hbox(8.0+2.0)x16383.99998, glue set 1634.9 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1136--1136
+ []\trip up1B1qq []upB1qq []upB1qq []up1B1qq []upBqq
+
+\hbox(8.0+2.0)x16383.99998, glue set 1634.9 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1138--1138
+ []\trip qq1app []qq1app []qqapp []qq1app []qqapp
+
+\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1138--1138
+ []\trip qqb1pp []qqb1pp []qqb1pp []qqb1pp []qqbpp
+
+\hbox(8.0+2.0)x16383.99998, glue set 1634.9 []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 1138--1138
+ []\trip qqrpp []qqrpp []qq1r1pp []qq1r1pp []qqrpp
+
+\hbox(0.0+0.0)x16383.99998, glue set 1634.9 []
+
+Checking \savingvdiscards, \pagediscards, and \splitdiscards:
+! Missing $ inserted.
+<inserted text>
+ $
+...
+l.1146 ...oindent$\splitdiscards
+ \noindent$\pagediscards}
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Missing $ inserted.
+<inserted text>
+ $
+...
+l.1146 ...noindent$\pagediscards
+ }
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+> \box27=
+\vbox(0.0+0.0)x0.0
+.\hbox(0.0+0.0)x0.0
+..\mathon
+..\mathoff
+..\penalty 10000
+..\glue(\parfillskip) 0.0
+..\glue(\rightskip) 0.0
+.\glue(\parskip) 0.0
+.\glue(\baselineskip) 0.0
+.\hbox(0.0+0.0)x0.0
+..\mathon
+..\mathoff
+..\penalty 10000
+..\glue(\parfillskip) 0.0
+..\glue(\rightskip) 0.0
+
+! OK.
+l.1147 \showbox27
+
+
+> \box0=
+\vbox(40.0+0.0)x0.0
+.\vbox(20.0+0.0)x0.0
+..\vbox(20.0+0.0)x0.0
+..\openout0=abc
+..\penalty 0
+..\write1{write 1}
+.\vbox(20.0+0.0)x0.0
+..\write2{write 2}
+..\closeout3
+..\glue(\splittopskip) 0.0
+..\vbox(20.0+0.0)x0.0
+..\glue 0.0 plus 1.0fil
+
+! OK.
+\1...cards \box 28 } \showbox 0
+ }
+l.1175 \1 -1 20
+ \1 0 30 \1 1 20 \1 2 30
+
+> \box0=
+\vbox(50.0+0.0)x0.0
+.\vbox(30.0+0.0)x0.0
+..\vbox(20.0+0.0)x0.0
+..\openout0=abc
+..\penalty 0
+..\write1{write 1}
+..\glue 10.0 plus 1.0 minus 1.0
+..\write2{write 2}
+.\vbox(20.0+0.0)x0.0
+..\closeout3
+..\glue(\splittopskip) 0.0
+..\vbox(20.0+0.0)x0.0
+..\glue 0.0 plus 1.0fil
+
+! OK.
+\1...cards \box 28 } \showbox 0
+ }
+l.1175 \1 -1 20 \1 0 30
+ \1 1 20 \1 2 30
+
+> \box0=
+\vbox(60.0+0.0)x0.0
+.\vbox(20.0+0.0)x0.0
+..\vbox(20.0+0.0)x0.0
+..\openout0=abc
+..\penalty 0
+..\write1{write 1}
+.\glue 10.0 plus 1.0 minus 1.0
+.\penalty 0
+.\kern 10.0
+.\vbox(20.0+0.0)x0.0
+..\write2{write 2}
+..\closeout3
+..\glue(\splittopskip) 0.0
+..\vbox(20.0+0.0)x0.0
+..\glue 0.0 plus 1.0fil
+
+! OK.
+\1...cards \box 28 } \showbox 0
+ }
+l.1175 ... \1 0 30 \1 1 20
+ \1 2 30
+
+> \box0=
+\vbox(60.0+0.0)x0.0
+.\vbox(30.0+0.0)x0.0
+..\vbox(20.0+0.0)x0.0
+..\openout0=abc
+..\penalty 0
+..\write1{write 1}
+..\glue 10.0 plus 1.0 minus 1.0
+..\write2{write 2}
+.\penalty 0
+.\kern 10.0
+.\vbox(20.0+0.0)x0.0
+..\closeout3
+..\glue(\splittopskip) 0.0
+..\vbox(20.0+0.0)x0.0
+..\glue 0.0 plus 1.0fil
+
+! OK.
+\1...cards \box 28 } \showbox 0
+ }
+l.1175 ... \1 1 20 \1 2 30
+
+
+
+### internal vertical mode entered at line 1184
+prevdepth ignored
+### vertical mode entered at line 0
+### recent contributions:
+\glue 0.0 plus 1.0fil
+\kern 20.0
+prevdepth 0.0
+
+! OK.
+\1...{ \pagediscards \showlists
+ }}
+l.1184 ...0 \vfil \kern 20 pt \1
+ \penalty -1 \1
+
+
+### internal vertical mode entered at line 1184
+prevdepth ignored
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+\1...{ \pagediscards \showlists
+ }}
+l.1184 ...0 pt \1 \penalty -1 \1
+
+
+
+### internal vertical mode entered at line 1185
+prevdepth ignored
+### vertical mode entered at line 0
+### recent contributions:
+\glue 0.0 plus 1.0fill
+\kern 2.0
+prevdepth 0.0
+
+! OK.
+\1...{ \pagediscards \showlists
+ }}
+l.1185 ...1 \vfill \kern 2 pt \1
+ \penalty 10 \1
+
+
+### internal vertical mode entered at line 1185
+\glue 0.0 plus 1.0fill
+\kern 2.0
+\penalty 10
+prevdepth ignored
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+\1...{ \pagediscards \showlists
+ }}
+l.1185 ...2 pt \1 \penalty 10 \1
+
+
+> \box0=
+\vbox(12.0+0.0)x0.0
+.\kern 5.0
+.\penalty 0
+.\kern 7.0
+.\glue(\baselineskip) 0.0
+
+! OK.
+<output> ...scards } \showbox 0
+ \showbox 255 \setbox 0 = \box...
+l.1190 ...box {} \penalty -10000
+
+
+> \box255=
+\vbox(0.0+0.0)x0.0
+.\write1{}
+.\write2{}
+.\write3{}
+.\glue(\topskip) 0.0
+.\hbox(0.0+0.0)x0.0
+
+! OK.
+<output> ...wbox 0 \showbox 255
+ \setbox 0 = \box 255 \global ...
+l.1190 ...box {} \penalty -10000
+
+
+
+### internal vertical mode entered at line 1191
+\penalty 10000
+prevdepth ignored
+### vertical mode entered at line 0
+prevdepth 0.0
+
+! OK.
+\1...{ \pagediscards \showlists
+ }}
+l.1191 \1
+
+
+Checking \interlinepenalties, \clubpenalties, \widowpenalties, and \disp
+laywidowpenalties:
+{into \tracingassigns=1}
+{changing \tracingrestores=0}
+{into \tracingrestores=1}
+\interlinepenalties=0
+\clubpenalties=0
+\widowpenalties=0
+\displaywidowpenalties=0
+\interlinepenalties-1=0
+\interlinepenalties0=0
+\interlinepenalties5=0
+\interlinepenalties\interlinepenalties0=0
+\clubpenalties-1=0
+\clubpenalties0=0
+\clubpenalties5=0
+\clubpenalties\clubpenalties0=0
+\widowpenalties-1=0
+\widowpenalties0=0
+\widowpenalties5=0
+\widowpenalties\widowpenalties0=0
+\displaywidowpenalties-1=0
+\displaywidowpenalties0=0
+\displaywidowpenalties5=0
+\displaywidowpenalties\displaywidowpenalties0=0
+{changing \interlinepenalties=0}
+{into \interlinepenalties=3 101\ETC.}
+{changing \clubpenalties=0}
+{into \clubpenalties=1 1}
+{changing \clubpenalties=1 1}
+{into \clubpenalties=4 201\ETC.}
+{changing \widowpenalties=0}
+{into \widowpenalties=5 301\ETC.}
+{changing \displaywidowpenalties=0}
+{into \displaywidowpenalties=6 401\ETC.}
+\interlinepenalties=3 101 102 103
+\clubpenalties=4 201 202 203 204
+\widowpenalties=5 301 302 303 304 305
+\displaywidowpenalties=6 401 402 403 404 405 406
+\interlinepenalties-1=0
+\interlinepenalties0=3
+\interlinepenalties5=103
+\interlinepenalties\interlinepenalties0=103
+\clubpenalties-1=0
+\clubpenalties0=4
+\clubpenalties5=204
+\clubpenalties\clubpenalties0=204
+\widowpenalties-1=0
+\widowpenalties0=5
+\widowpenalties5=305
+\widowpenalties\widowpenalties0=305
+\displaywidowpenalties-1=0
+\displaywidowpenalties0=6
+\displaywidowpenalties5=405
+\displaywidowpenalties\displaywidowpenalties0=406
+{changing \interlinepenalties=3 101\ETC.}
+{into \interlinepenalties=0}
+{restoring \interlinepenalties=3 101\ETC.}
+{changing \box0=void}
+{into \box0=
+\vbox(0.0+0.0)x0.0}
+{restoring \box0=void}
+{restoring \displaywidowpenalties=0}
+{restoring \widowpenalties=0}
+{restoring \clubpenalties=0}
+{restoring \interlinepenalties=0}
+ )
+Here is how much of TeX's memory you used:
+ 22 strings out of 1665
+ 132 string characters out of 8410
+ 2661 words of memory out of 3000
+ 408 multiletter control sequences out of 2100
+ 2286 words of font info for 3 fonts, out of 20000 for 75
+ 10 hyphenation exceptions out of 307
+ 10i,15n,8p,137b,78s stack positions out of 200i,40n,60p,500b,600s
+
+Output written on etrip.dvi (3 pages, 220 bytes).
diff --git a/Build/source/texk/web2c/eptexdir/eptrip/etrip.tex b/Build/source/texk/web2c/eptexdir/eptrip/etrip.tex
new file mode 100644
index 00000000000..38fcbf9f248
--- /dev/null
+++ b/Build/source/texk/web2c/eptexdir/eptrip/etrip.tex
@@ -0,0 +1,1249 @@
+%%; This is `etrip.tex' for e-TeX v3.141592-2.2 as of August 21, 2004.
+%%;
+%%; This is a diabolical test file for e-TeX, an extension of TeX82.
+%%; It is not as diabolical as `trip.tex', Knuth's torture test for TeX.
+%%;
+%%; ==>> Do not use this TeX code and its macros as an example <<==
+%%; ==>> how you can make use of the new e-TeX features! It is <<==
+%%; ==>> meant to test these extensions and often uses slightly <<==
+%%; ==>> wrong e-TeX input to produce errors and warnings. <<==
+%%;
+\catcode`\{=1\catcode`\}=2\catcode`\#=6 \let\bgroup={ \let\egroup=}
+\def\etripdate {2004-09-06}
+\def\texversion {3.141592}
+\def\etripversion{2.2}
+%
+\message{This is the e-Trip test [\etripdate] for
+ e-TeX v\texversion-\etripversion.}
+%
+% --- Make sure that e-Trip is run in e-TeX extended mode
+\def\stop#1{\message{Emergency stop: #1!}}
+\expandafter\ifx\csname eTeXversion\endcsname\relax
+ \stop{You aren't using e-TeX in extended mode}
+ \message{(Do not forget to give an asterisk `*' as the first non-blank}
+ \message{character to make e-IniTeX enter extended mode.)}
+ \expandafter\end
+\fi
+%
+% --- Check for e-TeX version
+\def\1.#1#2\relax{\bgroup
+ \edef\1{\egroup
+ \def\noexpand\2{\number\eTeXversion\eTeXrevision}%
+ \def\noexpand\1{\number\eTeXversion.#1}}\1}
+\expandafter\1\eTeXrevision\relax
+\message{(You are using e-TeX version/revision \2)}
+\ifx\1\etripversion \else \stop{I have expected e-TeX
+ v\texversion-\etripversion...}\expandafter\end\fi
+\let\1=\5 \let\2=\5
+%
+% --- a special branch for e-IniTeX
+\ifx\einitex\undefined \def\einitex{}
+ %
+ \message{e-IniTeX: Assigning category codes,}
+ \catcode`\$=3\catcode`\&=4
+ \catcode`\^=7\catcode`\^^I=10\catcode`\_=8
+ \message{tracing switches,}
+ \tracingstats=4\tracinglostchars=2
+ \message{other codes,}
+ \endlinechar=`\^^M \newlinechar=`\^^J
+ %
+ \message{definitions for e-VirTeX e-Trip test run,}
+ \def\error{\immediate\write15{Bug in your e-TeX implementation!}%
+ \immediate\write15 }
+ \def\typeout{\immediate\write15 }
+ \def\empty{} \def\space{ }
+ %
+ \message{constants and registers,}
+ \chardef\zero=0\chardef\one=1\chardef\two=2
+ \countdef\ctmp=255 \countdef\cndx=254
+ %
+ \message{fonts,}
+ \fontdimen12\nullfont=13pt
+ \font\trip=etrip \hyphenchar\trip=`1 \trip
+ \textfont0=\trip \textfont1=\trip
+ \font\smalltrip=etrip scaled 500\relax % our symbols font
+ \fontdimen22\smalltrip=7pt
+ \textfont2=\smalltrip \scriptfont2=\smalltrip
+ \scriptscriptfont2=\smalltrip
+ \font\bigtrip=etrip at 20pt\relax % our extension font
+ \textfont3=\bigtrip \scriptfont3=\bigtrip
+ \scriptscriptfont3=\bigtrip
+ %
+ \message{some math characters,}
+ \delcode`\[="161361 % small (family 1, character "61 (a)), large (3,"61)
+ \delcode`\|="142342 % small (family 1, character "42 (B)), large (3,"42)
+ \delcode`\]="162362 % small (family 1, character "62 (b)), large (3,"62)
+ %
+ \message{some math parameters,}
+ \thinmuskip=18mu plus 3.6mu
+ \medmuskip=27mu plus 9mu minus 18mu
+ \thickmuskip=36mu minus 7.2mu
+ %
+ \message{hyphenation,}
+ \lefthyphenmin=2\righthyphenmin=2
+ \begingroup
+ \def\x{\patterns{%
+ .pp1aqq. .up1aqq. .ppb1qq. .upb1qq. .pp1r1qq. .up1r1qq.}}
+ \language=0 \x \savinghyphcodes=1
+ \language=1 \lccode`A=`a \lccode`B=`b \x
+ \language=2 \lccode`A=`r \lccode`B=`b \x
+ \language=3 \lccode`A=`a \lccode`B=`r \x
+ {\def\1{\lccode\count20=0 \ifnum\count20<255 \advance\count20 1
+ \expandafter\1\fi}\count20=0 \1
+ \language=4 \patterns{}}
+ {\lccode`B=`b \hyphenation{qqB-pp}}
+ \count20=\interactionmode \nonstopmode
+ {\setbox0\vbox{\parfillskip=0pt
+ \hbadness=0 \showboxdepth=0
+ \hsize=16383.99999pt \pretolerance=-1 \tolerance=-1
+ \trip\ ppaqq upaqq ppbqq upbqq pprqq uprqq qqbpp}}
+ {\lccode`B=`b \language=4 \hyphenation{-q-}}
+ \interactionmode=\count20
+ {\lccode`B=`b \hyphenation{qq-B-pp}}
+ \endgroup
+ %
+ \message{enable e-TeX enhancements (TeXXeT),}
+ \TeXXeTstate=1
+ %
+ \message{prepare saved items (not to be dumped),}
+ \bgroup \savingvdiscards=1
+ \vfill \penalty 1234 % set \pagediscards
+ \setbox0=\vbox{\vbox to10pt{}\vskip5pt\penalty-4321}
+ \setbox1=\vsplit0 to10pt % set \splitdiscards
+ \egroup
+ %
+ \message{everyjob ...dumped.}
+ \everyjob={\message{e-IniTeX: e-Trip format loaded.}}
+ \expandafter\dump
+\fi
+
+%
+% -- Test \lostchars=1 and 2
+\begingroup
+ \tracingonline=0
+ \setbox0=\hbox{%
+ \tracinglostchars=0 \nullfont a%
+ \tracinglostchars=1 \nullfont b%
+ \tracinglostchars=2 \nullfont c%
+ }
+\endgroup
+%
+% -- Do the rest in silent, almost all of it:
+\batchmode
+
+%
+% -- Check that all e-TeX enhancements are switched off
+\ifnum\TeXXeTstate=0 \else
+ \error{dumped e-TeX enhancement state registers aren't switch off}
+\fi
+
+%
+% ============================== input/output: new csnames
+%
+% -- Check table of equivalents and the routines |id_lookup|,
+% |print_cmd_chr| for all new e-TeX control sequences
+% -- Check new primitive \unexpanded (first test)
+\typeout{Checking input/output of new csnames:}
+\begingroup
+ \edef\1{%
+ \unexpanded{%
+% --- additional e-TeX V 1 primitives
+ \eTeXversion \eTeXrevision \showgroups \showtokens
+ \tracingassigns \tracinggroups \tracingifs \tracingscantokens
+ \currentgrouplevel \currentgrouptype \middle \lastnodetype
+ \TeXXeTstate \beginL \endL \beginR \endR \predisplaydirection
+ \marks \topmarks \firstmarks \botmarks
+ \splitfirstmarks \splittopmarks
+ \protected \unexpanded \detokenize \scantokens \readline
+ \unless \ifdefined \ifcsname \everyeof \interactionmode
+% --- additional e-TeX V 2 primitives
+ \currentiflevel \currentiftype \currentifbranch \showifs
+ \fontcharwd \fontcharht \fontchardp \fontcharic \iffontchar
+ \tracingnesting \parshapelength \parshapeindent \parshapedimen
+ \numexpr \dimexpr \glueexpr \muexpr \mutoglue \gluetomu
+ \gluestretchorder \glueshrinkorder \gluestretch \glueshrink
+ \savingvdiscards \pagediscards \splitdiscards
+ \lastlinefit \savinghyphcodes \interlinepenalties
+ \clubpenalties \widowpenalties \displaywidowpenalties
+ }%
+ }
+
+% loop through the list, count the number of csnames,
+% insert the \newlinechar after the 2nd, 4th, 6th, ...
+ \ctmp=0\def\3{}
+ \def\2#1{\ifx\relax#1\else
+ \advance\ctmp\one
+ \edef\3{\unexpanded\expandafter{\3 #1}\ifodd\ctmp\else ^^J\fi}%
+ \expandafter\2\fi}
+ \expandafter\2\1\relax
+ \typeout{e-TeX Version \number\eTeXversion\space has
+ \number\ctmp\space new csnames:}%
+ \show\3\endgroup
+
+%
+% ============================== create and output nodes
+%
+% -- Check |new_...| routines and |short_display|, |show_node_list|
+% for all new e-TeX node types and subtypes
+% -- Check for new primitives disabled when read.
+\typeout{Checking creation and printing for new node types:}
+\tracingonline=1
+\showboxbreadth=255\showboxdepth=255
+\begingroup
+ \setbox0=\vbox{\hsize=0pt\TeXXeTstate=1\relax
+ %% []\trip a[]b[]p$q [] t$u[][] % <== \endR\endL at end
+ a\beginL b\beginR p$q\left[\mathpunct{r}\middle|s\right]t$u
+ %% \trip aMb
+ $$aMb$$ % \hbox ..., display
+ %% [][]\trip p[]q$st$u[] % <== \beginL\beginR at beginning
+ p\endR q\mathsurround=12.3pt$st$u % <== \endL at end
+ %% \trip rMs
+ $$rMs$$ % \hbox ..., display
+ %% []\trip tp[]u % <== \beginL at beginning
+ tp\endL u
+ %% \trip rMs
+ $$rMs$$ % \hbox ..., display
+ %% \trip tp % <== no \mark(s), no \(begin/end)(L/R)!
+ tp\mark{0old}\marks0{0}\marks1{1}\marks15{15}\marks65535{65535}%
+ \marks-1{-1}\marks65536{65536}% Bad register (-1) ...and (65536).
+ \TeXXeTstate=0\relax
+ \beginL\beginR\endL\endR % Improper \(begin/end)(L/R)
+ }\showbox0
+\endgroup
+
+%
+%
+% ============================== \interactionmode
+%
+% -- Check new special register \interactionmode
+\typeout{Checking \string\interactionmode:}
+\begingroup \ctmp=\interactionmode % save current value
+\nonstopmode
+% test inquiry using \interactionmode
+\def\3{\typeout{current interactionmode (l.\number\inputlineno):
+ \ifcase\interactionmode batch\or nonstop\or scroll\or
+ errorstop\else UNKNOWN!\fi}}
+\def\1#1{\relax\ifnum#1=\interactionmode \3 \else
+ \typeout{wrong interactionmode:
+ \number\interactionmode\space should be \number#1!}\fi}
+\batchmode \1 0
+\nonstopmode \1 1
+\scrollmode \1 2
+\errorstopmode \1 3
+% test setting |interaction_mode| using this special register
+\def\2#1{\interactionmode=#1\relax \1{#1}}
+ \nonstopmode
+ % generate two errors:
+ \interactionmode=-1 \1 1 % nonstop
+ \interactionmode=4 \1 1 % nonstop
+\2 2 \2 2 \2 1 \2 1 \2 3 \2 3 \2 0 \2 0
+\1 0{\interactionmode=3}\1 3 % global assignment!
+% Test for the correct call of |new_interaction|, i.e.
+% correct setting of |selector|:
+\interactionmode=1 \message{1 (l.\number\inputlineno)}% log+term
+\interactionmode=0 \message{0 (l.\number\inputlineno)}% log only
+\interactionmode=1 \message{1 (l.\number\inputlineno)}% log+term
+% Some tests with TeX's old command and register assignments
+\batchmode \1 0 \2 3 \scrollmode \1 2 \2 1
+\2 \ctmp
+\endgroup
+
+%
+% -- Check \tracingifs
+\typeout{Checking \string\tracingifs:}
+\begingroup
+ \def\1#1\1{\def\2{#1\iffalse \else \fi}#1\iftrue \2\else \2\fi}
+ \tracingifs=1
+ \1\1
+ \1\unless\1
+ \tracingcommands=2
+ \ifdefined\hbox \unless\ifdefined\abc \ifcase 2 \or \or
+ \ifcsname hbox\endcsname \ifcsname abc\endcsname \abc \else
+ \ifx\abc\relax \else \ifx\abc\relax \fi \fi \fi \fi \or\fi \fi \fi
+\endgroup
+%
+% -- Check \tracingassigns
+\typeout{Checking \string\tracingassigns:}
+\begingroup
+ \tracingrestores=1 \tracingassigns=1
+ \global\count17=7 \count17=7
+ \global\def\9{\relax} \global\let\8=\9 \let\8=\9
+ \bgroup
+ \global\count17=0 \count17=0
+ \global\let\9=\7 \global\let\8=\9 \let\8=\9
+ \egroup
+\endgroup
+
+%
+% -- Check \currentgrouptype, \currentgrouplevel, and \lastnodetype
+\typeout{Checking \string\currentgrouptype,
+ \string\currentgrouplevel, and \string\lastnodetype:}
+\typeout{current group level (l.\number\inputlineno):
+ \ifcase\currentgrouplevel outer level\else BAD!\fi}
+\typeout{current group type (l.\number\inputlineno):
+ \ifcase\currentgrouptype bottom level\else BAD!\fi}
+\begingroup
+ \def\4{\typeout{current group type (l.\number\inputlineno):
+ \ifcase\currentgrouptype bottom level\or simple group\or
+ hbox group\or adjusted hbox group\or vbox group\or
+ vtop group\or align group\or no align group\or
+ output group\or math group\or disc group\or
+ insert group\or vcenter group\or math choice group\or
+ semi simple group\or math shift group\or
+ math left group\else UNKNOWN!\fi}}
+ \def\1 #1 {\relax\ifnum#1=\currentgrouptype \4\else
+ \typeout{wrong current group type:
+ \number\currentgrouptype\space should be #1!}\fi}
+ \def\5{\edef\6{\ifcase\lastnodetype char node\or hlist node\or
+ vlist node\or rule node\or ins node\or mark node\or
+ adjust node\or ligature node\or disc node\or whatsit node\or
+ math node\or glue node\or kern node\or penalty node\or
+ unset node\or math mode node\else
+ \ifnum-1=\lastnodetype empty\else UNKNOWN!\fi\fi}%
+ \typeout{last node type (l.\number\inputlineno): \6}}
+ \def\2 #1 {\relax\ifnum#1=\lastnodetype \5\else
+ \edef\6{\number\lastnodetype}%
+ \typeout{wrong last node type: \6 should be #1!}\fi}
+ \def\3 #1 {\relax\ifnum#1=\currentgrouplevel \else
+ \typeout{wrong current group level:
+ \number\currentgrouplevel\space should be #1!}\fi}
+ \tracinggroups=1
+ \1 14 % semi simple group
+ \3 1 % group level 1
+ \setbox0=\vbox{\1 4 % vbox group
+ \hbox{\1 3 % adjusted hbox group
+ {\1 1 % simple group
+ }\2 -1 % empty list
+ \hbox{\1 2 % hbox group
+ \discretionary{\1 10 }{\1 10 }{\1 10 % disc group
+ \3 5 % group level 5
+ }\2 8 % disc node
+ A\2 0 % char node
+ AA\2 7 % ligature node
+ \insert27{\1 11 % insert group
+ }\2 4 % ins node
+ \vadjust{\1 11 % insert group
+ }\2 6 % adjust node
+ \mark{}\2 5 % mark node
+ \vrule \2 3 % rule node
+ \hfil \2 11 % glue node
+ \kern 0pt\2 12 % kern node
+ \penalty 0\2 13 % penalty node
+ \vtop{\1 5 % vtop group
+ }\2 2 % vlist node
+ \write5{}\2 9 % whatsit node
+ $\1 15 % math shift group
+ {\1 9 % math group
+ }
+ $\2 10 % math node
+ \TeXXeTstate=1\beginR\2 10 % math node
+ \endR\2 10 % math node
+ \valign{#\cr\1 6 % two align groups
+ \cr\noalign{\1 7 % no align agroup
+ \2 14 % unset node
+ }
+ }
+ }
+ }\2 1 % hlist node
+ $$\1 15 % math shift group
+ \2 -1 % empty list
+ \mathchoice{\1 13 }{\1 13 }{\1 13 }{\1 13 % math choice group
+ \vcenter{\1 12 % vcenter group
+ }\2 15 % math mode node
+ }\2 15 % math mode node
+ \left.\1 16 % math left group
+ \middle.\1 16 % math left group
+ \middle.\1 16 % math left group
+ \right.
+ $$
+ }
+ \output={\1 8 % output group
+ \setbox0=\box255
+ \setbox0=\vbox{ % vbox group % this is definitely weird!
+ \hbox spread 5pt{\hfil % adjusted hbox group
+ \raise5pt\hbox{ % hbox group
+ { %simple group
+ \valign{#\cr % two align groups
+ \noalign{ % no align group
+ $ % math shift group
+ \vtop{ % vtop group
+ $$ % math shift group
+ { % math group
+ \left.\middle. % math left group
+ \mathchoice{}{}{ % math choice group
+ \vcenter to 7pt{\vss % vcenter group
+ \noindent\vadjust{ % insert group
+ \discretionary{}{% disc group
+ \showgroups % show all of them
+ }{}
+ }
+ }
+ }{}
+ \right.
+ }
+ $$
+ }
+ $
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ \hbox{}\vfil\penalty-10000
+ \deadcycles=0
+\endgroup
+
+%
+% -- Check expansion of \protected macros
+\typeout{Checking expansion of \string\protected\space macros:}
+\begingroup
+ \protected\def\2{} \show\2
+ \let\3=\2 \show\3
+ \protected\unexpanded\bgroup\2\protected\3\protected\def\1{\2}} \show\1
+ \tracingmacros=1
+ \message{\expandafter\1\1}
+ \typeout{\expandafter\1\1}
+ \setbox0=\vbox{\special{\expandafter\1\1}} \showbox0
+ \edef\5{\expandafter\1\1} \show\5
+ \setbox0=\vbox{\halign{#\1&#\span\1\cr
+ \protected\def\1{\3}&\protected\def\1{\3}\cr}}
+\endgroup
+
+%
+% -- Check \scantokens, \tracingscantokens, \readline, and \everyeof
+\typeout{Checking \string\scantokens, \string\tracingscantokens,
+ \string\readline, and \string\everyeof:}
+\begingroup
+ \newlinechar=`\^^J
+ \def\1{\endgroup ^^J\fi ^^J\bgroup ^^J\iffalse \else}
+ \tracingoutput=1
+ \shipout\vbox{\global\advance\count\zero by\one
+ \openout1=\jobname.out
+ \write1{\unexpanded\expandafter{\1}}
+ \closeout1}
+ \begingroup \iftrue \input\jobname.out \egroup \fi
+ \begingroup \iftrue \scantokens\expandafter{\1} \egroup \fi
+ \errorcontextlines=1000 \tracingscantokens=1
+ \begingroup
+ \tracingnesting=1
+ \begingroup \iftrue \scantokens\expandafter{\1} \egroup \fi
+ \tracingnesting=2
+ \begingroup \unless\iffalse \scantokens\expandafter{\1} \egroup \fi
+% and now a really weird (although legitimate) combination
+ \setbox0=\hbox\bgroup
+ \unless\iftrue\else
+ \scantokens{\hbox\bgroup^^J\ifcase0^^J\tracingscantokens=0^^J
+ \newlinechar=`\^^Z
+ \scantokens{\egroup^^Z\else\fi^^Z\def\1{\egroup\fi}^^Z\1^^Z^^J
+ \setbox0=\vtop\bgroup^^Z\ifnum0=0^^Z$$^^Z\ifinner\else^^Z
+ \csname iffalse\endcsname^^J
+ }^^J % end of inner scantokens
+ $$^^J\fi
+ } % end of outer \scantokens
+ \egroup
+ \else\fi
+ \endgroup
+ \begingroup \iftrue \let\9=\endgroup \def\endgroup{\9\9}
+ \input\jobname.out \egroup \fi
+ \begingroup \iftrue \let\9=\endgroup \def\endgroup{\9\9}
+ \scantokens\expandafter{\1} \egroup \fi
+
+ \edef\1{\scantokens{\begingroup} % <== error
+ \everyeof={\noexpand}
+ \edef\1{\scantokens{\begingroup}\endgroup} % <== OK
+ \errorcontextlines=100
+ \def\2{\begingroup\scantokens{\message{level=\the\currentgrouplevel}}%
+ \endgroup}
+ \bgroup\bgroup\bgroup \edef\1{\egroup\egroup\egroup
+ \everyeof={\noexpand\ifnum\number\currentgrouplevel
+ \unexpanded{>\currentgrouplevel\2\else\9\fi}}}\1\2
+
+ \openin7=\jobname.out
+ \bgroup
+ \def\1{\unless\ifeof7\readline7to\2%
+ \endlinechar=-\one\2\expandafter\1\fi}
+ \tracingcommands=2 \tracingrestores=1 \tracingassigns=1
+ \setbox25=\hbox{\1\showlists}
+ \egroup
+
+\endgroup
+
+%
+% -- Check \marks etc., \showtokens, and \detokenize
+\typeout{Checking \string\marks\space etc., \string\showtokens, and
+ \string\detokenize:}
+\begingroup
+ \newlinechar=`\^^J
+ \def\4{\message{Current marks:\9^^J}}
+ \def\3#1{\edef\9{\9^^J \detokenize{#1}=\detokenize\expandafter{#1}.}}
+ \def\2#1 {\3{\splitfirstmarks#1}\3{\splitbotmarks#1}}
+ \def\0{\let\9=\empty}
+ \def\7{\penalty0\vskip40pt}
+ \def\1{\0\20 \21 \23 \4}
+ \setbox0=\vbox{%
+ \marks0{0-1}\marks1{1-1}\vskip1pt\vbox to9pt{}
+ \mark{0-2}\marks3{}\hbox{}\vskip5pt\vfil\7
+ \marks0{0-3}\vskip1pt\vbox to19pt{}\marks3{3-3}\vskip3ptplus1fil\7
+ \vbox to30pt{}\vfil\7\hbox to10pt{}}
+ \setbox4=\copy0
+ \1 \showbox0 \let\5=\3 \def\3#1{\showtokens\expandafter{#1}\5{#1}}
+ \setbox1=\vsplit0to17pt
+ \1 \showbox1 \showbox0 \let\3=\5
+ \setbox1=\vsplit0to27pt
+ \1 \showbox1 \showbox0
+ \setbox1=\vsplit0to37pt
+ \1 \showbox1 \showbox0
+ \def\2#1 {\3{\topmarks#1}\3{\firstmarks#1}\3{\botmarks#1}}
+ \vsize=35pt \output{\1 \showbox255 \setbox0=\box255}\1
+ \unvbox4\marks0{}\marks1{}\marks3{}\vfil\penalty-10000
+ \hbox{}\marks0{}\marks1{}\marks3{}\vfil\penalty-10000
+ \hbox{}\vfil\penalty-10000 % reclaim sparse array memory!
+ \deadcycles=0
+\endgroup
+
+%
+% -- Check \middle
+\typeout{Checking \string\middle:}
+\begingroup
+ \scriptfont1=\textfont1 \scriptscriptfont1=\scriptfont1
+ \setbox0=\vbox{\middle \par \right \par} % <== 8 errors
+ \setbox0=\hbox{%
+ $
+ \left[p
+ \left[q
+ \over r
+ \left[p
+ \middle|q
+ \middle|q
+ \left[p
+ \middle|q
+ \middle|q
+ \over r\showlists
+ \right]\showlists
+ \right]\showlists
+ \right]\showlists
+ \right]\showlists
+ $\showlists
+ }
+ \setbox0=\hbox{$\displaystyle
+ \left[\scriptstyle\middle|\mathchoice{p}{q}{r}{s}
+ \raise16.5pt\hbox{}\right]$\showlists}
+ \setbox0=\hbox{$\scriptscriptstyle
+ \left[\displaystyle\lower3pt\hbox{}\middle|\mathchoice{p}{q}{r}{s}
+ \right]$\showlists}
+\endgroup
+
+%
+% -- Check TeX--XeT's new primitives
+\typeout{Checking TeX--XeT enhancements:}
+\begingroup
+% -- incorrect matching & conversion
+% (extra `endL/R' nodes are converted to `kern 0.0' nodes)
+ \setbox0=\vbox{\TeXXeTstate=1
+ \parfillskip=0pt plus1fil\hsize=10pt\parindent=.5pt
+ \beginL\kern1pt\par
+ \beginR\kern2pt\par
+ \beginL\beginR\kern3pt\penalty0\hbox{}\kern3pt\endL\endR\endL\par
+ \endL\kern4pt\endR\par}
+ \showbox0
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% STILL INCOMPLETE!!!
+% %%%%% Missing: Test for functionality of all new primitives
+% \TeXXeTstate \beginL \endL \beginR \endR \predisplaydirection
+% %%%%%
+\endgroup
+
+%
+% -- Check optimized \aftergroup
+\typeout{Checking optimized \string\aftergroup:}
+\begingroup
+ \errorcontextlines=1000
+ {{\aftergroup\x\aftergroup}\aftergroup{\aftergroup\relax}}
+\endgroup
+
+%
+% -- Check \showifs, \currentiftype, \currentiflevel, and \currentifbranch
+\typeout{Checking \string\showifs, \string\currentiftype,
+ \string\currentiflevel, and \string\currentifbranch:}
+\begingroup
+ \def\1{ !BAD} \edef\2{ \ifnum0=\currentifbranch OK\else!BAD\fi}
+ \iftrue \expandafter \ifnum \number\currentifbranch=1
+ \iffalse \else \expandafter \ifnum \number\currentifbranch=-1
+ \ifnum \currentifbranch=0 \let\1=\2 \fi \fi \fi \fi \fi
+ \message{\string\currentifbranch \1}
+ \def\1 #1 {\edef\2{\number\currentiflevel}%
+ \ifnum\2=#1
+ \typeout{current if level (l.\number\inputlineno): \number\2}%
+ \else
+ \typeout{wrong current if level: \2\space should be #1!}%
+ \fi}
+ \1 0 % if level 0
+ \iftrue \1 1 % if level 1
+ \iftrue \1 2 % if level 2
+ \fi
+ \fi
+ \def\1 #1 #2 {\edef\2{\number\currentiftype}%
+ \edef\3{\number\currentifbranch}%
+ \ifnum\2=#1 \4\else
+ \typeout{wrong current if type: \2\space should be #1!}\fi
+ \ifnum\3=#2 \5\else
+ \typeout{wrong current if branch: \3\space should be #2!}\fi}
+ \def\4{\typeout{current if type (l.\number\inputlineno):
+ \ifnum\2<0 \string\unless\6{-\2}\else\6{\2}\fi}}
+ \def\5{\typeout{current if branch (l.\number\inputlineno):
+ \ifnum\3>0 true\else \ifnum\3<0 false\else
+ \ifnum0=\3 no\else !UNKNOWN\fi\fi\fi\space branch}}
+ \def\6#1{\string\if \ifcase#1!NONE\or \or cat\or num\or dim\or odd\or
+ vmode\or hmode\or mmode\or inner\or void\or hbox\or vbox\or x\or
+ eof\or true\or false\or case\or defined\or csname\or fontchar\else
+ !UNKNOWN\fi}
+ \1 0 0
+ \if00 \1 1 1 \fi \unless\if00 \else \1 -1 -1 \fi
+ \if0a \else \1 1 -1 \fi \unless\if0a \1 -1 1 \fi
+ \ifcat00 \1 2 1 \fi \unless\ifcat00 \else \1 -2 -1 \fi
+ \ifcat0a \else \1 2 -1 \fi \unless\ifcat0a \1 -2 1 \fi
+ \ifnum1=1 \1 3 1 \fi \unless\ifnum1<1 \1 -3 1 \fi
+ \ifdim1pt=2pt \else \1 4 -1 \fi \unless\ifdim1pt>2pt \1 -4 1 \fi
+ \ifodd5 \1 5 1 \fi \unless\ifodd5 \else \1 -5 -1 \fi
+ \setbox2=\vbox{
+ \ifvmode \1 6 1 \fi \unless\ifvmode \else \1 -6 -1 \fi
+ } \setbox0=\box2
+ \setbox1=\hbox{
+ \ifhmode \1 7 1 \fi \unless\ifhmode \else \1 -7 -1 \fi
+ $
+ \ifmmode \1 8 1 \fi \unless\ifmmode \else \1 -8 -1 \fi
+ $
+ \ifinner \1 9 1 \fi
+ }
+ \unless\ifinner \1 -9 1 \fi
+ \ifvoid2 \1 10 1 \fi \unless\ifvoid0 \1 -10 1 \fi
+ \ifhbox1 \1 11 1 \fi \unless\ifhbox2 \1 -11 1 \fi
+ \ifvbox0 \1 12 1 \fi \unless\ifvbox1 \1 -12 1 \fi
+ \ifx\abc\relax \else \1 13 -1 \fi \unless\ifx\relax\abc \1 -13 1 \fi
+ \ifeof7 \1 14 1 \fi \unless\ifeof5 \else \1 -14 -1 \fi
+ \iftrue \1 15 1 \fi \unless\iftrue \else \1 -15 -1 \fi
+ \iffalse \else \1 16 -1 \fi \unless\iffalse \1 -16 1 \fi
+ \ifcase2 \or \or \1 17 1 \fi \ifcase2 \or \else \1 17 -1 \fi
+ \ifdefined\hbox \1 18 1 \fi \unless\ifdefined\abc \1 -18 1 \fi
+ \ifcsname hbox\endcsname \1 19 1 \fi
+ \unless\ifcsname abc\endcsname \1 -19 1 \fi
+ \iffontchar\trip`b \1 20 1 \fi \unless\iffontchar\trip`c \1 -20 1 \fi
+%
+ \if00 \unless\if00 \else \if0a \else \unless\if0a
+ \ifcat00 \unless\ifcat00 \else \ifcat0a \else \unless\ifcat0a
+ \ifnum1=1 \unless\ifnum1<1 \ifdim1pt=2pt \else \unless\ifdim1pt>2pt
+ \ifodd5 \unless\ifodd5 \else
+ \setbox3=\vbox{\ifvmode \unless\ifvmode \else
+ \hbox{\ifhmode \unless\ifhmode \else
+ $\ifmmode \unless\ifmmode \else \ifinner \unless\ifinner \else
+ \ifvoid2 \unless\ifvoid0 \ifhbox1 \unless\ifhbox2
+ \ifvbox0 \unless\ifvbox1 \ifeof7 \unless\ifeof5 \else
+ \ifx\abc\relax \else \unless\ifx\relax\abc
+ \iftrue \unless\iftrue \else \iffalse \else \unless\iffalse
+ \ifcase2 \or \or \ifcase2 \or \else
+ \ifdefined\hbox \unless\ifdefined\abc
+ \begingroup \tracingifs=1
+ \ifcsname hbox\endcsname \unless\ifcsname abc\endcsname
+ \iffontchar\trip`b \unless\iffontchar\trip`c
+ \showifs % <== show 44 nested ifs
+ \fi \fi
+ \fi \fi
+ \endgroup
+ \fi \fi
+ \fi \fi
+ \fi \fi \fi \fi
+ \fi \fi
+ \fi \fi \fi \fi
+ \fi \fi \fi \fi
+ \fi \fi \fi \fi $
+ \fi \fi }
+ \fi \fi }
+ \fi \fi
+ \fi \fi \fi \fi
+ \fi \fi \fi \fi
+ \fi \fi \fi \fi
+\endgroup
+
+%
+% -- Check \iffontchar, \fontcharwd, etc.
+\typeout{Checking \string\iffontchar, \string\fontcharwd, etc.:}
+\begingroup
+ \iffontchar \else \fi % <== missing font identifier and number
+ \iffontchar\textfont2 -1 \else \fi % <== bad character code
+ \iffontchar\font 256 \else \fi % <== bad character code
+ \fontcharwd \fontcharht \fontchardp \fontcharic % <== can't use
+ \def\1#1#2{%
+ \def\2##1##2{\ifdim\csname fontchar##1##2\endcsname#1`#2=0pt \else
+ \space##1##2=\the\csname fontchar##1##2\endcsname#1`#2 \fi}%
+ \typeout{Font \string#1 character #2%
+ \iffontchar#1`#2:\2wd\2ht\2dp\2ic\else \space does not exist\fi}}
+ \1\font A \1{\textfont1}B \1{\scriptfont2}B \1{\scriptscriptfont3}B
+ \1\trip 7 \1\trip D \1\nullfont D
+%
+ \def\1#1{\cndx=\zero \ctmp=\zero
+ \def\2{\iffontchar#1\cndx \advance\ctmp by\one \fi
+ \advance\cndx by\one
+ \ifnum\cndx<256 \expandafter\2\fi}%
+ \2%
+ \typeout{Font \string#1 has \number\ctmp\space character%
+ \ifnum1=\cndx \else s\fi .}}
+ \1\font \1\trip \1\nullfont
+\endgroup
+
+%
+% -- Check \parshapelength, \parshapeindent, and \parshapedimen
+\typeout{Checking \string\parshapelength, \string\parshapeindent, and
+ \string\parshapedimen:}
+\begingroup
+ \parshapelength \parshapeindent \parshapedimen % <== can't use
+ \def\1#1 {\edef\2{\2 #1}}
+ \let\2=\empty
+ \ifdim\parshapeindent-5=0pt \else\1a \fi
+ \ifdim\parshapelength-5=0pt \else\1b \fi
+ \ifdim\parshapeindent-1=0pt \else\1c \fi
+ \ifdim\parshapelength-1=0pt \else\1d \fi
+ \ifdim\parshapeindent-0=0pt \else\1e \fi
+ \ifdim\parshapelength-0=0pt \else\1f \fi
+ \ifdim\parshapeindent 1=0pt \else\1g \fi
+ \ifdim\parshapelength 1=0pt \else\1h \fi
+ \ifdim\parshapeindent 5=0pt \else\1j \fi
+ \ifdim\parshapelength 5=0pt \else\1i \fi
+ \ifdim\parshapedimen-5=0pt \else\1k \fi
+ \ifdim\parshapedimen-1=0pt \else\1l \fi
+ \ifdim\parshapedimen 0=0pt \else\1m \fi
+ \ifdim\parshapedimen 1=0pt \else\1n \fi
+ \ifdim\parshapedimen 2=0pt \else\1o \fi
+ \typeout{Parshape test 1 \ifx\2\empty OK\else error(s):\2\fi}
+ \parshape=2 1pt 2pt 3pt 4pt
+ \let\2=\empty
+ \ifdim\parshapeindent-5=0pt \else\1a \fi
+ \ifdim\parshapelength-5=0pt \else\1b \fi
+ \ifdim\parshapeindent-1=0pt \else\1c \fi
+ \ifdim\parshapelength-1=0pt \else\1d \fi
+ \ifdim\parshapeindent-0=0pt \else\1e \fi
+ \ifdim\parshapelength-0=0pt \else\1f \fi
+ \ifdim\parshapedimen-5=0pt \else\1g \fi
+ \ifdim\parshapedimen-1=0pt \else\1h \fi
+ \ifdim\parshapedimen 0=0pt \else\1i \fi
+ \typeout{Parshape test 2 \ifx\2\empty OK\else error(s):\2\fi}
+ \parshape=2 1pt 2pt 3pt 4pt
+ \parshape=2 \parshapelength2 \parshapeindent2
+ \parshapelength1 \parshapeindent1
+ \let\2=\empty
+ \ifdim\parshapeindent1=4pt \else\1A \fi
+ \ifdim\parshapelength1=3pt \else\1B \fi
+ \ifdim\parshapeindent2=2pt \else\1C \fi
+ \ifdim\parshapelength2=1pt \else\1D \fi
+ \ifdim\parshapeindent3=2pt \else\1E \fi
+ \ifdim\parshapelength3=1pt \else\1F \fi
+ \ifdim\parshapeindent9=2pt \else\1G \fi
+ \ifdim\parshapelength9=1pt \else\1H \fi
+ \typeout{Parshape test 3 \ifx\2\empty OK\else error(s):\2\fi}
+ \parshape=2 1pt 2pt 3pt 4pt
+ \parshape=2 11\parshapedimen4 11\parshapedimen3
+ 11\parshapedimen2 11\parshapedimen1
+ \let\2=\empty
+ \ifdim\parshapedimen1=44pt \else\1A \fi
+ \ifdim\parshapedimen2=33pt \else\1B \fi
+ \ifdim\parshapedimen3=22pt \else\1C \fi
+ \ifdim\parshapedimen4=11pt \else\1D \fi
+ \ifdim\parshapedimen5=22pt \else\1E \fi
+ \ifdim\parshapedimen6=11pt \else\1F \fi
+ \ifdim\parshapedimen99=22pt \else\1G \fi
+ \ifdim\parshapedimen100=11pt \else\1H \fi
+ \typeout{Parshape test 4 \ifx\2\empty OK\else error(s):\2\fi}
+\endgroup
+
+%
+% -- Check \numexpr, \dimexpr, \glueexpr, and \muexpr
+\typeout{Checking \string\numexpr, \string\dimexpr, \string\glueexpr,
+ and \string\muexpr:}
+\begingroup
+ \numexpr \dimexpr \glueexpr \muexpr % <== can't use
+ \let\9=\relax
+ \count43=\numexpr ( ( 2 \9 \dimen43=\dimexpr ( 3pt \9
+ \skip43=\glueexpr 4pt plus 3fil \9 \muskip43=\muexpr(5muminus1mu)\9
+ \def\1#1 {\typeout{\detokenize{#1}=\the#1}}
+ \1\numexpr\count43 \1\dimexpr\dimen43
+ \1\glueexpr\skip43 \1\muexpr\muskip43
+
+ % Test arithmetic overflow
+ \begingroup
+ \tracingassigns=5
+ \count44=\numexpr"7FFFFFFE+1 \dimen44=\dimexpr"3FFFFFFEsp+1sp
+ \count44=\numexpr-"7FFFFFFE-1 \dimen44=\dimexpr-"3FFFFFFEsp-1sp
+ \count44=\numexpr"FFFF*"8000 \dimen44=\dimexpr"7FFFsp*"8000
+ \skip44="3FFFFFFFsp \advance\skip44by1sp \relax
+ \dimen45=\skip44 \dimen45=\dimexpr1sp*\skip44\9
+ \dimen44=-"3FFFFFFFsp \advance\dimen44by-1sp
+ \dimen45=\skip44 \dimen45=\dimexpr1sp*\skip44\9
+ \count44=\numexpr"7FFFFFFE+2\9 \dimen44=\dimexpr"3FFFFFFEsp+2sp\9
+ \count44=\numexpr-"7FFFFFFE-2\9 \dimen44=\dimexpr-"3FFFFFFEsp-2sp\9
+ \count44=\numexpr"10000*"8000\9 \dimen44=\dimexpr"8000sp*"8000\9
+ \count44=\numexpr"10000*-"8000\9 \dimen44=\dimexpr"8000sp*-"8000\9
+ \count44=\numexpr-"10000*"8000\9 \dimen44=\dimexpr-"8000sp*"8000\9
+ \count44=\numexpr-"10000*-"8000\9 \dimen44=\dimexpr-"8000sp*-"8000\9
+ \count44=\numexpr0/0\9 \dimen44=\dimexpr0pt/0\9
+ \count44=\numexpr1/0\9 \dimen44=\dimexpr1pt/0\9
+ \count44=\numexpr-1/0\9 \dimen44=\dimexpr-1pt/0\9
+ \endgroup
+
+ % Test glue arithmetic (add and sub)
+ \begingroup
+ \skip90=3pt plus 0fill minus 1fil
+ \skip91=3pt plus 1fil minus 0fill
+ \skip92=2pt plus -1fil minus 1fil
+ \tracingassigns=5
+ \skip93=\glueexpr\skip90+0pt \skip93=\glueexpr\skip90+0pt
+ \skip93=\glueexpr--\skip90 \skip93=\glueexpr--\skip90
+ \skip93=\glueexpr\skip91+0pt
+ \skip93=\glueexpr--\skip91 \skip93=\glueexpr--\skip91
+ \skip93=\glueexpr\skip92+0pt
+ \skip93=\glueexpr--\skip92 \skip93=\glueexpr--\skip92
+ \skip93=\glueexpr\skip90-\skip91
+ \skip93=\glueexpr\skip91-\skip92
+ \skip93=\glueexpr\skip91+\skip92
+ \endgroup
+
+ % Test rounding of division (all combinations of signs)
+ \def\2#1 {\edef\3{\3 #1}}
+ \def\1#1#2#3#4{\let\3=\empty
+ \ifnum#4=\numexpr#2/#3\else\2a \fi
+ \ifnum#4=-\numexpr-#2/#3\else\2b \fi
+ \ifnum-#4=\numexpr#2/-#3\else\2c \fi
+ \ifnum#4=\numexpr-#2/-#3\else\2d \fi
+ \typeout{Expr quotient rounding #1 \ifx\3\empty OK\else
+ error(s):\3\fi}}
+ \11{"3FFFFFFF}{"7FFFFFFF}{0}
+ \12{"40000000}{"7FFFFFFF}{1}
+ \13{"3FFFFFFE}{"7FFFFFFE}{0}
+ \14{"3FFFFFFF}{"7FFFFFFE}{1}
+ \def\1#1#2#3#4{\let\3=\empty
+ \ifnum#4=\numexpr#2/#3\else\2a \fi
+ \ifnum#4=-\dimexpr-#2sp/#3\else\2b \fi
+ \ifnum-#4=\glueexpr\muexpr#2mu/"10000\9/-#3\else\2c \fi
+ \ifnum#4=\muexpr-\dimexpr#2spplus-1muminus-1fil/-#3\else\2d \fi
+ \typeout{Expr quotient rounding #1 \ifx\3\empty OK\else
+ error(s):\3\fi}}
+ \15{32}{5}{6} % <== three mu_error's (! Incompatible glue units)
+ \16{33}{5}{7} % <== three mu_error's (! Incompatible glue units)
+ \17{25}{4}{6} % <== three mu_error's (! Incompatible glue units)
+ \18{26}{4}{7} % <== three mu_error's (! Incompatible glue units)
+
+ % Test rounding of fractions
+ \begingroup
+ \def\1#1 #2 #3 #4 #5 {\let\3=\empty
+ \ifnum#5=\numexpr#2*#3/#4\else\2a \fi
+ \ifnum-#5=\numexpr-#2*#3/#4\else\2b \fi
+ \ifnum-#5=\numexpr#2*-#3/#4\else\2c \fi
+ \ifnum#5=\numexpr-#2*-#3/#4\else\2d \fi
+ \ifnum-#5=\numexpr#2*#3/-#4\else\2e \fi
+ \ifnum#5=\numexpr-#2*#3/-#4\else\2f \fi
+ \ifnum#5=\numexpr#2*-#3/-#4\else\2g \fi
+ \ifnum-#5=\numexpr-#2*-#3/-#4\else\2h \fi
+ \4#1}
+ \def\4#1{\typeout{Expr fraction rounding #1 \ifx\3\empty OK\else
+ error(s):\3\fi}\let\3=\empty}
+ \11 "7FFFFFFE "7FFFFFFE "7FFFFFFD "7FFFFFFF
+ \12 "7FFFFFFE "7FFFFFFE "7FFFFFFF "7FFFFFFD
+ \def\1#1#2 #3 #4 #5 #6 {\let\3=\empty
+ \ifnum\numexpr#6=\numexpr(#3)*(#4)/(#5)\else\2#1 \fi
+ \ifdim\dimexpr1sp*#6=\dimexpr(#3sp)*(#4)/(#5)\else\2#2 \fi}
+ \1ab "3FFFFFFE "7FFFFFFE "7FFFFFFD "3FFFFFFF
+ \1cd "3FFFFFFE "7FFFFFFE "7FFFFFFF "3FFFFFFD
+ \1ef "1FFFBFFE "20003FFE "1FFFFFFE "1FFFFFFF
+ \1gh "1FFFBFFF "20003FFF "1FFFFFFF "20000000
+ \1ij "1FFFC000 "20004000 "20000000 "20000000
+ \1kl "1FFFC001 "20004001 "20000001 "20000001
+ \errorcontextlines=100
+ \1mn 1 "7FFFFFFF 2 "40000000
+ \43
+ \endgroup
+
+ \bgroup
+ \skip44=\glueexpr ( \skip43 ) + 3 pt plus 1 fil minus 1 fil l l
+ \muskip44=\muexpr (\muskip43)+3muplus1fill
+ \dimen44=\dimexpr\skip43+\count43pt
+ \dimen44=\dimexpr(\skip43)+(\count43pt)
+ \dimen44=\dimexpr\skip43*\count43
+ \skip44=\glueexpr\skip43/\count43
+ \skip44=\glueexpr\skip43*2/3
+ \egroup
+
+ % Test operator precedence
+ \bgroup
+ \def\1#1#2#3#4{#1#2#3#4=#2#3(#4)\else
+ \typeout{expression error (l.\number\inputlineno)}\fi}
+ \1\ifnum\numexpr{1+}{2*3}
+ \1\ifnum\numexpr{4-}{5*6}
+ \1\ifnum\numexpr{7+}{12/4}
+ \1\ifnum\numexpr{4-}{6/3}
+ \1\ifdim\dimexpr{1pt+}{2pt*3}
+ \1\ifdim\dimexpr{4pt-}{5pt*6}
+ \1\ifdim\dimexpr{7pt+}{12pt/4}
+ \1\ifdim\dimexpr{4pt-}{6pt/3}
+ \1\ifdim\glueexpr{7pt+}{12pt/4}
+ \egroup
+
+ % Test glue reference count handling
+ \shipout\hbox{}
+ \bgroup
+ \skip43=\glueexpr1ptplus0ptminus0pt
+ \skip43=\glueexpr1pt-0pt+0pt
+ \skip43=\glueexpr(((\skip43)))
+ \egroup
+ \shipout\hbox{}
+\endgroup
+
+%
+% -- Check \mutoglue and \gluetomu
+\typeout{Checking \string\mutoglue\space and \string\gluetomu:}
+\begingroup
+ \mutoglue \gluetomu % <== can't use
+ \skip1=-\mutoglue-\gluetomu9pt \muskip1=-\gluetomu-\mutoglue9mu
+ \skip2=\gluetomu\muskip1 % <== two mu_error's (! Incompatible glue units)
+ \muskip2=\mutoglue\skip1 % <== two mu_error's (! Incompatible glue units)
+ \tracingassigns=1
+ \skip1=\mutoglue1muplus-2muminus-3fil
+ \muskip1=\gluetomu1ptplus-2ptminus-3fil
+ \skip2=\mutoglue-4muplus5fillminus6filll
+ \muskip2=\gluetomu-4ptplus5fillminus6filll
+ \skip3=-\mutoglue\muskip1
+ \muskip3=-\gluetomu\skip1
+ \skip4=\mutoglue-\muskip2
+ \muskip4=\gluetomu-\skip2
+
+%
+% -- Check (mu)glue identity
+ \typeout{Checking (mu)glue identity:}
+ \skipdef\165535\1=7ptplus0filminus0fill\muskipdef\232766\2=\gluetomu\1
+ \tracingassigns=\1
+ \1=--\mutoglue--\muexpr(--\gluetomu--\glueexpr(--\1))
+ \2=--\gluetomu--\glueexpr(--\mutoglue--\muexpr(--\2))
+ \tracingassigns=0
+
+%
+% -- Check \gluestretchorder, \glueshrinkorder, \gluestretch, and \glueshrink
+ \typeout{Checking \string\gluestretchorder, \string\glueshrinkorder,
+ \string\gluestretch, and \string\glueshrink:}
+ \gluestretchorder \gluestretch % <== can't use
+ \glueshrinkorder \glueshrink % <== can't use
+ \skip5=1ptminus0fil
+ \skip6=1ptplus0fillminus0filll
+ \def\2#1{\typeout{wrong glue #1 (l.\number\inputlineno)}}
+ \def\1#1#2pt#3#4pt#5 {%
+ \ifnum\gluestretchorder#5=#1 \else \2{stretch order}\fi
+ \ifdim\gluestretch#5=#2pt \else \2{stretch}\fi
+ \ifnum\glueshrinkorder#5=#3 \else \2{shrink order}\fi
+ \ifdim\glueshrink#5=#4pt \else \2{shrink}\fi}
+ \def\9{\relax}
+ \100pt10pt1ptminus0fil
+ \100pt10pt\mutoglue1muminus0fil
+ \100pt10pt\mutoglue\gluetomu1ptminus0fil
+ \100pt10pt\skip5
+ \muskip5=\gluetomu\skip5
+ \100pt10pt\mutoglue\muskip5
+ \100pt10pt\glueexpr\mutoglue\muexpr\gluetomu\skip5\9\9
+ \100pt00pt\glueexpr\skip5+0pt\9
+ \120pt30pt1ptplus0fillminus0filll
+ \120pt30pt\mutoglue1muplus0fillminus0filll
+ \120pt30pt\mutoglue\gluetomu1ptplus0fillminus0filll
+ \120pt30pt\skip6
+ \muskip6=\gluetomu\skip6
+ \120pt30pt\mutoglue\muskip6
+ \120pt30pt\mutoglue\muexpr\gluetomu\glueexpr\skip6\9\9
+ \100pt00pt\glueexpr\skip6+0pt\9
+ \10-2pt1-3pt\skip1
+ \10-2pt1-3pt\mutoglue\muskip1
+ \125pt36pt\skip2
+ \125pt36pt\mutoglue\muskip2
+\endgroup
+
+%
+% -- Check sparse arrays
+\typeout{Checking sparse arrays:}
+\begingroup
+ \def\2#1{#1\1=-1#1\1=65536#1\1=0#1\1=65535\typeout{\meaning\1=\the\1.}}
+ \2\countdef % Bad register code (-1) ...and (65536).
+ \2\dimendef % Bad register code (-1) ...and (65536).
+ \2\skipdef % Bad register code (-1) ...and (65536).
+ \2\muskipdef % Bad register code (-1) ...and (65536).
+ \2\toksdef % Bad register code (-1) ...and (65536).
+ \tracingrestores=1
+ \count20=5
+ \count2000=5
+ \dimen21=5pt
+ \dimen2100=5pt
+ \skip22=5pt\relax \muskip2200=5mu\relax
+ \dimendef\8=256\relax \let\9=\8 \let\8=\relax \show\9
+\endgroup
+\begingroup
+ \def\4#1#2#3#4{{\typeout{testing #1 registers ...}%
+ \5\2{#1}\5\3{#1def}% define, e.g., \count and \countdef
+ \newlinechar=`^^J \tracingrestores=1 {\tracingassigns=1
+ \22000=#2} \22001=#3 \3\1=2002 \1=#4
+ \typeout{\6\22000=\the\22000,^^J \6\22001=\the\22001,^^J
+ \6\22002=\the\22002,^^J \7\1=\the\1.}%
+ \expandafter\unless\expandafter\ifx\2\toks
+% more tests for \count, \dimen, \skip, and \muskip
+ \advance\22000by#3 \advance\1by#3 \8
+ \multiply\22000by10 \multiply\1by10 \8
+ \divide\22000by5 \divide\1by5 \8
+ \else
+% more tests for \toks
+ \begingroup
+ \tracingassigns=1
+ \toks20=#2 \toks21=#3 \toks2100=#4
+ \1=\toks20 \1=\toks21
+ \toks2200=\toks20 \toks2200=\toks21
+ \1=\toks2000 \1=\toks2001
+ \toks2200=\toks2000 \toks2200=\toks2001
+ \toks30=\1 \toks30=\toks2000 \toks30=\toks2001
+ \toks3000=\1 \toks3000=\toks2000 \toks3000=\toks2001
+ \endgroup
+ \fi
+ \tracingassigns=1 \global\22002=#3 \1=#4 \global\1=#2
+ }}
+ \def\5#1#2{\edef#1{\csname#2\endcsname}}
+ \def\6{\expandafter\string}
+ \def\7{\expandafter\meaning}
+ \def\8{\typeout{\6\22000=\the\22000,^^J \6\22002=\the\22002,^^J
+ \7\1=\the\1.}}
+ \4{count}{0}{5}{7} % test \count, \countdef
+ \4{dimen}{0pt}{2.5pt}{3.5pt} % test \dimen, \dimendef
+ \4{skip}{0pt}{2.5ptplus1fil}{3.5ptminus1fill} % test \skip, \skipdef
+ \4{muskip}{0mu}{2.5muplus1fil}{3.5muminus1fill} % test \muskip, \muskipdef
+ \4{toks}{{}}{{a b c}}{{d e f}} % test \toks and \toksdef
+\endgroup
+\begingroup \typeout{testing box registers ...}
+ \def\2#1{#1\1=-1#1\1=32768#1\1=0#1\1=32767\typeout{\meaning\1=\the\1.}}
+ \2\mathchardef % Bad mathchar (-1) ...and (32768).
+ \def\2#1{#1\1=-1#1\1=65536#1\1=0#1\1=65535\typeout{\meaning\1=\the\1.}}
+ \setbox-1=\copy65536 % Bad register code (-1) ...and (65536).
+ \global\setbox65536=\copy-1 % Bad register code (65536) ...and (-1).
+ \wd65536=\ht-1 % Bad register code (65536) ...and (-1).
+ \showbox-1 % Bad register code (-1).
+ \def\2#1{\typeout{\string\box#1=%
+ \ifhbox#1 \ifvbox#1 \else\ifvoid#1 \else\string\hbox\fi\fi\fi
+ \ifvbox#1 \ifhbox#1 \else\ifvoid#1 \else\string\vbox\fi\fi\fi
+ \ifvoid#1 void\else
+ \ifdim\ht#1 =0pt \else,ht=\the\ht#1 \fi
+ \ifdim\dp#1 =0pt \else,dp=\the\dp#1 \fi
+ \ifdim\wd#1 =0pt \else,wd=\the\wd#1 \fi
+ \fi.}}
+ \def\1#1{\2{3210#1}}
+ \tracingrestores=1
+ \setbox32101=\hbox to 3pt{%
+ \global\setbox32102=\vbox to 5pt{%
+ \setbox32103=\vtop to 7pt{%
+ \showgroups
+ }%
+ }%
+ }
+ \showbox32100
+ \showbox32101
+ \11\12\13
+ \setbox32103=\copy32101 \11\13
+ \setbox32104=\box32102 \12\14
+ \ht32101=2pt \11
+ \ht32102=4pt \12
+ \dp32103=6pt \13
+ \wd32104=8pt \14
+ \setbox32105=\hbox{\vbox to1pt{}\hskip5pt} \15
+ \setbox32106=\hbox{%
+ \unhcopy32105 \15%
+ \unhbox32105 \15%
+ \unhcopy32105 \unhbox32105 } \15 \16
+ \setbox32105=\vbox{\hbox to1pt{}\vskip5pt} \15
+ \setbox32106=\vbox{%
+ \unvcopy32105 \15%
+ \unvbox32105 \15%
+ \unvcopy32105 \unvbox32105 } \15 \16
+ \setbox32105=\vbox{\vbox to10pt{}\penalty0\vbox to20pt{}} \15
+ \setbox32106=\vsplit32105 to 10pt \16 \15
+\endgroup
+
+%
+% -- Check \lastlinefit
+\typeout{Checking \string\lastlinefit:}
+\begingroup
+ \def\1{\setbox0=\vbox{\noindent\2\2\2\2\3\2}\showbox0
+ \setbox0=\vbox{\unvbox0 \setbox0=\lastbox \showbox0 }}
+ \def\2{\hbox to30pt{}\hskip 5pt plus 20pt minus 4pt }
+ \def\3{}
+ \tracingparagraphs=1 \showboxdepth=1
+ \hbadness=100 \pretolerance=9000
+ \parfillskip=0pt plus 1fill \relax
+ \hsize=96pt
+ \lastlinefit=-1 \1
+ \lastlinefit=500 \1
+ \lastlinefit=1001 \1
+ \hsize=98pt
+ \begingroup
+ \rightskip=0pt plus 1fill \relax
+ \lastlinefit=1000 \1
+ \leftskip=0pt plus -1fill \relax
+ \lastlinefit=500 \1
+ \endgroup
+ \lastlinefit=1000 \1
+ \hsize=100pt
+ \lastlinefit=0 \1
+ \lastlinefit=500 \1
+ \lastlinefit=1000 \1
+ \hsize=110pt
+ \begingroup
+ \let\3=\hfil
+ \lastlinefit=1000 \1
+ \endgroup
+ \lastlinefit=500 \1
+ \lastlinefit=1000 \1
+ \hsize=120pt
+ \lastlinefit=0 \1
+ \lastlinefit=500 \1
+ \lastlinefit=1000 \1
+\endgroup
+
+%
+% -- Check expansion of V 2 \protected macros
+\typeout{Checking expansion of V 2 \string\protected\space macros:}
+\begingroup
+ \protected\def\1{\omit} \def\2{\omit} \def\3{relax}
+ \setbox0=\vbox{\halign{&\typeout{# (l.\number\inputlineno)}\cr
+ \1& \1\cr
+ \2& \2\cr
+ \3& \3\cr}}
+\endgroup
+
+%
+% -- Check hyphenation and \savinghyphcodes
+\typeout{Checking hyphenation and \string\savinghyphcodes:}
+\begingroup
+ \def\2#1#2 {\language=#1 #2 }
+ \def\1#1 {\noindent\trip\ \20#1 \21#1 \22#1 \23#1 \24#1 \par}
+ \parfillskip=0pt \hbadness=0 \showboxdepth=0
+ \hsize=16383.99999pt \pretolerance=-1 \tolerance=-1
+ \setbox0=\vbox{
+ \lccode`A=`a \lccode`B=`b
+ \language=0 \hyphenation{qq-App qqB-pp}
+ \language=1 \hyphenation{qq-App qqB-pp}
+ \language=2 \hyphenation{qq-A-pp qqB-pp}
+ \language=3 \hyphenation{qq-App qq-B-pp}
+ \1ppAqq \1upAqq \1ppBqq \1upBqq
+ \lccode`A=`r \lccode`B=`b
+ \1ppAqq \1upAqq \1ppBqq \1upBqq
+ \lccode`A=`a \lccode`B=`r
+ \1ppAqq \1upAqq \1ppBqq \1upBqq
+ }
+ \setbox0=\vbox{\language=3 \1qqapp \1qqbpp \1qqrpp }
+\endgroup
+
+%
+% -- Check \savingvdiscards, \pagediscards, and \splitdiscards
+\typeout{Checking \string\savingvdiscards, \string\pagediscards, and
+ \string\splitdiscards:}
+\begingroup
+ \setbox27=\vbox{\noindent$\splitdiscards\noindent$\pagediscards}
+ \showbox27
+ \setbox 27 = \vbox {
+ \vbox to 20 pt {}
+ \prevdepth = -10000 pt
+ \openout 0 = abc
+ \penalty 0
+ \write 1 {write 1}
+ \vskip 10 pt plus 1 pt minus 1 pt
+ \write 2 {write 2}
+ \penalty 0
+ \closeout 3
+ \kern 10 pt
+ \vbox to 20 pt {}
+ \vfil
+ }
+ \def\1 #1 #2 {%
+ \savingvdiscards = #1
+ \setbox 28 = \copy 27
+ {
+ \setbox 0 = \vbox {
+ \vsplit 28 to #2 pt
+ \prevdepth = -10000 pt
+ \splitdiscards
+ \box 28
+ }
+ \showbox 0
+ }
+ }
+ \1 -1 20 \1 0 30 \1 1 20 \1 2 30
+ \output = {%
+ \setbox 0 = \vbox { \pagediscards }
+ \showbox 0
+ \showbox 255
+ \setbox 0 = \box 255
+ \global \deadcycles = 0
+ }
+ \def\1{{\setbox 0 = \vbox { \pagediscards \showlists }}}
+ \savingvdiscards = 0 \vfil \kern 20 pt \1 \penalty -1 \1
+ \savingvdiscards = 1 \vfill \kern 2 pt \1 \penalty 10 \1
+ \kern 5 pt \write 1 {} \penalty 0
+ { \savingvdiscards = 0
+ \kern 6 pt \write 2 {} \penalty 1
+ }
+ \kern 7 pt \write 3 {} \hbox {} \penalty -10000
+ \1
+\endgroup
+
+%
+% -- Check \interlinepenalties, \clubpenalties, \widowpenalties,
+% and \displaywidowpenalties
+\typeout{Checking \string\interlinepenalties, \string\clubpenalties,
+ \string\widowpenalties, and \string\displaywidowpenalties:}
+\begingroup
+ \begingroup
+ \def\2#1{%
+ \typeout{\string#1-1=\the#1-1}%
+ \typeout{\string#10=\the#10}%
+ \typeout{\string#15=\the#15}%
+ \typeout{\string#1\string#10=\the#1#10}}
+ \def\1{%
+ \2\interlinepenalties
+ \2\clubpenalties
+ \2\widowpenalties
+ \2\displaywidowpenalties}
+ \def\5#1#2{\number#1#2
+ \ifnum#2<#10 \space\expandafter\5\expandafter#1\expandafter
+ {\number\numexpr#2+1\expandafter}\fi}
+ \def\4#1{\typeout{\string#1=\5#1{0}}}
+ \def\3{%
+ \4\interlinepenalties
+ \4\clubpenalties
+ \4\widowpenalties
+ \4\displaywidowpenalties}
+ \tracingassigns=1 \tracingrestores=1
+ \3 \1
+ \interlinepenalties=3 101 102 103
+ \clubpenalties=1 1 \clubpenalties=4 201 202 203 204
+ \widowpenalties=5 301 302 303 304 305
+ \displaywidowpenalties=6 401 402 403 404 405 406
+ \3 \1
+ \setbox0=\vbox{}
+ \endgroup
+ \parfillskip=0pt \interlinepenalty=7 \clubpenalty=500 \widowpenalty=300
+ \displaywidowpenalty=310 \rightskip=0ptplus1fil \hsize=20pt
+ \def\3#1 {\setbox0=\lastbox \unskip \count0=\lastpenalty \unpenalty
+ \ifnum\count0=#1 \else \typeout{Wrong penalty \number\count0
+ \space should be #1 (l.\number\inputlineno)}\fi}
+ \def\2{\vrule height1ptwidth19pt\hskip5pt }
+ \def\1#1#2 #3 #4 #5 #6 #7 {\setbox0=\vbox{#1\noindent\2\2\2\2$$
+ $$\2\2\2\2\par\3#7 \3#6 \3#5 \30 \30 \30 \30 \3#4 \3#3 \3#2 \30 }}
+
+ \1{\interlinepenalties=8 8 7 6 5 4 3 2 1 }508 7 316 501 1 301
+ \1{\clubpenalties=2 200 100 }207 107 417 207 107 407
+ \1{\widowpenalties=2 2000 1000 \displaywidowpenalties=3 2200 1100 0 }%
+ 507 1107 2207 1507 1007 2007
+\endgroup
+
+%
+\showboxbreadth=10\showboxdepth=10
+\tracingonline=1\tracingoutput=1
+\end
+\error{e-VirTeX: can't happen in e-trip test!}
+%% End of file `etrip.tex'.
diff --git a/Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf b/Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf
new file mode 100644
index 00000000000..e7241a532b3
--- /dev/null
+++ b/Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf
@@ -0,0 +1,40 @@
+% eptexdir/eptrip/texmf.cnf -- configuration for the e-ptrip test.
+
+% These values apply to all the programs, and they are necessary for any
+% kind of reasonable diff.
+error_line = 64
+half_error_line = 32
+max_print_line = 72
+
+% e-pTeX.
+main_memory = 3999 % can't change mem_bot, it stays 0
+max_strings = 3300
+pool_size = 36000
+
+string_vacancies = 8000
+
+% TeX end e-TeX.
+font_mem_size = 20000
+font_max = 75
+stack_size = 200
+nest_size = 40
+buf_size = 500
+save_size = 600
+dvi_buf_size = 800
+% Although hyph_size is settable, it can't be <hyph_prime, which is 607,
+% and the original trip setting is 307, so no point in changing the default.
+
+% Avoid running any MakeTeX* program.
+MAKETEXTFM = 0
+MAKETEXTEX = 0
+MAKETEXMF = 0
+
+% Search paths.
+% (e)trip.tex:
+TEXINPUTS = .
+% (e)trip.tfm:
+TFMFONTS = .
+% (e)trip.fmt:
+TEXFORMATS = .
+% etex.pool:
+TEXPOOL = .
diff --git a/Build/source/texk/web2c/eptexdir/fam256.ch b/Build/source/texk/web2c/eptexdir/fam256.ch
index 705177b29ad..e4d988d236f 100644
--- a/Build/source/texk/web2c/eptexdir/fam256.ch
+++ b/Build/source/texk/web2c/eptexdir/fam256.ch
@@ -1315,8 +1315,10 @@ not exceed 255 in compatibility mode resp.\ 65535 in extended mode.
%-----------------------------------------------
@x
max_reg_num:=32767;
+max_reg_help_line:="A register number must be between 0 and 32767.";
@y
max_reg_num:=65535;
+max_reg_help_line:="A register number must be between 0 and 65535.";
@z
%-----------------------------------------------
@x
diff --git a/Build/source/texk/web2c/etexdir/etrip/texmf.cnf b/Build/source/texk/web2c/etexdir/etrip/texmf.cnf
index 4433086badc..b4e4bb4c6bb 100644
--- a/Build/source/texk/web2c/etexdir/etrip/texmf.cnf
+++ b/Build/source/texk/web2c/etexdir/etrip/texmf.cnf
@@ -1,4 +1,4 @@
-% triptrap/texmf.cnf -- configuration for the trip and trap tests.
+% etexdir/etrip/texmf.cnf -- configuration for the e-trip test.
% These values apply to all the programs, and they are necessary for any
% kind of reasonable diff.
@@ -7,14 +7,9 @@ half_error_line = 32
max_print_line = 72
% e-TeX.
-main_memory.etex = 3999 % can't change mem_bot, it stays 0
-max_strings.etex = 3300
-pool_size.etex = 34000
-
-% In case you happen to run an ini* link by hand.
-main_memory.einitex = 3999 % can't change mem_bot, it stays 0
-max_strings.einitex = 3300
-pool_size.einitex = 34000
+main_memory = 3999 % can't change mem_bot, it stays 0
+max_strings = 3300
+pool_size = 34000
string_vacancies = 8000
pool_size = 32000
@@ -40,7 +35,7 @@ MAKETEXMF = 0
TEXINPUTS = .
% (e)trip.tfm:
TFMFONTS = .
-% (e)trip.efmt:
+% (e)trip.fmt:
TEXFORMATS = .
% etex.pool:
TEXPOOL = .
diff --git a/Build/source/texk/web2c/ptexdir/am/ptex.am b/Build/source/texk/web2c/ptexdir/am/ptex.am
index c07411f1196..f6f6fb0ea4c 100644
--- a/Build/source/texk/web2c/ptexdir/am/ptex.am
+++ b/Build/source/texk/web2c/ptexdir/am/ptex.am
@@ -213,7 +213,7 @@ EXTRA_DIST += ptexdir/tests/min10.pl ptexdir/tests/min10.tfm
EXTRA_DIST += ptexdir/tests/tmin10.pl ptexdir/tests/tmin10.tfm
DISTCLEANFILES += tests/x*min10.*
## ptexdir/ptrip.test
-EXTRA_DIST += ptexdir/ptrip.diffs
+EXTRA_DIST += ptexdir/ptrip/ptrip.diffs ptexdir/ptrip/texmf.cnf
ptrip.diffs: ptex$(EXEEXT)
$(triptrap_diffs) $@
.PHONY: ptrip-clean
diff --git a/Build/source/texk/web2c/ptexdir/ptrip.test b/Build/source/texk/web2c/ptexdir/ptrip.test
index b0cf35921f3..1ae53675851 100755
--- a/Build/source/texk/web2c/ptexdir/ptrip.test
+++ b/Build/source/texk/web2c/ptexdir/ptrip.test
@@ -1,16 +1,17 @@
#! /bin/sh
-# Copyright (C) 2010 Peter Breitenlohner <tex-live@tug.org>
+# Copyright (C) 2010, 2011 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
testdir=$srcdir/triptrap
+ptestdir=$srcdir/ptexdir/ptrip
-TEXMFCNF=$testdir; export TEXMFCNF
+TEXMFCNF=$ptestdir; export TEXMFCNF
dvitype_args="-output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'"
echo ">>> Running TRIP test for pTeX." >&2
-echo ">>> See $srcdir/ptexdir/ptrip.diffs for example of acceptable diffs." >&2
+echo ">>> See $ptestdir/ptrip.diffs for example of acceptable diffs." >&2
rm -f trip.tfm trip.pl trip.tex trip.fmt trip.dvi \
ptripin.fot ptripin.log ptrip.fot ptrip.log ptrip.typ \
diff --git a/Build/source/texk/web2c/ptexdir/ptrip.diffs b/Build/source/texk/web2c/ptexdir/ptrip/ptrip.diffs
index ed0ac8098b4..9dc6343c0fa 100644
--- a/Build/source/texk/web2c/ptexdir/ptrip.diffs
+++ b/Build/source/texk/web2c/ptexdir/ptrip/ptrip.diffs
Binary files differ
diff --git a/Build/source/texk/web2c/ptexdir/ptrip/texmf.cnf b/Build/source/texk/web2c/ptexdir/ptrip/texmf.cnf
new file mode 100644
index 00000000000..79e15b44a37
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/ptrip/texmf.cnf
@@ -0,0 +1,41 @@
+% ptexdir/ptrip/texmf.cnf -- configuration for the ptrip test.
+
+% These values apply to all the programs, and they are necessary for any
+% kind of reasonable diff.
+error_line = 64
+half_error_line = 32
+max_print_line = 72
+
+% pTeX.
+mem_bot = 1
+main_memory = 3500
+max_strings = 3000
+pool_size = 40000
+
+string_vacancies = 8000
+
+font_mem_size = 20000
+font_max = 75
+stack_size = 200
+nest_size = 40
+buf_size = 500
+save_size = 600
+dvi_buf_size = 800
+% Although hyph_size is settable, it can't be <hyph_prime, which is 607,
+% and the original trip setting is 307, so no point in changing the default.
+
+% Avoid running any MakeTeX* program.
+MAKETEXTFM = 0
+MAKETEXTEX = 0
+MAKETEXMF = 0
+
+% Search paths.
+% trip.tex:
+TEXINPUTS = .
+% trip.tfm:
+TFMFONTS = .
+% trip.fmt:
+TEXFORMATS = .
+% tex.pool:
+TEXPOOL = .
+