summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/eptexdir
diff options
context:
space:
mode:
authorDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
committerDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
commitc6101f91d071883b48b1b4b51e5eba0f36d9a78d (patch)
tree1bf7f5a881d7a4f5c5bf59d0b2821943dd822372 /Build/source/texk/web2c/eptexdir
parent07ee7222e389b0777456b427a55c22d0e6ffd267 (diff)
French translation for tlmgr updated
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/eptexdir')
-rw-r--r--Build/source/texk/web2c/eptexdir/ChangeLog533
-rw-r--r--Build/source/texk/web2c/eptexdir/Changes.txt147
-rw-r--r--Build/source/texk/web2c/eptexdir/README.txt94
-rw-r--r--Build/source/texk/web2c/eptexdir/am/eptex.am122
-rw-r--r--Build/source/texk/web2c/eptexdir/char-warning-eptex.ch63
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex-base.ch29
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex.defines52
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex.ech734
-rw-r--r--Build/source/texk/web2c/eptexdir/eptex_version.h1
-rw-r--r--Build/source/texk/web2c/eptexdir/eptexextra.c12
-rw-r--r--Build/source/texk/web2c/eptexdir/eptexextra.h26
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs1386
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/eptrip.log4429
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/eptrip.tex1265
-rw-r--r--Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf41
-rwxr-xr-xBuild/source/texk/web2c/eptexdir/eptriptest.test142
-rwxr-xr-xBuild/source/texk/web2c/eptexdir/epver.test32
-rw-r--r--Build/source/texk/web2c/eptexdir/etex.ch0253
-rw-r--r--Build/source/texk/web2c/eptexdir/etex.ch1197
-rw-r--r--Build/source/texk/web2c/eptexdir/fam256.ch1537
-rwxr-xr-xBuild/source/texk/web2c/eptexdir/pdfprimitive.test23
-rw-r--r--Build/source/texk/web2c/eptexdir/pdfutils.ch1752
-rwxr-xr-xBuild/source/texk/web2c/eptexdir/tests/fontchar.sh2
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/fontchar.tex61
-rwxr-xr-xBuild/source/texk/web2c/eptexdir/tests/pdforigin.sh10
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/pdforigin.tex40
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/pdfpagewidth.tex24
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log57
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex47
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/pdfsavepos.tex12
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/uchar.tex127
-rw-r--r--Build/source/texk/web2c/eptexdir/tests/zero_search.tex72
32 files changed, 0 insertions, 13322 deletions
diff --git a/Build/source/texk/web2c/eptexdir/ChangeLog b/Build/source/texk/web2c/eptexdir/ChangeLog
deleted file mode 100644
index 33344505e08..00000000000
--- a/Build/source/texk/web2c/eptexdir/ChangeLog
+++ /dev/null
@@ -1,533 +0,0 @@
-2021-02-18 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech, eptex_version.h: e-pTeX version 210118 for TL21.
-
-2020-11-29 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * fam256.ch: Adapt to changes in ptex-base.ch.
-
-2020-09-01 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * pdfutils.ch (Scan the argument for command |c|) <expanded_code>:
- free_avail(def_ref) to avoid memory exhaustion with many \expanded.
- (Sync with pdftex.web and xetex.web changes r56230.)
-
-2020-07-19 Karl Berry <karl@freefriends.org>
-
- * char-warning-eptex.ch: new file (see ../pdftexdir/ChangeLog).
- * am/eptex.am (eptex_ch_srcs): add it.
-
-2020-05-05 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Sync with inhibit_glue_flag improvement.
- https://github.com/texjporg/tex-jp-build/pull/102
-
-2019-12-10 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * am/eptex.am (eptex_CPPFLAGS): append $(ZLIB_INCLUDES).
- (eptex_LDADD): append $(ZLIB_LIBS.)
- (eptex_DEPENDENCIES): append $(ZLIB_DEPEND)
- (eptex_web_srcs): append zlib-fmt.ch.
-
-2019-11-12 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Add primitives \Uchar and \Ucharcat.
- * tests/uchar.tex: Added.
- * eptex.ech, eptex_version.h: e-pTeX version 191112.
-
-2019-10-28 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * eptex.ech: Add primitives \current(x)spacingmode.
-
-2019-09-08 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech: \readline correctly handles Japanese characters.
-
-2019-07-21 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * eptex.ech: More compatible with original e-TeX, because
- '\fontchar??' and '\iffontchar' for Latin font is effective
- only for 0--255.
-
-2019-07-09 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Add primitive \ifincsname.
- * eptex.ech: Revise \iffontchar and \fontchar?? to treat
- negative value as char_type.
- - \iffontchar (Japanese font f) (number c):
- - c >= 0: true iff is_char_kanji(c)
- - c < 0: true iff f has char_type -(c+1)
- - \fontcharwd (Japanese font f) (number c):
- - c >= 0: return the width of character c
- - c < 0: return the width of char_type -(c+1)
- * tests/fontchar.{sh,tex}, tests/zero_search.tex: Added.
- * eptex.ech, eptex_version.h: e-pTeX version 190709.
-
-2019-05-28 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * am/eptex.am: Add a new test.
- * epver.test: New test file for version number consistency.
-
-2019-04-02 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * eptex.ech: \fontcharwd etc. for Japanese fonts correctly
- returns a dimension for all kanji codes.
-
-2019-03-01 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * eptex.ech: Fix \show\savinghyphcodes. (Bug introduced in
- 2018-09-01).
-
-2019-01-31 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Improve \pdfsavepos when papersize special
- at the middle of shipout procedure is involved.
- Pointed out by N. Abe.
- https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2564
- * tests/pdfsavepos.tex: Added.
-
-2019-01-23 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * eptex.defines: Add dumpkanji and undumpkanji.
-
-2018-09-09 Karl Berry <karl@tug.org>
-
- * eptriptest.test,
- * pdfprimitive.test: LC_ALL=LANGUAGE=C.
-
-2018-09-01 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech, pdfutils.ch: New primitive \readpapersizespecial.
- * eptex.ech, eptex_version.h: e-pTeX version 180901.
- * tests/pdforigin.tex, tests/pdfpagewidth.tex: Added.
-
-2018-05-18 Joseph Wright <joseph.wright@morningstar2.co.uk>
- Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex-base.ch, pdfutils.ch: New primitive \expanded
- * eptex.ech, eptex_version.h: e-pTeX version 180518.
-
-2018-03-24 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
- Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-
- * etex.ch1: Recover the right \lastnodesubtype initialization
- value ignored by tex.ch.
- * eptex.ech: Describe \lastnodesubtype.
-
-2018-02-26 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech, eptex_version.h: e-pTeX version 180226.
-
-2018-02-25 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech: New primitive \lastnodesubtype.
-
-2018-01-21 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech, etex.ch0, etex.ch1, pdfutils.ch: New primitive \epTeXversion.
- * eptex.ech, eptex_version.h: e-pTeX version 180121.
-
-2017-12-22 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * fam256.ch: \delcode defaults to -1, not -4097, to be compatible
- with TeX82. Correct assignment of negative \delcode.
-
-2017-12-15 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Fix a error message "! File ended while ..."
- while \pdfstrcmp, \pdfmdfivesum, etc. are used.
-
-2017-12-13 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * fam256.ch: \show\odelimiter should be \odelimiter, etc.
-
-2017-11-30 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: \pdfprimitive gives no error if argument is not a
- primitive, just do nothing. (Synchronized pdftex r784, tl r45936)
- * tests/pdfprimitive-test.tex, tests/pdfprimitive-eptex.log:
- Add more tests for \pdfprimitive.
-
-2017-10-06 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Merge prim_eqtb into eqtb, to avoid a bug in
- the use of \pdfprimitive inside vertical mode.
- * tests/pdfprimitive-test.tex, tests/pdfprimitive-eptex.log:
- Add more tests for \pdfprimitive.
-
-2017-09-24 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Avoid overwriting prim_* entries by primitive().
- * eptex.ech, eptex_version.h: Change version to 170924.
-
-2017-09-09 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
- and Noriyuki Abe <abenori@math.sci.hokudai.ac.jp>
-
- * eptex.ech: \epTeXinputencoding works also with the terminal.
- * eptex.defines: Add a new function setstdinenc().
-
-2017-09-06 Noriyuki Abe <abenori@math.sci.hokudai.ac.jp>
-
- * eptex.ech: fix a bug in \epTeXinputencoding.
-
-2017-04-24 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech, etex.ch1, euptex.ch0, pdfutils.ch:
- Adapt to changes in ptexdir/ptex-base.ch (p\TeX -> \pTeX).
-
-2016-12-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
-
- * eptexextra.h: Use "issue@texjp.org" as BUG_ADDRESS.
-
-2016-11-14 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech, eptex_version.h, pdfutils.ch: Add new primitives
- \pdfuniformdeviate, \pdfnormaldeviate, \pdfrandomseed, \pdfsetrandomseed,
- \pdfelapsedtime, \pdfresettimer.
-
-2016-10-31 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
-
- * pdfutils.ch: Remove an unused variable to avoid a compiler warning.
-
-2016-10-30 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.defines, eptex.ech, eptex_version.h, pdfutils.ch:
- Use initstarttime() to improve CreationDate.
-
-2016-09-12 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech, pdfutils.ch: Realize better box in math mode.
-
-2016-09-06 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * fam256.ch: Allow only 8bit arguments for \catcode etc.
-
-2016-07-29 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Improve \pdfsavepos as pointed out by N. Abe.
-
-2016-03-04 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * etex.ch1: Adapt to changes in ptexdir/ptex-base.ch.
-
-2016-02-01 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
-
- * eptex.ech: Add a new primitive \epTeXinputencoding. (from N. Abe).
- Change version to 160201 (H. Kitagawa).
- * eptex.defines: Add a new function setinfileenc() for a new primitive
- \epTeXinputencoding. (from N. Abe).
- * eptex_version.h: Change version to 160201 (H. Kitagawa).
-
-2015-09-22 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptriptest.test: Also check tripos.tex and etrip.out.
-
-2015-08-06 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * pdfprimitive.test: New shell script testing \pdfprimitive.
- * tests/pdfprimitive-test.tex tests/pdfprimitive-eptex.log:
- New test input and expected output data.
- * am/eptex.am: Added the new files.
-
-2015-08-05 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch: Add primitives \pdfprimitive and \ifpdfprimitive
- to e-(u)pTeX.
- * eptex.ech, eptex_version.h: Change version to 150805.
-
-2015-07-28 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * fam256.ch: Fix delcode initialization.
-
-2015-07-10 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptriptest (removed): Renamed ...
- * eptriptest.test (new): ... into this.
- * am/eptex.am: Better dependencies for 'make check'.
-
-2015-07-06 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am: Add libmd5.a to eptex_DEPENDENCIES.
-
-2015-07-02 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * am/eptex.am: Add libmd5.a.
- * pdfutils.ch: Add primitive \pdfmdfivesum to e-(u)pTeX.
- * eptex.defines: Add getmd5sum().
- * eptex.ech, eptex_version.h: Change version to 150702.
-
-2015-06-22 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptx.am: Use $(tie_c) and $(tie_m).
-
-2015-04-12 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip/eptrip.diffs: Updated for TL 2015.
-
-2014-12-12 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptriptest: Complain early if (e)trip.fmt is not created.
- Inspired by report from vvv, tlbuild 14 Jun 2011 10:25:47.
-
-2014-12-10 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech: Fix bugs in \fontcharwd etc.
- * eptex_version.h: Change version to 141210.
-
-2014-11-19 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech: Fix a bug introduced in the primitive \lastnodechar.
- * eptex_version.h: Change version to 141119.
-
-2014-11-09 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech: Improve the new primitive \lastnodechar.
- * eptex_version.h: Change version to 141109.
-
-2014-11-08 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * pdfutils.ch, eptex.ech: Add primitives \pdfshellescape and
- \lastnodechar to e-(u)ptex.
- * eptex_version.h: Change version to 141108.
-
-2014-05-05 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
-2014-05-06 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * pdfutils.ch, eptex.defines: Add a primitive \pdffiledump for
- eptex.
-
-2014-05-02 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip/eptrip.diffs: Updated for TL14.
-
-2014-01-22 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip/etrip.{log,tex} (removed): Renamed ...
- * eptrip/eptrip.{log,tex} (new): ... into these.
- * eptriptest, am/eptex.am: Adapted.
- * eptrip/eptrip.{diffs,log}: Updated for e-pTeX 3.14159265.
-
-2014-01-20 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- TeX tuneup of 2014.
- * eptex.ech: Adapt to TeX Version 3.14159265.
-
-2014-01-17 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip.test (removed): Renamed ...
- * eptriptest (new): ... into this.
- * am/eptex.am: Adapted.
-
-2013-11-21 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip/eptrip.diffs, eptrip/etrip.log: Update for etrip.tex
- Version 2.6 [2013-11-21].
-
-2013-08-12 TANAKA Takuji <KXD02663@nifty.ne.jp>
-
- * eptex.defines: Allow file names with 0x5c in (e)pTeX on Windows.
-
-2013-06-11 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- Update to e-pTeX 130605 from Hironori Kitagawa.
- * eptex.ech (epTeX_version_string): 110825 => 130605.
- * pdfsavepos.ch, pdfstrcmp.ch (removed): Merged ...
- * pdfutils.ch (new): ... into this, adding some functions from
- ../pdftexdir/utils.c.
- * eptex.defines: Declare the new functions.
- * am/eptex.am: Adapt.
-
-2013-04-09 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip/eptrip.diffs, eptrip/etrip.log: Update for TL 2013.
-
-2013-03-04 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am: Better rule for eptex_version.h.
-
-2013-03-01 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech: e-TeX Version 2.6.
- * eptrip/etrip.tex, eptrip/etrip.log: Version 2.6 [2013-03-01].
- * eptrip/eptrip.diffs: Adapt, also to fixed delcode bug.
-
-2013-01-15 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am, eptrip.test: Enable parallel-tests.
-
-2012-12-16 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am (eptex_version.h): Enable silent rules.
-
-2012-12-01 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * fam256.ch: fix a delcode bug.
-
-2012-09-04 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptexextra.h: Set AUTHOR to "Peter Breitenlohner" and
- BUG_ADDRESS to "tex-k@tug.org" (from W32TeX).
-
-2012-08-13 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * fam256.ch: Slightly reduce one changeset to simplify e-upTeX.
-
-2012-08-02 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, eptrip/etrip.tex: Adapt to e-TeX Version 2.5.
- * am/eptex.am: Clarify *tex_version.h dependencies.
-
-2012-07-19 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am: Distribute eptex_version.h.
- * eptexextra.h: Use ../[ep]texdir/[ep]tex_version.h.
-
-2012-07-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp>
-
- * eptexextra.c: Must #define DLLPROC before reading eptexd.h.
-
-2012-06-30 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptexextra.c [W32TeX]: #define DLLPROC for eptex.dll.
-
-2012-05-12 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip/eptrip.diffs, eptrip/etrip.log: Updated.
-
-2012-05-11 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech (eTeX_version_string): Version 2.4.
- * eptrip/eptrip.diffs, eptrip/etrip.{log,tex}: Adapted.
-
-2012-04-17 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech (just_copy): Bug fix, copy the additional pTeX word.
- Mail from Werner Fink <werner@suse.de>
- [tex-live] Mon, Apr 16 16:28:50.
-
-2011-12-19 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * fam256.ch, eptex.defines: Avoid Segmentation fault for
- japanese \catcode or \kcatcode.
-
-2011-09-30 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am (eptexdir/ptex_version.h): Fix a typo.
-
-2011-08-25 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech (just_copy): Copy the additional pTeX fields.
-
-2011-08-18 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- Renamed ChangeLog => Changes.txt, ChangeLog.TL => ChangeLog.
- * am/eptex.am (EXTRA_DIST): Adapted.
- * am/eptex.am (eptex_DEPENDENCIES): Define proper dependencies.
-
-2011-08-12 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, eptexextra.h, etex.ch1, am/eptex.am, fam256.ch:
- Slightly reformulate to simplify e-upTeX.
- * pdfsavepos.ch: \pdfsavepos is extension, not convert case.
-
-2011-07-06 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.defines: Add newline at end of file.
-
-2011-07-04 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am (eptex_ch_srcs): SyncTeX infrastructure.
- * pdfsavepos.ch: Slightly reformulate to simplify SyncTeX.
- * eptrip/texmf.cnf (main_memory): Increase for SyncTeX.
-
-2011-04-15 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech: Adapted to pTeX Version p3.2.
-
-2011-04-07 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip/etrip.tex, eptrip/etrip.log, eptrip/eptrip.diffs:
- Adapted to e-TeX Version 2.3.
-
-2011-04-01 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech: Yet an other Bug fix.
-
-2011-03-31 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
-
- * eptex.ech: Bug fix and TeX formatting.
- * pdfsavepos.ch, pdfstrcmp.ch: TeX formatting.
-
-2011-03-30 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, etex.ch0: Handle disp_node from discretionary.
- Set correct last_node_type from main vertical list.
-
-2011-03-29 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, etex.ch0: Redefine box_dir and box_lr to also work
- for min_quarterword<0.
-
-2011-03-28 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am: Use AM_CFLAGS instead of eptex_CFLAGS.
-
-2011-03-27 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, etex.ch[01]: Reformulate @<Fetch an item in the
- current node...@>, begin_box, and delete_last to fix a bug in
- \lastpenalty & Co; further reduce e-pTeX interferences.
-
-2011-03-25 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, etex.ch[01]: Reformulate begin_box and delete_last
- to reduce interferences between e-TeX and pTeX.
-
- * pdfstrcmp.ch (save_warning_index): Drop unused variable.
-
-2011-03-22 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, etex.ch0: Reformulate @<Fetch an item in the
- current node...@> to reduce interferences between e-TeX and pTeX.
-
-2011-03-18 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- e-pTeX update eptex-110315_tlsvn110318.diff [ptex:00248]
- from Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>.
-
- * eptex.ech: Update pTeX_version_string.
- Redefine box_dir and set_box_dir from pTeX as well as box_lr and
- set_box_lr from e-TeX to avoid interference.
-
- * pdfsavepos.ch (new): Implement \pdfsavepos primitive.
- * am/eptex.am (eptex_ch_srcs): Add pdfsavepos.ch.
-
- * etex.ch1: Adapt to use of set_box_dir in ../ptexdir/ptex-base.ch.
- Adapt to "setting/reading a box register dimension" bug fix.
-
-2011-01-19 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptex.ech, etex.ch0: Adapt to modified ../ptexdir/ptex-base.ch.
-
- * 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.
-
- * am/eptex.am (eptrip.diffs): Use $(triptrap_diffs).
-
-2011-01-14 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * am/eptex.am (eptrip-clean): Use TRIPTRAP_CLEAN.
-
-2011-01-13 Peter Breitenlohner <peb@mppmu.mpg.de>
-
- * eptrip.test (new): Shell script for e-pTRIP test,
- from Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>.
- * eptrip.diffs (new): Expected e-pTRIP test results.
-
- * eptex.ech: Increase pTeX if_*_codes above e-TeX codes.
diff --git a/Build/source/texk/web2c/eptexdir/Changes.txt b/Build/source/texk/web2c/eptexdir/Changes.txt
deleted file mode 100644
index 20740858502..00000000000
--- a/Build/source/texk/web2c/eptexdir/Changes.txt
+++ /dev/null
@@ -1,147 +0,0 @@
-
-2008. 1. 1: 一応第1版としておこう.
-
-2008. 1. 2: document の更新.数値積分という sample の追加.
-
-2008. 1. 3: いつのまにか作業中に etex.ch を書き換えていたので修正.
- teTeX3 下でのコンパイルについての補足を追加.
-
-2008. 1. 4: TeX--XeT 機能を試験的にサポート.
- 数式の baseline を揃え方を変える
- \mathdisplacementstate を追加 (in pTeX)
-
-build 80105.11, 21
- o \lastnodetype, \currentiflevel を e-TeX の動作に合わせた.
- o 日時表記を 80000+100*月+日+時間/100 の数値に変更.
- o ./trip の使い方などを記入.
- o \currentiflevel まわりの typo を fix.
- o W32TeX と合わせたときの compile 手順(未チェック)を記入
- o upTeX と合わせたときの compile 手順を改稿(compileだけ)
- o README.txt から HOWTOINST.txt を分離.
-
-build 80106.14, 19
- o W32TeX と合わせたときの compile 手順が正しくなかったのを修正.
- o document のさらなる整備,resume.tex のコンパイル要件がわからなく
- なった
-
-build 80108.19
- o 「peTeX との一本化」.角藤さんが Windows 用 build を提供してくれる
- ことになったので,W32TeX と合わせた build の解説を削除.
- o ↑に伴う,ptex-hack-1.diff の削除.余計な ptex-orig.diff の廃止.
-
-build 80110.20
- o upTeX とのマージ方法に関する部分を修正.
- o 浮動小数点演算拡張の部分 fp.diff を WEB change file の形式に変更.
- 同時に,減算で ∞ - ∞ の結果が NaN になっていなかったのを修正.
-
-build 80113.22
- o 浮動小数点演算(以下 fp)でのワーク領域を確保する量の間違いにより,
- Segfault する可能性があるバグを修正(実際には平方根の計算などが
- 54 桁で行われている場合があったことによるので,そちらの方を修正し
- た)
- o resume.pdf は発表時としては使わないことにした(スライドを別に作っ
- て,そちらを使う予定).しかしこのファイルがもと.
-
-build 80120.11, 19
- o fp → integer の変換ミスを修正.
- o eptexdefs.lib を作成.それに伴い eptex.src を少々改定
- o upTeX-0.20 に合うように更新.
- o license をちゃんと決めた.(「通りすがり2」さん,ありがとうございます)
- o doc/ に浮動小数点演算のサンプル tri.tex を追加
-
-build 80125.09
- o fp.pdf が壊れていたので修正.
-
-build 80131.21
- o TeX--XeT での displacement node の取扱いを改良し,和欧文混在時の
- 組版結果がちょっと良くなった.
- o resume.pdf の更新.
-
-build 80316.xx
- o 生存証明(笑)
- o 浮動小数点演算に MPFR library を使用してみた.格納形式が変更され,
- 仮数部が10進21桁から2進 78 bit(implicit 79 bit)に.
-
-注意:上の 80316.xx の路線はもはや継続されていません.
-
-build 90111.20
- o TeX Live 2008 下でのコンパイルに対応
- o pteTeX3-20080616 (+ upTeX-0.25) 下でのコンパイルに対応
- (ttkさん,角藤さん,ありがとうございます)
- o INSTALL.txt の大幅な書き直し.
-
-build 90218
- o 80131.21 版ぐらいの修正で trip test が異常な結果になっていたこと
- への修正(副作用あるかも)
- o ドキュメント類の書き直し.
- o 小数点以下(大体の時間を表す)はあまり意味がないので今回から省略.
- o e-pTeX, e-upTeX 本体の version も起動時に出力するようにした.
- どんどん banner が長くなってくる(笑)
-
-注意:本来はこの 90218 のリリースの予定はなかった.FAM256 パッチの調整に手間
- 取りそうだったので,bugfix だけでも先に出すことにしたのだった.
-
-build 090220
- o 「FAM256パッチ」を作成,追加.
- (このパッチを使用しない場合は 90218 版からの変更はバージョン番号
- の変更のみ)
- o 「デビ丸」さんの指摘により,バージョン番号を 6 桁とした.
- (デビ丸さん,ありがとうございます)
-
-build 090223
- o コンパイルスクリプトの変更.
- できるだけ upTeX 側のversionが変わっても通るようにした.
-
-build 090309
- o FreeBSD (on qemu) でも一部開発を行うことに.
- o ptexenc による pTeX の修正と,本 e-pTeX による pTeX の修正が全く
- かち合わないと勘違いをしていた.これに伴い,ptexenc があることを
- 動作要件とすることに.
- o e-TeX の条件分岐拡張(\ifcsname ... \endcsname)の部分で
- 漢字を考慮していなかった動作だったのを修正.
- o texmfmem.h, ptexenc まわりの再検討.これにより,-funsigned-char や
- 「case 12」が不要になり,eplatex.fmt 作成時に segfault するバグも
- 潰せたと思う.
-
-build 090927
- o FAM256 patch を標準で有効に.このため,有効時にバージョンの末尾に
- ついていた「FAM256-PATCHED」はもはやつかない.
- o 黒木さんなどから「e-TeX ベースにした方が良いのでは」という意見を
- いただいたので,そのようにしてみた.
- o コンパイルのベースとなる環境がたくさんあるので,とりあえず
- 今回は ptetex3-20090610 と ptexlive-20090904 のみ作業してみた.
- o I forgot to include copy of BSD license ^^;
- o Implementation of floating-point arithmetic is deleted due to
- its half-hearted implementation.
- (Someday I want to re-implement floating-point arithmetic in TeX,
- but not inside e-pTeX)
- o Several files rewrite in English.
-
-build 091003
- o Fixed several typos. (Thanks to Mr. Debimaru)
- o In eptexdoc.tex, graphicx and color packages don't use anymore.
- (now correctly displayed in xdvi)
-
-build 100131
- o languages.def was added in the archive.
- o Support upTeX-0.29.
- (In upTeX-0.29, pTeX is updated to 3.1.11.)
-
-build 100201
- o Bug fix: typo in script/install
- (euptex.fmt and euplatex.fmt ware generated in compatible mode)
-
-build 100420
- o Based on ptexlive for TeX Live 2009.
- o Change installation method.
- o fam256.ch: fixed typo in error message.
-
-build 101231
- o Based on TeX Live 2010.
- o \pdfstrcmp primitive (of pdfTeX) is now supported.
- (Thanks to Akira Kakuto)
-
-build 110102
- o Fixed typo in scripts/unpack.sh.
- o \pdfstrcmp compares Kanji characters by their UTF-8 encoded strings.
- o re-included otfstable.zip and utfsrc.zip.
diff --git a/Build/source/texk/web2c/eptexdir/README.txt b/Build/source/texk/web2c/eptexdir/README.txt
deleted file mode 100644
index ed6eecfe03c..00000000000
--- a/Build/source/texk/web2c/eptexdir/README.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-----------------------------------------------------------------------
-****** e-pTeX build 110102 ******
-----------------------------------------------------------------------
-
- This program, ``e-pTeX'', is development of e-TeX, and it has
-features of Japanese pTeX. Because of this, perhaps ``pe-TeX'' is
-better name for this software, but because of historical reasons,
-I decided to continue to use ``e-pTeX'' as the name of this software.
-(When I developed e-pTeX first, this is ``e-TeX extension of pTeX''.
- And moreover, there was another ``peTeX'' (about 2007.12--2008.1,
- abandoned by appearance of e-pTeX) by Akira Kakuto.)
-
- In addition to features of pTeX, e-pTeX can use 256 math font
-families (this feature is realized by fam256.ch, based on Omega's
-source code). This extension developed in mind that pTeX usually use
-more two families than original TeX (`Mincho' and `Gothic').
-
- e-pTeX is developed as the project in the course named ``Computing
-for Mathematicians II''(http://ks.ms.u-tokyo.ac.jp/ (in Japanese), 2007
-Winter), and it is licensed under modified BSD (same as pTeX, ptexenc).
-
- Thanks to Noriyuki Abe, Akira Kakuto, Takuji Tanaka, Takayuki Yato,
-Yusuke Kuroki and others for many help.
-
- Hironori Kitagawa (H7K)
- h_kitagawa2001 at yahoo.co.jp
- (in Japanese) http://sourceforge.jp/projects/eptex/wiki/
-
-
-
-
-** bug list
-----------------------------------------------------------------------
-1. The e-TRIP test fails around `last_node_type'.
-2. Compatibility for pTeX is not well-tested.
-
-** Files
-----------------------------------------------------------------------
- >README.txt this file
- >Changelog
- INSTALL.txt
-
- all.sh \
- common.sh | bash scripts
- reautoconf-parallel.diff |
- scripts/ /
-
- eptex/
-
- >eptex-*-texlive2010.diff
- >euptex-*-up0.30-texlive2010.diff
- main patches
-
- eptex-101231-pdfcreationdate.diff
- a patch to kanji.* for \pdfcreationdate (unused)
-
- eptex.src modified from etex.src for e-pTeX
- eptexdefs.lib modified from etexdefs.lib for e-pTeX
- euptex.am a fragment of Makefile for e-upTeX
- euptex.src modified from etex.src for e-upTeX
- language.def language settings for eptex.fmt, euptex.fmt
-
- pdfstrcmp.ch a patch to support \pdfstrcmp
- ptexenc-110102-toUCS_export.diff
-
- ptex/
-
- ptexfam-common-texlive2010.diff
- patch for supporting (e-)(u)pTeX
- ptex-base.ch.0711.diff
- ptex-base.ch.0814-tl10.diff
- ptex-base.ch.nullfont.diff
- updmap-live2009-4b.diff
- updmap-no-r.patch
- updmap-nostop.patch
- xdvik-20100725-texlive2010.diff
- japanese.zip
-
- doc/ documents (all in Japanese)
-
- >eptexdoc.* main document of e-pTeX
- fam256d.tex \
- fam256p.tex |- auxiliary files for eptexdoc.tex
- styles.tex /
- resume.pdf development record in
- ``Computing for Mathematicians II''
-
-
-** environment:
-----------------------------------------------------------------------
-Gentoo Linux 10.0 (amd64)
-gcc-4.5.2, autoconf-2.65-r1, automake-1.11.1, m4-1.4.15
-
-It is assumed that /bin/bash works.
diff --git a/Build/source/texk/web2c/eptexdir/am/eptex.am b/Build/source/texk/web2c/eptexdir/am/eptex.am
deleted file mode 100644
index 928dd028f60..00000000000
--- a/Build/source/texk/web2c/eptexdir/am/eptex.am
+++ /dev/null
@@ -1,122 +0,0 @@
-## $Id$
-## texk/web2c/eptexdir/am/eptex.am: Makefile fragment for e-pTeX.
-##
-## Copyright 2015-2021 Karl Berry <tex-live@tug.org>
-## Copyright 2011-2015 Peter Breitenlohner <tex-live@tug.org>
-## You may freely use, modify and/or distribute this file.
-
-## e-pTeX
-##
-if EPTEX
-bin_PROGRAMS += eptex
-endif EPTEX
-EXTRA_PROGRAMS += eptex
-
-eptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/libmd5 $(ZLIB_INCLUDES)
-
-# With --enable-ipc, e-pTeX may need to link with -lsocket.
-eptex_LDADD = libkanji.a $(pproglib) $(PTEXENC_LIBS) $(LDADD) $(ipc_socketlibs) libmd5.a $(ZLIB_LIBS)
-eptex_DEPENDENCIES = libkanji.a $(pproglib) $(PTEXENC_DEPEND) $(default_dependencies) libmd5.a $(ZLIB_DEPEND)
-
-# e-pTeX C sources
-eptex_c_h = eptexini.c eptex0.c eptexcoerce.h eptexd.h
-nodist_eptex_SOURCES = $(eptex_c_h) eptex-pool.c
-dist_eptex_SOURCES = eptexdir/eptexextra.c eptexdir/eptexextra.h eptexdir/eptex_version.h
-
-# We must create eptexd.h and eptexdir/eptex_version.h before building the eptex_OBJECTS.
-eptex_prereq = eptexd.h etexdir/etex_version.h ptexdir/ptex_version.h eptexdir/eptex_version.h
-$(eptex_OBJECTS): $(eptex_prereq)
-
-$(eptex_c_h): eptex-web2c
- @$(web2c) eptex
-eptex-web2c: eptex.p $(web2c_texmf) eptexdir/eptex.defines
- @$(web2c) eptex
-
-eptex-pool.c: eptex.pool eptexd.h $(makecpool_stamp)
- $(makecpool) eptex >$@ || rm -f $@
-
-# Tangling e-pTeX
-eptex.p eptex.pool: eptex-tangle
- @$(texmf_tangle) eptex eptex
-eptex-tangle: tangle$(EXEEXT) eptex.web eptex.ch tangle-sh
- @$(texmf_tangle) eptex eptex
-
-# Extract eptex version
-$(srcdir)/eptexdir/eptex_version.h: @MAINTAINER_MODE_TRUE@ eptexdir/eptex.ech
- $(AM_V_GEN)grep '^@d epTeX_version_string==' $(srcdir)/eptexdir/eptex.ech \
- | sed "s/^.*'-/#define EPTEX_VERSION \"/;s/'.*$$/\"/" >$@
-
-# Generate eptex.web
-eptex.web: tie$(EXEEXT) $(eptex_web_srcs)
- $(tie_m) $(eptex_web_srcs)
-eptex_web_srcs = \
- tex.web \
- etexdir/etex.ch \
- etexdir/tex.ch0 \
- tex.ch \
- tracingstacklevels.ch \
- zlib-fmt.ch \
- etexdir/tex.ech
-
-# Generate eptex.ch
-eptex.ch: tie$(EXEEXT) eptex.web $(eptex_ch_srcs)
- $(tie_c) eptex.web $(eptex_ch_srcs)
-eptex_ch_srcs = \
- eptexdir/eptex-base.ch \
- eptexdir/etex.ch0 \
- ptexdir/ptex-base.ch \
- eptexdir/eptex.ech \
- eptexdir/etex.ch1 \
- $(eptex_ch_synctex) \
- eptexdir/fam256.ch \
- eptexdir/pdfutils.ch \
- eptexdir/char-warning-eptex.ch \
- tex-binpool.ch
-
-EXTRA_DIST += $(eptex_web_srcs) $(eptex_ch_srcs) eptexdir/eptex.defines
-
-DISTCLEANFILES += $(nodist_eptex_SOURCES) eptex.web eptex.ch eptex-web2c \
- eptex.p eptex.pool eptex-tangle
-
-##
-EXTRA_DIST += \
- eptexdir/ChangeLog \
- eptexdir/Changes.txt \
- eptexdir/README.txt
-
-# e-pTeX Tests
-#
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
-eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-eptexdir/pdfprimitive.log: eptex$(EXEEXT)
-eptexdir/epver.log: eptex$(EXEEXT)
-
-EXTRA_DIST += $(eptex_tests)
-
-if EPTEX
-TESTS += $(eptex_tests)
-TRIPTRAP += eptrip.diffs
-TRIPTRAP_CLEAN += eptrip-clean
-endif EPTEX
-
-## Test data and results
-##
-## eptexdir/eptriptest.test
-EXTRA_DIST += \
- eptexdir/eptrip/eptrip.diffs \
- eptexdir/eptrip/eptrip.log \
- eptexdir/eptrip/eptrip.tex \
- eptexdir/eptrip/texmf.cnf
-eptrip.diffs: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
- $(triptrap_diffs) $@
-.PHONY: eptrip-clean
-eptrip-clean:
- rm -rf eptripdir
-DISTCLEANFILES += eptrip.diffs
-## eptexdir/pdfprimitive.test
-EXTRA_DIST += \
- eptexdir/pdfprimitive.test \
- eptexdir/tests/pdfprimitive-test.tex \
- eptexdir/tests/pdfprimitive-eptex.log
-DISTCLEANFILES += pdfprimitive-eptex.*
-
diff --git a/Build/source/texk/web2c/eptexdir/char-warning-eptex.ch b/Build/source/texk/web2c/eptexdir/char-warning-eptex.ch
deleted file mode 100644
index f6593ad1e9d..00000000000
--- a/Build/source/texk/web2c/eptexdir/char-warning-eptex.ch
+++ /dev/null
@@ -1,63 +0,0 @@
-% $Id$
-% Public domain. See ../pdftexdir/char-warning-pdftex.ch for info.
-
-@x [30] If \tracinglostchars > 2, then promote full errors.
-@p procedure char_warning(@!f:internal_font_number;@!c:eight_bits);
-var @!l:0..255; {small indices or counters}
-old_setting: integer; {saved value of |tracing_online|}
-begin if tracing_lost_chars>0 then
- begin old_setting:=tracing_online;
- if eTeX_ex and(tracing_lost_chars>1) then tracing_online:=1;
- begin begin_diagnostic;
- print_nl("Missing character: There is no ");
-@.Missing character@>
- if (c<" ")or(c>"~") then
- begin print_char("^"); print_char("^");
- if c<64 then print_char(c+64)
- else if c<128 then print_char(c-64)
- else begin print_lc_hex(c div 16); print_lc_hex(c mod 16); end
- end
- else print_ASCII(c);
- print(" in font ");
- slow_print(font_name[f]); print_char("!"); end_diagnostic(false);
- end;
- tracing_online:=old_setting;
- end;
-end;
-@y
-@p procedure char_warning(@!f:internal_font_number;@!c:eight_bits);
-var @!l:0..255; {small indices or counters}
-old_setting: integer; {saved value of |tracing_online|}
-begin if tracing_lost_chars>0 then
- begin old_setting:=tracing_online;
- if eTeX_ex and(tracing_lost_chars>1) then tracing_online:=1;
- if tracing_lost_chars > 2 then
- print_err("Missing character: There is no ")
- else begin
- begin_diagnostic;
- print_nl("Missing character: There is no ")
- end;
-@.Missing character@>
- if (c<" ")or(c>"~") then begin
- print_char("^"); print_char("^");
- if c<64 then print_char(c+64)
- else if c<128 then print_char(c-64)
- else begin print_lc_hex(c div 16); print_lc_hex(c mod 16); end
- end
- else print_ASCII(c);
- if tracing_lost_chars > 2 then begin
- print(" (");
- print_hex(c);
- print(")");
- end;
- print(" in font ");
- slow_print(font_name[f]);
- if tracing_lost_chars < 3 then print_char("!");
- tracing_online:=old_setting;
- if tracing_lost_chars > 2 then begin
- help0;
- error;
- end else end_diagnostic(false);
- end; {of |tracing_lost_chars>0|}
-end; {of procedure}
-@z
diff --git a/Build/source/texk/web2c/eptexdir/eptex-base.ch b/Build/source/texk/web2c/eptexdir/eptex-base.ch
deleted file mode 100644
index 7f18c7b1132..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptex-base.ch
+++ /dev/null
@@ -1,29 +0,0 @@
-% This is a change file for e-pTeX.
-%
-% e-pTeX is developed by Hironori Kitagawa,
-% based on pTeX by Sadayuki Tanaka <sada-t@ascii.co.jp>,
-% Ken Nakano <ken-na@ascii.co.jp>, and ASCII Corporation.
-%
-% Thanks for:
-% Noriyuki Abe, Akira Kakuto, Takuji Tanaka, Takayuki Yato,
-% Yusuke Kuroki.
-%
-% In this TeX Live realisation
-% eptex.web is build from:
-% tex.web
-% + etexdir/etex.ch e-TeX changes
-% + etexdir/tex.ch0 glue
-% + tex.ch Web2C changes
-% + etexdir/tex.ech e-TeX+Web2C changes
-%
-% and eptex.ch from:
-% + eptexdir/etex.ch0 glue
-% + ptexdir/ptex-base.ch pTeX changes
-% + eptexdir/eptex.ech e-TeX+pTeX changes
-% + eptexdir/etex.ch1 glue
-% + eptexdir/fam256.ch borrowed from Omega
-% + eptexdir/pdfutils.ch borrowed from pdfTeX
-% + tex-binpool.ch compiled pool file
-%
-% where the three small files denoted as glue resolve incompatibilities
-% between the main change files (used to build TeX, e-TeX, and pTeX).
diff --git a/Build/source/texk/web2c/eptexdir/eptex.defines b/Build/source/texk/web2c/eptexdir/eptex.defines
deleted file mode 100644
index 4ec82524536..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptex.defines
+++ /dev/null
@@ -1,52 +0,0 @@
-{ defined at kanji.c, kanji.h, ptexenc/ptexenc.h }
-@define function BYTE1 ();
-@define function BYTE2 ();
-@define function BYTE3 ();
-@define function BYTE4 ();
-@define function Hi ();
-@define function Lo ();
-
-@define function getencstring;
-@define function setencstring ();
-
-@define function iskanji1 ();
-@define function multistrlen ();
-@define function fromBUFF ();
-@define function toBUFF ();
-
-@define function fromDVI ();
-@define function toDVI ();
-@define function putc2 ();
-@define function fputs2 ();
-@define function inputline2 ();
-
-@define function setinfileenc ();
-@define function setstdinenc ();
-
-@define function fromJIS ();
-@define function fromEUC ();
-@define function fromSJIS ();
-@define function fromKUTEN ();
-@define function UCStoUTF8 ();
-@define function toUCS ();
-
-@define function notkanjicharseq ();
-@define function checkkanji ();
-@define function ischarascii ();
-@define function ischarkanji ();
-@define function ismultiprn ();
-@define function calcpos ();
-@define function kcatcodekey ();
-
-@define function getintone ();
-@define procedure setintone ();
-
-@define procedure dumpkanji ();
-@define procedure undumpkanji ();
-
-@define procedure initstarttime;
-@define procedure getcreationdate;
-@define procedure getfilemoddate();
-@define procedure getfilesize();
-@define procedure getfiledump();
-@define procedure getmd5sum();
diff --git a/Build/source/texk/web2c/eptexdir/eptex.ech b/Build/source/texk/web2c/eptexdir/eptex.ech
deleted file mode 100644
index 75d3b03355b..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptex.ech
+++ /dev/null
@@ -1,734 +0,0 @@
-% eptexdir/eptex.ech: changefile used to build e-pTeX, see eptexdir/eptex-base.ch for details.
-% Public domain. Originally written by Peter Breitenlohner <tex-live@tug.org>.
-
-%% new primitives by e-pTeX
-%%
-%% \lastnodechar: the (internal) character code of the last node
-%% -1: non-character or null
-%% \lastnodesubtype: the (internal) subtype of the last node
-%% -1: null
-%% fallback to 0 if not explicitly set
-%% \readpapersizespecial
-%% 1: papersize special automatically sets \pdfpage{width,height} (quick hack).
-%% 0: off
-%% The default value is 1.
-%%
-
-@x e-pTeX: logo
-\def\eTeX{$\varepsilon$-\TeX}
-@y
-\def\eTeX{$\varepsilon$-\TeX}
-\def\epTeX{$\varepsilon$-\pTeX}
-@z
-
-@x [1.2] l.190 - epTeX:
-@d eTeX_version_string=='-2.6' {current \eTeX\ version}
-@y
-@d eTeX_version_string=='-2.6' {current \eTeX\ version}
-@#
-@d epTeX_version_string=='-210218'
-@d epTeX_version_number==210218
-@z
-
-@x e-pTeX: banner
- {printed when \pTeX\ starts}
-@y
- {printed when \pTeX\ starts}
-@#
-@d epTeX_version==pTeX_version_string,epTeX_version_string,eTeX_version_string
-@d epTeX_banner=='This is e-pTeX, Version 3.141592653',epTeX_version
-@d epTeX_banner_k==epTeX_banner
- {printed when \epTeX\ starts}
-@z
-
-@x [1.2]
-@d banner==pTeX_banner
-@d banner_k==pTeX_banner_k
-@y
-@d banner==epTeX_banner
-@d banner_k==epTeX_banner_k
-@z
-
-@x
-@d max_quarterword=255 {largest allowable value in a |quarterword|}
-@y
-@d max_quarterword=@"FFFF {largest allowable value in a |quarterword|}
-@z
-
-@x [10.135] l.2895 - e-pTeX: box_lr and box_dir
-In \eTeX\ the |subtype| field records the box direction mode |box_lr|.
-@y
-In \eTeX\ the |subtype| field records the box direction mode |box_lr|.
-In \epTeX\ the |subtype| field is |qi(16*box_lr+box_dir)|.
-@z
-
-@x
-@d box_dir(#) == (qo(subtype(#))-dir_max) {direction of a box}
-@d set_box_dir(#) == subtype(#):=set_box_dir_end
-@y
-@d box_dir(#) == ((qo(subtype(#)))mod 16 - dir_max) {direction of a box}
-@d set_box_dir(#) == subtype(#):=box_lr(#)*16+set_box_dir_end
-@z
-
-@x [17]
-@d saving_hyph_codes_code=etex_int_base+8 {save hyphenation codes for languages}
-@d eTeX_state_code=etex_int_base+9 {\eTeX\ state variables}
-@y
-@d saving_hyph_codes_code=etex_int_base+8 {save hyphenation codes for languages}
-@d read_papersize_special_code=etex_int_base+9
-@d eTeX_state_code=etex_int_base+10 {\eTeX\ state variables}
-@z
-
-@x [17]
-@d saving_hyph_codes==int_par(saving_hyph_codes_code)
-@y
-@d saving_hyph_codes==int_par(saving_hyph_codes_code)
-@d read_papersize_special==int_par(read_papersize_special_code)
-@z
-
-@x [26.413] l.8343 - e-pTeX: scan_something_internal
-var m:halfword; {|chr_code| part of the operand token}
-@y
-label exit;
-var m:halfword; {|chr_code| part of the operand token}
-@z
-
-@x
-@d input_line_no_code=glue_val+2 {code for \.{\\inputlineno}}
-@d badness_code=glue_val+2 {code for \.{\\badness}}
-@y
-@d last_node_char_code=glue_val+2 {code for \.{\\lastnodechar}}
-@d last_node_subtype_code=glue_val+3 {code for \.{\\lastnodesubtype}}
-@d input_line_no_code=glue_val+4 {code for \.{\\inputlineno}}
-@d badness_code=glue_val+5 {code for \.{\\badness}}
-@z
-
-@x
-@d ptex_minor_version_code=ptex_version_code+1 {code for \.{\\ptexminorversion}}
-@y
-@d ptex_minor_version_code=ptex_version_code+1 {code for \.{\\ptexminorversion}}
-@d eptex_version_code=ptex_minor_version_code+1 {code for \.{\\epTeXversion}}
-@z
-
-@x e-pTeX: \current(x)spacingmode
-@d eTeX_dim=eTeX_int+8 {first of \eTeX\ codes for dimensions}
-@y
-@d eTeX_dim=eTeX_int+10 {first of \eTeX\ codes for dimensions}
-@z
-
-@x
-primitive("ptexversion",last_item,ptex_version_code);
-@!@:ptexversion_}{\.{\\ptexversion} primitive@>
-@y
-primitive("ptexversion",last_item,ptex_version_code);
-@!@:ptexversion_}{\.{\\ptexversion} primitive@>
-primitive("epTeXversion",last_item,eptex_version_code);
-@!@:epTeXversion_}{\.{\\epTeXversion} primitive@>
-@z
-
-@x
- ptex_version_code: print_esc("ptexversion");
-@y
- ptex_version_code: print_esc("ptexversion");
- eptex_version_code: print_esc("epTeXversion");
-@z
-
-
-@x [26.420] l.8474 - pTeX: Fetch a box dimension: dir_node
-begin scan_eight_bit_int; q:=box(cur_val);
-@y
-begin scan_register_num; fetch_box(q);
-@z
-
-@x [26.424] l.8508 - e-pTeX: TeXXeT and disp_node
-node of the current list.
-@y
-node of the current list.
-The macro |find_effective_tail_epTeX| sets |tx| to the last non-\.{\\endM}
-non-|disp_node| of the current list.
-@z
-
-@x [26.424] l.8510 - e-pTeX: last node
-@d find_effective_tail==find_effective_tail_pTeX
-@y
-@d find_effective_tail_epTeX==
-tx:=tail;
-if not is_char_node(tx) then if type(tx)=disp_node then tx:=prev_node;
-if not is_char_node(tx) then
- if (type(tx)=disp_node) {|disp_node| from a discretionary}
- or((type(tx)=math_node)and(subtype(tx)=end_M_code)) then
- begin r:=head; q:=link(head);
- while q<>tx do
- begin if is_char_node(q) then r:=q
- else if (type(q)<>disp_node)and
- ((type(q)<>math_node)or(subtype(q)<>end_M_code)) then r:=q;
- q:=link(q);
- end;
- tx:=r;
- end
-@#
-@d find_effective_tail==find_effective_tail_epTeX
-@#
-@d find_last_char==
-if font_dir[font(tx)]<>dir_default then cur_val:=KANJI(info(link(tx)))
-else cur_val:=qo(character(tx))
-
-@d ignore_font_kerning==
-begin if ((type(tx)=glue_node) and (subtype(tx)=jfm_skip+1))
- or ((type(tx)=penalty_node) and (subtype(tx)=kinsoku_pena)) then
- tx:=last_jchr
-else if (type(tx)=kern_node) and (subtype(tx)=normal) then
- begin r:=head; q:=link(head);
- while q<>tx do
- begin r:=q;
- if is_char_node(q) then if font_dir[font(q)]<>dir_default then q:=link(q);
- q:=link(q);
- end;
- if ((type(r)=penalty_node) and (subtype(r)=kinsoku_pena)) then tx:=last_jchr else tx:=r;
- end;
-if not is_char_node(tx) then
- begin if type(tx)=ligature_node then
- begin r:=lig_ptr(tx);
- while link(r)<>null do r:=link(r);
- cur_val:=qo(character(r));
- end
- end
-else find_last_char;
-end
-@z
-
-@x
- ptex_version_code: cur_val:=pTeX_version;
-@y
- ptex_version_code: cur_val:=pTeX_version;
- eptex_version_code: cur_val:=epTeX_version_number;
-@z
-
-@x [26.424] e-pTeX: node char
- if cur_chr=last_node_type_code then
- begin cur_val_level:=int_val;
- if (tx=head)or(mode=0) then cur_val:=-1;
- end
- else cur_val_level:=cur_chr;
-@y
- if (cur_chr=last_node_type_code)or(cur_chr=last_node_subtype_code) then
- begin cur_val_level:=int_val;
- if (tx=head)or(mode=0) then cur_val:=-1;
- end
- else if cur_chr=last_node_char_code then
- begin cur_val_level:=int_val; cur_val:=-1;
- end
- else cur_val_level:=cur_chr;
- if (cur_chr=last_node_char_code)and(is_char_node(tx))and(tx<>head) then
- { |tx| might be ``second node'' of a KANJI character; so we need to look the node before |tx| }
- begin r:=head; q:=head;
- while q<>tx do begin r:=q; q:=link(q); end; { |r| is the node just before |tx| }
- if (r<>head)and is_char_node(r) then if font_dir[font(r)]<>dir_default then tx:=r;
- find_last_char;
- end;
-@z
-
-@x [26.424] e-pTeX: node types
- last_node_type_code: if type(tx)<=unset_node then cur_val:=type(tx)+1
- else cur_val:=unset_node+2;
-@y
- last_node_type_code: if type(tx)<=unset_node then
- begin if type(tx)=dir_node then tx:=list_ptr(tx);
- cur_val:=type(tx);
- if cur_val<dir_node then cur_val:=cur_val+1
- else if cur_val>disp_node then cur_val:=cur_val-1;
- end
- else cur_val:=unset_node; {\epTeX's |unset_node| is \eTeX's |unset_node+2|}
- last_node_subtype_code: cur_val:=subtype(tx);
- last_node_char_code: ignore_font_kerning;
-@z
-
-@x
- last_node_type_code: cur_val:=last_node_type;
-@y
- last_node_type_code: cur_val:=last_node_type;
- last_node_subtype_code: cur_val:=last_node_subtype;
-@z
-
-@x e-pTeX: if primitives - leave room for three e-TeX codes
-@d if_tdir_code=if_case_code+1 { `\.{\\iftdir}' }
-@y
-@d if_tdir_code=if_case_code+4 { `\.{\\iftdir}' }
-@z
-
-@x
-@d box_lr(#) == (qo(subtype(#))) {direction mode of a box}
-@d set_box_lr(#) == subtype(#):=set_box_lr_end
-@d set_box_lr_end(#) == qi(#)
-@y
-@d box_lr(#) == ((qo(subtype(#)))div 16) {direction mode of a box}
-@d set_box_lr(#) == subtype(#):=box_dir(#)+dir_max+set_box_lr_end
-@d set_box_lr_end(#) == qi(16*(#))
-@z
-
-@x [35]
-@<Initialize table entries...@>=
-text_baseline_shift_factor:=1000;
-@y
-@<Initialize table entries...@>=
-text_baseline_shift_factor:=1000;
-read_papersize_special:=1;
-@z
-
-@x
-@!last_node_type:integer; {used to implement \.{\\lastnodetype}}
-@y
-@!last_node_type:integer; {used to implement \.{\\lastnodetype}}
-@!last_node_subtype:integer; {used to implement \.{\\lastnodesubtype}}
-@z
-
-@x
-last_node_type:=-1;
-@y
-last_node_type:=-1; last_node_subtype:=-1;
-@z
-
-@x [45.996] l.19420
-last_node_type:=type(p)+1;
-@y
-if type(p)<dir_node then last_node_type:=type(p)+1
-else if type(p)=dir_node then last_node_type:=type(list_ptr(p))+1
-else if type(p)<disp_node then last_node_type:=type(p)
-else last_node_type:=type(p)-1; {no |disp_node| in a vertical list}
-last_node_subtype:=subtype(p);
-@z
-
-@x [47.1079] l.20920
-@!fd:boolean; {a final |disp_node| pair?}
-@y
-@!s:pointer; {running behind |r|}
-@!t:pointer;
-@!fm:integer; {1: if |r|, 2: if |p| is a \.{\\beginM} node}
-@!gm:integer; {1: if |link(q)|, 2: if |q| is an \.{\\endM} node}
-@!fd,@!gd:integer; {same for |disp_node|}
-@z
-
-@x [47.1080] l.20940
-@d check_effective_tail==check_effective_tail_pTeX
-@d fetch_effective_tail==fetch_effective_tail_pTeX
-@y
-@d fetch_effective_tail_epTeX(#)== {extract |tx|,
- drop \.{\\beginM} \.{\\endM} pair and\slash or merge |disp_node| pair}
-q:=head; p:=null; r:=null; fm:=0; fd:=0; disp:=0; pdisp:=0;
-repeat s:=r; r:=p; p:=q; fm:=fm div 2; fd:=fd div 2;
-if not is_char_node(q) then
- if type(q)=disc_node then
- begin for m:=1 to replace_count(q) do
- begin p:=link(p); if p=tx then #; end
- { |tx| might be a part of discretionary; in this case, nothing will be removed}
- end
- else if (type(q)=math_node)and(subtype(q)=begin_M_code) then fm:=2
- else if type(q)=disp_node then
- begin pdisp:=disp; disp:=disp_dimen(q); fd:=2;@+end;
-q:=link(p);
-until q=tx; {found |s|$\to$|r|$\to$|p|$\to$|q=tx|}
-q:=link(tx); link(p):=q; link(tx):=null;
-if q=null then begin tail:=p; gm:=0; gd:=0;@+end
-else begin if type(q)=math_node then
- begin gm:=2;
- if link(q)=null then gd:=0
- else if type(link(q))=disp_node then gd:=1
- else confusion("tail3");
-@:this can't happen tail3}{\quad tail3@>
- end
- else if type(q)=disp_node then
- begin prev_node:=p; gd:=2;
- if link(q)=null then gm:=0
- else if type(link(q))=math_node then gm:=1
- else confusion("tail4");
-@:this can't happen tail4}{\quad tail4@>
- end
- else confusion("tail5");
-@:this can't happen tail5}{\quad tail5@>
- end;
-if gm=0 then if fm=2 then confusion("tail1")
-@:this can't happen tail1}{\quad tail1@>
- else if fm=1 then confusion("tail2");
-@:this can't happen tail2}{\quad tail2@>
-if (fm+fd)=1 then begin fm:=0; fd:=0;@+end;
-if gm=0 then fm:=0;
-if gd=0 then fd:=0;
-@#
-if fd>0 then {merge a |disp_node| pair}
- begin if gm=0 then {|p|$\to$|q=disp_node|$to$|null|}
- begin t:=q; q:=null; link(p):=q; tail:=p;@+end
- else if gm=1 then {|p|$\to$|q=disp_node|$to$|end_M|$to$|null|}
- begin t:=q; q:=link(q); link(p):=q; gm:=2;@+end
- else {|p|$\to$|q=end_M|$\to$|disp_node|$to$|null|}
- begin t:=link(q); link(q):=null; tail:=q;@+end;
-@#
- if fd=1 then {|s|$\to$|r=disp_node|}
- begin prev_node:=s; disp_dimen(r):=disp_dimen(t);@+end
- else {|r|$\to$|p=disp_node|}
- begin prev_node:=r; disp_dimen(p):=disp_dimen(t);@+end;
- prev_disp:=pdisp; free_node(t,small_node_size); gd:=0;
- end;
-@#
-if fm>0 then {drop \.{\\beginM} \.{\\endM} pair}
- begin if gd=0 then {|p|$\to$|q=end_M|$to$|null|}
- begin t:=q; q:=null; link(p):=q; tail:=p;@+end
- else if gd=1 then {|p|$\to$|q=end_M|$to$|disp_node|$to$|null|}
- begin t:=q; q:=link(q); link(p):=q; prev_node:=p; link(t):=null
- end
- else {|p|$\to$|q=disp_node|$\to$|end_M|$to$|null|}
- begin t:=link(q); link(q):=null; tail:=q;@+end;
-@#
- if fm=1 then {|s|$\to$|r=begin_M|$\to$|p=disp_node|}
- begin link(s):=p; link(r):=t; t:=r; prev_node:=s;@+end
- else {|r|$\to$|p=begin_M|$\to$|q|}
- begin link(r):=q; link(p):=t; t:=p;
- if q=null then tail:=r@+else prev_node:=r;
- end;
- flush_node_list(t);
- end
-@#
-@d check_effective_tail(#)==find_effective_tail_epTeX
-@d fetch_effective_tail==fetch_effective_tail_epTeX
-@z
-
-@x [47.1105] l.21246
-@!fd:boolean; {a final |disp_node| pair?}
-@y
-@!s:pointer; {running behind |r|}
-@!t:pointer;
-@!fm:integer; {1: if |r|, 2: if |p| is a \.{\\beginM} node}
-@!gm:integer; {1: if |link(q)|, 2: if |q| is an \.{\\endM} node}
-@!fd,@!gd:integer; {same for |disp_node|}
-@z
-
-@x
-@d set_language_code=5 {command modifier for \.{\\setlanguage}}
-@y
-@d set_language_code=5 {command modifier for \.{\\setlanguage}}
-@d epTeX_input_encoding_code=6 {command modifier for \.{\\epTeXinputencoding}}
-@z
-
-@x
-primitive("setlanguage",extension,set_language_code);@/
-@!@:set_language_}{\.{\\setlanguage} primitive@>
-@y
-primitive("setlanguage",extension,set_language_code);@/
-@!@:set_language_}{\.{\\setlanguage} primitive@>
-primitive("epTeXinputencoding",extension,epTeX_input_encoding_code);@/
-@!@:epTeX_input_encoding_}{\.{\\epTeXinputencoding} primitive@>
-@z
-
-@x
- set_language_code:print_esc("setlanguage");
-@y
- set_language_code:print_esc("setlanguage");
- epTeX_input_encoding_code:print_esc("epTeXinputencoding");
-@z
-
-@x
-set_language_code:@<Implement \.{\\setlanguage}@>;
-@y
-set_language_code:@<Implement \.{\\setlanguage}@>;
-epTeX_input_encoding_code:@<Implement \.{\\epTeXinputencoding}@>;
-@z
-
-@x
-@ @<Finish the extensions@>=
-@y
-@ @<Declare procedures needed in |do_ext...@>=
-procedure eptex_set_input_encoding;
-var j,k:integer;
-begin
- scan_file_name;
- pack_cur_name;
- if state=token_list then
- begin k:=input_ptr-1; j:=-1;
- while k>=0 do
- begin if input_stack[k].state_field=token_list then decr(k)
- else if input_stack[k].name_field>19 then
- begin j:=input_stack[k].index_field; k:=-1; end
- else begin j:=-(name+1); k:=-1; end
- end
- end
- else if name>19 then j:=index else j:=-(name+1);
- if (j>=0) or (j=-1) or (j=-18) then begin
- k:=true;
- if j>= 0 then k:=setinfileenc(input_file[j],stringcast(name_of_file+1))
- else k:=setstdinenc(stringcast(name_of_file+1));
- if k = false then
- begin begin_diagnostic;
- print_nl("Unknown encoding `");
- case selector of
- term_and_log: begin wterm(stringcast(name_of_file + 1));
- wlog(stringcast(name_of_file + 1)); end;
- log_only: wlog(stringcast(name_of_file + 1));
- term_only: wterm(stringcast(name_of_file + 1));
- endcases;
- print("'"); end_diagnostic(false);
- end
- end
- else
- begin begin_diagnostic; j:=-j-1;
- print_ln;
- print_nl("Warning: \epTeXinputencoding is ignored, since I am current reading");
- print_nl("from ");
- if j>=18 then print("a pseudo file created by \scantokens.")
- else begin print("input stream "); print_int(j); print("."); end;
- end_diagnostic(false);
- end
-end;
-
-@ @<Implement \.{\\epTeXinputencoding}@>=
-eptex_set_input_encoding
-
-@ @<Finish the extensions@>=
-@z
-
-@x
-primitive("lastnodetype",last_item,last_node_type_code);
-@!@:last_node_type_}{\.{\\lastnodetype} primitive@>
-@y
-primitive("lastnodetype",last_item,last_node_type_code);
-@!@:last_node_type_}{\.{\\lastnodetype} primitive@>
-primitive("lastnodechar",last_item,last_node_char_code);
-@!@:last_node_char_}{\.{\\lastnodechar} primitive@>
-primitive("lastnodesubtype",last_item,last_node_subtype_code);
-@!@:last_node_subtype_}{\.{\\lastnodesubtype} primitive@>
-@z
-
-@x
-last_node_type_code: print_esc("lastnodetype");
-@y
-last_node_type_code: print_esc("lastnodetype");
-last_node_char_code: print_esc("lastnodechar");
-last_node_subtype_code: print_esc("lastnodesubtype");
-@z
-
-@x
-primitive("savinghyphcodes",assign_int,int_base+saving_hyph_codes_code);@/
-@!@:saving_hyph_codes_}{\.{\\savinghyphcodes} primitive@>
-@y
-primitive("savinghyphcodes",assign_int,int_base+saving_hyph_codes_code);@/
-@!@:saving_hyph_codes_}{\.{\\savinghyphcodes} primitive@>
-primitive("readpapersizespecial",assign_int,int_base+read_papersize_special_code);@/
-@!@:read_papersize_special_}{\.{\\readpapersizespecial} primitive@>
-@z
-
-@x
-saving_hyph_codes_code:print_esc("savinghyphcodes");
-@y
-saving_hyph_codes_code:print_esc("savinghyphcodes");
-read_papersize_special_code:print_esc("readpapersizespecial");
-@z
-
-@x e-pTeX: font_char_{wd,ht,dp,ic}_code l.27306
-font_char_ic_code: begin scan_font_ident; q:=cur_val; scan_char_num;
- if (font_bc[q]<=cur_val)and(font_ec[q]>=cur_val) then
- begin i:=char_info(q)(qi(cur_val));
- case m of
- font_char_wd_code: cur_val:=char_width(q)(i);
- font_char_ht_code: cur_val:=char_height(q)(height_depth(i));
- font_char_dp_code: cur_val:=char_depth(q)(height_depth(i));
- font_char_ic_code: cur_val:=char_italic(q)(i);
- end; {there are no other cases}
- end
- else cur_val:=0;
- end;
-@y
-font_char_ic_code: begin scan_font_ident; q:=cur_val;
- if font_dir[q]<>dir_default then {Japanese font}
- begin scan_int;
- if cur_val>=0 then
- begin if is_char_kanji(cur_val) then {Japanese Character}
- cur_val:=get_jfm_pos(KANJI(cur_val),q)
- else cur_val:=-1
- end
- else begin
- cur_val:=-(cur_val+1);
- if (font_bc[q]>cur_val)or(font_ec[q]<cur_val) then cur_val:=-1
- end;
- if cur_val<>-1 then
- begin
- i:=orig_char_info(q)(qi(cur_val));
- case m of
- font_char_wd_code: cur_val:=char_width(q)(i);
- font_char_ht_code: cur_val:=char_height(q)(height_depth(i));
- font_char_dp_code: cur_val:=char_depth(q)(height_depth(i));
- font_char_ic_code: cur_val:=char_italic(q)(i);
- end; {there are no other cases}
- end
- else cur_val:=0;
- end
- else begin scan_ascii_num;
- if (font_bc[q]<=cur_val)and(font_ec[q]>=cur_val) then
- begin i:=orig_char_info(q)(qi(cur_val));
- case m of
- font_char_wd_code: cur_val:=char_width(q)(i);
- font_char_ht_code: cur_val:=char_height(q)(height_depth(i));
- font_char_dp_code: cur_val:=char_depth(q)(height_depth(i));
- font_char_ic_code: cur_val:=char_italic(q)(i);
- end; {there are no other cases}
- end
- else cur_val:=0;
- end
- end;
-@z
-
-@x e-pTeX: displacement value when typesetting right-to-left l.27798
-@!LR_ptr:pointer; {stack of LR codes for |hpack|, |ship_out|, and |init_math|}
-@y
-@!revdisp:scaled; {temporary value of displacement}
-@!LR_ptr:pointer; {stack of LR codes for |hpack|, |ship_out|, and |init_math|}
-@z
-
-@x e-pTeX: reverse nodes of an hlist l.28010
-var l:pointer; {the new list}
-@y
-var l,la:pointer; {the new list}
-disp,disp2: scaled; { displacement } disped: boolean;
-@z
-@x e-pTeX: reverse nodes of an hlist l.28010
-begin g_order:=glue_order(this_box); g_sign:=glue_sign(this_box);
-@y
-begin g_order:=glue_order(this_box); g_sign:=glue_sign(this_box);
-disp:=revdisp; disped:=false;
-@z
-@x e-pTeX: reverse nodes of an hlist l.28010
-done:reverse:=l;
-@y
-done: {if the beginning node of the new list isn't |disp_node|,
- we insert |disp_node| to fix.}
-if (l<>null)and(type(l)<>disp_node) then begin
- p:=get_node(small_node_size); type(p):=disp_node;
- disp_dimen(p):=disp; link(p):=l; reverse:=p;
- end
-else reverse:=l;
-@z
-@x e-pTeX: reverse nodes of an hlist l.28010
- q:=link(p); link(p):=l; l:=p; p:=q;
-@y
- if font_dir[f]<>dir_default then begin
- q:=link(p); la:=l; l:=p; p:=link(q); link(q):=la;
- end
- else begin q:=link(p); link(p):=l; l:=p; p:=q; end;
-@z
-@x e-pTeX: reverse nodes of an hlist l.28010
-othercases goto next_p
-@y
-disp_node: begin
- disp2:=disp_dimen(p); disp_dimen(p):=disp; disp:=disp2;
- if not disped then disped:=true; end;
-othercases goto next_p
-@z
-
-@x e-pTeX: just_copy
- hlist_node,vlist_node: begin r:=get_node(box_node_size);
-@y
- dir_node,
- hlist_node,vlist_node: begin r:=get_node(box_node_size);
-@z
-@x e-pTeX: just_copy
- mem[r+6]:=mem[p+6]; mem[r+5]:=mem[p+5]; {copy the last two words}
-@y
- mem[r+7]:=mem[p+7];
- mem[r+6]:=mem[p+6]; mem[r+5]:=mem[p+5]; {copy the last three words}
- add_glue_ref(space_ptr(r)); add_glue_ref(xspace_ptr(r));
-@z
-
-@x e-pTeX: \readline
-@ @<Handle \.{\\readline} and |goto done|@>=
-if j=1 then
- begin while loc<=limit do {current line not yet finished}
- begin cur_chr:=buffer[loc]; incr(loc);
- if cur_chr=" " then cur_tok:=space_token
- @+else cur_tok:=cur_chr+other_token;
-@y
-@ @<Handle \.{\\readline} and |goto done|@>=
-if j=1 then
- begin while loc<=limit do {current line not yet finished}
- begin cur_chr:=buffer[loc]; incr(loc);
- if multistrlen(ustringcast(buffer), limit+1, loc-1)=2 then
- begin cur_tok:=fromBUFF(ustringcast(buffer), limit+1, loc-1); incr(loc);
- end
- else if cur_chr=" " then cur_tok:=space_token
- @+else cur_tok:=cur_chr+other_token;
-@z
-
-@x e-pTeX: ifcsname l.28620
- buffer[m]:=info(p) mod @'400; incr(m); p:=link(p);
-@y
- if check_kanji(info(p)) then {|wchar_token|}
- begin buffer[m]:=Hi(info(p)); incr(m);
- end;
- buffer[m]:=Lo(info(p)); incr(m); p:=link(p);
-@z
-
-@x e-pTeX: if_font_char_code l.28633
-if_font_char_code:begin scan_font_ident; n:=cur_val; scan_char_num;
- if (font_bc[n]<=cur_val)and(font_ec[n]>=cur_val) then
- b:=char_exists(char_info(n)(qi(cur_val)))
- else b:=false;
- end;
-@y
-if_font_char_code:begin scan_font_ident; n:=cur_val;
- if font_dir[n]<>dir_default then {Japanese font}
- begin scan_int;
- if cur_val>=0 then b:=is_char_kanji(cur_val)
- { In u\pTeX, $\hbox{|is_char_kanji|} = \lambda x\mathpunct{.} x\ge 0$ }
- else begin
- cur_val:=-(cur_val+1);
- b:=(font_bc[n]<=cur_val)and(font_ec[n]>=cur_val)
- end
- end
- else begin scan_ascii_num;
- if (font_bc[n]<=cur_val)and(font_ec[n]>=cur_val) then @/
- b:=char_exists(orig_char_info(n)(qi(cur_val)))
- else b:=false;
- end;
- end;
-@z
-
-@x
-procedure print_direction(@!d:integer); {print the direction represented by d}
-@y
-procedure print_direction_alt(@!d:integer);
-var x: boolean;
-begin x:=false;
-case abs(d) of
-dir_yoko: begin print(", yoko"); x:=true; end;
-dir_tate: begin print(", tate"); x:=true; end;
-dir_dtou: begin print(", dtou"); x:=true; end;
-end;
-if x then begin if d<0 then print("(math)");
-print(" direction"); end;
-end;
-@#
-procedure print_direction(@!d:integer); {print the direction represented by d}
-@z
-
-@x e-pTeX: fetch \(no)auto(x)spacing status
-@* \[56] System-dependent changes.
-@y
-@ The \.{\\currentspacingmode} and \.{\\currentxspacingmode} commands
-return the current \pTeX's status of \.{\\(no)autospacing} and
-\.{\\(no)autoxspacing} respectively.
-
-@d current_spacing_mode_code=eTeX_int+8 {code for \.{\\currentspacingmode}}
-@d current_xspacing_mode_code=eTeX_int+9 {code for \.{\\currentxspacingmode}}
-
-@<Generate all \eTeX...@>=
-primitive("currentspacingmode",last_item,current_spacing_mode_code);
-@!@:current_spacing_mode_}{\.{\\currentspacingmode} primitive@>
-primitive("currentxspacingmode",last_item,current_xspacing_mode_code);
-@!@:current_xspacing_mode_}{\.{\\currentxspacingmode} primitive@>
-
-@ @<Cases of |last_item| for |print_cmd_chr|@>=
-current_spacing_mode_code: print_esc("currentspacingmode");
-current_xspacing_mode_code: print_esc("currentxspacingmode");
-
-@ @<Cases for fetching an integer value@>=
-current_spacing_mode_code: cur_val:=auto_spacing;
-current_xspacing_mode_code: cur_val:=auto_xspacing;
-
-@* \[56] System-dependent changes.
-@z
diff --git a/Build/source/texk/web2c/eptexdir/eptex_version.h b/Build/source/texk/web2c/eptexdir/eptex_version.h
deleted file mode 100644
index a79725d296b..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptex_version.h
+++ /dev/null
@@ -1 +0,0 @@
-#define EPTEX_VERSION "210218"
diff --git a/Build/source/texk/web2c/eptexdir/eptexextra.c b/Build/source/texk/web2c/eptexdir/eptexextra.c
deleted file mode 100644
index c60bb42922a..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptexextra.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* eptexextra.c: Hand-coded routines for e-pTeX.
-
- This file is public domain. */
-
-#define EXTERN /* Instantiate data from eptexd.h here. */
-#define DLLPROC dlleptexmain
-
-/* This file defines TeX and epTeX. */
-#include <eptexd.h>
-
-/* Hand-coded routines for TeX or Metafont in C. */
-#include <lib/texmfmp.c>
diff --git a/Build/source/texk/web2c/eptexdir/eptexextra.h b/Build/source/texk/web2c/eptexdir/eptexextra.h
deleted file mode 100644
index e6eb442b50a..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptexextra.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* eptexextra.h: banner etc. for e-pTeX.
-
- This is included by e-pTeX, from eptexextra.c
-*/
-
-#include <etexdir/etex_version.h> /* for ETEX_VERSION */
-#include <eptexdir/eptex_version.h> /* for EPTEX_VERSION */
-#include <ptexdir/ptex_version.h> /* for PTEX_VERSION */
-
-#define BANNER "This is e-pTeX, Version 3.141592653-" PTEX_VERSION "-" EPTEX_VERSION "-" ETEX_VERSION
-#define COPYRIGHT_HOLDER "D.E. Knuth"
-#define AUTHOR "Peter Breitenlohner"
-#define PROGRAM_HELP EPTEXHELP
-#define BUG_ADDRESS "issue@texjp.org"
-#define DUMP_VAR TEXformatdefault
-#define DUMP_LENGTH_VAR formatdefaultlength
-#define DUMP_OPTION "fmt"
-#define DUMP_EXT ".fmt"
-#define INPUT_FORMAT kpse_tex_format
-#define INI_PROGRAM "inieptex"
-#define VIR_PROGRAM "vireptex"
-
-#ifdef Xchr
-#undef Xchr
-#define Xchr(x) (x)
-#endif /* Xchr */
diff --git a/Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs b/Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs
deleted file mode 100644
index 3891bb9d422..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs
+++ /dev/null
@@ -1,1386 +0,0 @@
-#! /bin/sh -vx
-# $Id: eptriptest.test 48633 2018-09-09 17:56:55Z karl $
-# Copyright 2017-2018 Karl Berry <tex-live@tug.org>
-# Copyright 2011-2014 Peter Breitenlohner <tex-live@tug.org>
-# Copyright 2010 Hironori Kitagawa <tex-live@tug.org>
-# You may freely use, modify and/or distribute this file.
-
-LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE
-+ LC_ALL=C
-+ export LC_ALL
-+ LANGUAGE=C
-+ export LANGUAGE
-
-testdir=$abs_srcdir/triptrap
-+ testdir=SRCDIR/triptrap
-etestdir=$abs_srcdir/etexdir/etrip
-+ etestdir=SRCDIR/etexdir/etrip
-eptestdir=$abs_srcdir/eptexdir/eptrip
-+ eptestdir=SRCDIR/eptexdir/eptrip
-
-TEXMFCNF=$eptestdir; export TEXMFCNF
-+ TEXMFCNF=SRCDIR/eptexdir/eptrip
-+ export TEXMFCNF
-
-rm -rf eptripdir
-+ rm -rf eptripdir
-mkdir eptripdir
-+ mkdir eptripdir
-cd eptripdir
-+ cd eptripdir
-
-dvitype_args="-output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'"
-+ dvitype_args='-output-level=2 -dpi=72.27 -page-start='\''*.*.*.*.*.*.*.*.*.*'\'''
-
-echo ">>> Running e-TRIP test for e-pTeX." >&2
-+ echo '>>> Running e-TRIP test for e-pTeX.'
->>> Running e-TRIP test for e-pTeX.
-echo ">>> See $eptestdir/eptrip.diffs for example of acceptable diffs." >&2
-+ echo '>>> See SRCDIR/eptexdir/eptrip/eptrip.diffs for example of acceptable diffs.'
->>> See SRCDIR/eptexdir/eptrip/eptrip.diffs for example of acceptable diffs.
-
-# pTeX outputs direction of boxes.
-P_SED1='s/, yoko direction//;s/yoko direction, //'
-+ P_SED1='s/, yoko direction//;s/yoko direction, //'
-P_SED2='s/yoko(math) direction, //'
-+ P_SED2='s/yoko(math) direction, //'
-
-is_OK=:
-+ is_OK=:
-
-set -x
-+ set -x
-
-echo "*** TRIP test for e-pTeX in compatibility mode ***."
-+ echo '*** TRIP test for e-pTeX in compatibility mode ***.'
-*** TRIP test for e-pTeX in compatibility mode ***.
-
-./pltotf $testdir/trip.pl trip.tfm || exit 1
-+ ./pltotf SRCDIR/triptrap/trip.pl trip.tfm
-
-./tftopl ./trip.tfm trip.pl || exit 1
-+ ./tftopl ./trip.tfm trip.pl
-
-diff $testdir/trip.pl trip.pl || is_OK=false
-+ diff SRCDIR/triptrap/trip.pl trip.pl
-
-# get same filename in log
-$LN_S $testdir/trip.tex .
-+ ln -s SRCDIR/triptrap/trip.tex .
-
-rm -f trip.log
-+ rm -f trip.log
-./eptex --progname=epinitex --ini <$testdir/trip1.in >cptripin.fot
-+ ./eptex --progname=epinitex --ini
-if test ! -s trip.fmt; then
- echo "*** trip.fmt not created by trip1.in, investigate!" >&2
- exit 1
-fi
-+ test '!' -s trip.fmt
-sed "$P_SED1" trip.log > cptripin.log || exit 1
-+ sed 's/, yoko direction//;s/yoko direction, //' trip.log
-diff $testdir/tripin.log cptripin.log
-+ diff SRCDIR/triptrap/tripin.log cptripin.log
-1c1
-< This is TeX, Version 3.141592653 (INITEX) 4 JUL 1776 12:00
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (INITEX) 27 JAN 2021 18:03
-3c3
-< (trip.tex
----
-> (./trip.tex
-91c91,92
-< ### horizontal mode entered at line 77 (language255:hyphenmin1,63)
----
-> ### horizontal mode entered at line 77 (language255:hyph
-> enmin1,63)
-93a95
-> \displace 0.0
-95a98
-> \displace 0.0
-368a372
-> ....\displace 0.0
-370a375
-> ....\displace 0.0
-437,438d441
-< ....\rip 6 (ligature )
-< ....\rip 7 (ligature )
-450,453c453,456
-< (preloaded format=trip 1776.7.4)
-< 1326 strings of total length 23633
-< 471 memory locations dumped; current usage is 96&278
-< 341 multiletter control sequences
----
-> (preloaded format=trip 2021.1.27)
-> 1673 strings of total length 29297
-> 491 memory locations dumped; current usage is 112&278
-> 400 multiletter control sequences
-461c464
-< Hyphenation trie of length 273 has 9 ops out of 500
----
-> Hyphenation trie of length 273 has 9 ops out of 35111
-
-# May as well test non-ini second time through.
-rm -f trip.log
-+ rm -f trip.log
-./eptex --progname=eptex <$testdir/trip2.in >cptrip.fot
-+ ./eptex --progname=eptex
-sed "$P_SED1;$P_SED2" trip.log > cptrip.log
-+ sed 's/, yoko direction//;s/yoko direction, //;s/yoko(math) direction, //' trip.log
-diff $testdir/trip.fot cptrip.fot
-+ diff SRCDIR/triptrap/trip.fot cptrip.fot
-1,3c1,2
-< This is TeX, Version 3.141592653 (INITEX)
-< ** &trip trip
-< (trip.tex ##
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (preloaded format=eptex)
-> **(./trip.tex ##
-17c16
-< Memory usage before: 159&313; after: 102&278; still untouched: 1613
----
-> Memory usage before: 196&313; after: 120&278; still untouched: 2109
-75c74
-< Memory usage before: 334&431; after: 292&418; still untouched: 175
----
-> Memory usage before: 462&431; after: 400&418; still untouched: 240
-
-# We use $DIFF instead of `diff' only for those files where there
-# might actually be legitimate numerical differences.
-$DIFF $DIFFFLAGS $testdir/trip.log cptrip.log
-+ diff SRCDIR/triptrap/trip.log cptrip.log
-1c1
-< This is TeX, Version 3.141592653 (preloaded format=trip 1776.7.4) 4 JUL 1776 12:00
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (preloaded format=trip 2021.1.27) 27 JAN 2021 18:03
-3c3
-< (trip.tex ##
----
-> (./trip.tex ##
-73c73
-< Memory usage before: 159&313; after: 102&278; still untouched: 1613
----
-> Memory usage before: 196&313; after: 120&278; still untouched: 2109
-113a114
-> .\displace 0.0
-198a200
-> .\displace 0.0
-253a256
-> .\displace 0.0
-308a312
-> .\displace 0.0
-349a354
-> .\displace 0.0
-385,386c390,391
-< \insert100, natural size 803.09999; split(1.0 plus 43.0,-2.0); float cos
-< t 100
----
-> \insert100Y, natural size 803.09999; split(1.0 plus 43.0,-2.0); float co
-> st 100
-406a412
-> ....\displace 0.0
-409a416
-> ....\displace 0.0
-412a420
-> ....\displace 0.0
-420a429
-> .\displace 0.0
-426c435
-< \insert200, natural size 400.0; split(0.0,-2.0); float cost 100
----
-> \insert200Y, natural size 400.0; split(0.0,-2.0); float cost 100
-435a445
-> .\displace 0.0
-441c451
-< \insert200, natural size 400.0; split(1.0,-1.0); float cost 100
----
-> \insert200Y, natural size 400.0; split(1.0,-1.0); float cost 100
-450a461
-> .\displace 0.0
-456c467
-< \insert200, natural size 400.0; split(2.0,-1.0); float cost 100
----
-> \insert200Y, natural size 400.0; split(2.0,-1.0); float cost 100
-466a478
-> .\displace 0.0
-483,484c495,496
-< \insert200, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-< 3
----
-> \insert200Y, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-> 3
-588a601
-> .....\displace 0.0
-591a605
-> .....\displace 0.0
-594a609
-> .....\displace 0.0
-630a646
-> ......\displace 0.0
-633a650
-> ......\displace 0.0
-636a654
-> ......\displace 0.0
-642c660
-< Memory usage before: 747&484; after: 581&481; still untouched: 1492
----
-> Memory usage before: 1118&483; after: 864&480; still untouched: 1989
-647c665,666
-< ### internal vertical mode entered at line 150 (\output routine)
----
-> ### internal vertical mode entered at line 150 (\output
-> routine)
-650a670
-> .\displace 0.0
-660a681
-> .\displace 0.0
-670a692
-> .\displace 0.0
-681a704
-> .\displace 0.0
-693,694c716,717
-< \insert100, natural size 535.4; split(1.0 plus 43.0,-2.0); float cost 10
-< 0
----
-> \insert100Y, natural size 535.4; split(1.0 plus 43.0,-2.0); float cost 1
-> 00
-701c724
-< \insert200, natural size 2.0; split(2.0,-1.0); float cost 100
----
-> \insert200Y, natural size 2.0; split(2.0,-1.0); float cost 100
-714,715c737,738
-< \insert200, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-< 3
----
-> \insert200Y, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-> 3
-815c838
-< Memory usage before: 475&470; after: 290&466; still untouched: 1473
----
-> Memory usage before: 710&469; after: 418&465; still untouched: 1970
-820c843,844
-< ### internal vertical mode entered at line 150 (\output routine)
----
-> ### internal vertical mode entered at line 150 (\output
-> routine)
-915c939
-< Memory usage before: 218&459; after: 149&458; still untouched: 1473
----
-> Memory usage before: 308&458; after: 198&457; still untouched: 1970
-920c944,945
-< ### internal vertical mode entered at line 150 (\output routine)
----
-> ### internal vertical mode entered at line 150 (\output
-> routine)
-1070c1095
-< Memory usage before: 118&328; after: 102&328; still untouched: 1473
----
-> Memory usage before: 150&327; after: 126&327; still untouched: 1970
-1405c1430
-< \vbox(16383.99998+0.0)x1000.0, glue set 16342.0fil
----
-> \vbox(16383.99998+0.0)x1000.0, glue set 16341.99998fil
-1493a1519
-> ..\displace 0.0
-1503a1530
-> ..\displace 0.0
-1504a1532
-> ..\displace 0.0
-1511c1539
-< Memory usage before: 990&376; after: 584&370; still untouched: 735
----
-> Memory usage before: 1498&375; after: 846&369; still untouched: 1970
-1887c1915
-< .\rip A
----
-> .\displace 0.0
-1923c1951
-< .\hbox(0.0+0.0)x120.0 []
----
-> .\hbox(0.0+0.0)x120.0, yoko(math) direction []
-1954c1982
-< (tripos.tex
----
-> (./tripos.tex
-2018c2046
-< \vbox(16383.99998+1.0)x100.0, glue set 16239.0fil
----
-> \vbox(16383.99998+1.0)x100.0, glue set 16238.99998fil
-2022a2051
-> ..\displace 0.0
-2058a2088
-> ..\displace 0.0
-2071a2102
-> ..\displace 0.0
-2092a2124
-> ..\displace 0.0
-2113a2146
-> ..\displace 0.0
-2123a2157
-> ..\displace 0.0
-2142a2177
-> ..\displace 0.0
-2150a2186
-> ..\displace 0.0
-2171c2207,2208
-< ..\hbox(0.0+0.0)x120.0
----
-> ..\hbox(0.0+0.0)x120.0, yoko(math) direction
-> ...\displace 0.0
-2189c2226
-< Memory usage before: 950&531; after: 546&448; still untouched: 706
----
-> Memory usage before: 1494&530; after: 826&447; still untouched: 1941
-2397c2434
-< ! Improper alphabetic constant.
----
-> ! Improper alphabetic or KANJI constant.
-2533c2570
-< \vbox(16383.99998+0.0)x20.0, glue set 16331.0fil
----
-> \vbox(16383.99998+0.0)x20.0, glue set 16330.99998fil
-2544a2582
-> ..\displace 0.0
-2570c2608,2609
-< .\hbox(0.0+0.0)x15.0, glue set 0.1875, shifted 5.0
----
-> .\hbox(0.0+0.0)x15.0, glue set 0.1875, shifted 5.0, yoko(math) direction
->
-2572c2611
-< ..\hbox(0.0+0.0)x0.0
----
-> ..\hbox(0.0+0.0)x0.0, yoko(math) direction
-2575c2614
-< Memory usage before: 339&413; after: 236&405; still untouched: 706
----
-> Memory usage before: 497&411; after: 329&403; still untouched: 1941
-2650,2651c2689,2690
-< Dimensions can be in units of em, ex, in, pt, pc,
-< cm, mm, dd, cc, bp, or sp; but yours is a new one!
----
-> Dimensions can be in units of em, ex, zw, zh, in, pt, pc,
-> cm, mm, dd, cc, bp, H, Q, or sp; but yours is a new one!
-2830c2869
-< Since I expected to read a number between 0 and 15,
----
-> Since I expected to read a number between 0 and 255,
-3038c3077,3078
-< ^\hbox(7.0+1.0)x2.0
----
-> ^\hbox(7.0+1.0)x2.0, yoko(math) direction
-> ^.\displace 0.0
-3051c3091
-< \insert0, natural size 0.0; split(1.0 plus 43.0,-2.0); float cost 100
----
-> \insert0Y, natural size 0.0; split(1.0 plus 43.0,-2.0); float cost 100
-3054c3094
-< .\fam0 ^^c8
----
-> .\fam0
-3056c3096
-< .\vbox(-2.0+0.0)x0.0
----
-> .\vbox(-2.0+0.0)x0.0, yoko(math) direction
-3060c3100,3101
-< ^.\hbox(7.0+1.0)x2.0, shifted -2.0
----
-> ^.\hbox(7.0+1.0)x2.0, shifted -2.0, yoko(math) direction
-> ^..\displace 0.0
-3140a3182
-> .....\displace 0.0
-3142a3185
-> ....|\displace 0.0
-3143a3187
-> ....\displace 0.0
-3151a3196
-> .\displace 0.0
-3235c3280
-< ! \textfont 0 is undefined (character ^^c8).
----
-> ! \textfont 0 is undefined (character ).
-3286c3331
-< .\vbox(6.0+-8.0)x0.0
----
-> .\vbox(6.0+-8.0)x0.0, yoko(math) direction
-3326c3371
-< \vbox(10000.0+2.0)x28.0, glue set 9737.58789fil
----
-> \vbox(10000.0+2.0)x28.0, glue set 9737.58742fil
-3329a3375
-> ..\displace 0.0
-3374c3420
-< ..\vbox(6.0+-8.0)x0.0
----
-> ..\vbox(6.0+-8.0)x0.0, yoko(math) direction
-3385c3431,3432
-< ......\hbox(7.0+1.0)x2.0, shifted -2.0
----
-> ......\hbox(7.0+1.0)x2.0, shifted -2.0, yoko(math) direction
-> .......\displace 0.0
-3544a3592
-> ..........\displace 0.0
-3546a3595
-> .........|\displace 0.0
-3547a3597
-> .........\displace 0.0
-3564c3614,3615
-< ...\hbox(7.0+1.0)x1.99
----
-> ...\hbox(7.0+1.0)x1.99, yoko(math) direction
-> ....\displace 0.0
-3616c3667
-< Memory usage before: 2170&521; after: 1181&459; still untouched: 175
----
-> Memory usage before: 3283&519; after: 1753&457; still untouched: 240
-3864c3915
-< \vbox(16383.99998+2.0)x100.0, glue set 16318.0fil
----
-> \vbox(16383.99998+2.0)x100.0, glue set 16317.99997fil
-3919,3920c3970,3972
-< ...\vbox(-0.00002+13.00002)x52.5, glue set - 0.00247
-< ....\vbox(-0.00002+0.0)x0.0
----
-> ...\vbox(-0.00002+13.00002)x52.5, glue set - 0.00247, yoko(math) directi
-> on
-> ....\vbox(-0.00002+0.0)x0.0, yoko(math) direction
-3951c4003
-< Memory usage before: 640&415; after: 397&410; still untouched: 175
----
-> Memory usage before: 959&413; after: 573&408; still untouched: 240
-4034c4086
-< \vbox(16383.99998+0.0)x8236.0, glue set 16344.0fil
----
-> \vbox(16383.99998+0.0)x8236.0, glue set 16343.99998fil
-4053c4105
-< Memory usage before: 235&401; after: 178&399; still untouched: 175
----
-> Memory usage before: 342&399; after: 248&397; still untouched: 240
-4420c4472
-< \vbox(16383.99998+0.0)x100.0, glue set 16332.0fil
----
-> \vbox(16383.99998+0.0)x100.0, glue set 16331.99998fil
-4425a4478
-> ...\displace 0.0
-4447a4501
-> ...\displace 0.0
-4475a4530
-> ...\displace 0.0
-4492a4548
-> ...\displace 0.0
-4506c4562
-< Memory usage before: 651&432; after: 417&418; still untouched: 175
----
-> Memory usage before: 1008&431; after: 606&417; still untouched: 240
-4742c4798,4799
-< \vbox(16383.99998+0.0)x205.12613, glue set 16344.0fil
----
-> \vbox(16383.99998+0.0)x205.12613, glue set 16343.99998fil, yoko directio
-> n
-4746a4804
-> ...\displace 0.0
-4762a4821
-> .....\displace 0.0
-4777a4837
-> ......\displace 0.0
-4828c4888
-< Memory usage before: 776&458; after: 464&452; still untouched: 175
----
-> Memory usage before: 1186&457; after: 682&451; still untouched: 240
-4881,4888d4940
-< ! Bad number (16).
-< <to be read again>
-< =
-< l.346 ...ewlinechar}\textfont16=
-< \relax
-< Since I expected to read a number between 0 and 15,
-< I changed this one to zero.
-<
-5701c5753
-< ! \textfont 0 is undefined (character ^^c8).
----
-> ! \textfont 0 is undefined (character ).
-6381c6433
-< (tripos.tex
----
-> (./tripos.tex
-6502c6554
-< l.429 ...^^M=13 \def^^M{\relax}#
----
-> l.429 ...^^M=13 \defqqM{\relax}#
-6596c6648
-< Memory usage before: 819&428; after: 720&426; still untouched: 175
----
-> Memory usage before: 1232&428; after: 1078&426; still untouched: 240
-6853c6905
-< .|vbox(0.0+0.0)x0.0
----
-> .|vbox(0.0+0.0)x0.0, yoko(math) direction
-6876a6929
-> ..|displace 0.0
-6891a6945
-> ..|displace 0.0
-6926a6981
-> .|displace 0.0
-6959a7015
-> .|displace 0.0
-6961c7017,7018
-< .|hbox(0.0+0.0)x0.0
----
-> .|hbox(0.0+0.0)x0.0, yoko(math) direction
-> ..|displace 0.0
-6991a7049
-> .|displace 0.0
-7103a7162
-> ...|displace 0.0
-7108d7166
-< ...|ip A (ligature BB)
-7116a7175
-> ...|displace 0.0
-7125d7183
-< ...|kern2.0
-7126a7185
-> .|displace 0.0
-7136c7195
-< ...|vbox(0.0+0.0)x0.0
----
-> ...|vbox(0.0+0.0)x0.0, yoko(math) direction
-7156c7215
-< Memory usage before: 895&439; after: 290&420; still untouched: 175
----
-> Memory usage before: 1350&439; after: 398&420; still untouched: 240
-7289c7348
-< Memory usage before: 334&431; after: 292&418; still untouched: 175
----
-> Memory usage before: 462&431; after: 400&418; still untouched: 240
-7297,7300c7356,7359
-< 47 strings out of 1674
-< 253 string characters out of 8367
-< 2825 words of memory out of 3000
-< 372 multiletter control sequences out of 2100
----
-> 44 strings out of 1627
-> 261 string characters out of 10703
-> 4260 words of memory out of 4500
-> 431 multiletter control sequences out of 15000+0
-7302c7361
-< 2 hyphenation exceptions out of 307
----
-> 1 hyphenation exception out of 659
-
-mv tripos.tex cptripos.tex
-+ mv tripos.tex cptripos.tex
-diff $testdir/tripos.tex cptripos.tex
-+ diff SRCDIR/triptrap/tripos.tex cptripos.tex
-
-eval ./dvitype $dvitype_args trip.dvi >cptrip.typ || exit 1
-+ eval ./dvitype -output-level=2 -dpi=72.27 '-page-start='\''*.*.*.*.*.*.*.*.*.*'\''' trip.dvi
-./dvitype -output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*' trip.dvi
-++ ./dvitype -output-level=2 -dpi=72.27 '-page-start=*.*.*.*.*.*.*.*.*.*' trip.dvi
-$DIFF $DIFFFLAGS $testdir/trip.typ cptrip.typ
-+ diff SRCDIR/triptrap/trip.typ cptrip.typ
-1c1
-< This is DVItype, Version 3.6
----
-> This is DVItype, Version 3.6 (TeX Live 2021/dev)
-9c9
-< ' TeX output 1776.07.04:1200'
----
-> ' TeX output 2021.01.27:1803'
-419c419
-< 1121: down4 639342208
----
-> 1121: down4 639342177
-1087,1088c1087,1088
-< 2535: y4 203921760
-< 2540: y0 203921760
----
-> 2535: y4 203921756
-> 2540: y0 203921756
-
-mv trip.fmt ctrip.fmt
-+ mv trip.fmt ctrip.fmt
-
-# =================================
-
-echo "*** TRIP test for e-pTeX in extended mode ***."
-+ echo '*** TRIP test for e-pTeX in extended mode ***.'
-*** TRIP test for e-pTeX in extended mode ***.
-
-rm -f trip.log
-+ rm -f trip.log
-./eptex --progname=epinitex --ini <$etestdir/etrip1.in >xptripin.fot
-+ ./eptex --progname=epinitex --ini
-if test ! -s trip.fmt; then
- echo "*** trip.fmt not created by etrip1.in, investigate!" >&2
- exit 1
-fi
-+ test '!' -s trip.fmt
-sed "$P_SED1" trip.log > xptripin.log || exit 1
-+ sed 's/, yoko direction//;s/yoko direction, //' trip.log
-diff $testdir/tripin.log xptripin.log
-+ diff SRCDIR/triptrap/tripin.log xptripin.log
-1,3c1,4
-< This is TeX, Version 3.141592653 (INITEX) 4 JUL 1776 12:00
-< **\input trip
-< (trip.tex
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (INITEX) 27 JAN 2021 18:03
-> entering extended mode
-> ***\input trip
-> (./trip.tex
-36,41d36
-< ! Bad register code (256).
-< l.29 ...{1} \toksdef\tokens=256
-< \show\errorstopmode
-< A register number must be between 0 and 255.
-< I changed this one to zero.
-<
-91c86,87
-< ### horizontal mode entered at line 77 (language255:hyphenmin1,63)
----
-> ### horizontal mode entered at line 77 (language255:hyph
-> enmin1,63)
-93a90
-> \displace 0.0
-95a93
-> \displace 0.0
-368a367
-> ....\displace 0.0
-370a370
-> ....\displace 0.0
-437,438d436
-< ....\rip 6 (ligature )
-< ....\rip 7 (ligature )
-450,453c448,451
-< (preloaded format=trip 1776.7.4)
-< 1326 strings of total length 23633
-< 471 memory locations dumped; current usage is 96&278
-< 341 multiletter control sequences
----
-> (preloaded format=trip 2021.1.27)
-> 1673 strings of total length 29297
-> 538 memory locations dumped; current usage is 159&278
-> 494 multiletter control sequences
-461c459
-< Hyphenation trie of length 273 has 9 ops out of 500
----
-> Hyphenation trie of length 273 has 9 ops out of 35111
-
-# May as well test non-ini second time through.
-rm -f trip.log
-+ rm -f trip.log
-./eptex --progname=eptex <$etestdir/trip2.in >xptrip.fot
-+ ./eptex --progname=eptex
-sed "$P_SED1;$P_SED2" trip.log > xptrip.log
-+ sed 's/, yoko direction//;s/yoko direction, //;s/yoko(math) direction, //' trip.log
-diff $testdir/trip.fot xptrip.fot
-+ diff SRCDIR/triptrap/trip.fot xptrip.fot
-1,3c1,3
-< This is TeX, Version 3.141592653 (INITEX)
-< ** &trip trip
-< (trip.tex ##
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (preloaded format=eptex)
-> **entering extended mode
-> ## (./trip.tex
-17c17
-< Memory usage before: 159&313; after: 102&278; still untouched: 1613
----
-> Memory usage before: 196&313; after: 120&278; still untouched: 2109
-75c75
-< Memory usage before: 334&431; after: 292&418; still untouched: 175
----
-> Memory usage before: 462&431; after: 400&418; still untouched: 240
-77a78,80
->
-> ### semi simple group (level 1) entered at line 429 (begingroup)
-> ### bottom level
-
-# We use $DIFF instead of `diff' only for those files where there
-# might actually be legitimate numerical differences.
-$DIFF $DIFFFLAGS $testdir/trip.log xptrip.log
-+ diff SRCDIR/triptrap/trip.log xptrip.log
-1,3c1,4
-< This is TeX, Version 3.141592653 (preloaded format=trip 1776.7.4) 4 JUL 1776 12:00
-< ** &trip trip
-< (trip.tex ##
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (preloaded format=trip 2021.1.27) 27 JAN 2021 18:03
-> entering extended mode
-> **&trip \toksdef\tokens=0 \input trip
-> (./trip.tex
-73c74
-< Memory usage before: 159&313; after: 102&278; still untouched: 1613
----
-> Memory usage before: 196&313; after: 120&278; still untouched: 2109
-113a115
-> .\displace 0.0
-198a201
-> .\displace 0.0
-253a257
-> .\displace 0.0
-308a313
-> .\displace 0.0
-349a355
-> .\displace 0.0
-385,386c391,392
-< \insert100, natural size 803.09999; split(1.0 plus 43.0,-2.0); float cos
-< t 100
----
-> \insert100Y, natural size 803.09999; split(1.0 plus 43.0,-2.0); float co
-> st 100
-406a413
-> ....\displace 0.0
-409a417
-> ....\displace 0.0
-412a421
-> ....\displace 0.0
-420a430
-> .\displace 0.0
-426c436
-< \insert200, natural size 400.0; split(0.0,-2.0); float cost 100
----
-> \insert200Y, natural size 400.0; split(0.0,-2.0); float cost 100
-435a446
-> .\displace 0.0
-441c452
-< \insert200, natural size 400.0; split(1.0,-1.0); float cost 100
----
-> \insert200Y, natural size 400.0; split(1.0,-1.0); float cost 100
-450a462
-> .\displace 0.0
-456c468
-< \insert200, natural size 400.0; split(2.0,-1.0); float cost 100
----
-> \insert200Y, natural size 400.0; split(2.0,-1.0); float cost 100
-466a479
-> .\displace 0.0
-483,484c496,497
-< \insert200, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-< 3
----
-> \insert200Y, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-> 3
-588a602
-> .....\displace 0.0
-591a606
-> .....\displace 0.0
-594a610
-> .....\displace 0.0
-630a647
-> ......\displace 0.0
-633a651
-> ......\displace 0.0
-636a655
-> ......\displace 0.0
-642c661
-< Memory usage before: 747&484; after: 581&481; still untouched: 1492
----
-> Memory usage before: 1118&483; after: 864&480; still untouched: 1989
-647c666,667
-< ### internal vertical mode entered at line 150 (\output routine)
----
-> ### internal vertical mode entered at line 150 (\output
-> routine)
-650a671
-> .\displace 0.0
-660a682
-> .\displace 0.0
-670a693
-> .\displace 0.0
-681a705
-> .\displace 0.0
-693,694c717,718
-< \insert100, natural size 535.4; split(1.0 plus 43.0,-2.0); float cost 10
-< 0
----
-> \insert100Y, natural size 535.4; split(1.0 plus 43.0,-2.0); float cost 1
-> 00
-701c725
-< \insert200, natural size 2.0; split(2.0,-1.0); float cost 100
----
-> \insert200Y, natural size 2.0; split(2.0,-1.0); float cost 100
-714,715c738,739
-< \insert200, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-< 3
----
-> \insert200Y, natural size 10000.0; split(1.0 plus 43.0,-1.0); float cost
-> 3
-815c839
-< Memory usage before: 475&470; after: 290&466; still untouched: 1473
----
-> Memory usage before: 710&469; after: 418&465; still untouched: 1970
-820c844,845
-< ### internal vertical mode entered at line 150 (\output routine)
----
-> ### internal vertical mode entered at line 150 (\output
-> routine)
-915c940
-< Memory usage before: 218&459; after: 149&458; still untouched: 1473
----
-> Memory usage before: 308&458; after: 198&457; still untouched: 1970
-920c945,946
-< ### internal vertical mode entered at line 150 (\output routine)
----
-> ### internal vertical mode entered at line 150 (\output
-> routine)
-1070c1096
-< Memory usage before: 118&328; after: 102&328; still untouched: 1473
----
-> Memory usage before: 150&327; after: 126&327; still untouched: 1970
-1405c1431
-< \vbox(16383.99998+0.0)x1000.0, glue set 16342.0fil
----
-> \vbox(16383.99998+0.0)x1000.0, glue set 16341.99998fil
-1493a1520
-> ..\displace 0.0
-1503a1531
-> ..\displace 0.0
-1504a1533
-> ..\displace 0.0
-1511c1540
-< Memory usage before: 990&376; after: 584&370; still untouched: 735
----
-> Memory usage before: 1498&375; after: 846&369; still untouched: 1970
-1769d1797
-< {restoring \fam=-1}
-1779d1806
-< {restoring \displayindent=0.0pt}
-1833d1859
-< {restoring \fam=-1}
-1887c1913
-< .\rip A
----
-> .\displace 0.0
-1923c1949
-< .\hbox(0.0+0.0)x120.0 []
----
-> .\hbox(0.0+0.0)x120.0, yoko(math) direction []
-1954c1980
-< (tripos.tex
----
-> (./tripos.tex
-2018c2044
-< \vbox(16383.99998+1.0)x100.0, glue set 16239.0fil
----
-> \vbox(16383.99998+1.0)x100.0, glue set 16238.99998fil
-2022a2049
-> ..\displace 0.0
-2058a2086
-> ..\displace 0.0
-2071a2100
-> ..\displace 0.0
-2092a2122
-> ..\displace 0.0
-2113a2144
-> ..\displace 0.0
-2123a2155
-> ..\displace 0.0
-2135c2167
-< .\hbox(0.0+0.0)x0.0, shifted 50.0
----
-> .\hbox(0.0+0.0)x0.0, shifted 50.0, display
-2138c2170
-< .\hbox(0.0+0.0)x0.0, shifted 100.0
----
-> .\hbox(0.0+0.0)x0.0, shifted 100.0, display
-2142a2175
-> ..\displace 0.0
-2150a2184
-> ..\displace 0.0
-2171c2205,2206
-< ..\hbox(0.0+0.0)x120.0
----
-> ..\hbox(0.0+0.0)x120.0, yoko(math) direction
-> ...\displace 0.0
-2189c2224
-< Memory usage before: 950&531; after: 546&448; still untouched: 706
----
-> Memory usage before: 1494&530; after: 826&447; still untouched: 1941
-2397c2432
-< ! Improper alphabetic constant.
----
-> ! Improper alphabetic or KANJI constant.
-2533c2568
-< \vbox(16383.99998+0.0)x20.0, glue set 16331.0fil
----
-> \vbox(16383.99998+0.0)x20.0, glue set 16330.99998fil
-2544a2580
-> ..\displace 0.0
-2570c2606,2607
-< .\hbox(0.0+0.0)x15.0, glue set 0.1875, shifted 5.0
----
-> .\hbox(0.0+0.0)x15.0, glue set 0.1875, shifted 5.0, display, yoko(math)
-> direction
-2572c2609
-< ..\hbox(0.0+0.0)x0.0
----
-> ..\hbox(0.0+0.0)x0.0, yoko(math) direction
-2575c2612
-< Memory usage before: 339&413; after: 236&405; still untouched: 706
----
-> Memory usage before: 497&411; after: 329&403; still untouched: 1941
-2650,2651c2687,2688
-< Dimensions can be in units of em, ex, in, pt, pc,
-< cm, mm, dd, cc, bp, or sp; but yours is a new one!
----
-> Dimensions can be in units of em, ex, zw, zh, in, pt, pc,
-> cm, mm, dd, cc, bp, H, Q, or sp; but yours is a new one!
-2830c2867
-< Since I expected to read a number between 0 and 15,
----
-> Since I expected to read a number between 0 and 255,
-2835d2871
-< {restoring current font=\ip}
-3038c3074,3075
-< ^\hbox(7.0+1.0)x2.0
----
-> ^\hbox(7.0+1.0)x2.0, yoko(math) direction
-> ^.\displace 0.0
-3051c3088
-< \insert0, natural size 0.0; split(1.0 plus 43.0,-2.0); float cost 100
----
-> \insert0Y, natural size 0.0; split(1.0 plus 43.0,-2.0); float cost 100
-3054c3091
-< .\fam0 ^^c8
----
-> .\fam0
-3056c3093
-< .\vbox(-2.0+0.0)x0.0
----
-> .\vbox(-2.0+0.0)x0.0, yoko(math) direction
-3060c3097,3098
-< ^.\hbox(7.0+1.0)x2.0, shifted -2.0
----
-> ^.\hbox(7.0+1.0)x2.0, shifted -2.0, yoko(math) direction
-> ^..\displace 0.0
-3140a3179
-> .....\displace 0.0
-3142a3182
-> ....|\displace 0.0
-3143a3184
-> ....\displace 0.0
-3151a3193
-> .\displace 0.0
-3223d3264
-< {restoring \fam=-1}
-3235c3276
-< ! \textfont 0 is undefined (character ^^c8).
----
-> ! \textfont 0 is undefined (character ).
-3286c3327
-< .\vbox(6.0+-8.0)x0.0
----
-> .\vbox(6.0+-8.0)x0.0, yoko(math) direction
-3326c3367
-< \vbox(10000.0+2.0)x28.0, glue set 9737.58789fil
----
-> \vbox(10000.0+2.0)x28.0, glue set 9737.58742fil
-3329a3371
-> ..\displace 0.0
-3372c3414
-< .\hbox(68.26251+98.15005)x19.0, glue set - 1.0, shifted 9.0
----
-> .\hbox(68.26251+98.15005)x19.0, glue set - 1.0, shifted 9.0, display
-3374c3416
-< ..\vbox(6.0+-8.0)x0.0
----
-> ..\vbox(6.0+-8.0)x0.0, yoko(math) direction
-3385c3427,3428
-< ......\hbox(7.0+1.0)x2.0, shifted -2.0
----
-> ......\hbox(7.0+1.0)x2.0, shifted -2.0, yoko(math) direction
-> .......\displace 0.0
-3544a3588
-> ..........\displace 0.0
-3546a3591
-> .........|\displace 0.0
-3547a3593
-> .........\displace 0.0
-3557c3603
-< .\hbox(20.5+50.80002)x8.27895, shifted 19.72105
----
-> .\hbox(20.5+50.80002)x8.27895, shifted 19.72105, display
-3564c3610,3611
-< ...\hbox(7.0+1.0)x1.99
----
-> ...\hbox(7.0+1.0)x1.99, yoko(math) direction
-> ....\displace 0.0
-3616c3663
-< Memory usage before: 2170&521; after: 1181&459; still untouched: 175
----
-> Memory usage before: 3283&519; after: 1753&457; still untouched: 240
-3766d3812
-< {restoring \fam=-1}
-3839d3884
-< {restoring \fam=-1}
-3864c3909
-< \vbox(16383.99998+2.0)x100.0, glue set 16318.0fil
----
-> \vbox(16383.99998+2.0)x100.0, glue set 16317.99997fil
-3895c3940
-< ..\hbox(12.0+4.0)x8.1778
----
-> ..\hbox(12.0+4.0)x8.1778, display
-3917c3962
-< ..\hbox(0.0+13.00002)x-0.1778, glue set - 57.67767fil
----
-> ..\hbox(0.0+13.00002)x-0.1778, glue set - 57.67767fil, display
-3919,3920c3964,3966
-< ...\vbox(-0.00002+13.00002)x52.5, glue set - 0.00247
-< ....\vbox(-0.00002+0.0)x0.0
----
-> ...\vbox(-0.00002+13.00002)x52.5, glue set - 0.00247, yoko(math) directi
-> on
-> ....\vbox(-0.00002+0.0)x0.0, yoko(math) direction
-3925c3971
-< ....\hbox(7.0+1.0)x5.0, shifted 47.5
----
-> ....\hbox(7.0+1.0)x5.0, shifted 47.5, display
-3951c3997
-< Memory usage before: 640&415; after: 397&410; still untouched: 175
----
-> Memory usage before: 959&413; after: 573&408; still untouched: 240
-4011d4056
-< {restoring \fam=-1}
-4034c4079
-< \vbox(16383.99998+0.0)x8236.0, glue set 16344.0fil
----
-> \vbox(16383.99998+0.0)x8236.0, glue set 16343.99998fil
-4047c4092
-< .\hbox(0.0+0.0)x1009.0, shifted 7227.0
----
-> .\hbox(0.0+0.0)x1009.0, shifted 7227.0, display
-4051c4096
-< .\hbox(0.0+0.0)x-7127.0, shifted 7227.0
----
-> .\hbox(0.0+0.0)x-7127.0, shifted 7227.0, display
-4053c4098
-< Memory usage before: 235&401; after: 178&399; still untouched: 175
----
-> Memory usage before: 342&399; after: 248&397; still untouched: 240
-4420c4465
-< \vbox(16383.99998+0.0)x100.0, glue set 16332.0fil
----
-> \vbox(16383.99998+0.0)x100.0, glue set 16331.99998fil
-4425a4471
-> ...\displace 0.0
-4447a4494
-> ...\displace 0.0
-4475a4523
-> ...\displace 0.0
-4492a4541
-> ...\displace 0.0
-4506c4555
-< Memory usage before: 651&432; after: 417&418; still untouched: 175
----
-> Memory usage before: 1008&431; after: 606&417; still untouched: 240
-4742c4791,4792
-< \vbox(16383.99998+0.0)x205.12613, glue set 16344.0fil
----
-> \vbox(16383.99998+0.0)x205.12613, glue set 16343.99998fil, yoko directio
-> n
-4746a4797
-> ...\displace 0.0
-4762a4814
-> .....\displace 0.0
-4777a4830
-> ......\displace 0.0
-4828c4881
-< Memory usage before: 776&458; after: 464&452; still untouched: 175
----
-> Memory usage before: 1186&457; after: 682&451; still untouched: 240
-4845c4898
-< I'll pretend you didn't say \long or \outer or \global.
----
-> I'll pretend you didn't say \long or \outer or \global or \protected.
-4881,4888d4933
-< ! Bad number (16).
-< <to be read again>
-< =
-< l.346 ...ewlinechar}\textfont16=
-< \relax
-< Since I expected to read a number between 0 and 15,
-< I changed this one to zero.
-<
-5701c5746
-< ! \textfont 0 is undefined (character ^^c8).
----
-> ! \textfont 0 is undefined (character ).
-6381c6426
-< (tripos.tex
----
-> (./tripos.tex
-6502c6547
-< l.429 ...^^M=13 \def^^M{\relax}#
----
-> l.429 ...^^M=13 \defqqM{\relax}#
-6596c6641
-< Memory usage before: 819&428; after: 720&426; still untouched: 175
----
-> Memory usage before: 1232&428; after: 1078&426; still untouched: 240
-6853c6898
-< .|vbox(0.0+0.0)x0.0
----
-> .|vbox(0.0+0.0)x0.0, yoko(math) direction
-6876a6922
-> ..|displace 0.0
-6891a6938
-> ..|displace 0.0
-6926a6974
-> .|displace 0.0
-6959a7008
-> .|displace 0.0
-6961c7010,7011
-< .|hbox(0.0+0.0)x0.0
----
-> .|hbox(0.0+0.0)x0.0, yoko(math) direction
-> ..|displace 0.0
-6991a7042
-> .|displace 0.0
-7103a7155
-> ...|displace 0.0
-7108d7159
-< ...|ip A (ligature BB)
-7116a7168
-> ...|displace 0.0
-7125d7176
-< ...|kern2.0
-7126a7178
-> .|displace 0.0
-7136c7188
-< ...|vbox(0.0+0.0)x0.0
----
-> ...|vbox(0.0+0.0)x0.0, yoko(math) direction
-7156c7208
-< Memory usage before: 895&439; after: 290&420; still untouched: 175
----
-> Memory usage before: 1350&439; after: 398&420; still untouched: 240
-7289c7341
-< Memory usage before: 334&431; after: 292&418; still untouched: 175
----
-> Memory usage before: 462&431; after: 400&418; still untouched: 240
-7292a7345,7347
->
-> ### semi simple group (level 1) entered at line 429 (begingroup)
-> ### bottom level
-7297,7300c7352,7355
-< 47 strings out of 1674
-< 253 string characters out of 8367
-< 2825 words of memory out of 3000
-< 372 multiletter control sequences out of 2100
----
-> 44 strings out of 1627
-> 261 string characters out of 10703
-> 4260 words of memory out of 4500
-> 525 multiletter control sequences out of 15000+0
-7302,7303c7357,7358
-< 2 hyphenation exceptions out of 307
-< 7i,7n,9p,113b,38s stack positions out of 200i,40n,60p,500b,600s
----
-> 1 hyphenation exception out of 659
-> 7i,7n,9p,136b,40s stack positions out of 200i,40n,60p,500b,600s
-
-mv tripos.tex xptripos.tex
-+ mv tripos.tex xptripos.tex
-diff $testdir/tripos.tex xptripos.tex
-+ diff SRCDIR/triptrap/tripos.tex xptripos.tex
-
-eval ./dvitype $dvitype_args trip.dvi >xptrip.typ || exit 1
-+ eval ./dvitype -output-level=2 -dpi=72.27 '-page-start='\''*.*.*.*.*.*.*.*.*.*'\''' trip.dvi
-./dvitype -output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*' trip.dvi
-++ ./dvitype -output-level=2 -dpi=72.27 '-page-start=*.*.*.*.*.*.*.*.*.*' trip.dvi
-$DIFF $DIFFFLAGS $testdir/trip.typ xptrip.typ
-+ diff SRCDIR/triptrap/trip.typ xptrip.typ
-1c1
-< This is DVItype, Version 3.6
----
-> This is DVItype, Version 3.6 (TeX Live 2021/dev)
-9c9
-< ' TeX output 1776.07.04:1200'
----
-> ' TeX output 2021.01.27:1803'
-419c419
-< 1121: down4 639342208
----
-> 1121: down4 639342177
-1087,1088c1087,1088
-< 2535: y4 203921760
-< 2540: y0 203921760
----
-> 2535: y4 203921756
-> 2540: y0 203921756
-
-mv trip.fmt xtrip.fmt
-+ mv trip.fmt xtrip.fmt
-
-# =================================
-
-echo "*** e-TeX specific part of e-TRIP test for e-pTeX ***."
-+ echo '*** e-TeX specific part of e-TRIP test for e-pTeX ***.'
-*** e-TeX specific part of e-TRIP test for e-pTeX ***.
-
-./pltotf $etestdir/etrip.pl etrip.tfm || exit 1
-+ ./pltotf SRCDIR/etexdir/etrip/etrip.pl etrip.tfm
-
-./tftopl ./etrip.tfm etrip.pl || exit 1
-+ ./tftopl ./etrip.tfm etrip.pl
-
-diff $etestdir/etrip.pl etrip.pl || is_OK=false
-+ diff SRCDIR/etexdir/etrip/etrip.pl etrip.pl
-
-# get same filename in log
-$LN_S $eptestdir/eptrip.tex etrip.tex
-+ ln -s SRCDIR/eptexdir/eptrip/eptrip.tex etrip.tex
-
-./eptex --progname=epinitex --ini <$etestdir/etrip2.in >eptripin.fot
-+ ./eptex --progname=epinitex --ini
-if test ! -s etrip.fmt; then
- echo "*** etrip.fmt not created by etrip2.in, investigate!" >&2
- exit 1
-fi
-+ test '!' -s etrip.fmt
-sed "$P_SED1" etrip.log > eptripin.log || exit 1
-+ sed 's/, yoko direction//;s/yoko direction, //' etrip.log
-diff $etestdir/etripin.log eptripin.log
-+ diff SRCDIR/etexdir/etrip/etripin.log eptripin.log
-1c1
-< This is e-TeX, Version 3.14159265-2.6 (TeX Live 2014) (INITEX) 22 JAN 2014 11:25
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (INITEX) 27 JAN 2021 18:03
-26,29c26,29
-< (preloaded format=etrip 2014.1.22)
-< 1491 strings of total length 26258
-< 281 memory locations dumped; current usage is 36&167
-< 408 multiletter control sequences
----
-> (preloaded format=etrip 2021.1.27)
-> 1674 strings of total length 29328
-> 284 memory locations dumped; current usage is 40&167
-> 494 multiletter control sequences
-
-# May as well test non-ini second time through.
-./eptex --progname=eptex <$etestdir/etrip3.in >eptrip.fot
-+ ./eptex --progname=eptex
-sed "$P_SED1;$P_SED2" etrip.log > eptrip.log
-+ sed 's/, yoko direction//;s/yoko direction, //;s/yoko(math) direction, //' etrip.log
-diff $etestdir/etrip.fot eptrip.fot
-+ diff SRCDIR/etexdir/etrip/etrip.fot eptrip.fot
-1c1
-< This is e-TeX, Version 3.14159265-2.6 (TeX Live 2014) (preloaded format=etex)
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (preloaded format=eptex)
-45,46d44
-<
-< \openout1 = `etrip.out'.
-
-# We use $DIFF instead of `diff' only for those files where there
-# might actually be legitimate numerical differences.
-$DIFF $DIFFFLAGS $eptestdir/eptrip.log eptrip.log
-+ diff SRCDIR/eptexdir/eptrip/eptrip.log eptrip.log
-1c1
-< This is e-pTeX, Version 3.14159265-p3.4-130605-2.6 (utf8.euc) (TeX Live 2014) (preloaded format=etrip 2014.1.22) 22 JAN 2014 11:25
----
-> This is e-pTeX, Version 3.141592653-p3.8.3-191112-2.6 (utf8.euc) (TeX Live 2021/dev) (preloaded format=etrip 2021.1.27) 27 JAN 2021 18:03
-57a58
-> .\displace 0.0
-104a106
-> .\displace 0.0
-133a136
-> .\displace 0.0
-193a197
-> .\displace 0.0
-205a210
-> ..\displace 0.0
-253a259
-> ..\displace 0.0
-283a290
-> ..\displace 0.0
-303a311
-> ..\displace 0.0
-692,693d699
-< \openout1 = `etrip.out'.
-<
-1426c1432
-< this will be denominator of:
----
-> this will begin denominator of:
-1450c1456
-< this will be denominator of:
----
-> this will begin denominator of:
-1497c1503
-< this will be denominator of:
----
-> this will begin denominator of:
-1545c1551
-< this will be denominator of:
----
-> this will begin denominator of:
-1662a1669
-> \displace 0.0
-1873a1881
-> \displace 0.0
-1881c1889
-< .\hbox(0.0+0.0)x0.0, shifted -16.5
----
-> .\hbox(0.0+0.0)x0.0, shifted -16.5, yoko(math) direction
-1901a1910
-> \displace 0.0
-1906c1915
-< .\hbox(0.0+0.0)x0.0, shifted 3.0
----
-> .\hbox(0.0+0.0)x0.0, shifted 3.0, yoko(math) direction
-2207c2216
-< A character number must be between 0 and 255, or KANJI code.
----
-> A character number must be between 0 and 255.
-2213c2222
-< A character number must be between 0 and 255, or KANJI code.
----
-> A character number must be between 0 and 255.
-4025a4035
-> ..\displace 0.0
-4033a4044
-> ..\displace 0.0
-4300a4312
-> .\displace 0.0
-4421,4422c4433,4434
-< 19 strings out of 1692
-< 145 string characters out of 8157
----
-> 19 strings out of 1626
-> 145 string characters out of 10672
-4424c4436
-< 463 multiletter control sequences out of 15000+0
----
-> 495 multiletter control sequences out of 15000+0
-
-mv etrip.out eptrip.out
-+ mv etrip.out eptrip.out
-diff $etestdir/etrip.out eptrip.out
-+ diff SRCDIR/etexdir/etrip/etrip.out eptrip.out
-
-eval ./dvitype $dvitype_args etrip.dvi >eptrip.typ || exit 1
-+ eval ./dvitype -output-level=2 -dpi=72.27 '-page-start='\''*.*.*.*.*.*.*.*.*.*'\''' etrip.dvi
-./dvitype -output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*' etrip.dvi
-++ ./dvitype -output-level=2 -dpi=72.27 '-page-start=*.*.*.*.*.*.*.*.*.*' etrip.dvi
-$DIFF $DIFFFLAGS $etestdir/etrip.typ eptrip.typ
-+ diff SRCDIR/etexdir/etrip/etrip.typ eptrip.typ
-1c1
-< This is DVItype, Version 3.6 (TeX Live 2014)
----
-> This is DVItype, Version 3.6 (TeX Live 2021/dev)
-9c9
-< ' TeX output 2014.01.22:1125'
----
-> ' TeX output 2021.01.27:1803'
-
-$is_OK || {
- echo ">>> There were some errors." >&2
- exit 1
-}
-+ :
-
-PASS eptexdir/eptriptest.test (exit status: 0)
-PASS: eptexdir/eptriptest.test
diff --git a/Build/source/texk/web2c/eptexdir/eptrip/eptrip.log b/Build/source/texk/web2c/eptexdir/eptrip/eptrip.log
deleted file mode 100644
index ee7da67d4fe..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptrip/eptrip.log
+++ /dev/null
@@ -1,4429 +0,0 @@
-This is e-pTeX, Version 3.14159265-p3.4-130605-2.6 (utf8.euc) (TeX Live 2014) (preloaded format=etrip 2014.1.22) 22 JAN 2014 11:25
-entering extended mode
-**&etrip etrip
-(./etrip.tex e-IniTeX: e-Trip format loaded.
-This is the e-Trip test [2014-01-22] for e-TeX v3.14159265-2.6.
-(You are using e-TeX version/revision 2.6)
-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 \6=undefined}
-{into \6=select font nullfont}
-{globally changing \6=select font nullfont}
-{into \6=select font etrip at 11.0pt}
-{changing \6=select font etrip at 11.0pt}
-{into \6=select font nullfont}
-{changing \6=select font nullfont}
-{into \6=select font etrip at 11.0pt}
-{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 \5=undefined}
-{into \5=select font nullfont}
-{globally changing \5=select font nullfont}
-{into \5=select font etrip at 12.0pt}
-{changing \5=select font etrip at 12.0pt}
-{into \5=select font nullfont}
-{changing \5=select font nullfont}
-{into \5=select font etrip at 12.0pt}
-{changing \4=undefined}
-{into \4=select font etrip at 12.0pt}
-{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 \4=undefined}
-{restoring \5=select font etrip at 12.0pt}
-{restoring \6=select font etrip at 11.0pt}
-{restoring \tracingassigns=0}
-Checking \currentgrouptype, \currentgrouplevel, and \lastnodetype:
-current group level (l.284): outer level
-current group type (l.286): bottom level
-current group type (l.313): semi simple group
-{entering vbox group (level 2) at line 315}
-current group type (l.315): vbox group
-{entering adjusted hbox group (level 3) at line 316}
-current group type (l.316): adjusted hbox group
-{entering simple group (level 4) at line 317}
-current group type (l.317): simple group
-{leaving simple group (level 4) entered at line 317}
-last node type (l.318): empty
-{entering hbox group (level 4) at line 319}
-current group type (l.319): hbox group
-{entering disc group (level 5) at line 320}
-current group type (l.320): disc group
-{leaving disc group (level 5) entered at line 320}
-{entering disc group (level 5) at line 320}
-current group type (l.320): disc group
-{leaving disc group (level 5) entered at line 320}
-{entering disc group (level 5) at line 320}
-current group type (l.320): disc group
-{leaving disc group (level 5) entered at line 320}
-last node type (l.322): disc node
-last node type (l.323): char node
-last node type (l.324): ligature 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): ins node
-{entering insert group (level 5) at line 327}
-current group type (l.327): insert group
-{leaving insert group (level 5) entered at line 327}
-last node type (l.328): adjust node
-last node type (l.329): mark node
-last node type (l.330): rule node
-last node type (l.331): glue node
-last node type (l.332): kern node
-last node type (l.333): penalty node
-{entering vtop group (level 5) at line 334}
-current group type (l.334): vtop group
-{leaving vtop group (level 5) entered at line 334}
-last node type (l.335): vlist node
-last node type (l.336): whatsit node
-{entering math shift group (level 5) at line 337}
-current group type (l.337): math shift group
-{entering math group (level 6) at line 338}
-current group type (l.338): math group
-{leaving math group (level 6) entered at line 338}
-{leaving math shift group (level 5) entered at line 337}
-last node type (l.340): math node
-last node type (l.341): math node
-last node type (l.342): math node
-{entering align group (level 5) at line 343}
-{entering align group (level 6) at line 343}
-current group type (l.343): align group
-{leaving align group (level 6) entered at line 343}
-{entering align group (level 6) at line 344}
-{entering no align group (level 7) at line 344}
-current group type (l.344): no align group
-last node type (l.345): unset node
-{leaving no align group (level 7) entered at line 344}
-{leaving align group (level 6) entered at line 344}
-{leaving align group (level 5) entered at line 343}
-{leaving hbox group (level 4) entered at line 319}
-{leaving adjusted hbox group (level 3) entered at line 316}
-last node type (l.349): hlist node
-{entering math shift group (level 3) at line 350}
-current group type (l.350): math shift group
-last node type (l.351): empty
-{entering math choice group (level 4) at line 352}
-current group type (l.352): math choice group
-{leaving math choice group (level 4) entered at line 352}
-{entering math choice group (level 4) at line 352}
-current group type (l.352): math choice group
-{leaving math choice group (level 4) entered at line 352}
-{entering math choice group (level 4) at line 352}
-current group type (l.352): math choice group
-{leaving math choice group (level 4) entered at line 352}
-{entering math choice group (level 4) at line 352}
-current group type (l.352): math choice group
-{entering vcenter group (level 5) at line 353}
-current group type (l.353): vcenter group
-{leaving vcenter group (level 5) entered at line 353}
-last node type (l.354): math mode node
-{leaving math choice group (level 4) entered at line 352}
-last node type (l.355): math mode node
-{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}
-{entering math left group (level 4) at line 357}
-current group type (l.357): math left group
-{leaving math left group (level 4) entered at line 357}
-{entering math left group (level 4) at line 358}
-current group type (l.358): math left group
-{leaving math left group (level 4) entered at line 358}
-{leaving math shift group (level 3) entered at line 350}
-{leaving vbox group (level 2) entered at line 315}
-{entering adjusted hbox group (level 2) at line 396}
-{leaving adjusted hbox group (level 2) entered at line 396}
-{entering output group (level 2) at line 396}
-current group type (l.396): output group
-{entering vbox group (level 3) at line 396}
-{entering adjusted hbox group (level 4) at line 396}
-{entering hbox group (level 5) at line 396}
-{entering simple group (level 6) at line 396}
-{entering align group (level 7) at line 396}
-{entering align group (level 8) at line 396}
-{entering no align group (level 9) at line 396}
-{entering math shift group (level 10) at line 396}
-{entering vtop group (level 11) at line 396}
-{entering math shift group (level 12) at line 396}
-{entering math group (level 13) at line 396}
-{entering math left group (level 14) at line 396}
-{leaving math left group (level 14) entered at line 396}
-{entering math left group (level 14) at line 396}
-{entering math choice group (level 15) at line 396}
-{leaving math choice group (level 15) entered at line 396}
-{entering math choice group (level 15) at line 396}
-{leaving math choice group (level 15) entered at line 396}
-{entering math choice group (level 15) at line 396}
-{entering vcenter group (level 16) at line 396}
-{entering insert group (level 17) at line 396}
-{entering disc group (level 18) at line 396}
-{leaving disc group (level 18) entered at line 396}
-{entering disc group (level 18) at line 396}
-
-### disc group (level 18) entered at line 396 (\discretionary{}{)
-### insert group (level 17) entered at line 396 (\vadjust{)
-### vcenter group (level 16) entered at line 396 (\vcenter to7.0pt{)
-### math choice group (level 15) entered at line 396 (\mathchoice{}{}{)
-### math left group (level 14) entered at line 396 (\middle)
-### math group (level 13) entered at line 396 ({)
-### math shift group (level 12) entered at line 396 ($$)
-### vtop group (level 11) entered at line 396 (\vtop{)
-### math shift group (level 10) entered at line 396 ($)
-### no align group (level 9) entered at line 396 (\noalign{)
-### align group (level 8) entered at line 396 (\cr)
-### align group (level 7) entered at line 396 (\valign{)
-### simple group (level 6) entered at line 396 ({)
-### hbox group (level 5) entered at line 396 (\raise5.0pt\hbox{)
-### adjusted hbox group (level 4) entered at line 396 (\hbox spread5.0pt
-{)
-### vbox group (level 3) entered at line 396 (\setbox0=\vbox{)
-### output group (level 2) entered at line 396 (\output)
-### semi simple group (level 1) entered at line 287 (\begingroup)
-### bottom level
-
-! OK.
-<output> ...nary {}{\showgroups
- }{} } } }{} \right . } $$ } $...
-l.396 ...ox{}\vfil\penalty-10000
-
-
-{leaving disc group (level 18) entered at line 396}
-{entering disc group (level 18) at line 396}
-{leaving disc group (level 18) entered at line 396}
-{leaving insert group (level 17) entered at line 396}
-{leaving vcenter group (level 16) entered at line 396}
-{leaving math choice group (level 15) entered at line 396}
-{entering math choice group (level 15) at line 396}
-{leaving math choice group (level 15) entered at line 396}
-{leaving math left group (level 14) entered at line 396}
-{leaving math group (level 13) entered at line 396}
-{leaving math shift group (level 12) entered at line 396}
-{leaving vtop group (level 11) entered at line 396}
-{leaving math shift group (level 10) entered at line 396}
-{leaving no align group (level 9) entered at line 396}
-{leaving align group (level 8) entered at line 396}
-{leaving align group (level 7) entered at line 396}
-{leaving simple group (level 6) entered at line 396}
-{leaving hbox group (level 5) entered at line 396}
-{leaving adjusted hbox group (level 4) entered at line 396}
-{leaving vbox group (level 3) entered at line 396}
-{leaving output group (level 2) entered at line 396}
-Checking expansion of \protected macros:
-> \2=\protected macro:
-->.
-l.404 ...otected\def\2{} \show\2
-
-
-> \3=\protected macro:
-->.
-l.405 \let\3=\2 \show\3
-
-
-> \1=\protected macro:
-->\2.
-l.406 ...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.410 ...ndafter\1\1}} \showbox0
-
-
-
-\1->\2
-> \5=macro:
-->\1\2.
-l.411 ...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
-
-\openout1 = `etrip.out'.
-
-Memory usage before: 57&184; after: 40&178; still untouched: 2170
-(./etrip.out) (
-Warning: end of semi simple group (level 3) entered at line 433 of a dif
-ferent file
-Warning: end of \iftrue entered on line 433 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 435 of a dif
-ferent file
-l.1 \endgroup
-
-l.435 ...ntokens\expandafter{\1}
- \egroup \fi
-Warning: end of \unless\iffalse entered on line 435 of a different file
-l.2 \fi
-
-l.435 ...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.435 ...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.446 }
- % end of outer \scantokens
-Warning: end of \ifcase entered on line 2 of a different file
-l.2 \else \fi
-
-l.6 }
-
-l.446 }
- % end of outer \scantokens
-Warning: end of hbox group (level 3) entered at line 437 of a different
-file
-
-\1->\egroup
- \fi
-l.4 \1
-
-l.6 }
-
-l.446 }
- % end of outer \scantokens
-Warning: end of \unless\iftrue entered on line 438 of a different file
-
-\1->\egroup \fi
-
-l.4 \1
-
-l.6 }
-
-l.446 }
- % 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.446 }
- % end of outer \scantokens
-! Incomplete \iffalse; all text was ignored after line 9.
-<inserted text>
- \fi
-l.6 }
-
-l.446 }
- % 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.446 }
- % 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.453 ...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.455 ...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.463 ...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 470
-\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.470 ...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.493 \1 \showbox0
- \let\5=\3 \def\3#1{\showtokens\expandaft...
-
-> 0-1.
-<recently read> }
-
-...
-l.495 \1
- \showbox1 \showbox0 \let\3=\5
-
-> 0-2.
-<recently read> }
-
-...
-l.495 \1
- \showbox1 \showbox0 \let\3=\5
-
-> 1-1.
-<recently read> }
-
-...
-l.495 \1
- \showbox1 \showbox0 \let\3=\5
-
-> 1-1.
-<recently read> }
-
-...
-l.495 \1
- \showbox1 \showbox0 \let\3=\5
-
-> .
-<recently read> }
-
-...
-l.495 \1
- \showbox1 \showbox0 \let\3=\5
-
-> .
-<recently read> }
-
-...
-l.495 \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.495 \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.495 \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.497 \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.497 \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.499 \1 \showbox1
- \showbox0
-
-> \box0=
-\vbox(0.0+0.0)x10.0
-.\glue(\splittopskip) 0.0
-.\hbox(0.0+0.0)x10.0
-
-! OK.
-l.499 \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.502 ...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.502 ...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.502 ...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.502 ...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.503 ...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.504 ...x{}\vfil\penalty-10000
- % reclaim sparse array memory!
-
-Checking \middle:
-! Missing $ inserted.
-<inserted text>
- $
-...
-l.513 \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.513 ...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.513 ...box0=\vbox{\middle \par
- \right \par} % <== 8 errors
-I'm ignoring a \middle that had no matching \left.
-
-! Missing $ inserted.
-<inserted text>
- $
-...
-l.513 ...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.513 ...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.513 ...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.513 ...middle \par \right \par
- } % <== 8 errors
-I'm ignoring a \right that had no matching \left.
-
-! Missing $ inserted.
-<inserted text>
- $
-...
-l.513 ...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 524
-\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 521
-\left"161361
-\mathord
-.\fam1 p
-\middle"142342
-\mathord
-.\fam1 q
-\middle"142342
-\mathord
-.\fam1 q
-### math mode entered at line 517
-\mathord
-.\fam1 r
-this will be denominator of:
-\fraction, thickness = default
-\\left"161361
-\\mathord
-\.\fam1 q
-### math mode entered at line 516
-\left"161361
-\mathord
-.\fam1 p
-### math mode entered at line 515
-### restricted horizontal mode entered at line 514
-spacefactor 1000
-### vertical mode entered at line 0
-prevdepth 0.0
-
-! OK.
-l.525 ... \over r\showlists
-
-
-
-### math mode entered at line 521
-\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 517
-\mathord
-.\fam1 r
-this will be denominator of:
-\fraction, thickness = default
-\\left"161361
-\\mathord
-\.\fam1 q
-### math mode entered at line 516
-\left"161361
-\mathord
-.\fam1 p
-### math mode entered at line 515
-### restricted horizontal mode entered at line 514
-spacefactor 1000
-### vertical mode entered at line 0
-prevdepth 0.0
-
-! OK.
-l.526 ... \right]\showlists
-
-
-
-### math mode entered at line 517
-\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 516
-\left"161361
-\mathord
-.\fam1 p
-### math mode entered at line 515
-### restricted horizontal mode entered at line 514
-spacefactor 1000
-### vertical mode entered at line 0
-prevdepth 0.0
-
-! OK.
-l.527 ... \right]\showlists
-
-
-
-### math mode entered at line 516
-\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 515
-### restricted horizontal mode entered at line 514
-spacefactor 1000
-### vertical mode entered at line 0
-prevdepth 0.0
-
-! OK.
-l.528 \right]\showlists
-
-
-
-### math mode entered at line 515
-\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 514
-spacefactor 1000
-### vertical mode entered at line 0
-prevdepth 0.0
-
-! OK.
-l.529 \right]\showlists
-
-
-
-### restricted horizontal mode entered at line 514
-\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.530 $\showlists
-
-
-
-### restricted horizontal mode entered at line 532
-\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.534 ...box{}\right]$\showlists
- }
-
-
-### restricted horizontal mode entered at line 535
-\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.537 \right]$\showlists
- }
-
-Checking TeX--XeT enhancements:
-
-\endL or \endR problem (0 missing, 1 extra) in paragraph at lines 550--5
-50
-[][][][][][]
-
-\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 551--5
-51
-[]
-
-\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.552 \showbox0
-
-
-Checking optimized \aftergroup:
-! Undefined control sequence.
-<to be read again> \x
- }{\relax
-l.564 ...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.583): 0
-current if level (l.584): 1
-current if level (l.585): 2
-current if type (l.603): \if!NONE
-current if branch (l.603): no branch
-current if type (l.604): \if
-current if branch (l.604): true branch
-current if type (l.604): \unless\if
-current if branch (l.604): false branch
-current if type (l.605): \if
-current if branch (l.605): false branch
-current if type (l.605): \unless\if
-current if branch (l.605): true branch
-current if type (l.606): \ifcat
-current if branch (l.606): true branch
-current if type (l.606): \unless\ifcat
-current if branch (l.606): false branch
-current if type (l.607): \ifcat
-current if branch (l.607): false branch
-current if type (l.607): \unless\ifcat
-current if branch (l.607): true branch
-current if type (l.608): \ifnum
-current if branch (l.608): true branch
-current if type (l.608): \unless\ifnum
-current if branch (l.608): true branch
-current if type (l.609): \ifdim
-current if branch (l.609): false branch
-current if type (l.609): \unless\ifdim
-current if branch (l.609): true branch
-current if type (l.610): \ifodd
-current if branch (l.610): true branch
-current if type (l.610): \unless\ifodd
-current if branch (l.610): false branch
-current if type (l.612): \ifvmode
-current if branch (l.612): true branch
-current if type (l.612): \unless\ifvmode
-current if branch (l.612): false branch
-current if type (l.615): \ifhmode
-current if branch (l.615): true branch
-current if type (l.615): \unless\ifhmode
-current if branch (l.615): false branch
-current if type (l.617): \ifmmode
-current if branch (l.617): true branch
-current if type (l.617): \unless\ifmmode
-current if branch (l.617): false branch
-current if type (l.619): \ifinner
-current if branch (l.619): true branch
-current if type (l.621): \unless\ifinner
-current if branch (l.621): true branch
-current if type (l.622): \ifvoid
-current if branch (l.622): true branch
-current if type (l.622): \unless\ifvoid
-current if branch (l.622): true branch
-current if type (l.623): \ifhbox
-current if branch (l.623): true branch
-current if type (l.623): \unless\ifhbox
-current if branch (l.623): true branch
-current if type (l.624): \ifvbox
-current if branch (l.624): true branch
-current if type (l.624): \unless\ifvbox
-current if branch (l.624): true branch
-current if type (l.625): \ifx
-current if branch (l.625): false branch
-current if type (l.625): \unless\ifx
-current if branch (l.625): true branch
-current if type (l.626): \ifeof
-current if branch (l.626): true branch
-current if type (l.626): \unless\ifeof
-current if branch (l.626): false branch
-current if type (l.627): \iftrue
-current if branch (l.627): true branch
-current if type (l.627): \unless\iftrue
-current if branch (l.627): false branch
-current if type (l.628): \iffalse
-current if branch (l.628): false branch
-current if type (l.628): \unless\iffalse
-current if branch (l.628): true branch
-current if type (l.629): \ifcase
-current if branch (l.629): true branch
-current if type (l.629): \ifcase
-current if branch (l.629): false branch
-current if type (l.630): \ifdefined
-current if branch (l.630): true branch
-current if type (l.630): \unless\ifdefined
-current if branch (l.630): true branch
-current if type (l.631): \ifcsname
-current if branch (l.631): true branch
-current if type (l.632): \unless\ifcsname
-current if branch (l.632): true branch
-current if type (l.633): \iffontchar
-current if branch (l.633): true branch
-current if type (l.633): \unless\iffontchar
-current if branch (l.633): true branch
-{math mode: \ifcsname: (level 41) entered on line 649}
-{\unless\ifcsname: (level 42) entered on line 649}
-{\iffontchar: (level 43) entered on line 650}
-{\unless\iffontchar: (level 44) entered on line 650}
-
-### level 44: \unless\iffontchar entered on line 650
-### level 43: \iffontchar entered on line 650
-### level 42: \unless\ifcsname entered on line 649
-### level 41: \ifcsname entered on line 649
-### level 40: \unless\ifdefined entered on line 647
-### level 39: \ifdefined entered on line 647
-### level 38: \ifcase\else entered on line 646
-### level 37: \ifcase entered on line 646
-### level 36: \unless\iffalse entered on line 645
-### level 35: \iffalse\else entered on line 645
-### level 34: \unless\iftrue\else entered on line 645
-### level 33: \iftrue entered on line 645
-### level 32: \unless\ifx entered on line 644
-### level 31: \ifx\else entered on line 644
-### level 30: \unless\ifeof\else entered on line 643
-### level 29: \ifeof entered on line 643
-### level 28: \unless\ifvbox entered on line 643
-### level 27: \ifvbox entered on line 643
-### level 26: \unless\ifhbox entered on line 642
-### level 25: \ifhbox entered on line 642
-### level 24: \unless\ifvoid entered on line 642
-### level 23: \ifvoid entered on line 642
-### level 22: \unless\ifinner\else entered on line 641
-### level 21: \ifinner entered on line 641
-### level 20: \unless\ifmmode\else entered on line 641
-### level 19: \ifmmode entered on line 641
-### level 18: \unless\ifhmode\else entered on line 640
-### level 17: \ifhmode entered on line 640
-### level 16: \unless\ifvmode\else entered on line 639
-### level 15: \ifvmode entered on line 639
-### level 14: \unless\ifodd\else entered on line 638
-### level 13: \ifodd entered on line 638
-### level 12: \unless\ifdim entered on line 637
-### level 11: \ifdim\else entered on line 637
-### level 10: \unless\ifnum entered on line 637
-### level 9: \ifnum entered on line 637
-### level 8: \unless\ifcat entered on line 636
-### level 7: \ifcat\else entered on line 636
-### level 6: \unless\ifcat\else entered on line 636
-### level 5: \ifcat entered on line 636
-### level 4: \unless\if entered on line 635
-### level 3: \if\else entered on line 635
-### level 2: \unless\if\else entered on line 635
-### level 1: \if entered on line 635
-
-! OK.
-l.651 \showifs
- % <== show 44 nested ifs
-
-{\fi: \unless\iffontchar (level 44) entered on line 650}
-{\fi: \iffontchar (level 43) entered on line 650}
-{\fi: \unless\ifcsname (level 42) entered on line 649}
-{\fi: \ifcsname (level 41) entered on line 649}
-Checking \iffontchar, \fontcharwd, etc.:
-! Missing font identifier.
-<to be read again>
- \relax
-...
-l.674 \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.674 \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.675 ...ffontchar\textfont2 -1
- \else \fi % <== bad charac...
-A character number must be between 0 and 255, or KANJI code.
-I changed this one to zero.
-
-! Bad character code (256).
-l.676 \iffontchar\font 256
- \else \fi % <== bad character...
-A character number must be between 0 and 255, or KANJI code.
-I changed this one to zero.
-
-! You can't use `\fontcharwd' in vertical mode.
-l.677 \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.677 \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.677 ...\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.677 ...\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.701 \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.701 ...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.701 ...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.765 \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.765 \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.765 ...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.765 ...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.767 ...unt43=\numexpr ( ( 2 \9
- \dimen43=\dimexpr ...
-I was expecting to see `+', `-', `*', `/', or `)'. Didn't.
-
-! Missing ) inserted for expression.
-<to be read again>
- \9
-l.767 ...unt43=\numexpr ( ( 2 \9
- \dimen43=\dimexpr ...
-I was expecting to see `+', `-', `*', `/', or `)'. Didn't.
-
-! Missing ) inserted for expression.
-<to be read again>
- \9
-l.767 ...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.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}
-{changing \dimen44=16383.5pt}
-{into \dimen44=-16383.99998pt}
-{changing \dimen44=-16383.99998pt}
-{into \dimen44=-16384.0pt}
-! Dimension too large.
-l.782 \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.782 ...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.783 ...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.783 ...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.784 ...=\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.784 ...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.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 ...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.787 ...\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.787 ...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.788 ...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.788 ...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.789 \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.789 ...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.790 \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.790 ...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.791 ...\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.791 ...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.831 \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.831 \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.831 \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.832 \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.832 \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.832 \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.833 \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.833 \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.833 \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.834 \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.834 \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.834 \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.862 ...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.862 ...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: 58&322; after: 48&322; still untouched: 1170
-[1]
-Memory usage before: 58&322; after: 48&322; still untouched: 1170
-Checking \mutoglue and \gluetomu:
-! You can't use `\mutoglue' in vertical mode.
-l.905 \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.905 \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.907 ...kip2=\gluetomu\muskip1
- % <== two mu_error's (! Inco...
-I'm going to assume that 1mu=1pt when they're mixed.
-
-! Incompatible glue units.
-l.907 ...kip2=\gluetomu\muskip1
- % <== two mu_error's (! Inco...
-I'm going to assume that 1mu=1pt when they're mixed.
-
-! Incompatible glue units.
-l.908 ...uskip2=\mutoglue\skip1
- % <== two mu_error's (! Inco...
-I'm going to assume that 1mu=1pt when they're mixed.
-
-! Incompatible glue units.
-l.908 ...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.932 \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.932 ...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.933 \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.933 ...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.970 \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.970 \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.971 \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.971 \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.972 \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.972 \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.973 \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.973 \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.974 \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.974 \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.981 ...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.1023 \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.1023 \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.1025 \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.1025 \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.1026 \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.1026 ...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.1027 \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.1027 \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.1028 \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.1028 \showbox-1
- % Bad register code (-1).
-
-
-### vtop group (level 4) entered at line 1041 (\setbox32103=\vtop to7.0p
-t{)
-### vbox group (level 3) entered at line 1040 (\global\setbox32102=\vbox
- to5.0pt{)
-### hbox group (level 2) entered at line 1039 (\setbox32101=\hbox to3.0p
-t{)
-### semi simple group (level 1) entered at line 1021 (\begingroup)
-### bottom level
-
-! OK.
-l.1042 \showgroups
-
-
-{restoring \box32103=void}
-> \box32100=void
-
-! OK.
-l.1046 \showbox32100
-
-
-> \box32101=
-\hbox(0.0+0.0)x3.0
-
-! OK.
-l.1047 \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.1081 \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.1081 \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.1082 \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.1082 \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.1083 \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.1083 \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.1087 ... \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.1087 ... \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.1089 \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.1089 \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.1091 \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.1091 \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.1093 \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.1093 \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.1094 \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.1094 \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.1095 \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.1095 \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.1099 ... \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.1099 ... \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.1101 \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.1101 \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.1102 \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.1102 \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.1104 \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.1104 \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.1105 \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.1105 \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.1106 \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.1106 \lastlinefit=1000 \1
-
-
-Checking expansion of V 2 \protected macros:
-\1 (l.1115)
-\1 (l.1115)
-relax (l.1117)
-relax (l.1117)
-Checking hyphenation and \savinghyphcodes:
-
-Underfull \hbox (badness 10000) in paragraph at lines 1134--1134
- []\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 1134--1134
- []\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 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 pp1A1qq []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 up1A1qq []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 ppB1qq []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 upB1qq []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 pp1Aqq []pp1Aqq []pp1A1qq []pp1Aqq []ppAqq
-
-\hbox(7.0+1.0)x16383.99998, glue set 1635.4 []
-
-
-Underfull \hbox (badness 10000) in paragraph at lines 1138--1138
- []\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 1138--1138
- []\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 1138--1138
- []\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 1140--1140
- []\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 1140--1140
- []\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 1140--1140
- []\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.1148 ...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.1148 ...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.1149 \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.1177 \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.1177 \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.1177 ... \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.1177 ... \1 1 20 \1 2 30
-
-
-
-### internal vertical mode entered at line 1186
-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.1186 ...0 \vfil \kern 20 pt \1
- \penalty -1 \1
-
-
-### internal vertical mode entered at line 1186
-prevdepth ignored
-### vertical mode entered at line 0
-prevdepth 0.0
-
-! OK.
-\1...{ \pagediscards \showlists
- }}
-l.1186 ...0 pt \1 \penalty -1 \1
-
-
-
-### internal vertical mode entered at line 1187
-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.1187 ...1 \vfill \kern 2 pt \1
- \penalty 10 \1
-
-
-### internal vertical mode entered at line 1187
-\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.1187 ...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.1192 ...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.1192 ...box {} \penalty -10000
-
-
-
-### internal vertical mode entered at line 1193
-\penalty 10000
-prevdepth ignored
-### vertical mode entered at line 0
-prevdepth 0.0
-
-! OK.
-\1...{ \pagediscards \showlists
- }}
-l.1193 \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}
-Checking hyphenation of LR and RL segments:
-
-Overfull \hbox (15.0pt too wide) in paragraph at lines 1256--1256
- \trip MM1
-
-\hbox(0.0+0.0)x0.0, glue set - 1.0
-.\glue 4.0 plus 2.0 minus 1.0
-.\trip M
-.\trip M
-.\discretionary
-.\trip 1
-.\trip 7 (ligature |)
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-\trip MM
-
-\hbox(0.0+0.0)x0.0
-.\trip M
-.\trip M
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM1[]
-
-\hbox(0.0+0.0)x0.0
-.\beginL
-.\trip M
-.\trip M
-.\discretionary
-.\trip 1
-.\trip 7 (ligature |)
-.\endL
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM[]
-
-\hbox(0.0+0.0)x0.0
-.\beginL
-.\trip M
-.\trip M
-.\endL
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM1[]
-
-\hbox(0.0+0.0)x0.0
-.\beginL
-.\trip M
-.\trip M
-.\discretionary
-.\trip 1
-.\trip 7 (ligature |)
-.\endL
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM[]
-
-\hbox(0.0+0.0)x0.0
-.\beginL
-.\trip M
-.\trip M
-.\endL
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM1[]
-
-\hbox(0.0+0.0)x0.0
-.\beginL
-.\trip M
-.\trip M
-.\discretionary
-.\trip 1
-.\trip 7 (ligature |)
-.\endL
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM[]
-
-\hbox(0.0+0.0)x0.0
-.\beginL
-.\trip M
-.\trip M
-.\endL
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM1[]
-
-\hbox(0.0+0.0)x0.0
-.\beginR
-.\trip M
-.\trip M
-.\discretionary
-.\trip 1
-.\trip 7 (ligature |)
-.\endR
-.\glue(\rightskip) 0.0
-
-
-Overfull \hbox (12.0pt too wide) in paragraph at lines 1256--1256
-[]\trip MM[]
-
-\hbox(0.0+0.0)x0.0
-.\beginR
-.\trip M
-.\trip M
-.\endR
-.\penalty 10000
-.\glue(\parfillskip) 0.0
-.\glue(\rightskip) 0.0
-
- )
-Here is how much of TeX's memory you used:
- 19 strings out of 1692
- 145 string characters out of 8157
- 3330 words of memory out of 4500
- 463 multiletter control sequences out of 15000+0
- 3796 words of font info for 5 fonts, out of 20000 for 75
- 10 hyphenation exceptions out of 659
- 10i,15n,8p,137b,79s 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/eptrip.tex b/Build/source/texk/web2c/eptexdir/eptrip/eptrip.tex
deleted file mode 100644
index 60590e17c02..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptrip/eptrip.tex
+++ /dev/null
@@ -1,1265 +0,0 @@
-%%; This is `eptrip.tex' for e-pTeX v3.14159265-2.6 as of Jan 22, 2014.
-%%;
-%%; This is a diabolical test file for e-pTeX, 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 {2014-01-22}
-\def\texversion {3.14159265}
-\def\etripversion{2.6}
-%
-\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\font\6=etrip at 11pt \font\6=etrip at 11pt
- \global\count17=7 \count17=7
- \global\def\9{\relax} \global\let\8=\9 \let\8=\9
- \bgroup
- \global\font\5=etrip at 12pt \font\5=etrip at 12pt \let\4=\5
- \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
-
-%
-% -- Check hyphenation of LR and RL segments
-\typeout{Checking hyphenation of LR and RL segments:}
-\begingroup
- \setbox0=\vbox{\trip
-% \language=5
- \lccode`M=`M \hyphenation{MM-MM}
- \TeXXeTstate=1
- \hsize=0pt
- \parfillskip=0pt
- \noindent{} MMMM \beginL MMMM MMMM MMMM\endL{} \beginR MMMM\endR \par
- }
-\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
deleted file mode 100644
index 7ad7bffd6d3..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf
+++ /dev/null
@@ -1,41 +0,0 @@
-% 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.
-mem_bot = 1
-main_memory = 4500
-max_strings = 3300
-pool_size = 40000
-
-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/eptriptest.test b/Build/source/texk/web2c/eptexdir/eptriptest.test
deleted file mode 100755
index 169ae16c6be..00000000000
--- a/Build/source/texk/web2c/eptexdir/eptriptest.test
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh -vx
-# $Id$
-# Copyright 2017-2018 Karl Berry <tex-live@tug.org>
-# Copyright 2011-2014 Peter Breitenlohner <tex-live@tug.org>
-# Copyright 2010 Hironori Kitagawa <tex-live@tug.org>
-# You may freely use, modify and/or distribute this file.
-
-LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE
-
-testdir=$abs_srcdir/triptrap
-etestdir=$abs_srcdir/etexdir/etrip
-eptestdir=$abs_srcdir/eptexdir/eptrip
-
-TEXMFCNF=$eptestdir; export TEXMFCNF
-
-rm -rf eptripdir
-mkdir eptripdir
-cd eptripdir
-
-dvitype_args="-output-level=2 -dpi=72.27 -page-start='*.*.*.*.*.*.*.*.*.*'"
-
-echo ">>> Running e-TRIP test for e-pTeX." >&2
-echo ">>> See $eptestdir/eptrip.diffs for example of acceptable diffs." >&2
-
-# pTeX outputs direction of boxes.
-P_SED1='s/, yoko direction//;s/yoko direction, //'
-P_SED2='s/yoko(math) direction, //'
-
-is_OK=:
-
-set -x
-
-echo "*** TRIP test for e-pTeX in compatibility mode ***."
-
-../pltotf $testdir/trip.pl trip.tfm || exit 1
-
-../tftopl ./trip.tfm trip.pl || exit 1
-
-diff $testdir/trip.pl trip.pl || is_OK=false
-
-# get same filename in log
-$LN_S $testdir/trip.tex .
-
-rm -f trip.log
-../eptex --progname=epinitex --ini <$testdir/trip1.in >cptripin.fot
-if test ! -s trip.fmt; then
- echo "*** trip.fmt not created by trip1.in, investigate!" >&2
- exit 1
-fi
-sed "$P_SED1" trip.log > cptripin.log || exit 1
-diff $testdir/tripin.log cptripin.log
-
-# May as well test non-ini second time through.
-rm -f trip.log
-../eptex --progname=eptex <$testdir/trip2.in >cptrip.fot
-sed "$P_SED1;$P_SED2" trip.log > cptrip.log
-diff $testdir/trip.fot cptrip.fot
-
-# We use $DIFF instead of `diff' only for those files where there
-# might actually be legitimate numerical differences.
-$DIFF $DIFFFLAGS $testdir/trip.log cptrip.log
-
-mv tripos.tex cptripos.tex
-diff $testdir/tripos.tex cptripos.tex
-
-eval ../dvitype $dvitype_args trip.dvi >cptrip.typ || exit 1
-$DIFF $DIFFFLAGS $testdir/trip.typ cptrip.typ
-
-mv trip.fmt ctrip.fmt
-
-# =================================
-
-echo "*** TRIP test for e-pTeX in extended mode ***."
-
-rm -f trip.log
-../eptex --progname=epinitex --ini <$etestdir/etrip1.in >xptripin.fot
-if test ! -s trip.fmt; then
- echo "*** trip.fmt not created by etrip1.in, investigate!" >&2
- exit 1
-fi
-sed "$P_SED1" trip.log > xptripin.log || exit 1
-diff $testdir/tripin.log xptripin.log
-
-# May as well test non-ini second time through.
-rm -f trip.log
-../eptex --progname=eptex <$etestdir/trip2.in >xptrip.fot
-sed "$P_SED1;$P_SED2" trip.log > xptrip.log
-diff $testdir/trip.fot xptrip.fot
-
-# We use $DIFF instead of `diff' only for those files where there
-# might actually be legitimate numerical differences.
-$DIFF $DIFFFLAGS $testdir/trip.log xptrip.log
-
-mv tripos.tex xptripos.tex
-diff $testdir/tripos.tex xptripos.tex
-
-eval ../dvitype $dvitype_args trip.dvi >xptrip.typ || exit 1
-$DIFF $DIFFFLAGS $testdir/trip.typ xptrip.typ
-
-mv trip.fmt xtrip.fmt
-
-# =================================
-
-echo "*** e-TeX specific part of e-TRIP test for e-pTeX ***."
-
-../pltotf $etestdir/etrip.pl etrip.tfm || exit 1
-
-../tftopl ./etrip.tfm etrip.pl || exit 1
-
-diff $etestdir/etrip.pl etrip.pl || is_OK=false
-
-# get same filename in log
-$LN_S $eptestdir/eptrip.tex etrip.tex
-
-../eptex --progname=epinitex --ini <$etestdir/etrip2.in >eptripin.fot
-if test ! -s etrip.fmt; then
- echo "*** etrip.fmt not created by etrip2.in, investigate!" >&2
- exit 1
-fi
-sed "$P_SED1" etrip.log > eptripin.log || exit 1
-diff $etestdir/etripin.log eptripin.log
-
-# May as well test non-ini second time through.
-../eptex --progname=eptex <$etestdir/etrip3.in >eptrip.fot
-sed "$P_SED1;$P_SED2" etrip.log > eptrip.log
-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 $eptestdir/eptrip.log eptrip.log
-
-mv etrip.out eptrip.out
-diff $etestdir/etrip.out eptrip.out
-
-eval ../dvitype $dvitype_args etrip.dvi >eptrip.typ || exit 1
-$DIFF $DIFFFLAGS $etestdir/etrip.typ eptrip.typ
-
-$is_OK || {
- echo ">>> There were some errors." >&2
- exit 1
-}
-
diff --git a/Build/source/texk/web2c/eptexdir/epver.test b/Build/source/texk/web2c/eptexdir/epver.test
deleted file mode 100755
index d2b8adc1f9e..00000000000
--- a/Build/source/texk/web2c/eptexdir/epver.test
+++ /dev/null
@@ -1,32 +0,0 @@
-#! /bin/sh -vx
-# $Id$
-# Copyright 2019 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
-# You may freely use, modify and/or distribute this file.
-
-LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE
-
-TEXMFCNF=$srcdir/../kpathsea; export TEXMFCNF
-TEXINPUTS=$srcdir/ptexdir/tests:.; export TEXINPUTS
-
-# check consistency between runtime terminal and log
-./eptex -ini -etex -interaction batchmode -jobname epver1-log pver1.tex >epver1-term.log || exit 1
-sed -n 's/^This is \([-A-Za-z]*\), Version [^-]*-\([^ ]*\) \(.*\)/\1 \2/p' \
- epver1-term.log >epver1-term_ed.log || exit 1
-sed -n 's/^This is \([-A-Za-z]*\), Version [^-]*-\([^ ]*\) \(.*\)/\1 \2/p' \
- epver1-log.log >epver1-log_ed.log || exit 1
-diff epver1-term_ed.log epver1-log_ed.log || exit 2
-
-# check consistency between runtime and version output
-./eptex -version >epver2-self.log || exit 1
-sed -n '1 s/^\([-A-Za-z]*\) [^-]*-\([^ ]*\) \(.*\)/\1 \2/p' \
- epver2-self.log >epver2-self_ed.log || exit 1
-diff epver1-term_ed.log epver2-self_ed.log || exit 4
-
-# check consistency between version output and version primitives
-./eptex -ini -etex -interaction batchmode -jobname epver2-prim pver2.tex || exit 1
-sed -n 's/^Engine \([-A-Za-z]*\) \([^ ]*\) \(.*\)/\1 \2/p' \
- epver2-prim.log >epver2-prim_ed.log || exit 1
-diff epver2-self_ed.log epver2-prim_ed.log || exit 8
-
-exit 0
-
diff --git a/Build/source/texk/web2c/eptexdir/etex.ch0 b/Build/source/texk/web2c/eptexdir/etex.ch0
deleted file mode 100644
index 43981fb0c17..00000000000
--- a/Build/source/texk/web2c/eptexdir/etex.ch0
+++ /dev/null
@@ -1,253 +0,0 @@
-% eptexdir/etex.ch0: changefile used to build e-pTeX, see eptexdir/eptex-base.ch for details.
-% Public domain. Originally written by Peter Breitenlohner <tex-live@tug.org>.
-
-@x [10] m.135 l.2895 - e-TeX TeXXeT
-|fil|, |fill|, or |filll|). The |subtype| field is not used in \TeX.
-@y
-|fil|, |fill|, or |filll|). The |subtype| field is not used.
-@z
-
-@x [17.236] l.4960 - first web2c, then e-TeX additional integer parameters
-@d int_pars=web2c_int_pars {total number of integer parameters}
-@#
-@d etex_int_base=tex_int_pars {base for \eTeX's integer parameters}
-@y
-@d int_pars=web2c_int_pars {total number of integer parameters}
-@z
-
-@x [26.413]
- {fetch an internal parameter}
-label exit;
-var m:halfword; {|chr_code| part of the operand token}
-@!q,@!r:pointer; {general purpose indices}
-@!tx:pointer; {effective tail node}
-@y
- {fetch an internal parameter}
-var m:halfword; {|chr_code| part of the operand token}
-@z
-
-@x [26.413]
-exit:end;
-@y
-end;
-@z
-
-@x
-@d badness_code=input_line_no_code+1 {code for \.{\\badness}}
-@y
-@d badness_code=glue_val+2 {code for \.{\\badness}}
-@z
-
-@x [26.420]
-begin scan_register_num; fetch_box(q);
-if q=null then cur_val:=0 @+else cur_val:=mem[q+m].sc;
-@y
-begin scan_eight_bit_int;
-if box(cur_val)=null then cur_val:=0 @+else cur_val:=mem[box(cur_val)+m].sc;
-@z
-
-@x [26.424]
-legal in similar contexts.
-
-@y
-legal in similar contexts.
-@z
-
-@x [26.424]
-@d find_effective_tail==find_effective_tail_eTeX
-
-@y
-@z
-
-@x
- if m>=eTeX_glue then @<Process an expression and |return|@>@;
- else if m>=eTeX_dim then
- begin case m of
- @/@<Cases for fetching a dimension value@>@/
- end; {there are no other cases}
- cur_val_level:=dimen_val;
- end
- else begin case m of
- input_line_no_code: cur_val:=line;
- badness_code: cur_val:=last_badness;
- @/@<Cases for fetching an integer value@>@/
- end; {there are no other cases}
-@y
- begin if cur_chr=input_line_no_code then cur_val:=line
- else cur_val:=last_badness; {|cur_chr=badness_code|}
-@z
-
-@x [26.424]
- find_effective_tail;
-@y
-@z
-
-@x [26.424]
- if not is_char_node(tx)and(mode<>0) then
- case cur_chr of
- int_val: if type(tx)=penalty_node then cur_val:=penalty(tx);
- dimen_val: if type(tx)=kern_node then cur_val:=width(tx);
- glue_val: if type(tx)=glue_node then
- begin cur_val:=glue_ptr(tx);
- if subtype(tx)=mu_glue then cur_val_level:=mu_val;
-@y
- if not is_char_node(tail)and(mode<>0) then
- case cur_chr of
- int_val: if type(tail)=penalty_node then cur_val:=penalty(tail);
- dimen_val: if type(tail)=kern_node then cur_val:=width(tail);
- glue_val: if type(tail)=glue_node then
- begin cur_val:=glue_ptr(tail);
- if subtype(tail)=mu_glue then cur_val_level:=mu_val;
-@z
-
-@x [26.424]
- else if (mode=vmode)and(tx=head) then
-@y
- else if (mode=vmode)and(tail=head) then
-@z
-
-@x [27.468]
-@d etex_convert_base=5 {base for \eTeX's command codes}
-@d eTeX_revision_code=etex_convert_base {command code for \.{\\eTeXrevision}}
-@d etex_convert_codes=etex_convert_base+1 {end of \eTeX's command codes}
-@d job_name_code=etex_convert_codes {command code for \.{\\jobname}}
-@y
-@d job_name_code=5 {command code for \.{\\jobname}}
-@z
-
-@x [30.581]
-var old_setting: integer; {saved value of |tracing_online|}
-@y
-@z
-
-@x [32.619]
-save_loc:=dvi_offset+dvi_ptr; base_line:=cur_v;
-prev_p:=this_box+list_offset;
-@<Initialize |hlist_out| for mixed direction typesetting@>;
-left_edge:=cur_h;
-@y
-save_loc:=dvi_offset+dvi_ptr; base_line:=cur_v; left_edge:=cur_h;
-@z
-
-@x [32.620]
- prev_p:=link(prev_p); {N.B.: not |prev_p:=p|, |p| might be |lig_trick|}
-@y
-@z
-
-@x [32.624] l.13005 - pTeX: output a box(and dir_node) with disp
- cur_h:=edge; cur_v:=base_line;
-@y
- cur_h:=edge+width(p); cur_v:=base_line;
-@z
-
-@x [33.649]
-exit: if TeXXeT_en then @<Check for LR anomalies at the end of |hpack|@>;
-hpack:=r;
-@y
-exit: hpack:=r;
-@z
-
-@x [44.977]
-q:=prune_page_top(q,saving_vdiscards>0);
-p:=list_ptr(v); free_node(v,box_node_size);
-if q<>null then q:=vpack(q,natural);
-change_box(q); {the |eq_level| of the box stays the same}
-@y
-q:=prune_page_top(q); p:=list_ptr(v); free_node(v,box_node_size);
-if q=null then box(n):=null {the |eq_level| of the box stays the same}
-else box(n):=vpack(q,natural);
-@z
-
-@x [47.1079]
-@!r:pointer; {running behind |p|}
-@!fm:boolean; {a final \.{\\beginM} \.{\\endM} node pair?}
-@!tx:pointer; {effective tail node}
-@y
-@z
-
-@x [47.1080]
-@d check_effective_tail(#)==find_effective_tail_eTeX
-@d fetch_effective_tail==fetch_effective_tail_eTeX
-
-@y
-@z
-@x [47.1080]
-else begin check_effective_tail(goto done);
- if not is_char_node(tx) then
- if (type(tx)=hlist_node)or(type(tx)=vlist_node) then
- @<Remove the last box, unless it's part of a discretionary@>;
- done:end;
-@y
-else begin if not is_char_node(tail) then
- if (type(tail)=hlist_node)or(type(tail)=vlist_node) then
- @<Remove the last box, unless it's part of a discretionary@>;
- end;
-@z
-
-@x [47.1081]
-begin fetch_effective_tail(goto done);
-cur_box:=tx; shift_amount(cur_box):=0;
-end
-@y
-begin q:=head;
-repeat p:=q;
-if not is_char_node(q) then if type(q)=disc_node then
- begin for m:=1 to replace_count(q) do p:=link(p);
- if p=tail then goto done;
- end;
-q:=link(p);
-until q=tail;
-cur_box:=tail; shift_amount(cur_box):=0;
-tail:=p; link(p):=null;
-done:end
-@z
-
-@x [47.1096]
- else line_break(false);
-@y
- else line_break(widow_penalty);
-@z
-
-@x [47.1105]
-@!r:pointer; {running behind |p|}
-@!fm:boolean; {a final \.{\\beginM} \.{\\endM} node pair?}
-@!tx:pointer; {effective tail node}
-@y
-@z
-
-@x [47.1105]
-else begin check_effective_tail(return);
- if not is_char_node(tx) then if type(tx)=cur_chr then
- begin fetch_effective_tail(return);
- flush_node_list(tx);
-@y
-else begin if not is_char_node(tail) then if type(tail)=cur_chr then
- begin q:=head;
- repeat p:=q;
- if not is_char_node(q) then if type(q)=disc_node then
- begin for m:=1 to replace_count(q) do p:=link(p);
- if p=tail then return;
- end;
- q:=link(p);
- until q=tail;
- link(p):=null; flush_node_list(tail); tail:=p;
-@z
-
-@x [47.1110]
-else begin link(tail):=list_ptr(p); change_box(null);
-@y
-else begin link(tail):=list_ptr(p); box(cur_val):=null;
-@z
-
-@x [48.1145]
-else begin line_break(true);@/
-@y
-else begin line_break(display_widow_penalty);@/
-@z
-
-@x [49.1247]
-if b<>null then mem[b+c].sc:=cur_val;
-@y
-if box(b)<>null then mem[box(b)+c].sc:=cur_val;
-@z
-
diff --git a/Build/source/texk/web2c/eptexdir/etex.ch1 b/Build/source/texk/web2c/eptexdir/etex.ch1
deleted file mode 100644
index 7e9e789486f..00000000000
--- a/Build/source/texk/web2c/eptexdir/etex.ch1
+++ /dev/null
@@ -1,197 +0,0 @@
-% eptexdir/etex.ch1: changefile used to build e-pTeX, see eptexdir/eptex-base.ch for details.
-% Public domain. Originally written by Peter Breitenlohner <tex-live@tug.org>.
-
-@x [12.184]
- begin print(", "); print_direction(box_dir(p));
-@y
- begin print_direction_alt(box_dir(p));
-@z
-
-@x [16.215] - e-pTeX last_node_subtype
-last_glue:=max_halfword; last_penalty:=0; last_kern:=0;
-last_node_type:=-1;
-@y
-last_glue:=max_halfword; last_penalty:=0; last_kern:=0;
-last_node_type:=-1; last_node_subtype:=-1;
-@z
-
-@x [17.236]
-@d int_pars=web2c_int_pars {total number of integer parameters}
-@y
-@d etex_int_base=web2c_int_pars {base for \eTeX's integer parameters}
-@z
-
-@x
-@d eTeX_int=badness_code+1 {first of \eTeX\ codes for integers}
-@y
-@d eTeX_int=ptex_minor_version_code+1 {first of \eTeX\ codes for integers}
-@z
-
-@x
- begin case m of
- input_line_no_code: cur_val:=line;
- badness_code: cur_val:=last_badness;
- ptex_version_code: cur_val:=pTeX_version;
- eptex_version_code: cur_val:=epTeX_version_number;
- ptex_minor_version_code: cur_val:=pTeX_minor_version;
- end; {there and no other cases}
-@y
- if m>=eTeX_glue then @<Process an expression and |return|@>@;
- else if m>=eTeX_dim then
- begin case m of
- @/@<Cases for fetching a dimension value@>@/
- end; {there are no other cases}
- cur_val_level:=dimen_val;
- end
- else begin case m of
- input_line_no_code: cur_val:=line;
- badness_code: cur_val:=last_badness;
- ptex_version_code: cur_val:=pTeX_version;
- eptex_version_code: cur_val:=epTeX_version_number;
- ptex_minor_version_code: cur_val:=pTeX_minor_version;
- @/@<Cases for fetching an integer value@>@/
- end; {there are no other cases}
-@z
-
-@x [27.468]
-@d job_name_code=ptex_convert_codes {command code for \.{\\jobname}}
-@y
-@d etex_convert_base=ptex_convert_codes {base for \eTeX's command codes}
-@d eTeX_revision_code=etex_convert_base {command code for \.{\\eTeXrevision}}
-@d etex_convert_codes=etex_convert_base+1 {end of \eTeX's command codes}
-@d job_name_code=etex_convert_codes {command code for \.{\\jobname}}
-@z
-
-@x [30.581]
-var @!l:0..255; {small indices or counters}
-@y
-var @!l:0..255; {small indices or counters}
-old_setting: integer; {saved value of |tracing_online|}
-@z
-
-@x [32.619]
-base_line:=cur_v; left_edge:=cur_h; disp:=0;
-@y
-base_line:=cur_v; disp:=0; revdisp:=0;
-prev_p:=this_box+list_offset;
-@<Initialize |hlist_out| for mixed direction typesetting@>;
-left_edge:=cur_h;
-@z
-
-@x [32.622]
-@<Output node |p| for |hlist_out|...@>=
-@y
-@<Output node |p| for |hlist_out|...@>=
-@z
-@x [32.622]
- p:=link(p);
-@y
- prev_p:=link(prev_p); {N.B.: not |prev_p:=p|, |p| might be |lig_trick|}
- p:=link(p);
-@z
-
-@x [32.623]
-disp_node: begin disp:=disp_dimen(p); cur_v:=base_line+disp; end;
-@y
-disp_node: begin disp:=disp_dimen(p); revdisp:=disp; cur_v:=base_line+disp; end;
-@z
-
-@x [32.624]
- cur_h:=edge+width(p); cur_v:=base_line+disp; cur_dir_hv:=save_dir;
-@y
- cur_h:=edge; cur_v:=base_line+disp; cur_dir_hv:=save_dir;
-@z
-
-@x [33.649]
-exit: last_disp:=disp; hpack:=r;
-@y
-exit: last_disp:=disp;
-if TeXXeT_en then @<Check for LR anomalies at the end of |hpack|@>;
-hpack:=r;
-@z
-
-@x [33.651]
- disp_node:disp:=disp_dimen(p);
-@y
- disp_node:begin disp:=disp_dimen(p); revdisp:=disp; end;
-@z
-
-@x [44.977]
-q:=prune_page_top(q); p:=list_ptr(v);
-if q=null then box(n):=null {the |eq_level| of the box stays the same}
-else begin
- box(n):=vpack(q,natural); set_box_dir(box(n))(box_dir(v));
- end;
-@y
-q:=prune_page_top(q,saving_vdiscards>0); p:=list_ptr(v);
-if q<>null then begin
- q:=vpack(q,natural); set_box_dir(q)(box_dir(v));
- end;
-change_box(q);
-@z
-
-@x [47.1096]
- else begin adjust_hlist(head,true); line_break(widow_penalty)
-@y
- else begin adjust_hlist(head,true); line_break(false)
-@z
-
-@x [47.1110]
- begin if type(box(cur_val))=dir_node then
- begin delete_glue_ref(space_ptr(box(cur_val)));
- delete_glue_ref(xspace_ptr(box(cur_val)));
- free_node(box(cur_val),box_node_size);
-@y
- begin if type(p)=dir_node then
- begin delete_glue_ref(space_ptr(p));
- delete_glue_ref(xspace_ptr(p));
- free_node(p,box_node_size);
-@z
-@x [47.1110]
- link(tail):=list_ptr(p); box(cur_val):=null;
-@y
- link(tail):=list_ptr(p); change_box(null);
-@z
-
-@x [48.1145]
-else begin adjust_hlist(head,true); line_break(display_widow_penalty);@/
-@y
-else begin adjust_hlist(head,true); line_break(true);@/
-@z
-
-@x [49.1247]
-if box(b)<>null then
- begin q:=box(b); p:=link(q);
-@y
-if b<>null then
- begin q:=b; p:=link(q);
-@z
-@x [49.1247]
- begin p:=link(box(b)); link(box(b)):=null;
-@y
- begin p:=link(b); link(b):=null;
-@z
-@x [49.1247]
- link(q):=p; link(box(b)):=q;
-@y
- link(q):=p; link(b):=q;
-@z
-
-@x [49.1291]
-@d show_mode=4 { \.{\\showmode} }
-@y
-@d show_mode=7 { \.{\\showmode} }
-@z
-
-@x
-@* \[55/\pTeX] System-dependent changes for \pTeX.
-@y
-@* \[54/\pTeX] System-dependent changes for \pTeX.
-@z
-
-@x
-@* \[56] System-dependent changes.
-@y
-@* \[54] System-dependent changes.
-@z
-
diff --git a/Build/source/texk/web2c/eptexdir/fam256.ch b/Build/source/texk/web2c/eptexdir/fam256.ch
deleted file mode 100644
index 583c5b8d21a..00000000000
--- a/Build/source/texk/web2c/eptexdir/fam256.ch
+++ /dev/null
@@ -1,1537 +0,0 @@
-% fam256.ch
-% (C) 2009--2017 by Hironori Kitagawa.
-%
-% This patch is derived from om16bit.ch and omfi.ch (both in Omega).
-% (Omega is copyright by John Plaice and Yannis Haralambous.)
-%
-%-----------------------------------------------
-@x
-@d hyph_prime=607 {another prime for hashing \.{\\hyphenation} exceptions;
- if you change this, you should also change |iinf_hyphen_size|.}
-@y
-@d hyph_prime=607 {another prime for hashing \.{\\hyphenation} exceptions;
- if you change this, you should also change |iinf_hyphen_size|.}
-@d text_size=0 {size code for the largest size in a family}
-@d script_size=256 {size code for the medium size in a family}
-@d script_script_size=512 {size code for the smallest size in a family}
-@z
-%-----------------------------------------------
-@x
-@d not_found4=49 {like |not_found|, when there's more than four}
-@y
-@d not_found4=49 {like |not_found|, when there's more than four}
-@d not_found5=50 {like |not_found|, when there's more than five}
-@z
-%-----------------------------------------------
-@x
-specifies the order of infinity to which glue setting applies (|normal|,
-|fil|, |fill|, or |filll|). The |subtype| field is not used in \TeX.
-@y
-specifies the order of infinity to which glue setting applies (|normal|,
-|sfi|, |fil|, |fill|, or |filll|). The |subtype| field is not used in \TeX.
-@z
-%-----------------------------------------------
-@x
-orders of infinity (|normal|, |fil|, |fill|, or |filll|)
-@y
-orders of infinity (|normal|, |sfi|, |fil|, |fill|, or |filll|)
-@z
-%-----------------------------------------------
-@x
-@d fil=1 {first-order infinity}
-@d fill=2 {second-order infinity}
-@d filll=3 {third-order infinity}
-@y
-@d sfi=1 {first-order infinity}
-@d fil=2 {second-order infinity}
-@d fill=3 {third-order infinity}
-@d filll=4 {fourth-order infinity}
-@z
-%-----------------------------------------------
-@x
-@!glue_ord=normal..filll; {infinity to the 0, 1, 2, or 3 power}
-@y
-@!glue_ord=normal..filll; {infinity to the 0, 1, 2, 3, or 4 power}
-@z
-%-----------------------------------------------
-@x
-@d fil_glue==zero_glue+glue_spec_size {\.{0pt plus 1fil minus 0pt}}
-@y
-@d sfi_glue==zero_glue+glue_spec_size {\.{0pt plus 1fi minus 0pt}}
-@d fil_glue==sfi_glue+glue_spec_size {\.{0pt plus 1fil minus 0pt}}
-@z
-%-----------------------------------------------
-@x
-stretch(fil_glue):=unity; stretch_order(fil_glue):=fil;@/
-stretch(fill_glue):=unity; stretch_order(fill_glue):=fill;@/
-@y
-stretch(sfi_glue):=unity; stretch_order(sfi_glue):=sfi;@/
-stretch(fil_glue):=unity; stretch_order(fil_glue):=fil;@/
-stretch(fill_glue):=unity; stretch_order(fill_glue):=fill;@/
-@z
-%-----------------------------------------------
-@x
- begin print("fil");
- while order>fil do
-@y
- begin print("fi");
- while order>sfi do
-@z
-%-----------------------------------------------
-@x
-@d last_item=math_given+1 {most recent item ( \.{\\lastpenalty},
-@y
-@d omath_given=math_given+1 {math code defined by \.{\\omathchardef}}
-@d last_item=omath_given+1 {most recent item ( \.{\\lastpenalty},
-@z
-%-----------------------------------------------
-@x
-@d math_font_base=cur_font_loc+1 {table of 48 math font numbers}
-@d cur_jfont_loc=math_font_base+48
-@y
-@d math_font_base=cur_font_loc+1 {table of 768 math font numbers}
-@d cur_jfont_loc=math_font_base+768
-@z
-%-----------------------------------------------
-@x
-@d var_code==@'70000 {math code meaning ``use the current family''}
-@y
-@d var_code==@"70000 {math code meaning ``use the current family''}
-@z
-%-----------------------------------------------
-@x
-for k:=math_font_base to math_font_base+47 do eqtb[k]:=eqtb[cur_font_loc];
-@y
-for k:=math_font_base to math_font_base+767 do eqtb[k]:=eqtb[cur_font_loc];
-@z
-%-----------------------------------------------
-@x
-begin if n=cur_font_loc then print("current font")
-else if n<math_font_base+16 then
- begin print_esc("textfont"); print_int(n-math_font_base);
- end
-else if n<math_font_base+32 then
- begin print_esc("scriptfont"); print_int(n-math_font_base-16);
- end
-else begin print_esc("scriptscriptfont"); print_int(n-math_font_base-32);
-@y
-begin if n=cur_font_loc then print("current font")
-else if n<math_font_base+script_size then
- begin print_esc("textfont"); print_int(n-math_font_base);
- end
-else if n<math_font_base+script_script_size then
- begin print_esc("scriptfont"); print_int(n-math_font_base-script_size);
- end
-else begin print_esc("scriptscriptfont");
- print_int(n-math_font_base-script_script_size);
-@z
-%-----------------------------------------------
-@x
-@d del_code(#)==eqtb[del_code_base+#].int
-@y
-@d del_code(#)==eqtb[del_code_base+#].int
-@d del_code1(#)==getintone(eqtb[del_code_base+#])
-@z
-%-----------------------------------------------
-@x
-for k:=0 to 255 do del_code(k):=-1;
-del_code("."):=0; {this null delimiter is used in error recovery}
-@y
-for k:=0 to 255 do
- begin del_code(k):=-1; setintone(eqtb[del_code_base+k],-1);
- end;
-del_code("."):=0; setintone(eqtb[del_code_base+"."],0);
- {this null delimiter is used in error recovery}
-@z
-%-----------------------------------------------
-@x
-primitive("delimiter",delim_num,0);@/
-@!@:delimiter_}{\.{\\delimiter} primitive@>
-@y
-primitive("delimiter",delim_num,0);@/
-@!@:delimiter_}{\.{\\delimiter} primitive@>
-primitive("odelimiter",delim_num,1);@/
-@!@:delimiter_}{\.{\\odelimiter} primitive@>
-@z
-%-----------------------------------------------
-@x
-primitive("mathaccent",math_accent,0);@/
-@!@:math_accent_}{\.{\\mathaccent} primitive@>
-primitive("mathchar",math_char_num,0);@/
-@!@:math_char_}{\.{\\mathchar} primitive@>
-@y
-primitive("mathaccent",math_accent,0);@/
-@!@:math_accent_}{\.{\\mathaccent} primitive@>
-primitive("mathchar",math_char_num,0);@/
-@!@:math_char_}{\.{\\mathchar} primitive@>
-primitive("omathaccent",math_accent,1);@/
-@!@:math_accent_}{\.{\\omathaccent} primitive@>
-primitive("omathchar",math_char_num,1);@/
-@!@:math_char_}{\.{\\omathchar} primitive@>
-@z
-%-----------------------------------------------
-@x
-primitive("radical",radical,0);@/
-@!@:radical_}{\.{\\radical} primitive@>
-@y
-primitive("radical",radical,0);@/
-@!@:radical_}{\.{\\radical} primitive@>
-primitive("oradical",radical,1);@/
-@!@:radical_}{\.{\\oradical} primitive@>
-@z
-%-----------------------------------------------
-@x
-delim_num: print_esc("delimiter");
-@y
-delim_num: if chr_code=0 then print_esc("delimiter")
- else print_esc("odelimiter");
-@z
-@x
-math_accent: print_esc("mathaccent");
-math_char_num: print_esc("mathchar");
-@y
-math_accent: if chr_code=0 then print_esc("mathaccent")
- else print_esc("omathaccent");
-math_char_num: if chr_code=0 then print_esc("mathchar")
- else print_esc("omathchar");
-@z
-@x
-radical: print_esc("radical");
-@y
-radical: if chr_code=0 then print_esc("radical")
- else print_esc("oradical");
-@z
-%-----------------------------------------------
-@x
-@p procedure eq_word_define(@!p:pointer;@!w:integer);
-label exit;
-begin if eTeX_ex and(eqtb[p].int=w) then
- begin assign_trace(p,"reassigning")@;@/
- return;
- end;
-assign_trace(p,"changing")@;@/
-if xeq_level[p]<>cur_level then
- begin eq_save(p,xeq_level[p]); xeq_level[p]:=cur_level;
- end;
-eqtb[p].int:=w;
-assign_trace(p,"into")@;@/
-exit:end;
-@y
-@p procedure eq_word_define(@!p:pointer;@!w:integer);
-label exit;
-begin if eTeX_ex and(eqtb[p].int=w) then
- begin assign_trace(p,"reassigning")@;@/
- return;
- end;
-assign_trace(p,"changing")@;@/
-if xeq_level[p]<>cur_level then
- begin eq_save(p,xeq_level[p]); xeq_level[p]:=cur_level;
- end;
-eqtb[p].int:=w;
-assign_trace(p,"into")@;@/
-exit:end;
-@#
-procedure del_eq_word_define(@!p:pointer;@!w,wone:integer);
-label exit;
-begin if eTeX_ex and(eqtb[p].int=w)and(getintone(eqtb[p])=wone) then
- begin assign_trace(p,"reassigning")@;@/
- return;
- end;
-assign_trace(p,"changing")@;@/
-if xeq_level[p]<>cur_level then
- begin eq_save(p,xeq_level[p]); xeq_level[p]:=cur_level;
- end;
-eqtb[p].int:=w; setintone(eqtb[p],wone);
-assign_trace(p,"into")@;@/
-exit:end;
-@z
-%-----------------------------------------------
-@x
-procedure geq_word_define(@!p:pointer;@!w:integer); {global |eq_word_define|}
-begin assign_trace(p,"globally changing")@;@/
-begin eqtb[p].int:=w; xeq_level[p]:=level_one;
-end;
-assign_trace(p,"into")@;@/
-end;
-@y
-procedure geq_word_define(@!p:pointer;@!w:integer); {global |eq_word_define|}
-begin assign_trace(p,"globally changing")@;@/
-begin eqtb[p].int:=w; xeq_level[p]:=level_one;
-end;
-assign_trace(p,"into")@;@/
-end;
-@#
-procedure del_geq_word_define(@!p:pointer;@!w,wone:integer);
- {global |del_eq_word_define|}
-begin assign_trace(p,"globally changing")@;@/
-begin eqtb[p].int:=w; setintone(eqtb[p],wone); xeq_level[p]:=level_one;
-end;
-assign_trace(p,"into")@;@/
-end;
-@z
-%-----------------------------------------------
-@x
-@d tok_val=5 {token lists}
-
-@<Glob...@>=
-@!cur_val:integer; {value returned by numeric scanners}
-@y
-@d tok_val=5 {token lists}
-
-@<Glob...@>=
-@!cur_val:integer; {value returned by numeric scanners}
-@!cur_val1:integer;
-@z
-%-----------------------------------------------
-@x
-char_given,math_given: scanned_result(cur_chr)(int_val);
-@y
-omath_given,
-char_given,math_given: scanned_result(cur_chr)(int_val);
-@z
-%-----------------------------------------------
-@x
-@ @<Fetch a character code from some table@>=
-begin
-if m=math_code_base then
- begin scan_ascii_num;
- scanned_result(ho(math_code(cur_val)))(int_val); end
-@y
-@ @<Fetch a character code from some table@>=
-begin
-if m=math_code_base then begin
- scan_ascii_num; cur_val1:=ho(math_code(cur_val));
- if ((cur_val1 div @"10000)>8) or
- (((cur_val1 mod @"10000) div @"100)>15) then
- begin print_err("Extended mathchar used as mathchar");
-@.Bad mathchar@>
- help2("A mathchar number must be between 0 and ""7FFF.")@/
- ("I changed this one to zero."); int_error(cur_val1);
- scanned_result(0)(int_val)
- end;
- cur_val1:=(cur_val1 div @"10000)*@"1000+cur_val1 mod @"1000;
- scanned_result(cur_val1)(int_val);
- end
-else if m=(math_code_base+128) then begin
- scan_ascii_num; cur_val1:=ho(math_code(cur_val));
- cur_val:=(cur_val1 div @"10000) * @"1000000
- +((cur_val1 div @"100) mod @"100) * @"10000
- +(cur_val1 mod @"100);
- scanned_result(cur_val)(int_val);
- end
-else if m=del_code_base then begin
- scan_ascii_num; cur_val1:=del_code(cur_val); cur_val:=del_code1(cur_val);
- if ((cur_val1 div @"100) mod @"100 >= 16) or (cur_val>=@"1000) then
- begin print_err("Extended delimiter code used as delcode");
-@.Bad delimiter code@>
- help2("A numeric delimiter code must be between 0 and 2^{27}-1.")@/
- ("I changed this one to zero."); error;
- scanned_result(0)(int_val);
- end
- else if cur_val1<0 then
- scanned_result(cur_val)(int_val)
- else
- scanned_result(cur_val1*@"1000+cur_val)(int_val);
- end
-else if m=(del_code_base+128) then begin
- { Aleph seems \.{\\odelcode} always returns $-1$.}
- scan_ascii_num; scanned_result(-1)(int_val);
- end
-@z
-%-----------------------------------------------
-@x
-procedure scan_four_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>15) then
- begin print_err("Bad number");
-@.Bad number@>
- help2("Since I expected to read a number between 0 and 15,")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-end;
-@y
-procedure scan_four_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>15) then
- begin print_err("Bad number");
-@.Bad number@>
- help2("Since I expected to read a number between 0 and 15,")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-end;
-@#
-procedure scan_big_four_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>255) then
- begin print_err("Bad number");
-@.Bad register code@>
- help2("Since I expected to read a number between 0 and 255,")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-end;
-@z
-%-----------------------------------------------
-@x
-procedure scan_fifteen_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>@'77777) then
- begin print_err("Bad mathchar");
-@.Bad mathchar@>
- help2("A mathchar number must be between 0 and 32767.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-end;
-@y
-procedure scan_fifteen_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>@'77777) then
- begin print_err("Bad mathchar");
-@.Bad mathchar@>
- help2("A mathchar number must be between 0 and 32767.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-cur_val:=((cur_val div @"1000) * @"10000)+(cur_val mod @"1000);
-end;
-@#
-procedure scan_real_fifteen_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>@'77777) then
- begin print_err("Bad mathchar");
-@.Bad mathchar@>
- help2("A mathchar number must be between 0 and 32767.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-end;
-@#
-procedure scan_big_fifteen_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>@"7FFFFFF) then
- begin print_err("Bad extended mathchar");
-@.Bad mathchar@>
- help2("An extended mathchar number must be between 0 and ""7FFFFFF.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-{ e-pTeX doesn't support 65536 characters for math font. }
-cur_val:=((cur_val div @"10000) * @"100)+(cur_val mod @"100);
-end;
-@#
-procedure scan_omega_fifteen_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>@"7FFFFFF) then
- begin print_err("Bad extended mathchar");
-@.Bad mathchar@>
- help2("An extended mathchar number must be between 0 and ""7FFFFFF.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-end;
-@z
-%-----------------------------------------------
-@x
-procedure scan_twenty_seven_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>@'777777777) then
- begin print_err("Bad delimiter code");
-@.Bad delimiter code@>
- help2("A numeric delimiter code must be between 0 and 2^{27}-1.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-end;
-@y
-procedure scan_twenty_seven_bit_int;
-begin scan_int;
-if (cur_val<0)or(cur_val>@'777777777) then
- begin print_err("Bad delimiter code");
-@.Bad delimiter code@>
- help2("A numeric delimiter code must be between 0 and 2^{27}-1.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-cur_val1 := cur_val mod @"1000; cur_val := cur_val div @"1000;
-cur_val := ((cur_val div @"1000) * @"10000) + (cur_val mod @"1000);
-end;
-@#
-procedure scan_fifty_one_bit_int;
-var iiii:integer;
-begin scan_int;
-if (cur_val<0)or(cur_val>@'777777777) then
- begin print_err("Bad delimiter code");
-@.Bad delimiter code@>
- help2("A numeric delimiter (first part) must be between 0 and 2^{27}-1.")
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-iiii:=((cur_val div @"10000) * @"100) + (cur_val mod @"100);
-scan_int;
-if (cur_val<0)or(cur_val>@"FFFFFF) then
- begin print_err("Bad delimiter code");
-@.Bad delimiter code@>
-help2("A numeric delimiter (second part) must be between 0 and 2^{24}-1.")@/
- ("I changed this one to zero."); int_error(cur_val); cur_val:=0;
- end;
-{ e-pTeX doesn't support 65536 characters for math font. }
-cur_val1:=((cur_val div @"10000) * @"100) + (cur_val mod @"100);
-cur_val:=iiii;
-end;
-@z
-%-----------------------------------------------
-@x
-@<Scan for \(f)\.{fil} units...@>=
-if scan_keyword("fil") then
-@.fil@>
- begin cur_order:=fil;
-@y
-@<Scan for \(f)\.{fil} units...@>=
-if scan_keyword("fi") then
-@.fil@>
- begin cur_order:=sfi;
-@z
-%-----------------------------------------------
-@x
-else if cur_cmd=def_family then
- begin m:=cur_chr; scan_four_bit_int; f:=equiv(m+cur_val);
-@y
-else if cur_cmd=def_family then
- begin m:=cur_chr; scan_big_four_bit_int; f:=equiv(m+cur_val);
-@z
-%-----------------------------------------------
-@x
-total_stretch[normal]:=0; total_shrink[normal]:=0;
-@y
-total_stretch[normal]:=0; total_shrink[normal]:=0;
-total_stretch[sfi]:=0; total_shrink[sfi]:=0;
-@z
-%-----------------------------------------------
-@x
-else if total_stretch[fil]<>0 then o:=fil
-@y
-else if total_stretch[fil]<>0 then o:=fil
-else if total_stretch[sfi]<>0 then o:=sfi
-@z
-%-----------------------------------------------
-@x
-else if total_shrink[fil]<>0 then o:=fil
-@y
-else if total_shrink[fil]<>0 then o:=fil
-else if total_shrink[sfi]<>0 then o:=sfi
-@z
-%-----------------------------------------------
-@x
-\yskip\hang|math_type(q)=math_char| means that |fam(q)| refers to one of
-the sixteen font families, and |character(q)| is the number of a character
-@y
-\yskip\hang|math_type(q)=math_char| means that |fam(q)| refers to one of
-the 256 font families, and |character(q)| is the number of a character
-@z
-%-----------------------------------------------
-@x
-procedure print_fam_and_char(@!p:pointer;@!t:small_number);
-@y
-procedure print_fam_and_char(@!p:pointer;@!t:integer);
-@z
-%-----------------------------------------------
-@x
-other font information. A size code, which is a multiple of 16, is added to a
-family number to get an index into the table of internal font numbers
-for each combination of family and size. (Be alert: Size codes get
-larger as the type gets smaller.)
-
-@d text_size=0 {size code for the largest size in a family}
-@d script_size=16 {size code for the medium size in a family}
-@d script_script_size=32 {size code for the smallest size in a family}
-@y
-other font information. A size code, which is a multiple of 256, is added to a
-family number to get an index into the table of internal font numbers
-for each combination of family and size. (Be alert: Size codes get
-larger as the type gets smaller.)
-@z
-%-----------------------------------------------
-@x
-else cur_size:=16*((cur_style-text_style) div 2);
-@y
-else cur_size:=script_size*((cur_style-text_style) div 2);
-@z
-%-----------------------------------------------
-@x
-function var_delimiter(@!d:pointer;@!s:small_number;@!v:scaled):pointer;
-@y
-function var_delimiter(@!d:pointer;@!s:integer;@!v:scaled):pointer;
-@z
-%-----------------------------------------------
-@x
-@!hd: eight_bits; {height-depth byte}
-@!r: four_quarters; {extensible pieces}
-@!z: small_number; {runs through font family members}
-@y
-@!hd: eight_bits; {height-depth byte}
-@!r: four_quarters; {extensible pieces}
-@!z: integer; {runs through font family members}
-@z
-%-----------------------------------------------
-@x
- begin z:=z+s+16;
- repeat z:=z-16; g:=fam_fnt(z);
-@y
- begin z:=z+s+script_size;
- repeat z:=z-script_size; g:=fam_fnt(z);
-@z
-%-----------------------------------------------
-@x
- until z<16;
-@y
- until z<script_size;
-@z
-%-----------------------------------------------
-@x
-@!cur_mlist:pointer; {beginning of mlist to be translated}
-@!cur_style:small_number; {style code at current place in the list}
-@!cur_size:small_number; {size code corresponding to |cur_style|}
-@y
-@!cur_mlist:pointer; {beginning of mlist to be translated}
-@!cur_style:small_number; {style code at current place in the list}
-@!cur_size:integer; {size code corresponding to |cur_style|}
-@z
-%-----------------------------------------------
-@x
-@!p,@!x,@!y,@!z: pointer; {temporary registers for list construction}
-@!pen:integer; {a penalty to be inserted}
-@!s:small_number; {the size of a noad to be deleted}
-@y
-@!p,@!x,@!y,@!z: pointer; {temporary registers for list construction}
-@!pen:integer; {a penalty to be inserted}
-@!s:integer; {the size of a noad to be deleted}
-@z
-%-----------------------------------------------
-@x
-procedure make_scripts(@!q:pointer;@!delta:scaled);
-var p,@!x,@!y,@!z:pointer; {temporary registers for box construction}
-@!shift_up,@!shift_down,@!clr:scaled; {dimensions in the calculation}
-@!t:small_number; {subsidiary size code}
-@y
-procedure make_scripts(@!q:pointer;@!delta:scaled);
-var p,@!x,@!y,@!z:pointer; {temporary registers for box construction}
-@!shift_up,@!shift_down,@!clr:scaled; {dimensions in the calculation}
-@!t:integer; {subsidiary size code}
-@z
-%-----------------------------------------------
-@x
-contains six scaled numbers, since it must record the net change in glue
-stretchability with respect to all orders of infinity. The natural width
-difference appears in |mem[q+1].sc|; the stretch differences in units of
-pt, fil, fill, and filll appear in |mem[q+2..q+5].sc|; and the shrink difference
-appears in |mem[q+6].sc|. The |subtype| field of a delta node is not used.
-
-@d delta_node_size=7 {number of words in a delta node}
-@y
-contains seven scaled numbers, since it must record the net change in glue
-stretchability with respect to all orders of infinity. The natural width
-difference appears in |mem[q+1].sc|; the stretch differences in units of
-pt, sfi, fil, fill, and filll appear in |mem[q+2..q+6].sc|; and the shrink
-difference appears in |mem[q+7].sc|. The |subtype| field of a delta node
-is not used.
-
-@d delta_node_size=8 {number of words in a delta node}
-@z
-%-----------------------------------------------
-@x
-@ As the algorithm runs, it maintains a set of six delta-like registers
-for the length of the line following the first active breakpoint to the
-current position in the given hlist. When it makes a pass through the
-active list, it also maintains a similar set of six registers for the
-@y
-@ As the algorithm runs, it maintains a set of seven delta-like registers
-for the length of the line following the first active breakpoint to the
-current position in the given hlist. When it makes a pass through the
-active list, it also maintains a similar set of seven registers for the
-@z
-%-----------------------------------------------
-@x
-k:=1 to 6 do cur_active_width[k]:=cur_active_width[k]+mem[q+k].sc|};$$ and we
-want to do this without the overhead of |for| loops. The |do_all_six|
-macro makes such six-tuples convenient.
-
-@d do_all_six(#)==#(1);#(2);#(3);#(4);#(5);#(6)
-@y
-k:=1 to 7 do cur_active_width[k]:=cur_active_width[k]+mem[q+k].sc|};$$ and we
-want to do this without the overhead of |for| loops. The |do_all_six|
-macro makes such seven-tuples convenient.
-
-@d do_all_six(#)==#(1);#(2);#(3);#(4);#(5);#(6);#(7)
-@z
-%-----------------------------------------------
-@x
-@!active_width:array[1..6] of scaled;
- {distance from first active node to~|cur_p|}
-@!cur_active_width:array[1..6] of scaled; {distance from current active node}
-@!background:array[1..6] of scaled; {length of an ``empty'' line}
-@!break_width:array[1..6] of scaled; {length being computed after current break}
-@y
-@!active_width:array[1..7] of scaled;
- {distance from first active node to~|cur_p|}
-@!cur_active_width:array[1..7] of scaled; {distance from current active node}
-@!background:array[1..7] of scaled; {length of an ``empty'' line}
-@!break_width:array[1..7] of scaled; {length being computed after current break}
-@z
-%-----------------------------------------------
-@x
-background[2]:=0; background[3]:=0; background[4]:=0; background[5]:=0;@/
-background[2+stretch_order(q)]:=stretch(q);@/
-background[2+stretch_order(r)]:=@|background[2+stretch_order(r)]+stretch(r);@/
-background[6]:=shrink(q)+shrink(r);
-@y
-background[2]:=0; background[3]:=0; background[4]:=0; background[5]:=0;@/
-background[6]:=0;@/
-background[2+stretch_order(q)]:=stretch(q);@/
-background[2+stretch_order(r)]:=@|background[2+stretch_order(r)]+stretch(r);@/
-background[7]:=shrink(q)+shrink(r);
-@z
-%-----------------------------------------------
-@x
- break_width[6]:=break_width[6]-shrink(cur_kanji_skip);
-@y
- break_width[7]:=break_width[7]-shrink(cur_kanji_skip);
-@z
-%-----------------------------------------------
-@x
-break_width[6]:=break_width[6]-shrink(v);
-@y
-break_width[7]:=break_width[7]-shrink(v);
-@z
-%-----------------------------------------------
-@x
-subarray |cur_active_width[2..5]|, in units of points, fil, fill, and filll.
-@y
-subarray |cur_active_width[2..6]|, in units of points, sfi, fil, fill and filll.
-@z
-%-----------------------------------------------
-@x
-if (cur_active_width[3]<>0)or(cur_active_width[4]<>0)or@|
- (cur_active_width[5]<>0) then
-@y
-if (cur_active_width[3]<>0)or(cur_active_width[4]<>0)or@|
- (cur_active_width[5]<>0)or(cur_active_width[6]<>0) then
-@z
-%-----------------------------------------------
-@x
-@ Shrinkability is never infinite in a paragraph;
-we can shrink the line from |r| to |cur_p| by at most |cur_active_width[6]|.
-
-@<Set the value of |b| to the badness for shrinking...@>=
-begin if -shortfall>cur_active_width[6] then b:=inf_bad+1
-else b:=badness(-shortfall,cur_active_width[6]);
-@y
-@ Shrinkability is never infinite in a paragraph;
-we can shrink the line from |r| to |cur_p| by at most |cur_active_width[7]|.
-
-@<Set the value of |b| to the badness for shrinking...@>=
-begin if -shortfall>cur_active_width[7] then b:=inf_bad+1
-else b:=badness(-shortfall,cur_active_width[7]);
-@z
-%-----------------------------------------------
-@x
- active_width[6]:=active_width[6]+shrink(cur_kanji_skip);
-@y
- active_width[7]:=active_width[7]+shrink(cur_kanji_skip);
-@z
-%-----------------------------------------------
-@x
-active_width[6]:=active_width[6]+shrink(q)
-@y
-active_width[7]:=active_width[7]+shrink(q)
-@z
-%-----------------------------------------------
-@x
- if (active_height[3]<>0) or (active_height[4]<>0) or
- (active_height[5]<>0) then b:=0
- else b:=badness(h-cur_height,active_height[2])
-else if cur_height-h>active_height[6] then b:=awful_bad
-else b:=badness(cur_height-h,active_height[6])
-@y
- if (active_height[3]<>0) or (active_height[4]<>0) or
- (active_height[5]<>0) or (active_height[6]<>0) then b:=0
- else b:=badness(h-cur_height,active_height[2])
-else if cur_height-h>active_height[7] then b:=awful_bad
-else b:=badness(cur_height-h,active_height[7])
-@z
-%-----------------------------------------------
-@x
- active_height[6]:=active_height[6]+shrink(q);
-@y
- active_height[7]:=active_height[7]+shrink(q);
-@z
-%-----------------------------------------------
-@x
-on the current page. This array contains six |scaled| numbers, like the
-@y
-on the current page. This array contains seven |scaled| numbers, like the
-@z
-%-----------------------------------------------
-@x
-@d page_shrink==page_so_far[6] {shrinkability of the current page}
-@d page_depth==page_so_far[7] {depth of the current page}
-@y
-@d page_shrink==page_so_far[7] {shrinkability of the current page}
-@d page_depth==page_so_far[8] {depth of the current page}
-@z
-%-----------------------------------------------
-@x
-@<Glob...@>=
-@!page_so_far:array [0..7] of scaled; {height and glue of the current page}
-@y
-@<Glob...@>=
-@!page_so_far:array [0..8] of scaled; {height and glue of the current page}
-@z
-%-----------------------------------------------
-@x
-primitive("pagefilstretch",set_page_dimen,3);
-@!@:page_fil_stretch_}{\.{\\pagefilstretch} primitive@>
-primitive("pagefillstretch",set_page_dimen,4);
-@!@:page_fill_stretch_}{\.{\\pagefillstretch} primitive@>
-primitive("pagefilllstretch",set_page_dimen,5);
-@!@:page_filll_stretch_}{\.{\\pagefilllstretch} primitive@>
-primitive("pageshrink",set_page_dimen,6);
-@!@:page_shrink_}{\.{\\pageshrink} primitive@>
-primitive("pagedepth",set_page_dimen,7);
-@!@:page_depth_}{\.{\\pagedepth} primitive@>
-@y
-primitive("pagefistretch",set_page_dimen,3);
-@!@:page_fi_stretch_}{\.{\\pagefistretch} primitive@>
-primitive("pagefilstretch",set_page_dimen,4);
-@!@:page_fil_stretch_}{\.{\\pagefilstretch} primitive@>
-primitive("pagefillstretch",set_page_dimen,5);
-@!@:page_fill_stretch_}{\.{\\pagefillstretch} primitive@>
-primitive("pagefilllstretch",set_page_dimen,6);
-@!@:page_filll_stretch_}{\.{\\pagefilllstretch} primitive@>
-primitive("pageshrink",set_page_dimen,7);
-@!@:page_shrink_}{\.{\\pageshrink} primitive@>
-primitive("pagedepth",set_page_dimen,8);
-@!@:page_depth_}{\.{\\pagedepth} primitive@>
-@z
-%-----------------------------------------------
-@x
-3: print_esc("pagefilstretch");
-4: print_esc("pagefillstretch");
-5: print_esc("pagefilllstretch");
-6: print_esc("pageshrink");
-@y
-3: print_esc("pagefistretch");
-4: print_esc("pagefilstretch");
-5: print_esc("pagefillstretch");
-6: print_esc("pagefilllstretch");
-7: print_esc("pageshrink");
-@z
-%-----------------------------------------------
-@x
-print_plus(3)("fil");
-print_plus(4)("fill");
-print_plus(5)("filll");
-@y
-print_plus(3)("fi");
-print_plus(4)("fil");
-print_plus(5)("fill");
-print_plus(6)("filll");
-@z
-%-----------------------------------------------
-@x
- if (page_so_far[3]<>0) or (page_so_far[4]<>0) or@|
- (page_so_far[5]<>0) then b:=0
-@y
- if (page_so_far[3]<>0) or (page_so_far[4]<>0) or@|
- (page_so_far[5]<>0) or (page_so_far[6]<>0) then b:=0
-@z
-%-----------------------------------------------
-@x
-non_math(math_given), non_math(math_comp), non_math(delim_num),
-@y
-non_math(math_given), non_math(omath_given),
-non_math(math_comp), non_math(delim_num),
-@z
-%-----------------------------------------------
-@x
-@d fil_code=0 {identifies \.{\\hfil} and \.{\\vfil}}
-@d fill_code=1 {identifies \.{\\hfill} and \.{\\vfill}}
-@d ss_code=2 {identifies \.{\\hss} and \.{\\vss}}
-@d fil_neg_code=3 {identifies \.{\\hfilneg} and \.{\\vfilneg}}
-@d skip_code=4 {identifies \.{\\hskip} and \.{\\vskip}}
-@d mskip_code=5 {identifies \.{\\mskip}}
-@y
-@d sfi_code=0 {identifies \.{\\hfi} and \.{\\vfi}}
-@d fil_code=1 {identifies \.{\\hfil} and \.{\\vfil}}
-@d fill_code=2 {identifies \.{\\hfill} and \.{\\vfill}}
-@d ss_code=3 {identifies \.{\\hss} and \.{\\vss}}
-@d fil_neg_code=4 {identifies \.{\\hfilneg} and \.{\\vfilneg}}
-@d skip_code=5 {identifies \.{\\hskip} and \.{\\vskip}}
-@d mskip_code=6 {identifies \.{\\mskip}}
-@z
-%-----------------------------------------------
-@x
-primitive("hfil",hskip,fil_code);
-@!@:hfil_}{\.{\\hfil} primitive@>
-@y
-primitive("hfi",hskip,sfi_code);
-@!@:hfi_}{\.{\\hfi} primitive@>
-primitive("hfil",hskip,fil_code);
-@!@:hfil_}{\.{\\hfil} primitive@>
-@z
-%-----------------------------------------------
-@x
-primitive("vfil",vskip,fil_code);
-@!@:vfil_}{\.{\\vfil} primitive@>
-@y
-primitive("vfi",vskip,sfi_code);
-@!@:vfi_}{\.{\\vfi} primitive@>
-primitive("vfil",vskip,fil_code);
-@!@:vfil_}{\.{\\vfil} primitive@>
-@z
-%-----------------------------------------------
-@x
-hskip: case chr_code of
- skip_code:print_esc("hskip");
-@y
-hskip: case chr_code of
- skip_code:print_esc("hskip");
- sfi_code:print_esc("hfi");
-@z
-%-----------------------------------------------
-@x
-vskip: case chr_code of
- skip_code:print_esc("vskip");
-@y
-vskip: case chr_code of
- skip_code:print_esc("vskip");
- sfi_code:print_esc("vfi");
-@z
-%-----------------------------------------------
-@x
-begin s:=cur_chr;
-case s of
-fil_code: cur_val:=fil_glue;
-@y
-begin s:=cur_chr;
-case s of
-sfi_code: cur_val:=sfi_glue;
-fil_code: cur_val:=fil_glue;
-@z
-%-----------------------------------------------
-@x
-|global_box_flag-1| represent `\.{\\setbox0}' through `\.{\\setbox32767}';
-codes |global_box_flag| through |ship_out_flag-1| represent
-`\.{\\global\\setbox0}' through `\.{\\global\\setbox32767}';
-@y
-|global_box_flag-1| represent `\.{\\setbox0}' through `\.{\\setbox65535}';
-codes |global_box_flag| through |ship_out_flag-1| represent
-`\.{\\global\\setbox0}' through `\.{\\global\\setbox65535}';
-@z
-%-----------------------------------------------
-@x
-@d box_flag==@'10000000000 {context code for `\.{\\setbox0}'}
-@d global_box_flag==@'10000100000 {context code for `\.{\\global\\setbox0}'}
-@d ship_out_flag==@'10000200000 {context code for `\.{\\shipout}'}
-@d leader_flag==@'10000200001 {context code for `\.{\\leaders}'}
-@y
-@d box_flag==@"40000000 {context code for `\.{\\setbox0}'}
-@d global_box_flag==@"40010000 {context code for `\.{\\global\\setbox0}'}
-@d ship_out_flag==@"40020000 {context code for `\.{\\shipout}'}
-@d leader_flag==@"40020001 {context code for `\.{\\leaders}'}
-@z
-%-----------------------------------------------
-@x
-@d fam_in_range==((cur_fam>=0)and(cur_fam<16))
-@y
-@d fam_in_range==((cur_fam>=0)and(cur_fam<script_size))
-@z
-%-----------------------------------------------
-@x
- c:=ho(math_code(cur_chr));
- if c=@'100000 then
-@y
- c:=ho(math_code(cur_chr));
- if c=@"80000 then
-@z
-%-----------------------------------------------
-@x
-math_char_num: begin scan_fifteen_bit_int; c:=cur_val;
- end;
-math_given: c:=cur_chr;
-delim_num: begin scan_twenty_seven_bit_int; c:=cur_val div @'10000;
-@y
-math_char_num: begin
- if cur_chr=0 then scan_fifteen_bit_int
- else scan_big_fifteen_bit_int;
- c:=cur_val;
- end;
-math_given: c:=((cur_chr div @"1000) * @"10000) + (cur_chr mod @"1000);
-omath_given: c:=((cur_chr div @"10000) * @"100) + (cur_chr mod @"100);
-delim_num: begin
- if cur_chr=0 then scan_twenty_seven_bit_int
- else scan_fifty_one_bit_int;
- c:=cur_val;
-@z
-%-----------------------------------------------
-@x
- if (c>=var_code)and(fam_in_range) then fam(p):=cur_fam
- else fam(p):=(c div 256) mod 16;
-@y
- if (c>=var_code)and(fam_in_range) then fam(p):=cur_fam
- else fam(p):=(c div 256) mod 256;
-@z
-%-----------------------------------------------
-@x
-mmode+math_char_num: begin scan_fifteen_bit_int; set_math_char(cur_val);
- end;
-mmode+math_given: set_math_char(cur_chr);
-mmode+delim_num: begin scan_twenty_seven_bit_int;
- set_math_char(cur_val div @'10000);
-@y
-mmode+math_char_num: begin
- if cur_chr=0 then scan_fifteen_bit_int
- else scan_big_fifteen_bit_int;
- set_math_char(cur_val);
- end;
-mmode+math_given: begin
- set_math_char(((cur_chr div @"1000) * @"10000)+(cur_chr mod @"1000));
- end;
-mmode+omath_given: begin
- set_math_char(((cur_chr div @"10000) * @"100)+(cur_chr mod @"100));
- end;
-mmode+delim_num: begin
- if cur_chr=0 then scan_twenty_seven_bit_int
- else scan_fifty_one_bit_int;
- set_math_char(cur_val); {character code of left delimiter}
-@z
-%-----------------------------------------------
-@x
-procedure set_math_char(@!c:integer);
-var p:pointer; {the new noad}
-begin if c>=@'100000 then
- @<Treat |cur_chr|...@>
-else begin p:=new_noad; math_type(nucleus(p)):=math_char;
- character(nucleus(p)):=qi(c mod 256);
- fam(nucleus(p)):=(c div 256) mod 16;
- if c>=var_code then
- begin if fam_in_range then fam(nucleus(p)):=cur_fam;
- type(p):=ord_noad;
- end
- else type(p):=ord_noad+(c div @'10000);
- link(tail):=p; tail:=p;
- if font_dir[fam_fnt(fam(nucleus(p))+cur_size)]<>dir_default then begin
-@y
-procedure set_math_char(@!c:integer);
-var p:pointer; {the new noad}
-begin if c>=@"80000 then
- @<Treat |cur_chr|...@>
-else begin p:=new_noad; math_type(nucleus(p)):=math_char;
- character(nucleus(p)):=qi(c mod 256);
- fam(nucleus(p)):=(c div 256) mod 256;
- if c>=var_code then
- begin if fam_in_range then fam(nucleus(p)):=cur_fam;
- type(p):=ord_noad;
- end
- else type(p):=ord_noad+(c div @"10000);
- link(tail):=p; tail:=p;
- if font_dir[fam_fnt(fam(nucleus(p))+cur_size)]<>dir_default then begin
-@z
-%-----------------------------------------------
-@x
-@<Declare act...@>=
-procedure scan_delimiter(@!p:pointer;@!r:boolean);
-begin if r then scan_twenty_seven_bit_int
-else begin @<Get the next non-blank non-relax...@>;
- case cur_cmd of
- letter,other_char: cur_val:=del_code(cur_chr);
- delim_num: scan_twenty_seven_bit_int;
- othercases cur_val:=-1
- endcases;
- end;
-if cur_val<0 then @<Report that an invalid delimiter code is being changed
- to null; set~|cur_val:=0|@>;
-small_fam(p):=(cur_val div @'4000000) mod 16;
-small_char(p):=qi((cur_val div @'10000) mod 256);
-large_fam(p):=(cur_val div 256) mod 16;
-large_char(p):=qi(cur_val mod 256);
-end;
-@y
-@<Declare act...@>=
-procedure scan_delimiter(@!p:pointer;@!r:boolean);
-begin if r=1 then scan_twenty_seven_bit_int
-else if r=2 then scan_fifty_one_bit_int
-else begin @<Get the next non-blank non-relax...@>;
- case cur_cmd of
- letter,other_char: begin
- cur_val:=del_code(cur_chr); cur_val1:=del_code1(cur_chr);
- end;
- delim_num: if cur_chr=0 then scan_twenty_seven_bit_int
- else scan_fifty_one_bit_int;
- othercases begin cur_val:=-1; cur_val1:=-1; end;
- endcases;
- end;
-if cur_val<0 then begin @<Report that an invalid delimiter code is being changed
- to null; set~|cur_val:=0|@>;
- cur_val1:=0;
- end;
-small_fam(p):=(cur_val div @"100) mod @"100;
-small_char(p):=qi(cur_val mod @"100);
-large_fam(p):=(cur_val1 div @"100) mod @"100;
-large_char(p):=qi(cur_val1 mod @"100);
-end;
-@z
-%-----------------------------------------------
-@x
-scan_delimiter(left_delimiter(tail),true);
-@y
-scan_delimiter(left_delimiter(tail),cur_chr+1);
-@z
-%-----------------------------------------------
-@x
-scan_fifteen_bit_int;
-character(accent_chr(tail)):=qi(cur_val mod 256);
-if (cur_val>=var_code)and fam_in_range then fam(accent_chr(tail)):=cur_fam
-else fam(accent_chr(tail)):=(cur_val div 256) mod 16;
-@y
-if cur_chr=0 then scan_fifteen_bit_int
-else scan_big_fifteen_bit_int;
-character(accent_chr(tail)):=qi(cur_val mod 256);
-if (cur_val>=var_code)and fam_in_range then fam(accent_chr(tail)):=cur_fam
-else fam(accent_chr(tail)):=(cur_val div 256) mod 256;
-@z
-%-----------------------------------------------
-@x
-begin if (e<>0)and((w-total_shrink[normal]+q<=z)or@|
- (total_shrink[fil]<>0)or(total_shrink[fill]<>0)or
- (total_shrink[filll]<>0)) then
-@y
-begin if (e<>0)and((w-total_shrink[normal]+q<=z)or@|
- (total_shrink[sfi]<>0)or(total_shrink[fil]<>0)or
- (total_shrink[fill]<>0)or(total_shrink[filll]<>0)) then
-@z
-%-----------------------------------------------
-@x
-@d word_define(#)==if global then geq_word_define(#)@+else eq_word_define(#)
-@y
-@d word_define(#)==if global then geq_word_define(#)@+else eq_word_define(#)
-@d del_word_define(#)==if global
- then del_geq_word_define(#)@+else del_eq_word_define(#)
-@z
-%-----------------------------------------------
-@x
-@d count_def_code=2 {|shorthand_def| for \.{\\countdef}}
-@d dimen_def_code=3 {|shorthand_def| for \.{\\dimendef}}
-@d skip_def_code=4 {|shorthand_def| for \.{\\skipdef}}
-@d mu_skip_def_code=5 {|shorthand_def| for \.{\\muskipdef}}
-@d toks_def_code=6 {|shorthand_def| for \.{\\toksdef}}
-@d char_sub_def_code=7 {|shorthand_def| for \.{\\charsubdef}}
-@y
-@d omath_char_def_code=2 {|shorthand_def| for \.{\\omathchardef}}
-@d count_def_code=3 {|shorthand_def| for \.{\\countdef}}
-@d dimen_def_code=4 {|shorthand_def| for \.{\\dimendef}}
-@d skip_def_code=5 {|shorthand_def| for \.{\\skipdef}}
-@d mu_skip_def_code=6 {|shorthand_def| for \.{\\muskipdef}}
-@d toks_def_code=7 {|shorthand_def| for \.{\\toksdef}}
-@d char_sub_def_code=8 {|shorthand_def| for \.{\\charsubdef}}
-@z
-%-----------------------------------------------
-@x
-primitive("mathchardef",shorthand_def,math_char_def_code);@/
-@!@:math_char_def_}{\.{\\mathchardef} primitive@>
-@y
-primitive("mathchardef",shorthand_def,math_char_def_code);@/
-@!@:math_char_def_}{\.{\\mathchardef} primitive@>
-primitive("omathchardef",shorthand_def,omath_char_def_code);@/
-@!@:math_char_def_}{\.{\\omathchardef} primitive@>
-@z
-%-----------------------------------------------
-@x
- math_char_def_code: print_esc("mathchardef");
-@y
- math_char_def_code: print_esc("mathchardef");
- omath_char_def_code: print_esc("omathchardef");
-@z
-%-----------------------------------------------
-@x
-math_given: begin print_esc("mathchar"); print_hex(chr_code);
- end;
-@y
-math_given: begin print_esc("mathchar"); print_hex(chr_code);
- end;
-omath_given: begin print_esc("omathchar"); print_hex(chr_code);
- end;
-@z
-%-----------------------------------------------
-@x
- math_char_def_code: begin scan_fifteen_bit_int; define(p,math_given,cur_val);
-@y
- math_char_def_code: begin scan_real_fifteen_bit_int;
- define(p,math_given,cur_val);
- end;
- omath_char_def_code: begin scan_omega_fifteen_bit_int;
- define(p,omath_given,cur_val);
-@z
-%-----------------------------------------------
-@x
-primitive("mathcode",def_code,math_code_base);
-@!@:math_code_}{\.{\\mathcode} primitive@>
-@y
-primitive("mathcode",def_code,math_code_base);
-@!@:math_code_}{\.{\\mathcode} primitive@>
-primitive("omathcode",def_code,math_code_base+128);
-@!@:math_code_}{\.{\\omathcode} primitive@>
-@z
-%-----------------------------------------------
-@x
-primitive("delcode",def_code,del_code_base);
-@!@:del_code_}{\.{\\delcode} primitive@>
-@y
-primitive("delcode",def_code,del_code_base);
-@!@:del_code_}{\.{\\delcode} primitive@>
-primitive("odelcode",def_code,del_code_base+128);
-@!@:del_code_}{\.{\\odelcode} primitive@>
-@z
-%-----------------------------------------------
-@x
- else if chr_code=lc_code_base then print_esc("lccode")
- else if chr_code=uc_code_base then print_esc("uccode")
- else if chr_code=sf_code_base then print_esc("sfcode")
- else print_esc("delcode");
-@y
- else if chr_code=math_code_base+128 then print_esc("omathcode")
- else if chr_code=lc_code_base then print_esc("lccode")
- else if chr_code=uc_code_base then print_esc("uccode")
- else if chr_code=sf_code_base then print_esc("sfcode")
- else if chr_code=del_code_base then print_esc("delcode")
- else print_esc("odelcode");
-@z
-%-----------------------------------------------
-@x
-@<Assignments@>=
-def_code: begin
- @<Let |m| be the minimal legal code value, based on |cur_chr|@>;
- @<Let |n| be the largest legal code value, based on |cur_chr|@>;
- p:=cur_chr;
- if p=kcat_code_base then
- begin scan_char_num; p:=p+kcatcodekey(cur_val) end
- else begin scan_ascii_num; p:=p+cur_val; end;
- scan_optional_equals; scan_int;
- if ((cur_val<m)and(p<del_code_base))or(cur_val>n) then
- begin print_err("Invalid code ("); print_int(cur_val);
-@.Invalid code@>
- if p<del_code_base then
- begin print("), should be in the range "); print_int(m); print("..");
- end
- else print("), should be at most ");
- print_int(n);
- if m=0 then
- begin help1("I'm going to use 0 instead of that illegal code value.");@/
- error; cur_val:=0;
- end
- else
- begin help1("I'm going to use 16 instead of that illegal code value.");@/
- error; cur_val:=16;
- end;
- end;
- if p<math_code_base then define(p,data,cur_val)
- else if p<del_code_base then define(p,data,hi(cur_val))
- else word_define(p,cur_val);
- end;
-@y
-@<Assignments@>=
-def_code: begin
- if cur_chr=(del_code_base+128) then begin
- p:=cur_chr-128; scan_ascii_num; p:=p+cur_val; scan_optional_equals;
- scan_int; cur_val1:=cur_val; scan_int; {backwards}
- if (cur_val1>@"FFFFFF) or (cur_val>@"FFFFFF) then
- begin print_err("Invalid code ("); print_int(cur_val1); print(" ");
- print_int(cur_val);
- print("), should be at most ""FFFFFF ""FFFFFF");
- help1("I'm going to use 0 instead of that illegal code value.");@/
- error; cur_val1:=0; cur_val:=0;
- end;
- cur_val1:=(cur_val1 div @"10000)*@"100+(cur_val1 mod @"100);
- cur_val:=(cur_val div @"10000)*@"100+(cur_val mod @"100);
- del_word_define(p,cur_val1,cur_val);
- end
- else begin
- @<Let |m| be the minimal legal code value, based on |cur_chr|@>;
- @<Let |n| be the largest legal code value, based on |cur_chr|@>;
- p:=cur_chr; cur_val1:=p;
- if p=kcat_code_base then begin scan_char_num; p:=p+kcatcodekey(cur_val) end
- else begin scan_ascii_num; p:=p+cur_val; end;
- scan_optional_equals; scan_int;
- if ((cur_val<m)and(p<del_code_base))or(cur_val>n) then
- begin print_err("Invalid code ("); print_int(cur_val);
-@.Invalid code@>
- if p<del_code_base then
- begin print("), should be in the range "); print_int(m); print("..");
- end
- else print("), should be at most ");
- print_int(n);
- if m=0 then
- begin help1("I'm going to use 0 instead of that illegal code value.");@/
- error; cur_val:=0;
- end
- else
- begin help1("I'm going to use 16 instead of that illegal code value.");@/
- error; cur_val:=16;
- end;
- end;
- if p<math_code_base then define(p,data,cur_val)
- else if cur_val1=math_code_base then begin
- if cur_val=@"8000 then cur_val:=@"80000
- else cur_val:=((cur_val div @"1000)*@"10000)+(cur_val mod @"1000);
- define(p,data,hi(cur_val));
- end
- else if cur_val1=math_code_base+128 then begin
- cur_val:=((cur_val div @"10000) * @"100) + (cur_val mod @"100);
- define(p-128,data,hi(cur_val));
- end
- else if cur_val1=del_code_base then begin
- if cur_val>=0 then begin
- cur_val1:=cur_val div @"1000;
- cur_val1:=(cur_val1 div @"1000)*@"10000 + cur_val1 mod @"1000;
- cur_val:=cur_val mod @"1000;
- del_word_define(p,cur_val1,cur_val); end
- else
- del_word_define(p, -1, cur_val);
- end
- else define(p,data,cur_val);
- end;
- end;
-@z
-%-----------------------------------------------
-@x
-else if cur_chr=kcat_code_base then n:=max_char_code
-else if cur_chr=math_code_base then n:=@'100000
-@y
-else if cur_chr=kcat_code_base then n:=max_char_code
-else if cur_chr=math_code_base then n:=@"8000
-else if cur_chr=(math_code_base+128) then n:=@"8000000
-@z
-%-----------------------------------------------
-@x
-def_family: begin p:=cur_chr; scan_four_bit_int; p:=p+cur_val;
-@y
-def_family: begin p:=cur_chr; scan_big_four_bit_int; p:=p+cur_val;
-@z
-%-----------------------------------------------
-@x
-@ @<Dump regions 5 and 6 of |eqtb|@>=
-repeat j:=k;
-while j<eqtb_size do
- begin if eqtb[j].int=eqtb[j+1].int then goto found2;
- incr(j);
- end;
-l:=eqtb_size+1; goto done2; {|j=eqtb_size|}
-found2: incr(j); l:=j;
-while j<eqtb_size do
- begin if eqtb[j].int<>eqtb[j+1].int then goto done2;
-@y
-@ @<Dump regions 5 and 6 of |eqtb|@>=
-repeat j:=k;
-while j<eqtb_size do
- begin if (eqtb[j].int=eqtb[j+1].int) and@|
- (getintone(eqtb[j])=getintone(eqtb[j+1])) then goto found2;
- incr(j);
- end;
-l:=eqtb_size+1; goto done2; {|j=eqtb_size|}
-found2: incr(j); l:=j;
-while j<eqtb_size do
- begin if (eqtb[j].int<>eqtb[j+1].int)or@|
- (getintone(eqtb[j])<>getintone(eqtb[j+1])) then goto done2;
-@z
-%-----------------------------------------------
-@x
- else cur_val:=shrink_order(q);
-@y
- else cur_val:=shrink_order(q);
- if cur_val>normal then cur_val:=cur_val-1; {compatible to \eTeX}
-@z
-%-----------------------------------------------
-@x FAM256 65536 Registers
-@ \eTeX\ (in extended mode) supports 32768 (i.e., $2^{15}$) count,
-@y
-@ \epTeX\ (in extended mode) supports 65536 (i.e., $2^{16}$) count,
-@z
-%-----------------------------------------------
-@x
-Similarly there are 32768 mark classes; the command \.{\\marks}|n|
-creates a mark node for a given mark class |0<=n<=32767| (where
-@y
-Similarly there are 65536 mark classes; the command \.{\\marks}|n|
-creates a mark node for a given mark class |0<=n<=65535| (where
-@z
-%-----------------------------------------------
-@x
-not exceed 255 in compatibility mode resp.\ 32767 in extended mode.
-@y
-not exceed 255 in compatibility mode resp.\ 65535 in extended mode.
-@z
-%-----------------------------------------------
-@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
-sparse array of the up to 32512 additional registers of each kind and
-one for the sparse array of the up to 32767 additional mark classes.
-The root of each such tree, if it exists, is an index node containing 16
-pointers to subtrees for 4096 consecutive array elements. Similar index
-nodes are the starting points for all nonempty subtrees for 4096, 256,
-and 16 consecutive array elements. These four levels of index nodes are
-followed by a fifth level with nodes for the individual array elements.
-@y
-sparse array of the up to 65280 additional registers of each kind and
-one for the sparse array of the up to 65535 additional mark classes.
-The root of each such tree, if it exists, is an index node containing 16
-pointers to subtrees for 65536 consecutive array elements. Similar index
-nodes are the starting points for all nonempty subtrees for 65536, 4096,
-256, and 16 consecutive array elements. These five levels of index nodes
-are followed by a sixth level with nodes for the individual array elements.
-@z
-%-----------------------------------------------
-@x
-@d hex_dig1(#)==# div 4096 {the fourth lowest hexadecimal digit}
-@d hex_dig2(#)==(# div 256) mod 16 {the third lowest hexadecimal digit}
-@d hex_dig3(#)==(# div 16) mod 16 {the second lowest hexadecimal digit}
-@d hex_dig4(#)==# mod 16 {the lowest hexadecimal digit}
-@y
-@d hex_dig1(#)==# div 65536 {the fifth lowest hexadecimal digit}
-@d hex_dig2(#)==(# div 4096) mod 16 {the fourth lowest hexadecimal digit}
-@d hex_dig3(#)==(# div 256) mod 16 {the third lowest hexadecimal digit}
-@d hex_dig4(#)==(# div 16) mod 16 {the second lowest hexadecimal digit}
-@d hex_dig5(#)==# mod 16 {the lowest hexadecimal digit}
-@z
-%-----------------------------------------------
-@x
-procedure find_sa_element(@!t:small_number;@!n:halfword;@!w:boolean);
- {sets |cur_val| to sparse array element location or |null|}
-label not_found,not_found1,not_found2,not_found3,not_found4,exit;
-var q:pointer; {for list manipulations}
-@!i:small_number; {a four bit index}
-begin cur_ptr:=sa_root[t];
-if_cur_ptr_is_null_then_return_or_goto(not_found);@/
-q:=cur_ptr; i:=hex_dig1(n); get_sa_ptr;
-if_cur_ptr_is_null_then_return_or_goto(not_found1);@/
-q:=cur_ptr; i:=hex_dig2(n); get_sa_ptr;
-if_cur_ptr_is_null_then_return_or_goto(not_found2);@/
-q:=cur_ptr; i:=hex_dig3(n); get_sa_ptr;
-if_cur_ptr_is_null_then_return_or_goto(not_found3);@/
-q:=cur_ptr; i:=hex_dig4(n); get_sa_ptr;
-if (cur_ptr=null)and w then goto not_found4;
-return;
-not_found: new_index(t,null); {create first level index node}
-sa_root[t]:=cur_ptr; q:=cur_ptr; i:=hex_dig1(n);
-not_found1: new_index(i,q); {create second level index node}
-add_sa_ptr; q:=cur_ptr; i:=hex_dig2(n);
-not_found2: new_index(i,q); {create third level index node}
-add_sa_ptr; q:=cur_ptr; i:=hex_dig3(n);
-not_found3: new_index(i,q); {create fourth level index node}
-add_sa_ptr; q:=cur_ptr; i:=hex_dig4(n);
-not_found4: @<Create a new array element of type |t| with index |i|@>;
-link(cur_ptr):=q; add_sa_ptr;
-exit:end;
-@y
-procedure find_sa_element(@!t:small_number;@!n:halfword;@!w:boolean);
- {sets |cur_val| to sparse array element location or |null|}
-label not_found,not_found1,not_found2,not_found3,not_found4,not_found5,exit;
-var q:pointer; {for list manipulations}
-@!i:small_number; {a four bit index}
-begin cur_ptr:=sa_root[t];
-if_cur_ptr_is_null_then_return_or_goto(not_found);@/
-q:=cur_ptr; i:=hex_dig1(n); get_sa_ptr;
-if_cur_ptr_is_null_then_return_or_goto(not_found1);@/
-q:=cur_ptr; i:=hex_dig2(n); get_sa_ptr;
-if_cur_ptr_is_null_then_return_or_goto(not_found2);@/
-q:=cur_ptr; i:=hex_dig3(n); get_sa_ptr;
-if_cur_ptr_is_null_then_return_or_goto(not_found3);@/
-q:=cur_ptr; i:=hex_dig4(n); get_sa_ptr;
-if_cur_ptr_is_null_then_return_or_goto(not_found4);@/
-q:=cur_ptr; i:=hex_dig5(n); get_sa_ptr;
-if (cur_ptr=null)and w then goto not_found5;
-return;
-not_found: new_index(t,null); {create first level index node}
-sa_root[t]:=cur_ptr; q:=cur_ptr; i:=hex_dig1(n);
-not_found1: new_index(i,q); {create second level index node}
-add_sa_ptr; q:=cur_ptr; i:=hex_dig2(n);
-not_found2: new_index(i,q); {create third level index node}
-add_sa_ptr; q:=cur_ptr; i:=hex_dig3(n);
-not_found3: new_index(i,q); {create fourth level index node}
-add_sa_ptr; q:=cur_ptr; i:=hex_dig4(n);
-not_found4: new_index(i,q); {create fifth level index node}
-add_sa_ptr; q:=cur_ptr; i:=hex_dig5(n);
-not_found5: @<Create a new array element of type |t| with index |i|@>;
-link(cur_ptr):=q; add_sa_ptr;
-exit:end;
-@z
-%-----------------------------------------------
-@x
-repeat i:=hex_dig4(sa_index(q)); p:=q; q:=link(p); free_node(p,s);
-@y
-repeat i:=hex_dig5(sa_index(q)); p:=q; q:=link(p); free_node(p,s);
-@z
-%-----------------------------------------------
-@x
-else begin n:=hex_dig4(sa_index(q)); q:=link(q); n:=n+16*sa_index(q);
- q:=link(q); n:=n+256*(sa_index(q)+16*sa_index(link(q)));
-@y
-else begin n:=hex_dig5(sa_index(q)); q:=link(q); n:=n+16*sa_index(q);
- q:=link(q); n:=n+256*(sa_index(q)+16*sa_index(link(q)));
- q:=link(link(q)); n:=n+65536*sa_index(q);
-@z
-%-----------------------------------------------
-@x
-begin if l<4 then {|q| is an index node}
-@y
-begin if l<5 then {|q| is an index node}
-@z
-%-----------------------------------------------
-@x
-@!fill_width:array[0..2] of scaled; {infinite stretch components of
-@y
-@!fill_width:array[0..3] of scaled; {infinite stretch components of
-@z
-%-----------------------------------------------
-@x
- if (background[3]=0)and(background[4]=0)and(background[5]=0) then
- begin do_last_line_fit:=true;
- active_node_size:=active_node_size_extended;
- fill_width[0]:=0; fill_width[1]:=0; fill_width[2]:=0;
-@y
- if (background[3]=0)and(background[4]=0)and@|
- (background[5]=0)and(background[6]=0) then
- begin do_last_line_fit:=true;
- active_node_size:=active_node_size_extended;
- fill_width[0]:=0; fill_width[1]:=0; fill_width[2]:=0; fill_width[3]:=0;
-@z
-%-----------------------------------------------
-@x
-if (cur_active_width[3]<>fill_width[0])or@|
- (cur_active_width[4]<>fill_width[1])or@|
- (cur_active_width[5]<>fill_width[2]) then goto not_found;
- {infinite stretch of this line not entirely due to |par_fill_skip|}
-if active_short(r)>0 then g:=cur_active_width[2]
-else g:=cur_active_width[6];
-@y
-if (cur_active_width[3]<>fill_width[0])or@|
- (cur_active_width[4]<>fill_width[1])or@|
- (cur_active_width[5]<>fill_width[2])or@|
- (cur_active_width[6]<>fill_width[3]) then goto not_found;
- {infinite stretch of this line not entirely due to |par_fill_skip|}
-if active_short(r)>0 then g:=cur_active_width[2]
-else g:=cur_active_width[7];
-@z
-%---------------------------------------
-@x
-begin if -g>cur_active_width[6] then g:=-cur_active_width[6];
-b:=badness(-g,cur_active_width[6]);
-@y
-begin if -g>cur_active_width[7] then g:=-cur_active_width[7];
-b:=badness(-g,cur_active_width[7]);
-@z
-%-----------------------------------------------
-@x
-if shortfall>0 then g:=cur_active_width[2]
-else if shortfall<0 then g:=cur_active_width[6]
-@y
-if shortfall>0 then g:=cur_active_width[2]
-else if shortfall<0 then g:=cur_active_width[7]
-@z
diff --git a/Build/source/texk/web2c/eptexdir/pdfprimitive.test b/Build/source/texk/web2c/eptexdir/pdfprimitive.test
deleted file mode 100755
index 3a06237ab33..00000000000
--- a/Build/source/texk/web2c/eptexdir/pdfprimitive.test
+++ /dev/null
@@ -1,23 +0,0 @@
-#! /bin/sh -vx
-# $Id$
-# Copyright 2017-2018 Karl Berry <tex-live@tug.org>#
-# Copyright 2015 Peter Breitenlohner <tex-live@tug.org>
-# You may freely use, modify and/or distribute this file.
-
-LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE
-
-TEXMFCNF=$srcdir/../kpathsea; export TEXMFCNF
-TEXINPUTS=.; export TEXINPUTS
-
-FILE=pdfprimitive-eptex
-
-# get same filename in log
-rm -f $FILE.*
-$LN_S $srcdir/eptexdir/tests/pdfprimitive-test.tex $FILE.tex
-
-./eptex -ini -etex $FILE && exit 1
-
-sed 1d $FILE.log >$FILE.out
-
-diff $srcdir/eptexdir/tests/$FILE.log $FILE.out || exit 1
-
diff --git a/Build/source/texk/web2c/eptexdir/pdfutils.ch b/Build/source/texk/web2c/eptexdir/pdfutils.ch
deleted file mode 100644
index cfb228eb48a..00000000000
--- a/Build/source/texk/web2c/eptexdir/pdfutils.ch
+++ /dev/null
@@ -1,1752 +0,0 @@
-%% Support for some primitives defined in pdfTeX
-%%
-%% \pdfstrcmp: need for LaTeX3
-%% In comparison, Japanese characters will be always encoded in UTF-8.
-%%
-%% \pdffilemoddate and co.: for standalone package
-%% (\pdfcreationdate, \pdffilemoddate, \pdffilesize)
-%%
-%% \pdfsavepos and co.
-%% (\pdfsavepos, \pdfpage{width,height}, \pdflast{x,y}pos)
-%%
-%% \pdffiledump: for bmpsize package by Heiko Oberdiek
-%%
-%% \pdfshellescape: by doraTeX's request
-%%
-%% \pdfmdfivesum: by Akira's request
-%% As \pdfstrcmp, Japanese characters will be always encoded in UTF-8 in
-%% \pdfmdfivesum {...}. (no conversion for \pdfmdfivesum file <filename>)
-%%
-%% \pdfprimitive and \ifpdfprimitive: for LaTeX3 (2015/07/15)
-%%
-%% \pdfuniformdeviate and co.:
-%% (\pdfnormaldeviate, \pdfrandomseed, \pdfsetrandomseed)
-%%
-%% \pdfelapsedtime and \pdfresettimer
-%%
-%% \expanded
-%%
-%% \ifincsname
-%%
-%% \Uchar, \Ucharcat
-
-@x
-@* \[8] Packed data.
-@y
-@* \[7b] Random numbers.
-
-\font\tenlogo=logo10 % font used for the METAFONT logo
-\def\MP{{\tenlogo META}\-{\tenlogo POST}}
-\def\pdfTeX{pdf\TeX}
-
-This section is (almost) straight from MetaPost. I had to change
-the types (use |integer| instead of |fraction|), but that should
-not have any influence on the actual calculations (the original
-comments refer to quantities like |fraction_four| ($2^{30}$), and
-that is the same as the numeric representation of |maxdimen|).
-
-I've copied the low-level variables and routines that are needed, but
-only those (e.g. |m_log|), not the accompanying ones like |m_exp|. Most
-of the following low-level numeric routines are only needed within the
-calculation of |norm_rand|. I've been forced to rename |make_fraction|
-to |make_frac| because TeX already has a routine by that name with
-a wholly different function (it creates a |fraction_noad| for math
-typesetting) -- Taco
-
-And now let's complete our collection of numeric utility routines
-by considering random number generation.
-\MP\ generates pseudo-random numbers with the additive scheme recommended
-in Section 3.6 of {\sl The Art of Computer Programming}; however, the
-results are random fractions between 0 and |fraction_one-1|, inclusive.
-
-There's an auxiliary array |randoms| that contains 55 pseudo-random
-fractions. Using the recurrence $x_n=(x_{n-55}-x_{n-31})\bmod 2^{28}$,
-we generate batches of 55 new $x_n$'s at a time by calling |new_randoms|.
-The global variable |j_random| tells which element has most recently
-been consumed.
-
-@<Glob...@>=
-@!randoms:array[0..54] of integer; {the last 55 random values generated}
-@!j_random:0..54; {the number of unused |randoms|}
-@!random_seed:scaled; {the default random seed}
-
-@ A small bit of metafont is needed.
-
-@d fraction_half==@'1000000000 {$2^{27}$, represents 0.50000000}
-@d fraction_one==@'2000000000 {$2^{28}$, represents 1.00000000}
-@d fraction_four==@'10000000000 {$2^{30}$, represents 4.00000000}
-@d el_gordo == @'17777777777 {$2^{31}-1$, the largest value that \MP\ likes}
-@d halfp(#)==(#) div 2
-@d double(#) == #:=#+# {multiply a variable by two}
-
-@ The |make_frac| routine produces the |fraction| equivalent of
-|p/q|, given integers |p| and~|q|; it computes the integer
-$f=\lfloor2^{28}p/q+{1\over2}\rfloor$, when $p$ and $q$ are
-positive. If |p| and |q| are both of the same scaled type |t|,
-the ``type relation'' |make_frac(t,t)=fraction| is valid;
-and it's also possible to use the subroutine ``backwards,'' using
-the relation |make_frac(t,fraction)=t| between scaled types.
-
-If the result would have magnitude $2^{31}$ or more, |make_frac|
-sets |arith_error:=true|. Most of \MP's internal computations have
-been designed to avoid this sort of error.
-
-If this subroutine were programmed in assembly language on a typical
-machine, we could simply compute |(@t$2^{28}$@>*p)div q|, since a
-double-precision product can often be input to a fixed-point division
-instruction. But when we are restricted to \PASCAL\ arithmetic it
-is necessary either to resort to multiple-precision maneuvering
-or to use a simple but slow iteration. The multiple-precision technique
-would be about three times faster than the code adopted here, but it
-would be comparatively long and tricky, involving about sixteen
-additional multiplications and divisions.
-
-This operation is part of \MP's ``inner loop''; indeed, it will
-consume nearly 10\pct! of the running time (exclusive of input and output)
-if the code below is left unchanged. A machine-dependent recoding
-will therefore make \MP\ run faster. The present implementation
-is highly portable, but slow; it avoids multiplication and division
-except in the initial stage. System wizards should be careful to
-replace it with a routine that is guaranteed to produce identical
-results in all cases.
-@^system dependencies@>
-
-As noted below, a few more routines should also be replaced by machine-dependent
-code, for efficiency. But when a procedure is not part of the ``inner loop,''
-such changes aren't advisable; simplicity and robustness are
-preferable to trickery, unless the cost is too high.
-@^inner loop@>
-
-@p function make_frac(@!p,@!q:integer):integer;
-var @!f:integer; {the fraction bits, with a leading 1 bit}
-@!n:integer; {the integer part of $\vert p/q\vert$}
-@!negative:boolean; {should the result be negated?}
-@!be_careful:integer; {disables certain compiler optimizations}
-begin if p>=0 then negative:=false
-else begin negate(p); negative:=true;
- end;
-if q<=0 then
- begin debug if q=0 then confusion("/");@;@+gubed@;@/
-@:this can't happen /}{\quad \./@>
- negate(q); negative:=not negative;
- end;
-n:=p div q; p:=p mod q;
-if n>=8 then
- begin arith_error:=true;
- if negative then make_frac:=-el_gordo@+else make_frac:=el_gordo;
- end
-else begin n:=(n-1)*fraction_one;
- @<Compute $f=\lfloor 2^{28}(1+p/q)+{1\over2}\rfloor$@>;
- if negative then make_frac:=-(f+n)@+else make_frac:=f+n;
- end;
-end;
-
-@ The |repeat| loop here preserves the following invariant relations
-between |f|, |p|, and~|q|:
-(i)~|0<=p<q|; (ii)~$fq+p=2^k(q+p_0)$, where $k$ is an integer and
-$p_0$ is the original value of~$p$.
-
-Notice that the computation specifies
-|(p-q)+p| instead of |(p+p)-q|, because the latter could overflow.
-Let us hope that optimizing compilers do not miss this point; a
-special variable |be_careful| is used to emphasize the necessary
-order of computation. Optimizing compilers should keep |be_careful|
-in a register, not store it in memory.
-@^inner loop@>
-
-@<Compute $f=\lfloor 2^{28}(1+p/q)+{1\over2}\rfloor$@>=
-f:=1;
-repeat be_careful:=p-q; p:=be_careful+p;
-if p>=0 then f:=f+f+1
-else begin double(f); p:=p+q;
- end;
-until f>=fraction_one;
-be_careful:=p-q;
-if be_careful+p>=0 then incr(f)
-
-@
-
-@p function take_frac(@!q:integer;@!f:integer):integer;
-var @!p:integer; {the fraction so far}
-@!negative:boolean; {should the result be negated?}
-@!n:integer; {additional multiple of $q$}
-@!be_careful:integer; {disables certain compiler optimizations}
-begin @<Reduce to the case that |f>=0| and |q>0|@>;
-if f<fraction_one then n:=0
-else begin n:=f div fraction_one; f:=f mod fraction_one;
- if q<=el_gordo div n then n:=n*q
- else begin arith_error:=true; n:=el_gordo;
- end;
- end;
-f:=f+fraction_one;
-@<Compute $p=\lfloor qf/2^{28}+{1\over2}\rfloor-q$@>;
-be_careful:=n-el_gordo;
-if be_careful+p>0 then
- begin arith_error:=true; n:=el_gordo-p;
- end;
-if negative then take_frac:=-(n+p)
-else take_frac:=n+p;
-end;
-
-@ @<Reduce to the case that |f>=0| and |q>0|@>=
-if f>=0 then negative:=false
-else begin negate(f); negative:=true;
- end;
-if q<0 then
- begin negate(q); negative:=not negative;
- end;
-
-@ The invariant relations in this case are (i)~$\lfloor(qf+p)/2^k\rfloor
-=\lfloor qf_0/2^{28}+{1\over2}\rfloor$, where $k$ is an integer and
-$f_0$ is the original value of~$f$; (ii)~$2^k\L f<2^{k+1}$.
-@^inner loop@>
-
-@<Compute $p=\lfloor qf/2^{28}+{1\over2}\rfloor-q$@>=
-p:=fraction_half; {that's $2^{27}$; the invariants hold now with $k=28$}
-if q<fraction_four then
- repeat if odd(f) then p:=halfp(p+q)@+else p:=halfp(p);
- f:=halfp(f);
- until f=1
-else repeat if odd(f) then p:=p+halfp(q-p)@+else p:=halfp(p);
- f:=halfp(f);
- until f=1
-
-@ The subroutines for logarithm and exponential involve two tables.
-The first is simple: |two_to_the[k]| equals $2^k$. The second involves
-a bit more calculation, which the author claims to have done correctly:
-|spec_log[k]| is $2^{27}$ times $\ln\bigl(1/(1-2^{-k})\bigr)=
-2^{-k}+{1\over2}2^{-2k}+{1\over3}2^{-3k}+\cdots\,$, rounded to the
-nearest integer.
-
-@<Glob...@>=
-@!two_to_the:array[0..30] of integer; {powers of two}
-@!spec_log:array[1..28] of integer; {special logarithms}
-
-
-@ @<Set init...@>=
-two_to_the[0]:=1;
-for k:=1 to 30 do two_to_the[k]:=2*two_to_the[k-1];
-spec_log[1]:=93032640;
-spec_log[2]:=38612034;
-spec_log[3]:=17922280;
-spec_log[4]:=8662214;
-spec_log[5]:=4261238;
-spec_log[6]:=2113709;
-spec_log[7]:=1052693;
-spec_log[8]:=525315;
-spec_log[9]:=262400;
-spec_log[10]:=131136;
-spec_log[11]:=65552;
-spec_log[12]:=32772;
-spec_log[13]:=16385;
-for k:=14 to 27 do spec_log[k]:=two_to_the[27-k];
-spec_log[28]:=1;
-
-@
-
-@p function m_log(@!x:integer):integer;
-var @!y,@!z:integer; {auxiliary registers}
-@!k:integer; {iteration counter}
-begin if x<=0 then @<Handle non-positive logarithm@>
-else begin y:=1302456956+4-100; {$14\times2^{27}\ln2\approx1302456956.421063$}
- z:=27595+6553600; {and $2^{16}\times .421063\approx 27595$}
- while x<fraction_four do
- begin double(x); y:=y-93032639; z:=z-48782;
- end; {$2^{27}\ln2\approx 93032639.74436163$
- and $2^{16}\times.74436163\approx 48782$}
- y:=y+(z div unity); k:=2;
- while x>fraction_four+4 do
- @<Increase |k| until |x| can be multiplied by a
- factor of $2^{-k}$, and adjust $y$ accordingly@>;
- m_log:=y div 8;
- end;
-end;
-
-@ @<Increase |k| until |x| can...@>=
-begin z:=((x-1) div two_to_the[k])+1; {$z=\lceil x/2^k\rceil$}
-while x<fraction_four+z do
- begin z:=halfp(z+1); k:=k+1;
- end;
-y:=y+spec_log[k]; x:=x-z;
-end
-
-@ @<Handle non-positive logarithm@>=
-begin print_err("Logarithm of ");
-@.Logarithm...replaced by 0@>
-print_scaled(x); print(" has been replaced by 0");
-help2("Since I don't take logs of non-positive numbers,")@/
- ("I'm zeroing this one. Proceed, with fingers crossed.");
-error; m_log:=0;
-end
-
-@ The following somewhat different subroutine tests rigorously if $ab$ is
-greater than, equal to, or less than~$cd$,
-given integers $(a,b,c,d)$. In most cases a quick decision is reached.
-The result is $+1$, 0, or~$-1$ in the three respective cases.
-
-@d return_sign(#)==begin ab_vs_cd:=#; return;
- end
-
-@p function ab_vs_cd(@!a,b,c,d:integer):integer;
-label exit;
-var @!q,@!r:integer; {temporary registers}
-begin @<Reduce to the case that |a,c>=0|, |b,d>0|@>;
-loop@+ begin q := a div d; r := c div b;
- if q<>r then
- if q>r then return_sign(1)@+else return_sign(-1);
- q := a mod d; r := c mod b;
- if r=0 then
- if q=0 then return_sign(0)@+else return_sign(1);
- if q=0 then return_sign(-1);
- a:=b; b:=q; c:=d; d:=r;
- end; {now |a>d>0| and |c>b>0|}
-exit:end;
-
-@ @<Reduce to the case that |a...@>=
-if a<0 then
- begin negate(a); negate(b);
- end;
-if c<0 then
- begin negate(c); negate(d);
- end;
-if d<=0 then
- begin if b>=0 then
- if ((a=0)or(b=0))and((c=0)or(d=0)) then return_sign(0)
- else return_sign(1);
- if d=0 then
- if a=0 then return_sign(0)@+else return_sign(-1);
- q:=a; a:=c; c:=q; q:=-b; b:=-d; d:=q;
- end
-else if b<=0 then
- begin if b<0 then if a>0 then return_sign(-1);
- if c=0 then return_sign(0) else return_sign(-1);
- end
-
-@ To consume a random integer, the program below will say `|next_random|'
-and then it will fetch |randoms[j_random]|.
-
-@d next_random==if j_random=0 then new_randoms
- else decr(j_random)
-
-@p procedure new_randoms;
-var @!k:0..54; {index into |randoms|}
-@!x:integer; {accumulator}
-begin for k:=0 to 23 do
- begin x:=randoms[k]-randoms[k+31];
- if x<0 then x:=x+fraction_one;
- randoms[k]:=x;
- end;
-for k:=24 to 54 do
- begin x:=randoms[k]-randoms[k-24];
- if x<0 then x:=x+fraction_one;
- randoms[k]:=x;
- end;
-j_random:=54;
-end;
-
-@ To initialize the |randoms| table, we call the following routine.
-
-@p procedure init_randoms(@!seed:integer);
-var @!j,@!jj,@!k:integer; {more or less random integers}
-@!i:0..54; {index into |randoms|}
-begin j:=abs(seed);
-while j>=fraction_one do j:=halfp(j);
-k:=1;
-for i:=0 to 54 do
- begin jj:=k; k:=j-k; j:=jj;
- if k<0 then k:=k+fraction_one;
- randoms[(i*21)mod 55]:=j;
- end;
-new_randoms; new_randoms; new_randoms; {``warm up'' the array}
-end;
-
-@ To produce a uniform random number in the range |0<=u<x| or |0>=u>x|
-or |0=u=x|, given a |scaled| value~|x|, we proceed as shown here.
-
-Note that the call of |take_frac| will produce the values 0 and~|x|
-with about half the probability that it will produce any other particular
-values between 0 and~|x|, because it rounds its answers.
-
-@p function unif_rand(@!x:integer):integer;
-var @!y:integer; {trial value}
-begin next_random; y:=take_frac(abs(x),randoms[j_random]);
-if y=abs(x) then unif_rand:=0
-else if x>0 then unif_rand:=y
-else unif_rand:=-y;
-end;
-
-@ Finally, a normal deviate with mean zero and unit standard deviation
-can readily be obtained with the ratio method (Algorithm 3.4.1R in
-{\sl The Art of Computer Programming\/}).
-
-@p function norm_rand:integer;
-var @!x,@!u,@!l:integer; {what the book would call $2^{16}X$, $2^{28}U$,
- and $-2^{24}\ln U$}
-begin repeat
- repeat next_random;
- x:=take_frac(112429,randoms[j_random]-fraction_half);
- {$2^{16}\sqrt{8/e}\approx 112428.82793$}
- next_random; u:=randoms[j_random];
- until abs(x)<u;
-x:=make_frac(x,u);
-l:=139548960-m_log(u); {$2^{24}\cdot12\ln2\approx139548959.6165$}
-until ab_vs_cd(1024,l,x,x)>=0;
-norm_rand:=x;
-end;
-@* \[8] Packed data.
-@z
-
-@x
-@* \[12] Displaying boxes.
-@y
-@<Declare procedures that need to be declared forward for \pdfTeX@>@;
-
-@* \[12] Displaying boxes.
-@z
-
-@x \[if]pdfprimitive
-@d frozen_special=frozen_control_sequence+10
- {permanent `\.{\\special}'}
-@d frozen_null_font=frozen_control_sequence+11
- {permanent `\.{\\nullfont}'}
-@y
-@d frozen_special=frozen_control_sequence+10
- {permanent `\.{\\special}'}
-@d frozen_primitive=frozen_control_sequence+11
- {permanent `\.{\\pdfprimitive}'}
-@d prim_eqtb_base=frozen_primitive+1
-@d prim_size=2100 {maximum number of primitives }
-@d frozen_null_font=prim_eqtb_base+prim_size+1
- {permanent `\.{\\nullfont}'}
-@z
-
-@x
-@d dimen_pars=23 {total number of dimension parameters}
-@y
-@d pdf_page_width_code=23 {page width}
-@d pdf_page_height_code=24 {page height}
-@d dimen_pars=25 {total number of dimension parameters}
-@z
-
-@x \pdfpage{width,height}
-@d emergency_stretch==dimen_par(emergency_stretch_code)
-@y
-@d emergency_stretch==dimen_par(emergency_stretch_code)
-@d pdf_page_width==dimen_par(pdf_page_width_code)
-@d pdf_page_height==dimen_par(pdf_page_height_code)
-@z
-
-@x \pdfpage{width,height}
-emergency_stretch_code:print_esc("emergencystretch");
-@y
-emergency_stretch_code:print_esc("emergencystretch");
-pdf_page_width_code: print_esc("pdfpagewidth");
-pdf_page_height_code: print_esc("pdfpageheight");
-@z
-
-@x \[if]pdfprimitive
-@!cs_count:integer; {total number of known identifiers}
-@y
-@!cs_count:integer; {total number of known identifiers}
-
-@ Primitive support needs a few extra variables and definitions
-
-@d prim_prime=1777 {about 85\pct! of |primitive_size|}
-@d prim_base=1
-@d prim_next(#) == prim[#].lh {link for coalesced lists}
-@d prim_text(#) == prim[#].rh {string number for control sequence name, plus one}
-@d prim_is_full == (prim_used=prim_base) {test if all positions are occupied}
-@d prim_eq_level_field(#)==#.hh.b1
-@d prim_eq_type_field(#)==#.hh.b0
-@d prim_equiv_field(#)==#.hh.rh
-@d prim_eq_level(#)==prim_eq_level_field(eqtb[prim_eqtb_base+#]) {level of definition}
-@d prim_eq_type(#)==prim_eq_type_field(eqtb[prim_eqtb_base+#]) {command code for equivalent}
-@d prim_equiv(#)==prim_equiv_field(eqtb[prim_eqtb_base+#]) {equivalent value}
-@d undefined_primitive=0
-@d biggest_char=255 { 65535 in XeTeX }
-
-@<Glob...@>=
-@!prim: array [0..prim_size] of two_halves; {the primitives table}
-@!prim_used:pointer; {allocation pointer for |prim|}
-@z
-
-@x \[if]pdfprimitive
-@ @<Set init...@>=
-no_new_control_sequence:=true; {new identifiers are usually forbidden}
-@y
-@ @<Set init...@>=
-no_new_control_sequence:=true; {new identifiers are usually forbidden}
-prim_next(0):=0; prim_text(0):=0;
-for k:=1 to prim_size do prim[k]:=prim[0];
-@z
-
-@x \[if]pdfprimitive
-text(frozen_dont_expand):="notexpanded:";
-@.notexpanded:@>
-@y
-prim_used:=prim_size; {nothing is used}
-text(frozen_dont_expand):="notexpanded:";
-@.notexpanded:@>
-eq_type(frozen_primitive):=ignore_spaces;
-equiv(frozen_primitive):=1;
-eq_level(frozen_primitive):=level_one;
-text(frozen_primitive):="pdfprimitive";
-@z
-
-@x \[if]pdfprimitive
-@ Single-character control sequences do not need to be looked up in a hash
-table, since we can use the character code itself as a direct address.
-@y
-@ Here is the subroutine that searches the primitive table for an identifier
-
-@p function prim_lookup(@!s:str_number):pointer; {search the primitives table}
-label found; {go here if you found it}
-var h:integer; {hash code}
-@!p:pointer; {index in |hash| array}
-@!k:pointer; {index in string pool}
-@!j,@!l:integer;
-begin
-if s<=biggest_char then begin
- if s<0 then begin p:=undefined_primitive; goto found; end
- else p:=(s mod prim_prime)+prim_base; {we start searching here}
- end
-else begin
- j:=str_start[s];
- if s = str_ptr then l := cur_length else l := length(s);
- @<Compute the primitive code |h|@>;
- p:=h+prim_base; {we start searching here; note that |0<=h<prim_prime|}
- end;
-loop@+begin
- if prim_text(p)>1+biggest_char then { |p| points a multi-letter primitive }
- begin if length(prim_text(p)-1)=l then
- if str_eq_str(prim_text(p)-1,s) then goto found;
- end
- else if prim_text(p)=1+s then goto found; { |p| points a single-letter primitive }
- if prim_next(p)=0 then
- begin if no_new_control_sequence then
- p:=undefined_primitive
- else @<Insert a new primitive after |p|, then make
- |p| point to it@>;
- goto found;
- end;
- p:=prim_next(p);
- end;
-found: prim_lookup:=p;
-end;
-
-@ @<Insert a new primitive...@>=
-begin if prim_text(p)>0 then
- begin repeat if prim_is_full then overflow("primitive size",prim_size);
-@:TeX capacity exceeded primitive size}{\quad primitive size@>
- decr(prim_used);
- until prim_text(prim_used)=0; {search for an empty location in |prim|}
- prim_next(p):=prim_used; p:=prim_used;
- end;
-prim_text(p):=s+1;
-end
-
-@ The value of |prim_prime| should be roughly 85\pct! of
-|prim_size|, and it should be a prime number.
-
-@<Compute the primitive code |h|@>=
-h:=str_pool[j];
-for k:=j+1 to j+l-1 do
- begin h:=h+h+str_pool[k];
- while h>=prim_prime do h:=h-prim_prime;
- end
-
-@ Single-character control sequences do not need to be looked up in a hash
-table, since we can use the character code itself as a direct address.
-@z
-
-@x print_cs: \pdfprimitive
-else begin l:=text(p);
-@y
-else begin
- if (p>=prim_eqtb_base)and(p<frozen_null_font) then
- l:=prim_text(p-prim_eqtb_base)-1 else l:=text(p);
-@z
-
-@x
-else print_esc(text(p));
-@y
-else if (p>=prim_eqtb_base)and(p<frozen_null_font) then
- print_esc(prim_text(p-prim_eqtb_base)-1)
-else print_esc(text(p));
-@z
-
-
-@x \[if]pdfprimitive
-@p @!init procedure primitive(@!s:str_number;@!c:quarterword;@!o:halfword);
-var k:pool_pointer; {index into |str_pool|}
-@y
-@p @!init procedure primitive(@!s:str_number;@!c:quarterword;@!o:halfword);
-var k:pool_pointer; {index into |str_pool|}
-@!prim_val:integer; {needed to fill |prim_eqtb|}
-@z
-
-@x \[if]pdfprimitive
-begin if s<256 then cur_val:=s+single_base
-@y
-begin if s<256 then begin
- cur_val:=s+single_base;
- prim_val:=prim_lookup(s);
-end
-@z
-
-@x \[if]pdfprimitive
- flush_string; text(cur_val):=s; {we don't want to have the string twice}
- end;
-eq_level(cur_val):=level_one; eq_type(cur_val):=c; equiv(cur_val):=o;
-end;
-tini
-@y
- flush_string; text(cur_val):=s; {we don't want to have the string twice}
- prim_val:=prim_lookup(s);
- end;
-eq_level(cur_val):=level_one; eq_type(cur_val):=c; equiv(cur_val):=o;
-prim_eq_level(prim_val):=level_one;
-prim_eq_type(prim_val):=c;
-prim_equiv(prim_val):=o;
-end;
-tini
-@z
-
-@x \[if]pdfprimitive
-ignore_spaces: print_esc("ignorespaces");
-@y
-ignore_spaces: if chr_code=0 then print_esc("ignorespaces") else print_esc("pdfprimitive");
-@z
-
-@x \[if]pdfprimitive
-no_expand: print_esc("noexpand");
-@y
-no_expand: if chr_code=0 then print_esc("noexpand")
- else print_esc("pdfprimitive");
-@z
-
-@x \ifincsname
-var t:halfword; {token that is being ``expanded after''}
-@!p,@!q,@!r:pointer; {for list manipulation}
-@y
-var t:halfword; {token that is being ``expanded after''}
-@!b:boolean; {keep track of nested csnames}
-@!p,@!q,@!r:pointer; {for list manipulation}
-@z
-
-@x
-@ @<Expand a nonmacro@>=
-@y
-@ @<Glob...@>=
-@!is_in_csname: boolean;
-
-@ @<Set init...@>=
-is_in_csname := false;
-
-@ @<Expand a nonmacro@>=
-@z
-
-@x
-no_expand:@<Suppress expansion of the next token@>;
-@y
-no_expand: if cur_chr=0 then @<Suppress expansion of the next token@>
- else @<Implement \.{\\pdfprimitive}@>;
-@z
-
-@x
-@<Suppress expansion...@>=
-begin save_scanner_status:=scanner_status; scanner_status:=normal;
-get_token; scanner_status:=save_scanner_status; t:=cur_tok;
-back_input; {now |start| and |loc| point to the backed-up token |t|}
-if t>=cs_token_flag then
- begin p:=get_avail; info(p):=cs_token_flag+frozen_dont_expand;
- link(p):=loc; start:=p; loc:=p;
- end;
-end
-@y
-@<Suppress expansion...@>=
-begin save_scanner_status:=scanner_status; scanner_status:=normal;
-get_token; scanner_status:=save_scanner_status; t:=cur_tok;
-back_input; {now |start| and |loc| point to the backed-up token |t|}
-if t>=cs_token_flag then
- begin p:=get_avail; info(p):=cs_token_flag+frozen_dont_expand;
- link(p):=loc; start:=p; loc:=p;
- end;
-end
-
-@ The \.{\\pdfprimitive} handling. If the primitive meaning of the next
-token is an expandable command, it suffices to replace the current
-token with the primitive one and restart |expand|/
-
-Otherwise, the token we just read has to be pushed back, as well
-as a token matching the internal form of \.{\\pdfprimitive}, that is
-sneaked in as an alternate form of |ignore_spaces|.
-@!@:pdfprimitive_}{\.{\\pdfprimitive} primitive (internalized)@>
-
-Simply pushing back a token that matches the correct internal command
-does not work, because approach would not survive roundtripping to a
-temporary file.
-
-@<Implement \.{\\pdfprimitive}@>=
-begin save_scanner_status := scanner_status; scanner_status:=normal;
-get_token; scanner_status:=save_scanner_status;
-if cur_cs < hash_base then
- cur_cs := prim_lookup(cur_cs-single_base)
-else
- cur_cs := prim_lookup(text(cur_cs));
-if cur_cs<>undefined_primitive then begin
- t := prim_eq_type(cur_cs);
- if t>max_command then begin
- cur_cmd := t;
- cur_chr := prim_equiv(cur_cs);
- cur_tok := (cur_cmd*@'400)+cur_chr;
- cur_cs := 0;
- goto reswitch;
- end
- else begin
- back_input; { now |loc| and |start| point to a one-item list }
- p:=get_avail; info(p):=cs_token_flag+frozen_primitive;
- link(p):=loc; loc:=p; start:=p;
- end;
- end;
-end
-
-@ This block deals with unexpandable \.{\\primitive} appearing at a spot where
-an integer or an internal values should have been found. It fetches the
-next token then resets |cur_cmd|, |cur_cs|, and |cur_tok|, based on the
-primitive value of that token. No expansion takes place, because the
-next token may be all sorts of things. This could trigger further
-expansion creating new errors.
-
-@<Reset |cur_tok| for unexpandable primitives, goto restart @>=
-begin
-get_token;
-if cur_cs < hash_base then
- cur_cs := prim_lookup(cur_cs-single_base)
-else
- cur_cs := prim_lookup(text(cur_cs));
-if cur_cs<>undefined_primitive then begin
- cur_cmd := prim_eq_type(cur_cs);
- cur_chr := prim_equiv(cur_cs);
- cur_cs := prim_eqtb_base+cur_cs;
- cur_tok := cs_token_flag+cur_cs;
- end
-else begin
- cur_cmd := relax;
- cur_chr := 0;
- cur_tok := cs_token_flag+frozen_relax;
- cur_cs := frozen_relax;
- end;
-goto restart;
-end
-@z
-
-@x
-begin r:=get_avail; p:=r; {head of the list of characters}
-repeat get_x_token;
-@y
-begin r:=get_avail; p:=r; {head of the list of characters}
-b := is_in_csname; is_in_csname := true;
-repeat get_x_token;
-@z
-
-@x
-@<Look up the characters of list |r| in the hash table, and set |cur_cs|@>;
-@y
-is_in_csname := b;
-@<Look up the characters of list |r| in the hash table, and set |cur_cs|@>;
-@z
-
-@x scan_keyword
-@!k:pool_pointer; {index into |str_pool|}
-begin p:=backup_head; link(p):=null; k:=str_start[s];
-@y
-@!k:pool_pointer; {index into |str_pool|}
-@!save_cur_cs:pointer; {to save |cur_cs|}
-begin p:=backup_head; link(p):=null; k:=str_start[s];
-save_cur_cs:=cur_cs;
-@z
-
-@x scan_keyword
- scan_keyword:=false; return;
-@y
- cur_cs:=save_cur_cs;
- scan_keyword:=false; return;
-@z
-
-@x \[if]pdfprimitive : scan_something_internal
-procedure scan_something_internal(@!level:small_number;@!negative:boolean);
- {fetch an internal parameter}
-label exit;
-@y
-procedure scan_something_internal(@!level:small_number;@!negative:boolean);
- {fetch an internal parameter}
-label exit, restart;
-@z
-
-@x \[if]pdfprimitive : scan_something_internal
-begin m:=cur_chr;
-@y
-begin restart: m:=cur_chr;
-@z
-
-@x \[if]pdfprimitive : scan_something_internal
-last_item: @<Fetch an item in the current node, if appropriate@>;
-@y
-last_item: @<Fetch an item in the current node, if appropriate@>;
-ignore_spaces: {trap unexpandable primitives}
- if cur_chr=1 then @<Reset |cur_tok| for unexpandable primitives, goto restart@>;
-@z
-
-@x
-@d eptex_version_code=ptex_minor_version_code+1 {code for \.{\\epTeXversion}}
-@y
-@d eptex_version_code=ptex_minor_version_code+1 {code for \.{\\epTeXversion}}
-@d pdf_last_x_pos_code=eptex_version_code+1 {code for \.{\\pdflastxpos}}
-@d pdf_last_y_pos_code=pdf_last_x_pos_code+1 {code for \.{\\pdflastypos}}
-@d pdf_shell_escape_code=pdf_last_y_pos_code+1 {code for \.{\\pdflastypos}}
-@d elapsed_time_code =pdf_shell_escape_code+1 {code for \.{\\pdfelapsedtime}}
-@d random_seed_code=elapsed_time_code+1 {code for \.{\\pdfrandomseed}}
-@z
-
-@x
-@d eTeX_int=ptex_minor_version_code+1 {first of \eTeX\ codes for integers}
-@y
-@d eTeX_int=random_seed_code+1 {first of \eTeX\ codes for integers}
-@z
-
-@x \[if]pdfprimitive: scan_int
-@p procedure scan_int; {sets |cur_val| to an integer}
-label done;
-@y
-@p procedure scan_int; {sets |cur_val| to an integer}
-label done, restart;
-@z
-
-@x \[if]pdfprimitive: scan_int
-if cur_tok=alpha_token then @<Scan an alphabetic character code into |cur_val|@>
-@y
-restart:
-if cur_tok=alpha_token then @<Scan an alphabetic character code into |cur_val|@>
-else if cur_tok=cs_token_flag+frozen_primitive then
- @<Reset |cur_tok| for unexpandable primitives, goto restart@>
-@z
-
-@x \Ucharcat: str_toks_cat
-function str_toks(@!b:pool_pointer):pointer;
-@y
-function str_toks_cat(@!b:pool_pointer;@!cat:small_number):pointer;
-@z
-
-@x \Ucharcat: str_toks_cat
- else if t=" " then t:=space_token
- else t:=other_token+t;
-@y
- else if (t=" ")and(cat=0) then t:=space_token
- else if (cat=0)or(cat>=kanji) then t:=other_token+t
- else if cat=active_char then t:= cs_token_flag + active_base + t
- else t:=left_brace_token*cat+t;
-@z
-
-@x \Ucharcat: str_toks_cat
-pool_ptr:=b; str_toks:=p;
-end;
-@y
-pool_ptr:=b; str_toks_cat:=p;
-end;
-
-function str_toks(@!b:pool_pointer):pointer;
-begin str_toks:=str_toks_cat(b,0); end;
-@z
-
-@x
-@d etex_convert_codes=etex_convert_base+1 {end of \eTeX's command codes}
-@d job_name_code=etex_convert_codes {command code for \.{\\jobname}}
-@y
-@d etex_convert_codes=etex_convert_base+1 {end of \eTeX's command codes}
-@d expanded_code = etex_convert_codes {command code for \.{\\expanded}}
-@d pdf_first_expand_code = expanded_code + 1 {base for \pdfTeX-like command codes}
-@d pdf_strcmp_code = pdf_first_expand_code+0 {command code for \.{\\pdfstrcmp}}
-@d pdf_creation_date_code = pdf_first_expand_code+1 {command code for \.{\\pdfcreationdate}}
-@d pdf_file_mod_date_code = pdf_first_expand_code+2 {command code for \.{\\pdffilemoddate}}
-@d pdf_file_size_code = pdf_first_expand_code+3 {command code for \.{\\pdffilesize}}
-@d pdf_mdfive_sum_code = pdf_first_expand_code+4 {command code for \.{\\pdfmdfivesum}}
-@d pdf_file_dump_code = pdf_first_expand_code+5 {command code for \.{\\pdffiledump}}
-@d uniform_deviate_code = pdf_first_expand_code+6 {command code for \.{\\pdfuniformdeviate}}
-@d normal_deviate_code = pdf_first_expand_code+7 {command code for \.{\\pdfnormaldeviate}}
-@d pdf_convert_codes = pdf_first_expand_code+8 {end of \pdfTeX-like command codes}
-@d Uchar_convert_code = pdf_convert_codes {command code for \.{\\Uchar}}
-@d Ucharcat_convert_code = pdf_convert_codes+1 {command code for \.{\\Ucharcat}}
-@d eptex_convert_codes = pdf_convert_codes+2 {end of \epTeX's command codes}
-@d job_name_code=eptex_convert_codes {command code for \.{\\jobname}}
-@z
-
-@x
-primitive("jobname",convert,job_name_code);@/
-@y
-@#
-primitive("expanded",convert,expanded_code);@/
-@!@:expanded_}{\.{\\expanded} primitive@>
-@#
-primitive("jobname",convert,job_name_code);@/
-@z
-
-@x
- eTeX_revision_code: print_esc("eTeXrevision");
-@y
- eTeX_revision_code: print_esc("eTeXrevision");
- expanded_code: print_esc("expanded");
- pdf_strcmp_code: print_esc("pdfstrcmp");
- pdf_creation_date_code: print_esc("pdfcreationdate");
- pdf_file_mod_date_code: print_esc("pdffilemoddate");
- pdf_file_size_code: print_esc("pdffilesize");
- pdf_mdfive_sum_code: print_esc("pdfmdfivesum");
- pdf_file_dump_code: print_esc("pdffiledump");
- uniform_deviate_code: print_esc("pdfuniformdeviate");
- normal_deviate_code: print_esc("pdfnormaldeviate");
- Uchar_convert_code: print_esc("Uchar");
- Ucharcat_convert_code: print_esc("Ucharcat");
-@z
-
-@x
-@p procedure conv_toks;
-@y
-
-The extra temp string |u| is needed because |pdf_scan_ext_toks| incorporates
-any pending string in its output. In order to save such a pending string,
-we have to create a temporary string that is destroyed immediately after.
-
-@d save_cur_string==if str_start[str_ptr]<pool_ptr then u:=make_string else u:=0
-@d restore_cur_string==if u<>0 then decr(str_ptr)
-
-@ Not all catcode values are allowed by \.{\\Ucharcat}:
-@d illegal_Ucharcat_ascii_catcode(#)==(#<left_brace)or(#>active_char)or(#=out_param)or(#=ignore)
-@d illegal_Ucharcat_wchar_catcode(#)==(#<kanji)or(#>other_kchar)
-
-@p procedure conv_toks;
-@z
-
-@x
-@!save_scanner_status:small_number; {|scanner_status| upon entry}
-@y
-@!save_scanner_status:small_number; {|scanner_status| upon entry}
-@!save_def_ref: pointer; {|def_ref| upon entry, important if inside `\.{\\message}'}
-@!save_warning_index: pointer;
-@!bool: boolean; {temp boolean}
-@!u: str_number; {saved current string string}
-@!s: str_number; {first temp string}
-@!i: integer;
-@!j: integer;
-@!cat:small_number; {desired catcode, or 0 for automatic |spacer|/|other_char| selection}
-@z
-
-@x
-begin c:=cur_chr; @<Scan the argument for command |c|@>;
-@y
-begin cat:=0; c:=cur_chr; @<Scan the argument for command |c|@>;
-u:=0; { will become non-nil if a string is already being built}
-@z
-
-@x
-selector:=old_setting; link(garbage):=str_toks(b); ins_list(link(temp_head));
-@y
-selector:=old_setting; link(garbage):=str_toks_cat(b,cat); ins_list(link(temp_head));
-@z
-
-@x
-eTeX_revision_code: do_nothing;
-@y
-eTeX_revision_code: do_nothing;
-expanded_code:
- begin
- save_scanner_status := scanner_status;
- save_warning_index := warning_index;
- save_def_ref := def_ref;
- save_cur_string;
- scan_pdf_ext_toks;
- warning_index := save_warning_index;
- scanner_status := save_scanner_status;
- ins_list(link(def_ref));
- free_avail(def_ref);
- def_ref := save_def_ref;
- restore_cur_string;
- return;
- end;
-pdf_strcmp_code:
- begin
- save_scanner_status := scanner_status;
- save_warning_index := warning_index;
- save_def_ref := def_ref;
- save_cur_string;
- compare_strings;
- def_ref := save_def_ref;
- warning_index := save_warning_index;
- scanner_status := save_scanner_status;
- restore_cur_string;
- end;
-pdf_creation_date_code:
- begin
- b := pool_ptr;
- getcreationdate;
- link(garbage) := str_toks(b);
- ins_list(link(temp_head));
- return;
- end;
-pdf_file_mod_date_code:
- begin
- save_scanner_status := scanner_status;
- save_warning_index := warning_index;
- save_def_ref := def_ref;
- save_cur_string;
- scan_pdf_ext_toks;
- s := tokens_to_string(def_ref);
- delete_token_ref(def_ref);
- def_ref := save_def_ref;
- warning_index := save_warning_index;
- scanner_status := save_scanner_status;
- b := pool_ptr;
- getfilemoddate(s);
- link(garbage) := str_toks(b);
- flush_str(s);
- ins_list(link(temp_head));
- restore_cur_string;
- return;
- end;
-pdf_file_size_code:
- begin
- save_scanner_status := scanner_status;
- save_warning_index := warning_index;
- save_def_ref := def_ref;
- save_cur_string;
- scan_pdf_ext_toks;
- s := tokens_to_string(def_ref);
- delete_token_ref(def_ref);
- def_ref := save_def_ref;
- warning_index := save_warning_index;
- scanner_status := save_scanner_status;
- b := pool_ptr;
- getfilesize(s);
- link(garbage) := str_toks(b);
- flush_str(s);
- ins_list(link(temp_head));
- restore_cur_string;
- return;
- end;
-pdf_mdfive_sum_code:
- begin
- save_scanner_status := scanner_status;
- save_warning_index := warning_index;
- save_def_ref := def_ref;
- save_cur_string;
- bool := scan_keyword("file");
- scan_pdf_ext_toks;
- if bool then s := tokens_to_string(def_ref)
- else begin
- isprint_utf8:=true; s := tokens_to_string(def_ref); isprint_utf8:=false;
- end;
- delete_token_ref(def_ref);
- def_ref := save_def_ref;
- warning_index := save_warning_index;
- scanner_status := save_scanner_status;
- b := pool_ptr;
- getmd5sum(s, bool);
- link(garbage) := str_toks(b);
- flush_str(s);
- ins_list(link(temp_head));
- restore_cur_string;
- return;
- end;
-pdf_file_dump_code:
- begin
- save_scanner_status := scanner_status;
- save_warning_index := warning_index;
- save_def_ref := def_ref;
- save_cur_string;
- {scan offset}
- cur_val := 0;
- if (scan_keyword("offset")) then begin
- scan_int;
- if (cur_val < 0) then begin
- print_err("Bad file offset");
-@.Bad file offset@>
- help2("A file offset must be between 0 and 2^{31}-1,")@/
- ("I changed this one to zero.");
- int_error(cur_val);
- cur_val := 0;
- end;
- end;
- i := cur_val;
- {scan length}
- cur_val := 0;
- if (scan_keyword("length")) then begin
- scan_int;
- if (cur_val < 0) then begin
- print_err("Bad dump length");
-@.Bad dump length@>
- help2("A dump length must be between 0 and 2^{31}-1,")@/
- ("I changed this one to zero.");
- int_error(cur_val);
- cur_val := 0;
- end;
- end;
- j := cur_val;
- {scan file name}
- scan_pdf_ext_toks;
- s := tokens_to_string(def_ref);
- delete_token_ref(def_ref);
- def_ref := save_def_ref;
- warning_index := save_warning_index;
- scanner_status := save_scanner_status;
- b := pool_ptr;
- getfiledump(s, i, j);
- link(garbage) := str_toks(b);
- flush_str(s);
- ins_list(link(temp_head));
- restore_cur_string;
- return;
- end;
-uniform_deviate_code: scan_int;
-normal_deviate_code: do_nothing;
-Uchar_convert_code: scan_char_num;
-Ucharcat_convert_code:
- begin
- scan_ascii_num;
- i:=cur_val;
- scan_int;
- if illegal_Ucharcat_ascii_catcode(cur_val) then
- begin print_err("Invalid code ("); print_int(cur_val);
-@.Invalid code@>
- print("), should be in the ranges 1..4, 6..8, 10..13");
- help1("I'm going to use 12 instead of that illegal code value.");@/
- error; cat:=12;
- end else cat:=cur_val;
- cur_val:=i;
- end;
-@z
-
-@x
-eTeX_revision_code: print(eTeX_revision);
-@y
-eTeX_revision_code: print(eTeX_revision);
-pdf_strcmp_code: print_int(cur_val);
-uniform_deviate_code: print_int(unif_rand(cur_val));
-normal_deviate_code: print_int(norm_rand);
-Uchar_convert_code:
-if is_char_ascii(cur_val) then print_char(cur_val) else print_kanji(cur_val);
-Ucharcat_convert_code:
-if cat<kanji then print_char(cur_val) else print_kanji(cur_val);
-@z
-
-@x e-pTeX: if primitives - leave room for \ifincsname
-@d if_tdir_code=if_case_code+4 { `\.{\\iftdir}' }
-@y
-@d if_in_csname_code=20 { `\.{\\ifincsname}'; |if_font_char_code| + 1 }
-@d if_pdfprimitive_code=21 { `\.{\\ifpdfprimitive}' }
-@#
-@d if_tdir_code=if_pdfprimitive_code+1 { `\.{\\iftdir}' }
-@z
-
-@x \[if]pdfprimitive
- if_mbox_code:print_esc("ifmbox");
-@y
- if_mbox_code:print_esc("ifmbox");
- if_pdfprimitive_code:print_esc("ifpdfprimitive");
-@z
-
-@x \ifincsname
-var b:boolean; {is the condition true?}
-@!r:"<"..">"; {relation to be evaluated}
-@y
-var b:boolean; {is the condition true?}
-@!e:boolean; {keep track of nested csnames}
-@!r:"<"..">"; {relation to be evaluated}
-@z
-
-@x \[if]pdfprimitive
-if_void_code, if_hbox_code, if_vbox_code, if_tbox_code, if_ybox_code, if_dbox_code, if_mbox_code:
- @<Test box register status@>;
-@y
-if_void_code, if_hbox_code, if_vbox_code, if_tbox_code, if_ybox_code, if_dbox_code, if_mbox_code:
- @<Test box register status@>;
-if_pdfprimitive_code: begin
- save_scanner_status:=scanner_status;
- scanner_status:=normal;
- get_next;
- scanner_status:=save_scanner_status;
- if cur_cs < hash_base then
- m := prim_lookup(cur_cs-single_base)
- else
- m := prim_lookup(text(cur_cs));
- b :=((cur_cmd<>undefined_cs) and
- (m<>undefined_primitive) and
- (cur_cmd=prim_eq_type(m)) and
- (cur_chr=prim_equiv(m)));
- end;
-@z
-
-@x
-@ @<Initialize variables as |ship_out| begins@>=
-@y
-@ @<Initialize variables as |ship_out| begins@>=
-@<Calculate DVI page dimensions and margins@>;
-@z
-
-@x \[if]pdfprimitive: main_loop
-any_mode(ignore_spaces): begin @<Get the next non-blank non-call...@>;
- goto reswitch;
- end;
-@y
-any_mode(ignore_spaces): begin
- if cur_chr = 0 then begin
- @<Get the next non-blank non-call...@>;
- goto reswitch;
- end
- else begin
- t:=scanner_status;
- scanner_status:=normal;
- get_next;
- scanner_status:=t;
- if cur_cs < hash_base then
- cur_cs := prim_lookup(cur_cs-single_base)
- else
- cur_cs := prim_lookup(text(cur_cs));
- if cur_cs<>undefined_primitive then begin
- cur_cmd := prim_eq_type(cur_cs);
- cur_chr := prim_equiv(cur_cs);
- cur_tok := cs_token_flag+prim_eqtb_base+cur_cs;
- goto reswitch;
- end;
- end;
- end;
-@z
-
-@x \[if]pdfprimitive: dump prim table
-@<Dump the hash table@>=
-@y
-@<Dump the hash table@>=
-for p:=0 to prim_size do dump_hh(prim[p]);
-@z
-
-@x \[if]pdfprimitive: undump prim table
-@ @<Undump the hash table@>=
-@y
-@ @<Undump the hash table@>=
-for p:=0 to prim_size do undump_hh(prim[p]);
-@z
-
-@x
-fix_date_and_time;@/
-@y
-fix_date_and_time;@/
-isprint_utf8:=false;
-random_seed:=(microseconds*1000)+(epochseconds mod 1000000);@/
-init_randoms(random_seed);@/
-@z
-
-@x
-@d epTeX_input_encoding_code=6 {command modifier for \.{\\epTeXinputencoding}}
-@y
-@d epTeX_input_encoding_code=6 {command modifier for \.{\\epTeXinputencoding}}
-@d pdf_save_pos_node=epTeX_input_encoding_code+1
-@d set_random_seed_code=pdf_save_pos_node+1
-@d reset_timer_code=set_random_seed_code+1
-@z
-
-@x
- set_language_code:print_esc("setlanguage");
-@y
- set_language_code:print_esc("setlanguage");
- pdf_save_pos_node: print_esc("pdfsavepos");
- set_random_seed_code: print_esc("pdfsetrandomseed");
- reset_timer_code: print_esc("pdfresettimer");
-@z
-
-@x
-set_language_code:@<Implement \.{\\setlanguage}@>;
-@y
-set_language_code:@<Implement \.{\\setlanguage}@>;
-pdf_save_pos_node: @<Implement \.{\\pdfsavepos}@>;
-set_random_seed_code: @<Implement \.{\\pdfsetrandomseed}@>;
-reset_timer_code: @<Implement \.{\\pdfresettimer}@>;
-@z
-
-@x \pdfsavepos
- print_int(what_lhm(p)); print_char(",");
- print_int(what_rhm(p)); print_char(")");
- end;
-@y
- print_int(what_lhm(p)); print_char(",");
- print_int(what_rhm(p)); print_char(")");
- end;
-pdf_save_pos_node: print_esc("pdfsavepos");
-set_random_seed_code: print_esc("pdfsetrandomseed");
-reset_timer_code: print_esc("pdfresettimer");
-@z
-
-@x \pdfsavepos
-close_node,language_node: begin r:=get_node(small_node_size);
- words:=small_node_size;
- end;
-@y
-close_node,language_node: begin r:=get_node(small_node_size);
- words:=small_node_size;
- end;
-pdf_save_pos_node:
- r := get_node(small_node_size);
-@z
-
-@x \pdfsavepos
-close_node,language_node: free_node(p,small_node_size);
-@y
-close_node,language_node: free_node(p,small_node_size);
-pdf_save_pos_node: free_node(p, small_node_size);
-@z
-
-@x
-procedure special_out(@!p:pointer);
-var old_setting:0..max_selector; {holds print |selector|}
-@!k:pool_pointer; {index into |str_pool|}
-@y
-procedure special_out(@!p:pointer);
-label done;
-var old_setting:0..max_selector; {holds print |selector|}
-@!k:pool_pointer; {index into |str_pool|}
-@!s,@!t,@!cw, @!num, @!denom: scaled;
-@!bl: boolean;
-@!i: small_number;
-@z
-
-@x
-pool_ptr:=str_start[str_ptr]; {erase the string}
-@y
-if read_papersize_special>0 then
- @<Determine whether this \.{\\special} is a papersize special@>;
-done: pool_ptr:=str_start[str_ptr]; {erase the string}
-@z
-
-@x
-language_node:do_nothing;
-@y
-language_node:do_nothing;
-pdf_save_pos_node:
- @<Save current position in DVI mode@>;
-@z
-
-@x
-primitive("eTeXrevision",convert,eTeX_revision_code);@/
-@!@:eTeX_revision_}{\.{\\eTeXrevision} primitive@>
-@y
-primitive("eTeXrevision",convert,eTeX_revision_code);@/
-@!@:eTeX_revision_}{\.{\\eTeXrevision} primitive@>
-primitive("pdfprimitive",no_expand,1);@/
-@!@:pdfprimitive_}{\.{\\pdfprimitive} primitive@>
-primitive("pdfstrcmp",convert,pdf_strcmp_code);@/
-@!@:pdf_strcmp_}{\.{\\pdfstrcmp} primitive@>
-primitive("pdfcreationdate",convert,pdf_creation_date_code);@/
-@!@:pdf_creation_date_}{\.{\\pdfcreationdate} primitive@>
-primitive("pdffilemoddate",convert,pdf_file_mod_date_code);@/
-@!@:pdf_file_mod_date_}{\.{\\pdffilemoddate} primitive@>
-primitive("pdffilesize",convert,pdf_file_size_code);@/
-@!@:pdf_file_size_}{\.{\\pdffilesize} primitive@>
-primitive("pdfmdfivesum",convert,pdf_mdfive_sum_code);@/
-@!@:pdf_mdfive_sum_}{\.{\\pdfmdfivesum} primitive@>
-primitive("pdffiledump",convert,pdf_file_dump_code);@/
-@!@:pdf_file_dump_}{\.{\\pdffiledump} primitive@>
-primitive("pdfsavepos",extension,pdf_save_pos_node);@/
-@!@:pdf_save_pos_}{\.{\\pdfsavepos} primitive@>
-primitive("pdfpagewidth",assign_dimen,dimen_base+pdf_page_width_code);@/
-@!@:pdf_page_width_}{\.{\\pdfpagewidth} primitive@>
-primitive("pdfpageheight",assign_dimen,dimen_base+pdf_page_height_code);@/
-@!@:pdf_page_height_}{\.{\\pdfpageheight} primitive@>
-primitive("pdflastxpos",last_item,pdf_last_x_pos_code);@/
-@!@:pdf_last_x_pos_}{\.{\\pdflastxpos} primitive@>
-primitive("pdflastypos",last_item,pdf_last_y_pos_code);@/
-@!@:pdf_last_y_pos_}{\.{\\pdflastypos} primitive@>
-primitive("pdfshellescape",last_item,pdf_shell_escape_code);
-@!@:pdf_shell_escape_}{\.{\\pdfshellescape} primitive@>
-primitive("ifpdfprimitive",if_test,if_pdfprimitive_code);
-@!@:if_pdfprimitive_}{\.{\\ifpdfprimitive} primitive@>
-primitive("pdfuniformdeviate",convert,uniform_deviate_code);@/
-@!@:uniform_deviate_}{\.{\\pdfuniformdeviate} primitive@>
-primitive("pdfnormaldeviate",convert,normal_deviate_code);@/
-@!@:normal_deviate_}{\.{\\pdfnormaldeviate} primitive@>
-primitive("pdfrandomseed",last_item,random_seed_code);
-@!@:random_seed_}{\.{\\pdfrandomseed} primitive@>
-primitive("pdfsetrandomseed",extension,set_random_seed_code);@/
-@!@:set_random_seed_code}{\.{\\pdfsetrandomseed} primitive@>
-primitive("pdfelapsedtime",last_item,elapsed_time_code);
-@!@:elapsed_time_}{\.{\\pdfelapsedtime} primitive@>
-primitive("pdfresettimer",extension,reset_timer_code);@/
-@!@:reset_timer_}{\.{\\pdfresettimer} primitive@>
-primitive("Uchar",convert,Uchar_convert_code);@/
-@!@:Uchar_}{\.{\\Uchar} primitive@>
-primitive("Ucharcat",convert,Ucharcat_convert_code);@/
-@!@:Ucharcat_}{\.{\\Ucharcat} primitive@>
-@z
-
-@x
-eTeX_version_code: print_esc("eTeXversion");
-@y
-eTeX_version_code: print_esc("eTeXversion");
-pdf_last_x_pos_code: print_esc("pdflastxpos");
-pdf_last_y_pos_code: print_esc("pdflastypos");
-elapsed_time_code: print_esc("pdfelapsedtime");
-pdf_shell_escape_code: print_esc("pdfshellescape");
-random_seed_code: print_esc("pdfrandomseed");
-@z
-
-@x
-eTeX_version_code: cur_val:=eTeX_version;
-@y
-eTeX_version_code: cur_val:=eTeX_version;
-pdf_last_x_pos_code: cur_val := pdf_last_x_pos;
-pdf_last_y_pos_code: cur_val := pdf_last_y_pos;
-pdf_shell_escape_code:
- begin
- if shellenabledp then begin
- if restrictedshell then cur_val :=2
- else cur_val := 1;
- end
- else cur_val := 0;
- end;
-elapsed_time_code: cur_val := get_microinterval;
-random_seed_code: cur_val := random_seed;
-@z
-
-@x
-primitive("iffontchar",if_test,if_font_char_code);
-@!@:if_font_char_}{\.{\\iffontchar} primitive@>
-@y
-primitive("iffontchar",if_test,if_font_char_code);
-@!@:if_font_char_}{\.{\\iffontchar} primitive@>
-primitive("ifincsname",if_test,if_in_csname_code);
-@!@:if_in_csname_}{\.{\\ifincsname} primitive@>
-@z
-
-@x
-if_font_char_code:print_esc("iffontchar");
-@y
-if_font_char_code:print_esc("iffontchar");
-if_in_csname_code:print_esc("ifincsname");
-@z
-
-@x
-if_cs_code:begin n:=get_avail; p:=n; {head of the list of characters}
- repeat get_x_token;
-@y
-if_cs_code:begin n:=get_avail; p:=n; {head of the list of characters}
- e := is_in_csname; is_in_csname := true;
- repeat get_x_token;
-@z
-
-@x
- b:=(eq_type(cur_cs)<>undefined_cs);
-@y
- b:=(eq_type(cur_cs)<>undefined_cs);
- is_in_csname := e;
-@z
-
-@x
-if_font_char_code:begin scan_font_ident; n:=cur_val;
-@y
-if_in_csname_code: b := is_in_csname;
-if_font_char_code:begin scan_font_ident; n:=cur_val;
-@z
-
-@x
-procedure print_kanji(@!s:KANJI_code); {prints a single character}
-begin
-if s>255 then
- begin print_char(Hi(s)); print_char(Lo(s));
- end else print_char(s);
-end;
-@y
-procedure print_kanji(@!s:integer); {prints a single character}
-begin
-if s>255 then begin
- if isprint_utf8 then begin
- s:=UCStoUTF8(toUCS(s));
- if BYTE1(s)<>0 then print_char(BYTE1(s));
- if BYTE2(s)<>0 then print_char(BYTE2(s));
- if BYTE3(s)<>0 then print_char(BYTE3(s));
- print_char(BYTE4(s));
- end
- else begin print_char(Hi(s)); print_char(Lo(s)); end;
-end
-else print_char(s);
-end;
-
-
-@z
-
-@x
-@* \[54] System-dependent changes.
-@y
-@* \[54/pdf\TeX] System-dependent changes for {\tt\char"5Cpdfstrcmp}.
-@d call_func(#) == begin if # <> 0 then do_nothing end
-@d flushable(#) == (# = str_ptr - 1)
-
-@<Glob...@>=
-@!isprint_utf8: boolean;
-@!epochseconds: integer;
-@!microseconds: integer;
-
-@
-@d max_integer == @"7FFFFFFF {$2^{31}-1$}
-
-@<Declare procedures that need to be declared forward for \pdfTeX@>=
-procedure pdf_error(t, p: str_number);
-begin
- normalize_selector;
- print_err("pdfTeX error");
- if t <> 0 then begin
- print(" (");
- print(t);
- print(")");
- end;
- print(": "); print(p);
- succumb;
-end;
-
-function get_microinterval:integer;
-var s,@!m:integer; {seconds and microseconds}
-begin
- seconds_and_micros(s,m);
- if (s-epochseconds)>32767 then
- get_microinterval := max_integer
- else if (microseconds>m) then
- get_microinterval := ((s-1-epochseconds)*65536)+ (((m+1000000-microseconds)/100)*65536)/10000
- else
- get_microinterval := ((s-epochseconds)*65536) + (((m-microseconds)/100)*65536)/10000;
-end;
-
-@ @<Declare procedures needed in |do_ext...@>=
-
-procedure compare_strings; {to implement \.{\\pdfstrcmp}}
-label done;
-var s1, s2: str_number;
- i1, i2, j1, j2: pool_pointer;
- save_cur_cs: pointer;
-begin
- save_cur_cs:=cur_cs; call_func(scan_toks(false, true));
- isprint_utf8:=true; s1 := tokens_to_string(def_ref); isprint_utf8:=false;
- delete_token_ref(def_ref);
- cur_cs:=save_cur_cs; call_func(scan_toks(false, true));
- isprint_utf8:=true; s2 := tokens_to_string(def_ref); isprint_utf8:=false;
- delete_token_ref(def_ref);
- i1 := str_start[s1];
- j1 := str_start[s1 + 1];
- i2 := str_start[s2];
- j2 := str_start[s2 + 1];
- while (i1 < j1) and (i2 < j2) do begin
- if str_pool[i1] < str_pool[i2] then begin
- cur_val := -1;
- goto done;
- end;
- if str_pool[i1] > str_pool[i2] then begin
- cur_val := 1;
- goto done;
- end;
- incr(i1);
- incr(i2);
- end;
- if (i1 = j1) and (i2 = j2) then
- cur_val := 0
- else if i1 < j1 then
- cur_val := 1
- else
- cur_val := -1;
-done:
- flush_str(s2);
- flush_str(s1);
- cur_val_level := int_val;
-end;
-
-@ Next, we implement \.{\\pdfsavepos} and related primitives.
-
-@<Glob...@>=
-@!cur_page_width: scaled; {"physical" width of page being shipped}
-@!cur_page_height: scaled; {"physical" height of page being shipped}
-@!pdf_last_x_pos: integer;
-@!pdf_last_y_pos: integer;
-
-@ @<Implement \.{\\pdfsavepos}@>=
-begin
- new_whatsit(pdf_save_pos_node, small_node_size);
- inhibit_glue_flag:=false;
-end
-
-@ @<Save current position in DVI mode@>=
-begin
- case dvi_dir of
- dir_yoko: begin pdf_last_x_pos := cur_h; pdf_last_y_pos := cur_v; end;
- dir_tate: begin pdf_last_x_pos := -cur_v; pdf_last_y_pos := cur_h; end;
- dir_dtou: begin pdf_last_x_pos := cur_v; pdf_last_y_pos := -cur_h; end;
- endcases;
- pdf_last_x_pos := pdf_last_x_pos + 4736286;
- pdf_last_y_pos := cur_page_height - pdf_last_y_pos - 4736286;
- {4736286 = 1in, the funny DVI origin offset}
-end
-
-@ @<Calculate DVI page dimensions and margins@>=
- if pdf_page_height <> 0 then
- cur_page_height := pdf_page_height
- else if (box_dir(p)=dir_tate)or(box_dir(p)=dir_dtou) then
- cur_page_height := width(p) + 2*v_offset + 2*4736286
- else
- cur_page_height := height(p) + depth(p) + 2*v_offset + 2*4736286;
- {4736286 = 1in, the funny DVI origin offset}
- if pdf_page_width <> 0 then
- cur_page_width := pdf_page_width
- else if (box_dir(p)=dir_tate)or(box_dir(p)=dir_dtou) then
- cur_page_width := height(p) + depth(p) + 2*h_offset + 2*4736286
- else
- cur_page_width := width(p) + 2*h_offset + 2*4736286
- {4736286 = 1in, the funny DVI origin offset}
-
-
-@ Of course \epTeX\ can produce a \.{DVI} file only, not a PDF file.
-A \.{DVI} file does not have the information of the page height,
-which is needed to implement \.{\\pdflastypos} correctly.
-To keep the information of the page height, I (H.~Kitagawa)
-adopted \.{\\pdfpageheight} primitive from pdf\TeX.
-
-In \pTeX (and \hbox{\epTeX}), the papersize special
-\.{\\special\{papersize=\<width>,\<height>\}} is commonly used
-for specifying page width/height.
-If \.{\\readpapersizespecial} is greater than~0, the papersize special also
-changes the value of \.{\\pdfpagewidth} and \.{\\pdfpageheight}.
-This process is done in the following routine.
-
-{\def\<#1>{\langle\hbox{#1\/}\rangle}
-In present implementation, the papersize special $\<special>$,
-which can be interpreted by this routine, is defined as follows.
-$$\eqalign{%
- \<special> &\longrightarrow \.{papersize=}\<length>\.{,}\<length>\cr
- \<length> &\longrightarrow \<decimal>
- \<optional~\.{true}>\<physical unit>\cr
- \<decimal> &\longrightarrow \.{.} \mid \<digit>\<decimal> \mid
- \<decimal>\<digit>\cr
-}$$}
-Note that any space, ``\.{,}'' as a decimal separator, minus~symbol
-are neither permitted.
-
-@d ifps(#)==@+if k+(#)>pool_ptr then goto done @+ else @+ if
-@d sop(#)==so(str_pool[#])
-@f ifps==if
-
-@<Determine whether this \.{\\special} is a papersize special@>=
-begin k:=str_start[str_ptr];@/
-ifps(10) @,
- (sop(k+0)<>'p')or(sop(k+1)<>'a')or(sop(k+2)<>'p')or
- (sop(k+3)<>'e')@|or(sop(k+4)<>'r')or(sop(k+5)<>'s')or
- (sop(k+6)<>'i')or(sop(k+7)<>'z')@|or(sop(k+8)<>'e')or
- (sop(k+9)<>'=') then goto done;
-k:=k+10;
-@<Read dimensions in the argument in the papersize special@>;
-ifps(1) @, sop(k)=',' then begin
- incr(k); cw:=s;
- @<Read dimensions in the argument in the papersize special@>;
- if pool_ptr>k then goto done;
- geq_word_define(dimen_base+pdf_page_width_code,cw);
- geq_word_define(dimen_base+pdf_page_height_code,s);@|
- cur_page_height := s; cur_page_width := cw;
-end;
-end;
-
-@
-
-@d if_ps_unit(#)==if bl then @+ begin @+ ifps(2) sop(k)=(#) @, if_ps_unit_two
-@d if_ps_unit_two(#)==and (sop(k+1)=(#)) then begin bl:=false; k:=k+2; if_ps_unit_end
-@d if_ps_unit_end(#)==# @+ end @+ end;
-
-@d do_ps_conversion(#)==num:=#; do_ps_conversion_end
-@d do_ps_conversion_end(#)==
- s:=xn_over_d(s,num,#); s:=s*unity+((num*t+@'200000*remainder) div #)
-
-@<Read dimensions in the argument in the papersize special@>=
-s:=0; t:=0; bl:=true;
-while (k<pool_ptr)and bl do
- if (sop(k)>='0')and (sop(k)<='9') then begin s:=10*s+sop(k)-'0'; incr(k); @+end
- else bl:=false;
-ifps(1) sop(k)='.' then
- begin incr(k); bl:=true; i:=0; dig[0]:=0;
- while (k<pool_ptr)and bl do begin
- if (sop(k)>='0')and (sop(k)<='9') then
- begin if i<17 then begin dig[i]:=sop(k)-'0'; incr(i); @+end;
- incr(k); end
- else bl:=false;
- end;
- t:=round_decimals(i);
- end;
-if k+4>pool_ptr then
- if (sop(k)='t')and(sop(k+1)='r')and(sop(k+2)='u')and(sop(k+3)='e') then
- k:=k+4;
-if mag<>1000 then
- begin s:=xn_over_d(s,1000,mag);
- t:=(1000*t+@'200000*remainder) div mag;
- s:=s+(t div @'200000); t:=t mod @'200000;
-end;
-bl:=true;@/
-if_ps_unit('p')('t')(s:=s*unity+t)@/
-if_ps_unit('i')('n')(do_ps_conversion(7227)(100))@/
-if_ps_unit('p')('c')(do_ps_conversion(12)(1))@/
-if_ps_unit('c')('m')(do_ps_conversion(7227)(254))@/
-if_ps_unit('m')('m')(do_ps_conversion(7227)(2540))@/
-if_ps_unit('b')('p')(do_ps_conversion(7227)(7200))@/
-if_ps_unit('d')('d')(do_ps_conversion(1238)(1157))@/
-if_ps_unit('c')('c')(do_ps_conversion(14856)(1157))@/
-if_ps_unit('s')('p')(do_nothing)
-
-@ Finally, we declare some routine needed for \.{\\pdffilemoddate}.
-
-@<Glob...@>=
-@!isprint_utf8: boolean;
-@!last_tokens_string: str_number; {the number of the most recently string
-created by |tokens_to_string|}
-
-@ @<Declare procedures needed in |do_ext...@>=
-procedure scan_pdf_ext_toks;
-begin
- call_func(scan_toks(false, true)); {like \.{\\special}}
-end;
-
-@ @<Declare procedures that need to be declared forward for \pdfTeX@>=
-function tokens_to_string(p: pointer): str_number; {return a string from tokens
-list}
-begin
- if selector = new_string then
- pdf_error("tokens", "tokens_to_string() called while selector = new_string");
- old_setting:=selector; selector:=new_string;
- show_token_list(link(p),null,pool_size-pool_ptr);
- selector:=old_setting;
- last_tokens_string := make_string;
- tokens_to_string := last_tokens_string;
-end;
-procedure flush_str(s: str_number); {flush a string if possible}
-begin
- if flushable(s) then
- flush_string;
-end;
-
-@ @<Set initial values of key variables@>=
- seconds_and_micros(epochseconds,microseconds);
- init_start_time;
-
-@ Negative random seed values are silently converted to positive ones
-
-@<Implement \.{\\pdfsetrandomseed}@>=
-begin
- scan_int;
- if cur_val<0 then negate(cur_val);
- random_seed := cur_val;
- init_randoms(random_seed);
-end
-
-@ @<Implement \.{\\pdfresettimer}@>=
-begin
- seconds_and_micros(epochseconds,microseconds);
-end
-
-@* \[54] System-dependent changes.
-@z
diff --git a/Build/source/texk/web2c/eptexdir/tests/fontchar.sh b/Build/source/texk/web2c/eptexdir/tests/fontchar.sh
deleted file mode 100755
index 6430e83ca83..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/fontchar.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-luatex zero_search.tex && ppltotf zero_search.pl && eptex fontchar
diff --git a/Build/source/texk/web2c/eptexdir/tests/fontchar.tex b/Build/source/texk/web2c/eptexdir/tests/fontchar.tex
deleted file mode 100644
index 1df91d27cd1..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/fontchar.tex
+++ /dev/null
@@ -1,61 +0,0 @@
-%#!eptex
-
-\catcode`\_=12 \catcode`\@=11
-\def\typeout{\immediate\write17}
-\begingroup
- \catcode`\P=12 \catcode`\T=12
- \lowercase{
- \gdef\rem@pt#1.#2PT{#1\ifnum#2>\z@.#2\fi}
- }
-\endgroup
-\def\strip@pt{\expandafter\rem@pt\the}
-
-\def\TFC#1{\typeout{code #1: \iffontchar\jfont#1 T\else F\fi}}
-\def\TFT#1#2{\typeout{type \the\numexpr-#1-1\relax:
- \iffontchar#2#1
- (\strip@pt\fontcharht#2#1+\strip@pt\fontchardp#2#1)*\strip@pt\fontcharwd#2#1
- \else F\fi
-}}
-
-\TFC{"A1A1}
-\TFC{"FEFE}
-\TFC{"E0A1}
-\TFC{"FCFC}
-\TFC{"8140}
-\TFC{"9FFC}
-
-\typeout{TEST: \string\jfont: \fontname\sevenmin}
-\sevenmin
-\count@=-1
-\loop \ifnum\count@>-15
- \TFT\count@\jfont\advance\count@\m@ne
-\repeat
-
-\typeout{TEST: \string\tfont: \fontname\tfont}
-\count@=-1
-\loop \ifnum\count@>-15
- \TFT\count@\tfont\advance\count@\m@ne
-\repeat
-
-\protected\def\NEXT{\ten=1
- \loop\ifnum\ten<95
- \ifdim\fontcharwd\zs\kuten\numexpr\ku*256+\ten=10pt
- \global\count@=\kuten\numexpr\ku*256+\ten
- \global\count0\ku \global\count2\ten
- \global\ku=95 \ten=95
- \fi
- \advance\ten1
- \repeat}
-\count@=0
-\jfont\zs=zero_search
-\newcount\ku
-\newcount\ten
-\ku=1
-\loop\ifnum\ku<95
- {\ifnum11=\ifnum\ku>8 1\else0\fi\ifnum\ku<16 1\else 0\fi\else\NEXT\fi}%
- \advance\ku1
-\repeat
-\kansujichar1=\count@
-\typeout{\kansuji1(internal code: \the\count@, \the\count0-ku \the\count2-ten)}
-
-\bye
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdforigin.sh b/Build/source/texk/web2c/eptexdir/tests/pdforigin.sh
deleted file mode 100755
index 0889a39508b..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/pdforigin.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-etex pdforigin.tex && etex pdforigin.tex
-dvips pdforigin
-ps2pdf pdforigin.ps && mv pdforigin.pdf pdforigin_etex_dvips.pdf
-dvipdfmx pdforigin && mv pdforigin.pdf pdforigin_etex_dvipdfmx.pdf
-eptex pdforigin.tex && eptex pdforigin.tex
-dvipdfmx pdforigin && mv pdforigin.pdf pdforigin_eptex_dvipdfmx.pdf
-pdftex pdforigin.tex && pdftex pdforigin.tex && mv pdforigin.pdf pdforigin_pdftex.pdf
-xetex pdforigin.tex && xetex pdforigin.tex && mv pdforigin.pdf pdforigin_xetex.pdf
-
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdforigin.tex b/Build/source/texk/web2c/eptexdir/tests/pdforigin.tex
deleted file mode 100644
index ab64ac932b9..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/pdforigin.tex
+++ /dev/null
@@ -1,40 +0,0 @@
-\mag=3000
-
-\newdimen\XPOS\newdimen\YPOS\newread\TMP
-\openin\TMP=\jobname.tmp
-\ifeof\TMP\else\closein\TMP\input \jobname.tmp\fi
-\immediate\openout\TMP=\jobname.tmp
-\topskip0pt
-\ifdefined\pagewidth
- \pagewidth=10truein\pageheight=10truein
-\else\ifdefined\pdfpagewidth
- \pdfpagewidth=10truein\pdfpageheight=10truein
-\fi\fi
-
-\shipout\hbox{%
- \special{papersize=10truein,10truein}%
- \pdfsavepos%
- \write\TMP{\noexpand\XPOS=\the\pdflastxpos sp\noexpand\YPOS=\the\pdflastypos sp}%
- \smash{%
- \llap{\hss\vrule height 1pt depth 0pt width \XPOS}%
- \llap{\hss\vrule height 2.4pt depth -2pt width 1in}%
- \llap{\hss\vrule height 4pt depth -3.2pt width 1truein}%
- \llap{\vrule height 1in depth 0pt width 0.4pt\kern.8pt%
- \vrule height 1truein depth 0pt width 0.8pt}%
- \rlap{%
- \vrule height 0pt depth \dimexpr\YPOS+5truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS+4truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS+3truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS+2truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS+1truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS width .8pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS-1truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS-2truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS-3truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS-4truept width .4pt\kern.8pt
- \vrule height 0pt depth \dimexpr\YPOS-5truept width .4pt\kern.8pt%
- }%
- }%
-}
-\end
-
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdfpagewidth.tex b/Build/source/texk/web2c/eptexdir/tests/pdfpagewidth.tex
deleted file mode 100644
index c285d7601db..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/pdfpagewidth.tex
+++ /dev/null
@@ -1,24 +0,0 @@
-%#!eptex
-
-\def\TEST#1{%
- \pdfpagewidth0pt\pdfpageheight0pt
- \shipout\hbox{\special{#1}}%
- \message{<\the\pdfpagewidth, \the\pdfpageheight>}%
-}
-\count0=0
-\readpapersizespecial=1
-\TEST{papersize=10pt,20pt} % OK
-\TEST{papersize=10pt,20zw} % `zw' is not supported
-\TEST{papersize=10pt,20ex} % `ex' is neither
-\TEST{papersize=1pt,2} % no unit
-\TEST{papersize 10pc,20pc} % there is no `='
-\TEST{papersize=10pcA,20pc}%
-\TEST{papersize=10pc,20pcs}%
-\TEST{papersize=10pt,-20pt}% negative value
-\TEST{papersize=0pt,20000.6sp}% OK
-\TEST{papersize=30.2pt,665pt}% OK
-
-\readpapersizespecial=0
-\TEST{papersize=10pt,20pt}
-
-\end
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log b/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log
deleted file mode 100644
index 81688a1f803..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log
+++ /dev/null
@@ -1,57 +0,0 @@
-entering extended mode
- restricted \write18 enabled.
- %&-line parsing enabled.
-**pdfprimitive-eptex
-(./pdfprimitive-eptex.tex
-RELAX macro:->\message {RELAX} FUGA F T F F F
-> \pdfstrcmp=\pdfstrcmp.
-l.28 \show\pdfstrcmp
- % ==> \pdfstrcmp
-
-T T
-! Undefined control sequence.
-l.35 \setbox0=\vbox{\pdfprimitive\ \undefined
- }
-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.
-l.37 \setbox0=\vbox{\pdfprimitive\vrule\undefined
- }
-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.
-
-
-Overfull \hbox (0.4pt too wide) in paragraph at lines 37--37
-[]|
-
-\hbox(0.0+0.0)x0.0 []
-
-<1>
-! Missing number, treated as zero.
-<to be read again>
- \-
-l.43 \count42=\pdfprimitive\-
- 2\A
-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.)
-
-<0>
-! Missing number, treated as zero.
-<to be read again>
- \vrule
-l.44 \count42=\pdfprimitive\vrule
- 3\A
-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.)
-
-<0> )
-No pages of output.
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex b/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex
deleted file mode 100644
index 2f7211d26c7..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex
+++ /dev/null
@@ -1,47 +0,0 @@
-%#!euptex pdfprimitive-test.tex
-\catcode`\{=1\catcode`\}=2
-\scrollmode
-\catcode`\Q=14
-\ifdefined\pdfprimitive\else\catcode`\Q=11 \fi
-
-Q\let\pdfprimitive\primitive\let\ifpdfprimitive\ifprimitive
-\catcode`\Q=11
-
-\def\relax{\message{RELAX}}
-\def\fuga{\message{FUGA}}
-\let\input=\halign
-
-\relax % ==> RELAX
-\pdfprimitive\relax % ==> (no output)
-\message{\meaning\relax} % ==> macro:->\message {RELAX}
-
-\fuga % ==> FUGA
-\pdfprimitive\fuga % ==> ``! Missing primitive name.'' error
-
-\ifpdfprimitive\relax\message{T}\else\message{F}\fi % ==> F (macro)
-\ifpdfprimitive\par\message{T}\else\message{F}\fi % ==> T
-\ifpdfprimitive\input\message{T}\else\message{F}\fi % ==> F
- % (This \input is not ``primitive \input''.)
-\ifpdfprimitive\hoge\message{T}\else\message{F}\fi % ==> F (undefined)
-\ifpdfprimitive\fuga\message{T}\else\message{F}\fi % ==> F (macro)
-
-\show\pdfstrcmp % ==> \pdfstrcmp
-
-% fix for overwriting entries (170924)
-\ifpdfprimitive\ \message{T}\else\message{F}\fi % ==> T
-\ifpdfprimitive\vrule\message{T}\else\message{F}\fi % ==> T
-
-% fix for back_input in vertical mode (170924)
-\setbox0=\vbox{\pdfprimitive\ \undefined}
-% ==> ``! Undefined control sequence.'' error
-\setbox0=\vbox{\pdfprimitive\vrule\undefined}
-% ==> ``! Undefined control sequence.'' error
-
-\setbox0=\hbox{%
- \def\A{\message{<\the\count42>}\ignorespaces}
- \count42=\pdfprimitive\X 1\A
- \count42=\pdfprimitive\- 2\A
- \count42=\pdfprimitive\vrule 3\A
-}
-
-\end
diff --git a/Build/source/texk/web2c/eptexdir/tests/pdfsavepos.tex b/Build/source/texk/web2c/eptexdir/tests/pdfsavepos.tex
deleted file mode 100644
index 7bde48aa574..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/pdfsavepos.tex
+++ /dev/null
@@ -1,12 +0,0 @@
-\documentclass[dvipdfmx]{tarticle}
-\setlength{\pdfpagewidth}{\paperwidth}
-\setlength{\pdfpageheight}{\paperheight}
-% 以下二行をコメントアウトしたりしなかったりして試してみる.
-\special{papersize=\the\paperwidth,\the\paperheight}% (a)
-\AtBeginDvi{\special{papersize=\the\paperwidth, \the\paperheight}}% (b)
-\begin{document}
-A\pdfsavepos
-\newpage
-\message{pdflatexpos = \the\dimexpr\pdflastxpos sp, pdflastypos = \the\dimexpr\pdflastypos sp,
- pdfpagewidth = \the\pdfpagewidth, pdfpageheight = \the\pdfpageheight}
-\end{document} \ No newline at end of file
diff --git a/Build/source/texk/web2c/eptexdir/tests/uchar.tex b/Build/source/texk/web2c/eptexdir/tests/uchar.tex
deleted file mode 100644
index 35d29693343..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/uchar.tex
+++ /dev/null
@@ -1,127 +0,0 @@
-% eptex
-
-% \Uchar <chr_code>
-% 0--255:常に欧文文字トークン
-% 256以上の,内部コードで許される値:常に和文文字トークン
-% \Ucharcat <chr_code> <catcode>
-% <chr_code> in [0,128): 欧文文字トークンを生成.<catcode> in {1..4, 6..8, 10..13}
-% <chr_code> in [128,256)
-% e-pTeX の場合:欧文文字トークンを生成.<catcode> in {1..4, 6..8, 10..13}
-% e-upTeX の場合:欧文/和文文字トークンを生成.<catcode> in {1..4, 6..8, 10..13, 16..19}
-% <chr_code> >=256: 和文文字トークンを生成.
-% e-pTeX の場合: <catcode> in {16..18}
-% e-upTeX の場合:<catcode> in {16..19}
-
-
-% e-upTeX:
-
-
-\let\bg={ \let\eg=}
-{\catcode`\ =9\relax
-\gdef\KCAT{%
- \immediate\write17{%
- [\expandafter\string\x\space
- \expandafter\ifcat\x$ math\space shift\fi
- \expandafter\ifcat\x& alignment\fi
- \expandafter\ifcat\x^ superscript\fi
- \expandafter\ifcat\x_ subscript\fi
- \expandafter\ifcat\x\space space\fi
- \expandafter\ifcat\x a letter\fi
- \expandafter\ifcat\x 1 other\space char\fi
- \expandafter\ifcat\x ~ active\fi
- \expandafter\ifcat\x 空 kanji\fi
- \expandafter\ifcat\x ア kana\fi
- \expandafter\ifcat\x { other\space kchar\fi
- \ifdefined\ucs
- \expandafter\ifcat\x 한 hangul\fi
- \fi]}%
-}}
-\let\sharp=#
-\font\x=ec-lmtt10 \x
-\scrollmode
-
-\edef\x{\Uchar`\{}\KCAT
-\edef\x{\Uchar`\}}\KCAT
-\edef\x{\Uchar`\$}\KCAT
-\edef\x{\Uchar`\&}\KCAT
-\edef\x{\Uchar`\#}\KCAT
-\edef\x{\Uchar`\^}\KCAT
-\edef\x{\Uchar`\_}\KCAT
-\edef\x{\Uchar`\ }\KCAT
-\edef\x{\Uchar`\a}\KCAT
-\edef\x{\Uchar`\1}\KCAT
-\edef\x{\Uchar`~}\KCAT
-\edef\x{\Uchar`漢}\KCAT
-\edef\x{\Uchar`あ}\KCAT
-\edef\x{\Uchar`)}\KCAT
-
-\ifdefined\ucs %======
-\immediate\write0{■\string\Uchar\space and \string\kcatcode}
-{\kcatcode"03B1=15 \kcatcode"FF=15
-\edef\x{\Uchar"FF}\KCAT%"
-\edef\x{\Uchar"03B1}\KCAT%"
-}
-
-{\kcatcode"03B1=17 \kcatcode"FF=17
-\edef\x{\Uchar"FF}\KCAT%"
-\edef\x{\Uchar"03B1}\KCAT%"
-}
-\fi %======
-
-\immediate\write0{■\string\Ucharcat.}
-
-\edef\x{\Ucharcat`\# 0}\KCAT % error "! Invalid code"
-\edef\x{\Ucharcat`\# 3}\KCAT
-\edef\x{\Ucharcat`\# 4}\KCAT
-\edef\x{\Ucharcat`\# 5}\KCAT % error "! Invalid code"
-\edef\x{\Ucharcat`\# 7}\KCAT
-\edef\x{\Ucharcat`\# 8}\KCAT
-\edef\x{\Ucharcat`\# 9}\KCAT % error "! Invalid code"
-\edef\x{\Ucharcat`\# 10}\KCAT
-\edef\x{\Ucharcat`\# 11}\KCAT
-\edef\x{\Ucharcat`\# 12}\KCAT
-\edef\x{\unexpanded\expandafter{\Ucharcat`\# 13}}
-\message{\expandafter\meaning\unexpanded\expandafter{\x}} % undefined
-\edef\x{\Ucharcat`\# 14}\KCAT % error "! Invalid code"
-\edef\x{\Ucharcat`\# 15}\KCAT % error "! Invalid code"
-
-\edef\x{\Ucharcat`\# 16} % error "! Invalid code (16)"
-\KCAT
-
-\ifdefined\ucs %======
-\edef\x{\Ucharcat`漢 3} % error "! Invalid code (3)"
-\KCAT
-
-\edef\x{\Ucharcat`$ 16}\KCAT
-\edef\x{\Ucharcat`: 17}\KCAT
-\edef\x{\Ucharcat`あ 18}\KCAT
-\edef\x{\Ucharcat`漢 19}\KCAT
-
-{\kcatcode"03B1=15 %"
-\edef\x{\Ucharcat"03B1 12}\KCAT%" error "! Invalid code (12)"
-\edef\x{\Ucharcat"03B1 17}\KCAT%"
-}
-
-{\kcatcode"03B1=16 %"
-\edef\x{\Ucharcat"03B1 12}\KCAT%" error "! Invalid code (12)"
-\edef\x{\Ucharcat"03B1 17}\KCAT%"
-}
-
-{\kcatcode"FF=15 %"
-\edef\x{\Ucharcat"FF 12}\KCAT%"
-\edef\x{\Ucharcat"FF 17}\KCAT%"
-}
-
-{\kcatcode"FF=16 %"
-\edef\x{\Ucharcat"FF 12}\KCAT%"
-\edef\x{\Ucharcat"FF 17}\KCAT%"
-}
-\else
-
-\edef\x{\Ucharcat`漢 3} % error "! Bad character code" in eptex
-
-\fi % ======
-
-
-\end
-
diff --git a/Build/source/texk/web2c/eptexdir/tests/zero_search.tex b/Build/source/texk/web2c/eptexdir/tests/zero_search.tex
deleted file mode 100644
index 02b0df3929c..00000000000
--- a/Build/source/texk/web2c/eptexdir/tests/zero_search.tex
+++ /dev/null
@@ -1,72 +0,0 @@
-%#!luatex
-\input luatexja.sty
-
-\catcode\endlinechar=12
-\catcode`\ =12
-\catcode`\%=12
-\catcode`\#=12
-\directlua{
-local f = io.open("zero_search.pl", "w")
-if f then
- function OUT(s) f:write(s .. string.char(10)) end
-else
- function OUT(s) end
-end
-local jisx0208 = luatexja.base.load_cache('ltj-jisx0208',
- function() return false end)
-local utf = unicode.utf8
-OUT([[
-(COMMENT THIS IS A KANJI FORMAT FILE)
-(DESIGNSIZE R 10.0)
-(COMMENT DESIGNSIZE IS IN POINTS)
-(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
-(CHECKSUM O 0)
-(FONTDIMEN
- (SLANT R 0.0)
- (SPACE R 0.0)
- (STRETCH R 0.0)
- (SHRINK R 0.0)
- (XHEIGHT R 1.0)
- (QUAD R 1.0)
- (EXTRASPACE R 0.0)
- (EXTRASTRETCH R 0.0)
- (EXTRASHRINK R 0.0)
- )]])
-local CNT=96
-local r = {}
-for i=1,94 do
- for j=1,94 do
- if not ((i>0x08 and i<0x10) or i>0x54) then
- local t = math.random( ((i>0x40) and 0 or 1), CNT-1)
- r[t] = r[t] or {}
- table.insert(r[t],0x2020+i*256+j)
- end
- end
-end
-local floor = math.floor
-for i=1,CNT-1 do
- if #(r[i])>0 then
- table.sort(r[i])
- OUT("(CHARSINTYPE D " .. tostring(i))
- local s, k = " ", 0
- for j=1,#(r[i]) do
- local f = r[i][j]
- k, s = k+1, s .. 'J ' .. string.format("%04X",f)
- if k%10==0 then OUT(s); s = " " else s = s .. " " end
- end
- if k%10>0 then OUT(s) end
- OUT(" )")
- end
-end
-for i=0,CNT-1 do
- if #(r[i])>0 then
- OUT("(TYPE D " .. tostring(i))
- OUT(" (CHARWD R " .. tostring(1+i/100) .. ")")
- OUT(" (CHARHT R 0.88)")
- OUT(" (CHARDP R 0.12)")
- OUT(" )")
- end
-end
-f:close()
-}
-\bye