summaryrefslogtreecommitdiff
path: root/info/digests/tex-implementors/message.16
diff options
context:
space:
mode:
Diffstat (limited to 'info/digests/tex-implementors/message.16')
-rw-r--r--info/digests/tex-implementors/message.16574
1 files changed, 574 insertions, 0 deletions
diff --git a/info/digests/tex-implementors/message.16 b/info/digests/tex-implementors/message.16
new file mode 100644
index 0000000000..6124895bb8
--- /dev/null
+++ b/info/digests/tex-implementors/message.16
@@ -0,0 +1,574 @@
+(Message inbox:34)
+Date: Tue 11 Apr 89 21:54:58-EST
+From: bbeeton <BNB@vax01.ams.com>
+Subject: WEAVE 3.1; TRIP.TEX
+To: TeX-implementors@vax01.ams.com
+Message-ID: <608352898.0.BNB@VAX01.AMS.COM>
+Mail-System-Version: <VAX-MM(229)+TOPSLIB(132)+PONY(228)@VAX01.AMS.COM>
+
+Date: 11 Apr 89 Message No: 016
+
+To: TeX implementors and distributors
+
+From: Barbara Beeton
+
+Subject: WEAVE 3.1; TRIP.TEX
+
+
+Another bug has been found in WEAVE.WEB. The differences are listed below.
+This is Knuth's announcement:
+
+ Here's a new change to WEAVE. I guess it has to be version 3.1, because
+ some other people already have 3.0. The bug in 3.0 occurs iff there's a
+ change and the program consists of exactly one module. But the new code is
+ not only correct, it's much simpler. (This was found and fixed by Peter
+ Breitenlohner in Germany.)
+
+
+The entire current TRIP.TEX file is included in this message. Because
+some lines begin with a period, which causes peculiar things to happen
+going through some gateways, I have inserted one X at the beginning of
+every line. These X's should be removed before using the file, and the
+character code list at the end of the message should be checked very
+carefully to make sure that nothing was corrupted. (If the file didn't
+make it through intact, send me a message that says what characters were
+changed and I will try to come up with a more reliable technique. I do
+not yet have a working coder/decoder.) The file contains exactly 448
+lines; a few are longer than 80 characters, and if your gateway truncated
+or broke lines, let me know that too. The dates on the files at Stanford
+are as follows:
+ Sail [TEX,SYS] TRIP TEX 4.4 25-May-88 1630
+ Score <TEX.TEST> TRIP.TEX 9 22013(7) 4-Jun-88 11:49:29
+
+
+I will be out of town from April 14-23. If you send a message about a
+problem, it may take a while for me to answer it, though I'll try to
+acknowledge all such messages as quickly as I can. After I return, if
+I find that sending the TRIP.TEX file was successful, I'll try the same
+technique with TRIP.LOG.
+
+
+########################################################################
+
+Differences between WEAVE.WEB 3.0 and 3.1
+
+;COMPARISON OF PS:<TEX.WEB>WEAVE.WEB.7 AND PS:<BEETON.BB>WEAVE.WEB.2
+;OPTIONS ARE /E /3
+
+**** FILE PS:<TEX.WEB>WEAVE.WEB.7, 1-24 (1485)
+% Here is TeX material that gets inserted after \input webmac
+**** FILE PS:<BEETON.BB>WEAVE.WEB.2, 1-23 (1483)
+% Version 3.1 fixed a bug for programs with only one module (April, 1989).
+% Here is TeX material that gets inserted after \input webmac
+***************
+
+**** FILE PS:<TEX.WEB>WEAVE.WEB.7, 1-43 (2274)
+ \centerline{(Version 3)}
+ \vfill}
+**** FILE PS:<BEETON.BB>WEAVE.WEB.2, 1-44 (2350)
+ \centerline{(Version 3.1)}
+ \vfill}
+***************
+
+**** FILE PS:<TEX.WEB>WEAVE.WEB.7, 1-70 (3378)
+@d banner=='This is WEAVE, Version 3'
+@ The program begins with a fairly normal header, made up of pieces that
+**** FILE PS:<BEETON.BB>WEAVE.WEB.2, 1-71 (3456)
+@d banner=='This is WEAVE, Version 3.1'
+@ The program begins with a fairly normal header, made up of pieces that
+***************
+
+**** FILE PS:<TEX.WEB>WEAVE.WEB.7, 1-4507 (176859)
+while not changed_module[k_module] do incr(k_module);
+out4("\")("c")("h")(" ");
+out_mod(k_module);
+repeat repeat incr(k_module)@+ until changed_module[k_module];
+ out2(",")(" "); out_mod(k_module);
+until k_module=module_count;
+out(".");
+**** FILE PS:<BEETON.BB>WEAVE.WEB.2, 1-4508 (176939)
+out4("\")("c")("h")(" ");
+while k_module<module_count do
+ begin if changed_module[k_module] then
+ begin out_mod(k_module); out2(",")(" ");
+ end;
+ incr(k_module);
+ end;
+out_mod(k_module);
+out(".");
+***************
+
+
+########################################################################
+
+TRIP.TEX
+
+X% This is a diabolical test file for TeX82. Watch your step.
+X\catcode `{ = 1 \endlinechar=13
+X\catcode `} = 2
+X\catcode `$ = 3 {\catcode`$13\gdef\dol{$}}
+X\catcode `& = 4
+X\let\paR=\par
+X\let\%=\relax
+X\outer\xdef\par{\catcode `\% 14}
+X % this line should change % from type 5 to type 14
+X\let\par=\paR \defaulthyphenchar=`- \defaultskewchar=256
+X\ifx\initex\undefined \def\initex{} % next lines are skipped if format loaded
+X \catcode `# = 6 \catcode `U=\catcode`# % # for parameters
+X \catcode `^ = 7 \catcode `| = 8 % ^ for superscripts and | for subscripts
+X \catcode `~ = 9 % ~ will be ignored
+X \catcode `* = 10 % * will be like a space
+X \catcode `E = 12 % E is not a letter
+X \catcode`\@ = 15 % @ will be invalid
+X \catcode `^^A = 0008 % this is another way to get a subscript
+X \catcode `\^^@ = 11 % a strange letter will be allowed
+X \catcode `\^^? = 0 % and so will a strange escape delimiter
+X \fontdimen12\nullfont=13pt % give the null font more parameters
+X \font\trip = trip\relax % see TRIP.PL for details of this font
+X ^^?trip \font\smalltrip=trip scaled 500 % this will be our symbols font
+X \global\fontdimen22\smalltrip 7pt % the axis height
+X \textfont2=\smalltrip \scriptfont2 \smalltrip \scriptscriptfont2 \smalltrip
+X \nonstopmode\lccode128-0\mathchardef\a="8000\def\a{ SCALED 3~2769}
+X \font\rip=trip\a % font \rip will be the same as \trip
+X \skewchar\rip=`B \countdef\countz % \countz will be \count0
+X \def\on{1} \toksdef\tokens=256 \show\errorstopmode
+X \showthe\font \showthe\pageshrink \showthe\pagegoal
+X \font\bigtrip=trip at 20pt % this will be extension font
+X \textfont3=\bigtrip \chardef\?=`b \lccode`A=1
+X \patterns{\?50AA1b3 *1AcA. bb bb1 0B2B0 b1c} % remember that *==space
+X \hyphenation\relax{b-\?-\char`b -b-b-b tiny }
+X \skip200 = 10pt plUs5fil\ifdim\hsize<\hsize\fi lllminus 0 fill
+X \setbox200=\vbox{\hrule\vskip\skip200} \wd200-2pt \setbox100=\hbox{A}
+X \skipdef\shkip100\shkip -18pt plus\catcode`\}fil minus 10fil
+X \advance\shkip by \skip200
+X \dimen33=3pt
+X \count33=-\dimen33
+X \divide\shkip by \count33
+X \multiply\shkip by \count33 % so \skip100=-6pt plus 3filll minus 9fil
+X \count200 -5
+X \multiply\count200 by -100 % \count200 is 500
+X \count100=1000000
+X \divide\count100 by \count200 % \count100 is 2000
+X \dimen100=,00152587890625in % (100/65536)in = 7227sp
+X \multiply\dimen100 by 65536
+X \divide\dimen100 by 9 % \dimen100 is 803pt
+X \lineskip 0pt plus 40pt
+X \baselineskip=10pt plus 41pt
+X \parskip -0pt plus 42pt minus 8pt
+X \splittopskip 1pt plus 43pt
+X \splitmaxdepth -2pt \boxmaxdepth 1000pt
+X \belowdisplayskip 3pt plus 44pt minus\baselineskip \abovedisplayskip3pt
+X \abovedisplayshortskip 1pt plus 45pt minus\dimen100
+X \belowdisplayshortskip -\count33sp plus 46pt
+X \global\mathchardef\minus"232D % mathbin, family 3, character "2D (-)
+X \thinmuskip 1mu plus 2fill minus 3mu
+X \medmuskip 2mu minus 3mu
+X \thickmuskip -4mu
+X \def\gobble#1{} \floatingpenalty 100
+X \everypar{A\insert200{\baselineskip400pt\splittopskip\count15pt\hbox{\vadjust
+X {\penalty999}}\hbox to -10pt{}}\showthe\pagetotal\showthe\pagegoal
+X \advance\count15by1\mark{\the\count15}\splitmaxdepth-1pt
+X \paR\gobble} % this aborts every paragraph abruptly
+X \def\weird#1{\csname\expandafter\gobble\string#1 \string\csname\endcsname}
+X \message{\the\output\weird\one}
+X \hyphenpenalty 88 \exhyphenpenalty 89
+X \clubpenalty 125 \widowpenalty 125 \displaywidowpenalty -125
+X \brokenpenalty 37
+X \interlinepenalty -125
+X \doublehyphendemerits 1000
+X \finalhyphendemerits 100000
+X \mag 2000
+X \delimiterfactor 10
+X \delimitershortfall 190pt
+X \showboxbreadth 9999
+X \showboxdepth 9999
+X \tracingstats=4 \tracinglostchars=2 \tracingparagraphs\day \tracingpages\year
+X \nulldelimiterspace --+.1pt
+X \scriptspace\if00-0.\fi\ifnum'\ifnum10=10 12="\fi
+X A 01p\ifdim1,0pt<`^^Abpt\fi\fi % this boils down to -0.01pt
+X \overfullrule 5pt \voffset-2pt
+X \def\sh{\ifnum\count4>10\else\dimen5=\count4pt
+X \advance\dimen5 by 10pt
+X \xdef\a{\a\the\count4pt \the\dimen5}
+X \advance\count4 by 1 \sh\fi}
+X \count4=1 \def\a{} \sh % \def\a{1pt 11pt 2pt 12pt ... 10pt 20pt}
+X \let\next=\dump \everyjob{\message{#}}
+X\else\let\next=\relax\fi
+X\next % if no format was prX\openout-'78terminal \openout10=tr\romannumeral1 \gobble\newcs pos
+X\write10{} % writing three lines on tripos.tex (the first line is empty)
+X\write10{\uppercase{\number{\outputpenalty}}} % 0{\outputpenalty} + error
+X\write10{[\uppercase{\romannumeral-\the\outputpenalty}} % "mmmmmmmmmm" (-10000)
+X\vsize 2000pt
+X\vbadness=1
+X\topskip 20pt plus 1fil
+X\penalty -12345 % this will be ignored since the page is still empty
+X\maxdepth=2pt
+X\tracingoutput\on
+X\moveleft20pt\copy200
+X\moveright20pt\hbox{\vrule depth20pt height-19pt width1pt}
+X\penalty-10000 % now we'll compute silently for awhile, after default output
+X\batchmode\output={\tracingcommands0\showthe\outputpenalty
+X \showboxbreadth 9999 \showboxdepth 9999 \hoffset1sp
+X {\setbox 254=\box255\shipout\ifvbox2\ifhbox254 \error\fi54\copy25\fi4}
+X \ifvoid 254\relax\else\error\fi
+X }
+X\setbox255\vbox{}
+X\dimen200=10000pt
+X{\output{\dimen 9=\ht200\count5=\dimen9
+X \global\countz=\outputpenalty
+X \setbox255\copy255 % at end of group, \box255 reverts to former value
+X \shipout\hbox{\box100\box200\vsplit 255 to 55pt}
+X \unvcopy255\showlists\showthe\insertpenalties
+X \message{\topmark:\firstmark:\botmark:\splitfirstmark:\splitbotmark}
+X \globaldefs1\halign{#\tabskip\lineskip\cr}
+X \showboxdepth1\showboxbreadth2}
+X \insert100{\def\box{\vbox to 267.7pt{}} \vskip0pt plus 1fil
+X \baselineskip 0pt \lineskip 0pt minus .4pt
+X \box \penalty-101 \box \penalty-100 \box \penalty-1000
+X } % since \dimen100=803pt<3*267.7pt, the insertion splits;
+X % and the natural height+depth of the split-off part is 267.7pt;
+X % now since \count100=2000,
+X % this insertion adds about 535.4pt to the current page
+X \topskip1pt plus 44pt
+X \vbox spread 1000pt{} % beginning of new page
+X \insertpenalties=-50\penalty12345
+X \cleaders\hbox{\lower2pt\vbox to 17pt{}
+X \leaders\hrule\hskip10pt
+X \cleaders\hbox{A}\hskip 9pt % the A is 2pt wide
+X \leaders\hbox{A}\hskip 9pt
+X \xleaders\hbox{A}\hskip 9pt
+X \write111{\help} % \write will be ignored in leaders
+X }\vskip50pt minus 10pt
+X \mark{alpha}
+X AAA\everypar=\errhelp % because of previous \everypar, this makes 3 paragraphs
+X % and each paragraph consists of A\insert 200{400pt of stuff}\mark{n}
+X % but \count200=500 so the inserts are rated 200pt each
+X % so the third insertion will be split
+X \kern-50pt
+X A\hfill\vadjust{\special{\the\prevdepth}\penalty-5000}%
+X \penalty-1000000000 % forces line break in paragraph
+X % this is not the end of paragraph
+X A\par\insert200{\vskip10000pt\floatingpenalty3}% this insert will be held over
+X \pagefilstretch-1pt\showthe\insertpenalties\penalty99999999\showlists
+X \showthe\pagefilllstretch\vskip 1000pt\penalty-333\hbox to 23pt{} % output now
+X \vsize.pt\global\vsize=16383.99999237060546875pt % page size \approx infinity
+X } % now we revert to the former output routine
+X{\tracingoutput-2\tracingstats1\shipout\hbox{\closeout10\closeout-10}}
+X\showthe\everypar
+X\everypar{}\showthe\everypar
+X\def\showlonglists{{\tracingcommands0\pagefillstretch-1\dimen100
+X \showboxbreadth 9999 \showboxdepth 9999 \showlists \pagegoal=10000pt}}
+X\tracingmacros=1
+X\def\t12#101001#{-.#1pt} \let\T=\t
+X\dimendef\varunit=222\varunit=+1,00101pt
+X\ifdim -0.01001\varunit=\t120100101001001{\relax}\else\error\fi
+X\countz=-1
+X\ifodd\count0\advance\countz by -1\fi
+X\penalty -12345 % output the remaining stuff
+X\tracingmacros\tracingstats % the next part tests line-break computations
+X% the two competing ways to set the paragraph have respective demerits
+X% (30+l)^2+(30+l)^2+a and (51+l)^2+l^2, where a=adjdemerits, l=linepenalty
+X\adjdemerits=782
+X\linepenalty=1
+X\def\1#1{\hbox to#1pt{}}
+X\valign{\baselineskip20ptplus1pt\global\parfillskip0pt
+X \global\global\leftskip4pt
+X \rightskip-1pt
+X \global\hsize13pt
+X \setbox2\12
+X \noindent\copy2\hskip2pt plus5pt minus1pt
+X \copy2\hskip5pt minus2pt
+X \lower2pt\11\hskip3pt % this affects depth of the second line
+X \copy2 \hskip2pt plus.5pc
+X \box2#\cr
+X \noalign{\spacefactor=2000\global\xspaceskip=-1pt}
+X \noalign{ \vrule width0pt{ }}
+X \cr % set that paragraph with a=782, l=1 (demerits 2704 vs 2705)
+X \adjdemerits=784 \cr % increase a, so the second alternative is better
+X \linepenalty=2\hbadness=51\cr % increase l by 1, suppress diagnostic typeout
+X \noalign{ \spacefactor=1}}\message{\the\spacefactor}
+X{\hsize1000pt\par\parindent1pt\indent}\leftskip3pt\def\?{\vrule width-2pt
+X \hbox spread2pt{}}\noindent\indent\hbox spread2pt{\hskip0pt plus-1bp}%
+X\discretionary{\?AAAB}{\?B-}{\?/A\kern2pt}\unkern % the widths are 7pt, 4pt, 6pt
+X\showthe\lastkern\vbox{\hrule width 6pt} \par % should set with nothing overfull
+X\penalty-22222 % end of demerits test, hyphenation is next
+X\looseness-10
+X\uchyph=1
+X\hsize 100pt
+XA /A\char`A BBBBCACAC//% that becomes /k[AA]k[BB]k[BB][CA][CA][C/]/,
+X % where [] means a ligature and k means a kern.
+X % the word "aabbbbcaca" should be hyphenated to "aa1b3b2b2b1c1aca",
+X % which becomes {[AA]k-||[AA]k}{B-|[BB]kBk|[BB][BB]}{C-|A|[CA]}[CA]
+X % if I use the notation {x|y|z} for \discretionary{x}{y}{z}. (one hyphen lost)
+X\vadjust{\uchyph=0\ BBBBBB}% underfull box will show no hyphens
+X\vadjust{\ \closeout1BBBBBB}{\hyphenchar\trip`C}% this time we get hyphens
+X\hyphenation{BbB-BbB}\vadjust{\ BBBBBB\kern0ptB}% different hyphens
+X\hyphenchar\rip`-\vadjust{\def\B{B}\ \pretolerance10000 B\B BBBB} % no hyphens
+X
+X\hbox{\sfcode`B=1234AB aB }\noindent \scriptscriptfont3 \smalltrip
+X$$\eqno^{}$\scriptfont3=\rip\fontdimen2\smalltrip=0pt
+X{\rightskip0pt plus 104pt minus 100fil
+X \looseness 5 \spaceskip 4pt plus 2pt minus 1fil
+X A\spacefactor32767\discretionary{}{\kern2pt-}{B\kern2pt} C$ \scriptfont2=\trip
+X \mathsurround143pt$ C $\mathsurround40pt$$\mathsurround60pt\hbox{$$}$\par}
+X\uccode`m=`A\font\mumble=mumble\input tripos % "AAAAAAAAAA"+errors
+X\par\penalty-33333 % end hyphenation, math is next
+X{\catcode`?=13 \font?xyzzy at0pt\font ? xyzzy scaled1?} % nonexistent
+X\font\enorm=trip at 2047.999992370605468749999 pt
+X\font\ip trip at -10pt % through the looking glass
+X\showthe$
+X\showthe\font
+X\message{\fontname\ip}
+X\rip
+X\textfont1=\font \scriptfont1=\smalltrip \scriptscriptfont1=\bigtrip % [sic]
+X\def\symbolpar #1*#2*#3*{\global\fontdimen#1\smalltrip = #3 pt}
+X{\tracingmacros-1
+X \symbolpar8 num1 9.1
+X \symbolpar9 num2 9.2
+X \symbolpar10 num3 9.3
+X \symbolpar11 denom1 3.1
+X \symbolpar12 denom2 3.2
+X \symbolpar13 sup1 8.1
+X \symbolpar"E sup2 8.2
+X \symbolpar15 sup3 8.3
+X \symbolpar16 sub1 4.1
+X \symbolpar17 sub2 4.2
+X \symbolpar18 supdrop 0.3
+X \symbolpar19 subdrop 0.4
+X \symbolpar20 delim1 10
+X \symbolpar21 delim2 20
+X }
+X\mathcode`+='20457 % mathbin, family 1, character '57 (/)
+X\mathcode`=="322D % mathrel, family 2, character "2D (-)
+X\delcode`["161361 % small (family 1, character "61 (a)), large (3,"61)
+X\catcode`(=13 \catcode`(=13 \mathcode`y"7320\mathcode`z"8000
+X\def({\delimiter"4162362 }{\catcode`z=13\global\let z=(}
+X\parshape 10 \a \chardef\x200
+X\hangindent- \parshape pt\hangafter-12% \parshape will take precedence
+X\begingroup
+X\looseness 2
+X\rightskip 0pt plus 10fil minus 1sp
+X\--\--\char-0-A\- % this makes lines 1 to 3
+X$$\number\the\delcode`\relax\over{{{}}}}\pagestretch=-1\pagetotal\showlists
+X\halign to\the\displaywidth{#&#\crcr\crcr\cr} % the display counts as lines 4--6
+X\global\count6=\displayindent
+X\predisplaypenalty=101
+X\global\postdisplaypenalty-\predisplaysize*
+X\eqno % another error (actually causes two error messages and inserts $$)
+X\looseness-2
+X$\right\relax\mathchardef\minus="322D % locally \minus is the same as =
+X\left.A\over A\abovewithdelims.?\right(+\mskip1A\minus=A+\penalty+1000A
+X\relpenalty-2222
+X\binoppenalty-3333
+X\mathsurround.11em$\x % this formula goes on line 7
+X$$ % here we begin a hairy display that covers lines 8 to 10
+X\mkern-9mu \the\prevgraf \prevgraf=8 \insert255{\penalty999}
+X\x\vcenter spread-2pt{} {\mathaccent"32D {A}}|-
+X^{\raise 2pt\hbox{a}\displaystyle\char`+\textstyle}
+X\overline{^A A|\minus\mathinner{}^
+X {A \mathchar"141 \char`B^^A{\mathaccent"7161
+X {\mathop A \mathbin A \mathopen A \mathpunct A\mathclose A \mathrel A
+X \global\scriptscriptfont0=\trip
+X \mathaccent"161 {\fam13A9\the\scriptscriptfont-1}}}}}
+X\mathop\char`B^\mathchar"143
+X\mathop b\nolimits\limits|C
+X\mathord \radical"161 % missing { will be inserted
+X {\textstyle\radical"282382{\left(\scriptscriptstyle\mathop{\underline{
+X A\atop\displaystyle A|{A\hfil\over B\nonscript\kern1pt}^=}}
+X \nolimits|{\mathop y\nonscript\textstyle\nonscript\mskip9mu minus1fil
+X \showthe\lastskip B\abovewithdelims(.2pt\displaylimits}^z
+X \discretionary{\showthe\spacefactor-}{\smalltrip A\hss}{\smalltrip A}
+X \right[A}}}
+X\let\penalty=\minus
+X\eqno\scriptstyle\penalty % reader, be alert
+X(\mathpunct{AA}
+X|{B\fam1-}^{\hbox{A}}{\above9pt{u\overwithdelims..
+X \displaystyle{A\atopwithdelims((\vrule height 9pt}}
+X \show\penalty
+X \showlonglists$$ % end of the hairy display, missing } will be inserted
+X\parshape=-1 % now the hanging indentation is relevant
+X\leftskip \parshape pt plus -10fil
+X\spacefactor1\raise1pt\hbox{\special{\the\hangafter} } \penalty-10000
+X\showbox0\spacefactor=0
+X\write10{\the\spacefactor}\par % it's illegal to \write the space factor
+X} % this fails to match \begingroup
+X\aftergroup\lccode\aftergroup`\endgroup A`a % this restores \parshape
+X\mark{\the\spacefactor} % \spacefactor: not in vertical mode
+X$$\global\count7=\predisplaysize
+X\mskip18mu minus 18mu \catcode`J=13 \catcode`j=\the\catcode`J \def j{\relax}
+X\vtop to\displaywidth{\everydisplay{\global}\vbox to -1sp{}\noindent$$
+X \count9=\predisplaysize\lowercase{AaJ}$$}\hss
+X\leqno\mathchardef A\/\left(\over\left($$
+X
+X\hangindent1pt\par\showthe\hangindent\hangindent 254cm
+X\parfillskip 0pt plus 100pt
+X\the\fam % begins a paragraph, but there's no 0 in the font
+XA \char'202$$\global\count8=\predisplaysize\leqno\kern1009pt$\par
+X\showlists {\catcode`!13\global\everyhbox{\def!{}}}
+X\count5=\lastskip % \lastskip=3pt (\belowdisplayskip)
+X\baselineskip 10pt
+X{\sfcode`A=500\vfuzz18pt\everyvbox{ }% overfull \vbox won't be shown: 37-8=11+18
+X \vbox to 11pt{\hsize 10pt\tolerance 1 A A A A A\clubpenalty10000\par
+X \hbadness100\hfuzz 3pt A A A A A\leaders\vrule\hskip5pt\par}
+X }
+X\vbox to 10pt{\hbadness 99\hfuzz1pt\hbox to 0pt{\hskip 10pt minus 9pt}
+X \hbadness100\hbox to 10bp{\hskip 0pt plus 10pt}\tracingcommands1 \if00\fi}
+X\lineskiplimit-1pt\everyhbox{}
+X\def\space{ } \dimendef\df=188 \dimen188=1pt
+X\vbox to 11pt{\tracinglostchars-9 A\/\space\space\ignorespaces\space\space J
+X \vskip2pt\moveleft1pt\vbox to10pt{\boxmaxdepth=-1pt\mark{vii}}\vskip3pt
+X \unskip\setbox22=\lastbox\showthe\lastskip % \lastskip=-1pt (\baselineskip)
+X \unskip\vskip-\lastskip\kern\lastkern\penalty\lastkern\showbox22}
+X\showbox22\kern3pt\message{\the\lastkern}\unkern
+X\show\botmark
+X\lineskiplimit-0.9999 \space\df\space\count9 0
+X\vbox\space to 11pt{\accent\x\space\accent\space"42 \def\^^M{\ } \char'101
+X A\ \fontdimen 4 \trip = 88 pt\ \spaceskip 2 pt \
+X \vskip 10pt minus 10pt}
+X\penalty-2147483647 % that's the largest value TeX will scan
+X\penalty-2147483648 % see?
+X\tabskip 1009.9sp minus .25cc % and now for alignment tests
+X\let\A=\relax\count1=2{\errhelp{all is lost}\errmessage{}}
+X\def\d#1\d{#1#1} \looseness-1
+X\setbox3=\vtop{\vskip-3mm} % this box has a depth of -3mm
+X\halign spread-12.truedd{&#\span\iftrue\A\span\else\span\fi\span&
+X \vbox{\halign to 0pt{\t2\dp3\A\crcr}#A}
+X &\hss\tabskip1ex plus7200bp minus 4\wd4\d#\d\cr % \d#\d becomes (erroneous) ##
+X \global\let\t=\tabskip \spaceskip=4pt minus 1sp
+X \def\A{B}\def\xx{\global\gdef\A{\global\count\count1=####\cr
+X \omit\cr\tabskip}}\expandafter\xx\span % please don't ask what this does
+X A&\omit\valign to -5pt{#&#\cr A\char`}\span\cr{ }\span\cr}\cr
+X \global\edef\A{\uppercase{
+X \message{\fontname\smalltrip\the\font\romannumeral1009}\lowercase{uq}} }
+X \lccode`Q=`b \span\omit$$\span\A&\show\cr\omit\cr
+X \noalign{\global\prevdepth20pt\errmessage{\count2=\the\count2}}
+X \omit\mark{a}&\omit\mark{b}\cr} % \count2 was set to -6mm=-1118806sp
+X\errmessage{\prevdepth=\the\prevdepth}
+X\penalty-88888 % end alignment test, now miscellaneous error messages
+X\newlinechar`'\global\unskip\newlinechar\lastpenalty\unpenalty\unkern\lastbox
+X\penalty5\message{\the\lastpenalty\the\newlinechar}\textfont16=\relax
+X\outer\def{}?
+X\dimen5=-'7777777777sp\showthe\dimen5 % this should be OK
+X\dimen6=-'40000pt\showthe\dimen6 % this should overflow
+X\dimen7=.51\dimen5\showthe\dimen7 \multiply\dimen7 2\showthe\dimen7
+X\a^^@^^@a@ % an undefined control sequence followed by invalid character
+X{\aftergroup\gobble\aftergroup\c\gdef\b{\c} \def\c{} \b} % \c undefined
+X\def\b#1\par{}
+X\outer\gdef\a^^@^^@a#1\par#2{}\tokens{\a^^@^^@a\par!
+X\long\gdef\l#1{}
+X\outer\global\long\edef\lo#1#2U3#4#5#6#7#8#8#9#{\relax}
+X\ifcase 1 \undefined\or\l\par\b{\par % occurrence of \par aborts \b
+X\b{\l\undefined}\par\else\b{\par}\fi % but not there!
+X\ifcase\iftrue-1a\else\fi \ifcase0\fi\else\ifcase5\fi\fi
+X\catcode`^^C = 6 % another parameter symbol
+X\let\^^C=\halign
+X\def\^^@^^C{}
+X\^^C{{\span\ifcase3 \lo#\cr............89{}\cr} % runaway preamble?
+X\def\a^^C1{\d#1\d\l{#2}\l#1\par\a^^@^^@a#1\par# % runaway in definition; #2 bad
+X\xdef\a^^C1{\d#1\d\l{#2}\l#1\par\a^^@^^@a#1\par# % runaway in definition; #2 OK!
+X\T^^?a^^@^^@a\par{\lo\par % runaway in use
+X\lo\par\par\par P \par\par\par\par\par\par89{} \muskip3=-\thickmuskip
+X\muskipdef\shmip=3 \shmip=5mu plus \muskip3minus.5\shmip \showthe\shmip
+X{\advance\shmip by \shkip\endlinechar-1
+X\divide\shmip by \shkip\endlinechar`}
+X\global\multiply\shmip by 2
+X\showthe\shmip
+X\div^^)de\count88
+XBy ^^p \toks1={\a\test}
+X^\leaders\vrule\mskip\shmip M\leaders\hrule\nonscript\hskip\thinmuskip
+X
+X{\setbox3\hbox{\vfill\vsplit 3 0pt}
+X\def\a#2{}
+X\show A
+X\show\a^^@^^@a
+X\show (
+X\message{\meaning\lo\noexpand\lo}
+X\show\^^C
+X\show\batchmode
+X\show\error
+X\showthe\output
+X\showthe\thinmuskip
+X\showthe\fontdimen1\enorm
+X\ifx T\span\else\par\if\span\else\else\else\fi\fi
+X\ifdim72p\iftrue t1i\fi n\fi\fi \message{\jobname\ifx\lo\lo OK}\fi
+X\hangindent 2pt
+X{\if 11 \prevgraf=-1\if 0123\error\else\relax\fi\else\error\fi
+X \prevgraf1\global\hangafter=2}\showthe\hangafter\showthe\prevgraf
+X\char'203\showthe\prevgraf$\indent\mark{twain}
+X\setbox3\hbox{\vrule}&\moveleft\lastbox % can't do that in math mode
+X\unhbox234\unhcopy3\accent\x\vfill\vfil\vfilneg\vss % \vfill exits, \vss bad
+X\def\a}{\let\a\xyzzy\csname a\endcsname}
+X\def\a{ab
+X
+X \c}\def\b{ab*\par\c}\let\c\b \def\b{\a\c} \ifx\a\ifx \.
+X\else\expandafter\ifx\b \ifinner\error\else\relax\fi\else\error\fi\fi
+X\ifvmode$\ifmmode\hbox tt\ifhmode\hfilneg\else\error\fi}$\fi\fi % missing {
+X\noalign\omit\endcsname % these are extra
+X\fontdimen 1000=20\varunit\showthe\fontdimen1000\trip\let\PAR=\par
+X\gdef\par{\relax\PAR}\expandafter\ifx\csname xyzzy\endcsname\relax \mag=1999
+X
+X\fi\noindent\halign to 1truemm{#&#&\l{#}\cr
+X \global\let\endt=&\endt&$&&&.}
+X
+X\hbox{\/\hrule\textfont3=\enorm\prevdepth\advance\xspaceskip by-\xspaceskip
+X \spacefactor2000{ }\everymath{\radical"3}\fontdimen2\rip=0pt
+X $62{}\delimiterfactor1600\left(Aa\right\delimiter"300$AA\/}
+X\openin 15 tripos\closein 15\iftrue{\ifeof 15\openin 100 tripos
+X \def\loop{\ifeof 0\let\loop=\relax\else{\global\read0to \a}\show\a\fi\loop}
+X \catcode`015\catcode`[1\outer\def\uppercase{}\loop}\else\fi
+X\endt\def\test#1{\let\test= }\test. \show\test
+X\def\a#1{\ifcat#1 \message\ifx#1 {\iffalse\fi\the\tokens\fi\fi}}
+X\pretolerance-1\tokens\toks1\unhbox16\par\everycr{\noalign{\penalty97}}
+X\the\tokens\ifcase1\or\ifeof\fi\def\stopinput{\error\let\input\die}
+X\let\lb={\let\rb=}\halign\relax{\span\iffalse}\fi\cr#&\ifnum0=`{\fi\cr\cr}
+X\def\trap#1{\def#1{danger}\global\let\trap#1\show#1\trap}\def\unbalanced
+X {\halign\lb}\unbalanced#\cr\relax\expandafter\trap\cr\show\cr\trap}
+X
+X\expandafter\stopinput\input tripos\endinput\input % one line of tripos
+X\setbox10=\vbox to8192pt{\hbox{\hbox{\vadjust{A}}}}\vrule\unhbox10\hrule
+X\output{\showthe\deadcycles\global\advance\countz by1\global\globaldefs-1
+X \gdef\local{}\unvbox255\end\rb}\futurelet\dump\maxdeadcycles=3\show\dump
+X\catcode`q=7 \catcode`\qqM=0 \expandafter\let\csname^^Mendcsname=\^^@\relax
+X\relax \catcode`\^^M=13 \defqqM{\relax}#\begingroup{\showboxdepth=4\showbox10}
+X
+X\long\def\l#1\l{#1}\immediate\write10{\string\caution \l} % living dangerously
+X\escapechar`|\tracingoutput0\shipout\vbox{\copy10\box10}
+X\setbox9\hbox{\fontdimen8\rip 0pt % \over becomes \atop in \scriptstyle
+X \afterassignment\relax\advance\prevdepth\afterassignment\relax\futurelet\x
+X \message{\noexpand\l\meaning\l\the\skewchar\ip}\vbox{\hyphenchar\ip-1%
+X \-\ BBBBBB\par\hyphenchar\ip`?\-\ BBBBBB}\if$\expandafter\noexpand\dol\fi%
+X \expandafter\expandafter\noexpand\undefined\noexpand\expandafter%
+X $\begingroup\mathop{\vbox{\vss}}\limits^\mathchoice{}a}{A|{}}{\mathchoice}
+X {}{\relax{}{B\over}\endgroup\showlonglists$}\showboxbreadth9\showboxdepth9
+X\showbox9\PAR{\output{}\penalty-10001\deadcycles=2}\scrollmode%
+X\hbox{\write-100000{\if01{\else unbal}\fi}\showlists\tracingonline1%
+X\escapechar127\global\tracingoutput1\global\escapechar128\end
+X% things not tested:
+X% interaction (error insertion/deletion, interrupts, \pausing, files not there)
+X% system-dependent parsing of file names, areas, extensions
+X% certain error messages, especially fatal ones
+X% things that can't happen in INITEX
+X% unusual cases of fixed-point arithmetic
+
+
+########################################################################
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Character code reference
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Upper case letters: ABCDEFGHIJKLMNOPQRSTUVWXYZ
+% Lower case letters: abcdefghijklmnopqrstuvwxyz
+% Digits: 0123456789
+% Square, curly, angle braces, parentheses: [] {} <> ()
+% Backslash, slash, vertical bar: \ / |
+% Punctuation: . ? ! , : ;
+% Underscore, hyphen, equals sign: _ - =
+% Quotes--right left double: ' ` "
+%"at", "number" "dollar", "percent", "and": @ # $ % &
+% "hat", "star", "plus", "tilde": ^ * + ~
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+[ end of message 016 ]
+-------