From c6101f91d071883b48b1b4b51e5eba0f36d9a78d Mon Sep 17 00:00:00 2001 From: Denis Bitouzé Date: Thu, 25 Feb 2021 18:23:07 +0000 Subject: French translation for tlmgr updated git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/eptexdir/ChangeLog | 533 --- Build/source/texk/web2c/eptexdir/Changes.txt | 147 - Build/source/texk/web2c/eptexdir/README.txt | 94 - Build/source/texk/web2c/eptexdir/am/eptex.am | 122 - .../texk/web2c/eptexdir/char-warning-eptex.ch | 63 - Build/source/texk/web2c/eptexdir/eptex-base.ch | 29 - Build/source/texk/web2c/eptexdir/eptex.defines | 52 - Build/source/texk/web2c/eptexdir/eptex.ech | 734 ---- Build/source/texk/web2c/eptexdir/eptex_version.h | 1 - Build/source/texk/web2c/eptexdir/eptexextra.c | 12 - Build/source/texk/web2c/eptexdir/eptexextra.h | 26 - .../source/texk/web2c/eptexdir/eptrip/eptrip.diffs | 1386 ------ Build/source/texk/web2c/eptexdir/eptrip/eptrip.log | 4429 -------------------- Build/source/texk/web2c/eptexdir/eptrip/eptrip.tex | 1265 ------ Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf | 41 - Build/source/texk/web2c/eptexdir/eptriptest.test | 142 - Build/source/texk/web2c/eptexdir/epver.test | 32 - Build/source/texk/web2c/eptexdir/etex.ch0 | 253 -- Build/source/texk/web2c/eptexdir/etex.ch1 | 197 - Build/source/texk/web2c/eptexdir/fam256.ch | 1537 ------- Build/source/texk/web2c/eptexdir/pdfprimitive.test | 23 - Build/source/texk/web2c/eptexdir/pdfutils.ch | 1752 -------- Build/source/texk/web2c/eptexdir/tests/fontchar.sh | 2 - .../source/texk/web2c/eptexdir/tests/fontchar.tex | 61 - .../source/texk/web2c/eptexdir/tests/pdforigin.sh | 10 - .../source/texk/web2c/eptexdir/tests/pdforigin.tex | 40 - .../texk/web2c/eptexdir/tests/pdfpagewidth.tex | 24 - .../web2c/eptexdir/tests/pdfprimitive-eptex.log | 57 - .../web2c/eptexdir/tests/pdfprimitive-test.tex | 47 - .../texk/web2c/eptexdir/tests/pdfsavepos.tex | 12 - Build/source/texk/web2c/eptexdir/tests/uchar.tex | 127 - .../texk/web2c/eptexdir/tests/zero_search.tex | 72 - 32 files changed, 13322 deletions(-) delete mode 100644 Build/source/texk/web2c/eptexdir/ChangeLog delete mode 100644 Build/source/texk/web2c/eptexdir/Changes.txt delete mode 100644 Build/source/texk/web2c/eptexdir/README.txt delete mode 100644 Build/source/texk/web2c/eptexdir/am/eptex.am delete mode 100644 Build/source/texk/web2c/eptexdir/char-warning-eptex.ch delete mode 100644 Build/source/texk/web2c/eptexdir/eptex-base.ch delete mode 100644 Build/source/texk/web2c/eptexdir/eptex.defines delete mode 100644 Build/source/texk/web2c/eptexdir/eptex.ech delete mode 100644 Build/source/texk/web2c/eptexdir/eptex_version.h delete mode 100644 Build/source/texk/web2c/eptexdir/eptexextra.c delete mode 100644 Build/source/texk/web2c/eptexdir/eptexextra.h delete mode 100644 Build/source/texk/web2c/eptexdir/eptrip/eptrip.diffs delete mode 100644 Build/source/texk/web2c/eptexdir/eptrip/eptrip.log delete mode 100644 Build/source/texk/web2c/eptexdir/eptrip/eptrip.tex delete mode 100644 Build/source/texk/web2c/eptexdir/eptrip/texmf.cnf delete mode 100755 Build/source/texk/web2c/eptexdir/eptriptest.test delete mode 100755 Build/source/texk/web2c/eptexdir/epver.test delete mode 100644 Build/source/texk/web2c/eptexdir/etex.ch0 delete mode 100644 Build/source/texk/web2c/eptexdir/etex.ch1 delete mode 100644 Build/source/texk/web2c/eptexdir/fam256.ch delete mode 100755 Build/source/texk/web2c/eptexdir/pdfprimitive.test delete mode 100644 Build/source/texk/web2c/eptexdir/pdfutils.ch delete mode 100755 Build/source/texk/web2c/eptexdir/tests/fontchar.sh delete mode 100644 Build/source/texk/web2c/eptexdir/tests/fontchar.tex delete mode 100755 Build/source/texk/web2c/eptexdir/tests/pdforigin.sh delete mode 100644 Build/source/texk/web2c/eptexdir/tests/pdforigin.tex delete mode 100644 Build/source/texk/web2c/eptexdir/tests/pdfpagewidth.tex delete mode 100644 Build/source/texk/web2c/eptexdir/tests/pdfprimitive-eptex.log delete mode 100644 Build/source/texk/web2c/eptexdir/tests/pdfprimitive-test.tex delete mode 100644 Build/source/texk/web2c/eptexdir/tests/pdfsavepos.tex delete mode 100644 Build/source/texk/web2c/eptexdir/tests/uchar.tex delete mode 100644 Build/source/texk/web2c/eptexdir/tests/zero_search.tex (limited to 'Build/source/texk/web2c/eptexdir') 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 - - * eptex.ech, eptex_version.h: e-pTeX version 210118 for TL21. - -2020-11-29 Hironobu Yamashita - - * fam256.ch: Adapt to changes in ptex-base.ch. - -2020-09-01 Hironobu Yamashita - - * pdfutils.ch (Scan the argument for command |c|) : - 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 - - * char-warning-eptex.ch: new file (see ../pdftexdir/ChangeLog). - * am/eptex.am (eptex_ch_srcs): add it. - -2020-05-05 Hironori Kitagawa - - * pdfutils.ch: Sync with inhibit_glue_flag improvement. - https://github.com/texjporg/tex-jp-build/pull/102 - -2019-12-10 Hironori Kitagawa - - * 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 - - * 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 - - * eptex.ech: Add primitives \current(x)spacingmode. - -2019-09-08 Hironori Kitagawa - - * eptex.ech: \readline correctly handles Japanese characters. - -2019-07-21 Hironobu Yamashita - - * 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 - - * 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 - - * am/eptex.am: Add a new test. - * epver.test: New test file for version number consistency. - -2019-04-02 Hironobu Yamashita - - * eptex.ech: \fontcharwd etc. for Japanese fonts correctly - returns a dimension for all kanji codes. - -2019-03-01 Hironobu Yamashita - - * eptex.ech: Fix \show\savinghyphcodes. (Bug introduced in - 2018-09-01). - -2019-01-31 Hironori Kitagawa - - * 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 - - * eptex.defines: Add dumpkanji and undumpkanji. - -2018-09-09 Karl Berry - - * eptriptest.test, - * pdfprimitive.test: LC_ALL=LANGUAGE=C. - -2018-09-01 Hironori Kitagawa - - * 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 - Hironori Kitagawa - - * eptex-base.ch, pdfutils.ch: New primitive \expanded - * eptex.ech, eptex_version.h: e-pTeX version 180518. - -2018-03-24 Hironori Kitagawa - Hironobu Yamashita - - * etex.ch1: Recover the right \lastnodesubtype initialization - value ignored by tex.ch. - * eptex.ech: Describe \lastnodesubtype. - -2018-02-26 Hironori Kitagawa - - * eptex.ech, eptex_version.h: e-pTeX version 180226. - -2018-02-25 Hironori Kitagawa - - * eptex.ech: New primitive \lastnodesubtype. - -2018-01-21 Hironori Kitagawa - - * 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 - - * fam256.ch: \delcode defaults to -1, not -4097, to be compatible - with TeX82. Correct assignment of negative \delcode. - -2017-12-15 Hironori Kitagawa - - * pdfutils.ch: Fix a error message "! File ended while ..." - while \pdfstrcmp, \pdfmdfivesum, etc. are used. - -2017-12-13 Hironori Kitagawa - - * fam256.ch: \show\odelimiter should be \odelimiter, etc. - -2017-11-30 Hironori Kitagawa - - * 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 - - * 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 - - * pdfutils.ch: Avoid overwriting prim_* entries by primitive(). - * eptex.ech, eptex_version.h: Change version to 170924. - -2017-09-09 Hironori Kitagawa - and Noriyuki Abe - - * eptex.ech: \epTeXinputencoding works also with the terminal. - * eptex.defines: Add a new function setstdinenc(). - -2017-09-06 Noriyuki Abe - - * eptex.ech: fix a bug in \epTeXinputencoding. - -2017-04-24 Hironori Kitagawa - - * eptex.ech, etex.ch1, euptex.ch0, pdfutils.ch: - Adapt to changes in ptexdir/ptex-base.ch (p\TeX -> \pTeX). - -2016-12-15 Akira Kakuto - - * eptexextra.h: Use "issue@texjp.org" as BUG_ADDRESS. - -2016-11-14 Hironori Kitagawa - - * eptex.ech, eptex_version.h, pdfutils.ch: Add new primitives - \pdfuniformdeviate, \pdfnormaldeviate, \pdfrandomseed, \pdfsetrandomseed, - \pdfelapsedtime, \pdfresettimer. - -2016-10-31 Akira Kakuto - - * pdfutils.ch: Remove an unused variable to avoid a compiler warning. - -2016-10-30 Hironori Kitagawa - - * eptex.defines, eptex.ech, eptex_version.h, pdfutils.ch: - Use initstarttime() to improve CreationDate. - -2016-09-12 Hironori Kitagawa - - * eptex.ech, pdfutils.ch: Realize better box in math mode. - -2016-09-06 Hironori Kitagawa - - * fam256.ch: Allow only 8bit arguments for \catcode etc. - -2016-07-29 Hironori Kitagawa - - * pdfutils.ch: Improve \pdfsavepos as pointed out by N. Abe. - -2016-03-04 Hironori Kitagawa - - * etex.ch1: Adapt to changes in ptexdir/ptex-base.ch. - -2016-02-01 Akira Kakuto - - * 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 - - * eptriptest.test: Also check tripos.tex and etrip.out. - -2015-08-06 Peter Breitenlohner - - * 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 - - * 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 - - * fam256.ch: Fix delcode initialization. - -2015-07-10 Peter Breitenlohner - - * eptriptest (removed): Renamed ... - * eptriptest.test (new): ... into this. - * am/eptex.am: Better dependencies for 'make check'. - -2015-07-06 Peter Breitenlohner - - * am/eptex.am: Add libmd5.a to eptex_DEPENDENCIES. - -2015-07-02 Hironori Kitagawa - - * 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 - - * am/eptx.am: Use $(tie_c) and $(tie_m). - -2015-04-12 Peter Breitenlohner - - * eptrip/eptrip.diffs: Updated for TL 2015. - -2014-12-12 Peter Breitenlohner - - * 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 - - * eptex.ech: Fix bugs in \fontcharwd etc. - * eptex_version.h: Change version to 141210. - -2014-11-19 Hironori Kitagawa - - * eptex.ech: Fix a bug introduced in the primitive \lastnodechar. - * eptex_version.h: Change version to 141119. - -2014-11-09 Hironori Kitagawa - - * eptex.ech: Improve the new primitive \lastnodechar. - * eptex_version.h: Change version to 141109. - -2014-11-08 Hironori Kitagawa - - * 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 -2014-05-06 Peter Breitenlohner - - * pdfutils.ch, eptex.defines: Add a primitive \pdffiledump for - eptex. - -2014-05-02 Peter Breitenlohner - - * eptrip/eptrip.diffs: Updated for TL14. - -2014-01-22 Peter Breitenlohner - - * 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 - - TeX tuneup of 2014. - * eptex.ech: Adapt to TeX Version 3.14159265. - -2014-01-17 Peter Breitenlohner - - * eptrip.test (removed): Renamed ... - * eptriptest (new): ... into this. - * am/eptex.am: Adapted. - -2013-11-21 Peter Breitenlohner - - * eptrip/eptrip.diffs, eptrip/etrip.log: Update for etrip.tex - Version 2.6 [2013-11-21]. - -2013-08-12 TANAKA Takuji - - * eptex.defines: Allow file names with 0x5c in (e)pTeX on Windows. - -2013-06-11 Peter Breitenlohner - - 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 - - * eptrip/eptrip.diffs, eptrip/etrip.log: Update for TL 2013. - -2013-03-04 Peter Breitenlohner - - * am/eptex.am: Better rule for eptex_version.h. - -2013-03-01 Peter Breitenlohner - - * 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 - - * am/eptex.am, eptrip.test: Enable parallel-tests. - -2012-12-16 Peter Breitenlohner - - * am/eptex.am (eptex_version.h): Enable silent rules. - -2012-12-01 Hironori Kitagawa - - * fam256.ch: fix a delcode bug. - -2012-09-04 Peter Breitenlohner - - * eptexextra.h: Set AUTHOR to "Peter Breitenlohner" and - BUG_ADDRESS to "tex-k@tug.org" (from W32TeX). - -2012-08-13 Peter Breitenlohner - - * fam256.ch: Slightly reduce one changeset to simplify e-upTeX. - -2012-08-02 Peter Breitenlohner - - * 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 - - * am/eptex.am: Distribute eptex_version.h. - * eptexextra.h: Use ../[ep]texdir/[ep]tex_version.h. - -2012-07-15 Akira Kakuto - - * eptexextra.c: Must #define DLLPROC before reading eptexd.h. - -2012-06-30 Peter Breitenlohner - - * eptexextra.c [W32TeX]: #define DLLPROC for eptex.dll. - -2012-05-12 Peter Breitenlohner - - * eptrip/eptrip.diffs, eptrip/etrip.log: Updated. - -2012-05-11 Peter Breitenlohner - - * eptex.ech (eTeX_version_string): Version 2.4. - * eptrip/eptrip.diffs, eptrip/etrip.{log,tex}: Adapted. - -2012-04-17 Peter Breitenlohner - - * eptex.ech (just_copy): Bug fix, copy the additional pTeX word. - Mail from Werner Fink - [tex-live] Mon, Apr 16 16:28:50. - -2011-12-19 Hironori Kitagawa - - * fam256.ch, eptex.defines: Avoid Segmentation fault for - japanese \catcode or \kcatcode. - -2011-09-30 Peter Breitenlohner - - * am/eptex.am (eptexdir/ptex_version.h): Fix a typo. - -2011-08-25 Hironori Kitagawa - - * eptex.ech (just_copy): Copy the additional pTeX fields. - -2011-08-18 Peter Breitenlohner - - 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 - - * 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 - - * eptex.defines: Add newline at end of file. - -2011-07-04 Peter Breitenlohner - - * 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 - - * eptex.ech: Adapted to pTeX Version p3.2. - -2011-04-07 Peter Breitenlohner - - * eptrip/etrip.tex, eptrip/etrip.log, eptrip/eptrip.diffs: - Adapted to e-TeX Version 2.3. - -2011-04-01 Hironori Kitagawa - - * eptex.ech: Yet an other Bug fix. - -2011-03-31 Hironori Kitagawa - - * eptex.ech: Bug fix and TeX formatting. - * pdfsavepos.ch, pdfstrcmp.ch: TeX formatting. - -2011-03-30 Peter Breitenlohner - - * eptex.ech, etex.ch0: Handle disp_node from discretionary. - Set correct last_node_type from main vertical list. - -2011-03-29 Peter Breitenlohner - - * eptex.ech, etex.ch0: Redefine box_dir and box_lr to also work - for min_quarterword<0. - -2011-03-28 Peter Breitenlohner - - * am/eptex.am: Use AM_CFLAGS instead of eptex_CFLAGS. - -2011-03-27 Peter Breitenlohner - - * eptex.ech, etex.ch[01]: Reformulate @, begin_box, and delete_last to fix a bug in - \lastpenalty & Co; further reduce e-pTeX interferences. - -2011-03-25 Peter Breitenlohner - - * 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 - - * eptex.ech, etex.ch0: Reformulate @ to reduce interferences between e-TeX and pTeX. - -2011-03-18 Peter Breitenlohner - - e-pTeX update eptex-110315_tlsvn110318.diff [ptex:00248] - from Hironori Kitagawa . - - * 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 - - * 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 . - - * fam256.ch (max_reg_help_line): Use correct max_reg_num value. - -2011-01-17 Peter Breitenlohner - - * eptex.ech: banner_k==banner for e-pTeX. - - * am/eptex.am (eptrip.diffs): Use $(triptrap_diffs). - -2011-01-14 Peter Breitenlohner - - * am/eptex.am (eptrip-clean): Use TRIPTRAP_CLEAN. - -2011-01-13 Peter Breitenlohner - - * eptrip.test (new): Shell script for e-pTRIP test, - from Hironori Kitagawa . - * 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 -## Copyright 2011-2015 Peter Breitenlohner -## 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 , -% Ken Nakano , 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 . - -%% 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_valdisp_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] -@= -text_baseline_shift_factor:=1000; -@y -@= -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) - 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:@; -@y -set_language_code:@; -epTeX_input_encoding_code:@; -@z - -@x -@ @= -@y -@ @= -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; - -@ @= -eptex_set_input_encoding - -@ @= -@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]-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 -@ @= -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 -@ @= -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}} - -@= -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@> - -@ @= -current_spacing_mode_code: print_esc("currentspacingmode"); -current_xspacing_mode_code: print_esc("currentxspacingmode"); - -@ @= -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 - -/* Hand-coded routines for TeX or Metafont in C. */ -#include 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 /* for ETEX_VERSION */ -#include /* for EPTEX_VERSION */ -#include /* 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 -# Copyright 2011-2014 Peter Breitenlohner -# Copyright 2010 Hironori Kitagawa -# 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). -< -< = -< 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). -< -< = -< 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). - - { -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). - - { -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. - ...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. - - \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. - - } -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. - ...uplevel \2\else \9 - \fi -l.2 - -\2...=\the \currentgrouplevel }} - \endgroup - ...rrentgrouplevel \2 - \else \9\fi -l.2 - -\2...=\the \currentgrouplevel }} - \endgroup - ...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. - } - -... -l.495 \1 - \showbox1 \showbox0 \let\3=\5 - -> 0-2. - } - -... -l.495 \1 - \showbox1 \showbox0 \let\3=\5 - -> 1-1. - } - -... -l.495 \1 - \showbox1 \showbox0 \let\3=\5 - -> 1-1. - } - -... -l.495 \1 - \showbox1 \showbox0 \let\3=\5 - -> . - } - -... -l.495 \1 - \showbox1 \showbox0 \let\3=\5 - -> . - } - -... -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. - {\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. - {\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. - {\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. - {\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. - {\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. - {\1 \showbox 255 - \setbox 0=\box 255} -l.504 ...x{}\vfil\penalty-10000 - % reclaim sparse array memory! - -Checking \middle: -! Missing $ inserted. - - $ -... -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). - - \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 '. - -! Extra \middle. - - \par -l.513 ...box0=\vbox{\middle \par - \right \par} % <== 8 errors -I'm ignoring a \middle that had no matching \left. - -! Missing $ inserted. - - $ -... -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. - - $ -... -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). - - \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 '. - -! Extra \right. - - \par -l.513 ...middle \par \right \par - } % <== 8 errors -I'm ignoring a \right that had no matching \left. - -! Missing $ inserted. - - $ -... -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. - \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. - - \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. - - \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. - - \9 -l.767 ...unt43=\numexpr ( ( 2 \9 - \dimen43=\dimexpr ... -I was expecting to see `+', `-', `*', `/', or `)'. Didn't. - -! Missing ) inserted for expression. - - \9 -l.767 ...unt43=\numexpr ( ( 2 \9 - \dimen43=\dimexpr ... -I was expecting to see `+', `-', `*', `/', or `)'. Didn't. - -! Missing ) inserted for expression. - - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - \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. - - 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. - \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. - \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. - - 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. - \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. - \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. - - 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. - \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. - \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. - - 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. - \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. - - = -\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. - \relax - - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - \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). - - = -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). - - = -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). - - = -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. - - $ -... -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. - - $ -... -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. - ...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. - ...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 -# Copyright 2011-2014 Peter Breitenlohner -# Copyright 2010 Hironori Kitagawa -# 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 -# 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 . - -@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 @@; - else if m>=eTeX_dim then - begin case m of - @/@@/ - 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; - @/@@/ - 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; -@; -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 @; -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 - @; - done:end; -@y -else begin if not is_char_node(tail) then - if (type(tail)=hlist_node)or(type(tail)=vlist_node) then - @; - 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 . - -@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 @@; - else if m>=eTeX_dim then - begin case m of - @/@@/ - 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; - @/@@/ - 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; -@; -left_edge:=cur_h; -@z - -@x [32.622] -@= -@y -@= -@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 @; -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 -@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} - -@= -@!cur_val:integer; {value returned by numeric scanners} -@y -@d tok_val=5 {token lists} - -@= -@!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 -@ @= -begin -if m=math_code_base then - begin scan_ascii_num; - scanned_result(ho(math_code(cur_val)))(int_val); end -@y -@ @= -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 -@= -if scan_keyword("fil") then -@.fil@> - begin cur_order:=fil; -@y -@= -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 z0)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]|. - -@= -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]|. - -@= -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 -@= -@!page_so_far:array [0..7] of scaled; {height and glue of the current page} -@y -@= -@!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=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 - @ -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 - @ -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 -@= -procedure scan_delimiter(@!p:pointer;@!r:boolean); -begin if r then scan_twenty_seven_bit_int -else begin @; - 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 @; -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 -@= -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 @; - 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 @; - 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 -@= -def_code: begin - @; - @; - 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_valn) then - begin print_err("Invalid code ("); print_int(cur_val); -@.Invalid code@> - if p= -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 - @; - @; - 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_valn) then - begin print_err("Invalid code ("); print_int(cur_val); -@.Invalid code@> - if p=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 -@ @= -repeat j:=k; -while jeqtb[j+1].int then goto done2; -@y -@ @= -repeat j:=k; -while jeqtb[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: @; -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: @; -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 # -# Copyright 2015 Peter Breitenlohner -# 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 ) -%% -%% \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. - -@= -@!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; - @; - 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 - -@= -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 @=0| and |q>0|@>; -if f; -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; - -@ @=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@> - -@= -p:=fraction_half; {that's $2^{27}$; the invariants hold now with $k=28$} -if q= -@!two_to_the:array[0..30] of integer; {powers of two} -@!spec_log:array[1..28] of integer; {special logarithms} - - -@ @= -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 @ -else begin y:=1302456956+4-100; {$14\times2^{27}\ln2\approx1302456956.421063$} - z:=27595+6553600; {and $2^{16}\times .421063\approx 27595$} - while xfraction_four+4 do - @; - m_log:=y div 8; - end; -end; - -@ @= -begin z:=((x-1) div two_to_the[k])+1; {$z=\lceil x/2^k\rceil$} -while x= -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 @=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; - -@ @= -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=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)=0; -norm_rand:=x; -end; -@* \[8] Packed data. -@z - -@x -@* \[12] Displaying boxes. -@y -@@; - -@* \[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 } - -@= -@!prim: array [0..prim_size] of two_halves; {the primitives table} -@!prim_used:pointer; {allocation pointer for |prim|} -@z - -@x \[if]pdfprimitive -@ @= -no_new_control_sequence:=true; {new identifiers are usually forbidden} -@y -@ @= -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); - @; - p:=h+prim_base; {we start searching here; note that |0<=h1+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 @; - goto found; - end; - p:=prim_next(p); - end; -found: prim_lookup:=p; -end; - -@ @= -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. - -@= -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=prim_eqtb_base)and(p= -@y -@ @= -@!is_in_csname: boolean; - -@ @= -is_in_csname := false; - -@ @= -@z - -@x -no_expand:@; -@y -no_expand: if cur_chr=0 then @ - else @; -@z - -@x -@= -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 -@= -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. - -@= -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. - -@= -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 -@; -@y -is_in_csname := b; -@; -@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: @; -@y -last_item: @; -ignore_spaces: {trap unexpandable primitives} - if cur_chr=1 then @; -@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 @ -@y -restart: -if cur_tok=alpha_token then @ -else if cur_tok=cs_token_flag+frozen_primitive then - @ -@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]0 then decr(str_ptr) - -@ Not all catcode values are allowed by \.{\\Ucharcat}: -@d illegal_Ucharcat_ascii_catcode(#)==(#active_char)or(#=out_param)or(#=ignore) -@d illegal_Ucharcat_wchar_catcode(#)==(#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; @; -@y -begin cat:=0; c:=cur_chr; @; -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"; {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: - @; -@y -if_void_code, if_hbox_code, if_vbox_code, if_tbox_code, if_ybox_code, if_dbox_code, if_mbox_code: - @; -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 -@ @= -@y -@ @= -@; -@z - -@x \[if]pdfprimitive: main_loop -any_mode(ignore_spaces): begin @; - goto reswitch; - end; -@y -any_mode(ignore_spaces): begin - if cur_chr = 0 then begin - @; - 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 -@= -@y -@= -for p:=0 to prim_size do dump_hh(prim[p]); -@z - -@x \[if]pdfprimitive: undump prim table -@ @= -@y -@ @= -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:@; -@y -set_language_code:@; -pdf_save_pos_node: @; -set_random_seed_code: @; -reset_timer_code: @; -@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 - @; -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: - @; -@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) - -@= -@!isprint_utf8: boolean; -@!epochseconds: integer; -@!microseconds: integer; - -@ -@d max_integer == @"7FFFFFFF {$2^{31}-1$} - -@= -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; - -@ @= - -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. - -@= -@!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; - -@ @= -begin - new_whatsit(pdf_save_pos_node, small_node_size); - inhibit_glue_flag:=false; -end - -@ @= -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 - -@ @= - 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=\,\\}} 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 $\$, -which can be interpreted by this routine, is defined as follows. -$$\eqalign{% - \ &\longrightarrow \.{papersize=}\\.{,}\\cr - \ &\longrightarrow \ - \\\cr - \ &\longrightarrow \.{.} \mid \\ \mid - \\\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 - -@= -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; -@; -ifps(1) @, sop(k)=',' then begin - incr(k); cw:=s; - @; - 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 #) - -@= -s:=0; t:=0; bl:=true; -while (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='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}. - -@= -@!isprint_utf8: boolean; -@!last_tokens_string: str_number; {the number of the most recently string -created by |tokens_to_string|} - -@ @= -procedure scan_pdf_ext_toks; -begin - call_func(scan_toks(false, true)); {like \.{\\special}} -end; - -@ @= -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; - -@ @= - seconds_and_micros(epochseconds,microseconds); - init_start_time; - -@ Negative random seed values are silently converted to positive ones - -@= -begin - scan_int; - if cur_val<0 then negate(cur_val); - random_seed := cur_val; - init_randoms(random_seed); -end - -@ @= -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. - - \- -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. - - \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 -% 0--255:常に欧文文字トークン -% 256以上の,内部コードで許される値:常に和文文字トークン -% \Ucharcat -% in [0,128): 欧文文字トークンを生成. in {1..4, 6..8, 10..13} -% in [128,256) -% e-pTeX の場合:欧文文字トークンを生成. in {1..4, 6..8, 10..13} -% e-upTeX の場合:欧文/和文文字トークンを生成. in {1..4, 6..8, 10..13, 16..19} -% >=256: 和文文字トークンを生成. -% e-pTeX の場合: in {16..18} -% e-upTeX の場合: 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 -- cgit v1.2.3