diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/digests/tex-implementors/message.16 |
Initial commit
Diffstat (limited to 'info/digests/tex-implementors/message.16')
-rw-r--r-- | info/digests/tex-implementors/message.16 | 574 |
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 ] +------- |