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.05 |
Initial commit
Diffstat (limited to 'info/digests/tex-implementors/message.05')
-rw-r--r-- | info/digests/tex-implementors/message.05 | 441 |
1 files changed, 441 insertions, 0 deletions
diff --git a/info/digests/tex-implementors/message.05 b/info/digests/tex-implementors/message.05 new file mode 100644 index 0000000000..cd0acb0f40 --- /dev/null +++ b/info/digests/tex-implementors/message.05 @@ -0,0 +1,441 @@ + +Subject: correction to TeX 2.92; Metafont 1.4 + +Date: 30 May 88 Message No: 005 + +To: TeX implementors and distributors + +From: Barbara Beeton + +Subject: small error in TeX 2.92; Metafont 1.4 + + +An error was present in the listing of differences between TeX.WEB 2.92 +and 2.9 as reported in message 4. The same error was present in the +TeX.WEB file at SCORE, but has now been fixed. + +If you are working from the difference list provided in message 4, the +following lines should be ignored: + +**** FILE TX:<TEX82.NEW>TEX-2-92.WEB.1, 31-621 (464580) +@d check_byte_range(#)==begin if (#<bc)or<(#>ec) then abort@+end +@d current_character_being_worked_on==k+bc-fmem_ptr +**** FILE TX:<TEX82.NEW>TEX-2-9.WEB.1, 31-621 (464024) +@d check_byte_range(#)==begin if (#<bc)or(#>ec) then abort@+end +@d current_character_being_worked_on==k+bc-fmem_ptr +*************** + +Thanks to Nelson Beebe and Ken Yap for spotting this. + + +The rest of this message will consist of the additions to MF84.BUG, a +comparison of the MF.WEB files for version 1.4 and 1.3, and changes to +the errata list since 23 Dec 87. + +######################################################################## + +Additions to MF84.BUG + +540. Typo suppresses an error detection (Chris Thompson, 2May88) +@x module 963 + if txy mod unity=0 then if tyy mod unity=0 then +@y + if txx mod unity=0 then if tyy mod unity=0 then +@z + +541. get_x_token can lose a scanned declared variable (Chris Thompson, 4May88) +@x module 1011 +if equiv(x)=null then new_root(x); +@y +@z +@x module 1011 +done:scan_declared_variable:=h; +@y +done: if eq_type(x)<>tag_token then clear_symbol(x,false); +if equiv(x)=null then new_root(x); +scan_declared_variable:=h; +@z + +542. (I sincerely hope that there won't be any more) + + +######################################################################## + +Differences between MF.WEB for 1.4 and for 1.3 + +;COMPARISON OF PS:<1SCRATCH>MF.WEB.1 AND PS:<TEX.MF>MF.WEB.1 +;OPTIONS ARE /E /3 + +**** FILE PS:<1SCRATCH>MF.WEB.1, 1-15 (870) +% Version 1.4 corrected scan_declared_variable timing (May 1988). +% A few "harmless" optimizations have been made since then. + +% A reward of $20.48 will be paid to the first finder of any remaining bug. +% (This amount will double again in 1989.) + +% Although considerable effort has been expended to make the METAFONT program +**** FILE PS:<TEX.MF>MF.WEB.1, 1-15 (870) +% A few "harmless" optimizations have been made since then. + +% A reward of $10.24 will be paid to the first finder of any remaining bug. +% (This amount will double again in 1988.) + +% Although considerable effort has been expended to make the METAFONT program +*************** + +**** FILE PS:<1SCRATCH>MF.WEB.1, 2-81 (7574) +@d banner=='This is METAFONT, Version 1.4' {printed when \MF\ starts} + +@ Different \PASCAL s have slightly different conventions, and the present +**** FILE PS:<TEX.MF>MF.WEB.1, 1-146 (7508) +@d banner=='This is METAFONT, Version 1.3' {printed when \MF\ starts} + +@ Different \PASCAL s have slightly different conventions, and the present +*************** + +**** FILE PS:<1SCRATCH>MF.WEB.1, 43-1162 (768090) + if txx mod unity=0 then if tyy mod unity=0 then + @<Scale the edges, shift them, and |return|@>; +**** FILE PS:<TEX.MF>MF.WEB.1, 1-18695 (768065) + if txy mod unity=0 then if tyy mod unity=0 then + @<Scale the edges, shift them, and |return|@>; +*************** + +**** FILE PS:<1SCRATCH>MF.WEB.1, 44-399 (798211) +h:=get_avail; info(h):=x; t:=h;@/ +**** FILE PS:<TEX.MF>MF.WEB.1, 1-19495 (798187) +if equiv(x)=null then new_root(x); +h:=get_avail; info(h):=x; t:=h;@/ +*************** + +**** FILE PS:<1SCRATCH>MF.WEB.1, 44-407 (798526) +done: if eq_type(x)<>tag_token then clear_symbol(x,false); +if equiv(x)=null then new_root(x); +scan_declared_variable:=h; +end; +**** FILE PS:<TEX.MF>MF.WEB.1, 1-19504 (798538) +done:scan_declared_variable:=h; +end; +*************** + + +######################################################################## + +Extracts from ERRATA.TeX (differences as compared with previous version) + +;COMPARISON OF TX:<TEX82.NEW>ERRATA.TEX.2 AND TX:<TEX82.DOC>ERRATA.TEX.3 +;OPTIONS ARE /3 + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 2-3 (1510) +\bugonpage A159, line 22 (2/15/88) + +\ninepoint\noindent +`|\nolimits|' if the normal |\displaylimits| +convention has been overridden; a Rad\cutpar + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 2-2 (1508) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 2-15 (1845) +\bugonpage A326, line 12 (12/12/87) + +\ninepoint\noindent +its natural width. The |\hbox| version also invokes |\everymath|. + +\bugonpage A359, lines 35--38 (5/24/88) + +\ninepoint\noindent +|\def\updownarrow{\delimiter"326C33F } \def\arrowvert{\delimiter"033C000 }|% + \par\noindent +|\def\Updownarrow{\delimiter"326D377 } \def\Arrowvert{\delimiter"033D000 } |% + \par\noindent +|\def\vert{\delimiter"026A30C } \def\Vert{\delimiter"026B30D } |% + \par\noindent +|\def\backslash{\delimiter"026E30F } \def\bracevert{\delimiter"033E000 }| + +\bugonpage A364, line 35 (5/24/88) + +\ninepoint\noindent +|\def\fmtname{plain}\def\fmtversion{2.92} % identifies the current format| + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 2-8 (1690) +\bugonpage A326, line 12 (9/20/87) + +\ninepoint\noindent +its natural width. The |\hbox| version also invokes |\everymath|. + +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 2-59 (3566) +\bugonpage A458, left column, line 19 (2/15/88) + +\eightpoint\indent +|\|\| ( $\Vert$ ), {\it146--147}, {\it171}, $\underline{361}$, 435, 438. + +\bugonpage A462, left column, line 7 (10/9/87) +\eightpoint\indent\qquad 152, 178, $\underline{360}$. + +\bugonpage A463, left column (4/17/88) + +\eightpoint\indent +\hbox to0pt{\hss\lower1pt\hbox{*}}|\day|, 273, 349, {\it406}. + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 2-36 (2846) +\bugonpage A462, left column, line 7 (10/9/87) + +\eightpoint\indent\qquad 152, 178, $\underline{360}$. + +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 2-81 (4195) +\bugonpage A480, right column (2/15/88) + +\eightpoint\indent|\vdots| ( $\vdots$ ), {\it177}, $\underline{359}$. + +\bugonpage A481, right column (7/3/87) + +\eightpoint|\z@|, $\underline{347}$, 348.\par + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 2-48 (3201) +\bugonpage A481, right column (7/3/87) + +|\z@|, $\underline{347}$, 348.\par + +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-6 (4592) +\bugonpage B2, line 32 (4/30/88) + +\ninepoint\noindent\hskip10pt +{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$% +{\tt This\]is\]TeX,\]Version\]2.92\char'23}\quad + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-6 (3471) +\bugonpage B2, line 32 (12/23/87) + +\ninepoint\noindent\hskip10pt +{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$% +{\tt This\]is\]TeX,\]Version\]2.9\char'23}\quad + +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-19 (4943) +\bugonpage B108, new line after line 8 (5/24/88) + +\ninepoint\noindent\kern20pt +$d$: \\{integer};\quad +$\{\,$number of characters in incomplete current string$\,\}$ + +\bugonage B108, lines 31--33 (5/24/88) + +\ninepoint\noindent\kern10pt +$\\{str\_room}(l)$; $d\gets\\{cur\_length};\par\noindent\kern10pt +{\bf while} $\\{pool\_ptr}>\\{str\_start}[\\{str\_ptr}]$ {\bf do} + \par\noindent\kern20pt +{\bf begin} \\{decr}(\\{pool\_ptr}); + $\\{str\_pool}[\\{pool\_ptr}+l]\gets\\{str\_pool}[\\{pool\_ptr}]$; + \par\noindent\kern20pt +{\bf end};\quad$\{\,$move current string up to make room for another$\,\}$ +\par\noindent\kern10pt +{\bf for} $k\gets j$ {\bf to} $j+l-1$ {\bf do} $\\{append\_char}(\\{buffer}[k])$; +\par\noindent\kern10pt +$\\{text}(p)\gets\\{make\_string}$; $\\{pool\_ptr}\gets\\{pool\_ptr}+d$; + +\bugonpage B115, line 12 (4/28/88) + +\ninepoint\noindent\hskip10pt +$\\{group\_code}=0\to\\{max\_group\_code}$;\quad + $\{\,$\\{save\_level} for a level boundary$\,\}$ + +\bugonpage B141, line 19 (4/28/88) + +\ninepoint\noindent +\\{par\_token}: \\{halfword};\quad + $\{\,$token representing `|\par|'$\,\}$ + +\bugonpage B150, line 24 (4/28/88) + +\tenpoint\noindent{\bf 358.\quad}% +The present point in the program is reached only when the \\{expand} +routine has inserted\cutpar + +\bugonpage B151, mini-index (4/28/88) + +\eightpoint\noindent +Delete the entry for `\\{no\_expand}'; replace it by: +\indent\\{expand}: {\bf procedure}, \S366. + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-19 (3822) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-91 (7266) +\indent\\{eq\_define}: {\bf procedure}, \S227.\par +$\\{relax}=0$, \S207.\par + +\bugonpage B162, lines 12--14 (4/30/88) + +\ninepoint\noindent\hskip10pt +{\bf repeat} $\\{link}(\\{temp\_head})\gets\\{null}$;\par\noindent\hskip20pt +{\bf if\/} $(\\{info}(r)>\\{match\_token}+127)\lor + (\\{info}(r)<\\{match\_token})$ {\bf then} + $s\gets\\{null}$\par\noindent\hskip20pt +{\bf else begin} $\\{match\_chr}\gets\\{info}(r)-\\{match\_token}$; \ + $s\gets\\{link}(r)$; \ $r\gets s$; \ $p\gets\\{temp\_head}$; \ + $m\gets 0$; + +\bugonpage B181, line 31 (4/28/88) + +\ninepoint\noindent +[Change `$x$ units per sp' to `$x$ sp per unit'! This change also +should be made on line~1 of page B183 and line $-8$ of page B590.] + +\bugonpage B224, second-last line (4/28/87) + +\ninepoint\noindent +\\{done}: {\bf if} \\{file\_opened} {\bf then} \\{b\_close}(\\{tfm\_file});\par +\noindent\hskip10pt $\\{read\_font\_info}\gets g$; + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-44 (4674) +\\{eq\_define}: {\bf procedure}, \S227.\par +$\\{relax}=0$, \S207.\par +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-204 (11136) +\bugonpage B285, line 21 (4/28/88) + +\noindent\tenpoint +is subsidiary to the \\{nucleus} field of some noad; the dot is replaced by +`|_|' or `|^|' or `|/|' or `|\|' if $p$ is\cutpar + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-134 (7695) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-232 (12036) +\bugonpage B387, line 2 (5/24/88) + +\tenpoint\noindent +is quite short. In the following code we set \\{hc}$[\\{hn}+2]$ to the +impossible value 128, in order to\cutpar + +\bugonpage B387, line 8 (5/24/88) + +\ninepoint\noindent\kern10pt +$\\{hc}[0]\gets127$; $\\{hc}[\\{hn}+1]\gets127$; + $\\{hc}[\\{hn}+2]\gets128$;\quad$\{\,$insert delimiters$\,\}$ + +\bugonpage B390, lines 17--18 (5/24/88) + +\ninepoint\noindent\kern10pt +$\langle\,$Enter as many hyphenation exceptions as are listed, until coming + to a right brace; then {\bf return\eightrm\kern.5em961}$\,\rangle$; +\smallskip[The same change applies to lines 20--21, and +to page~582.] + +\bugonpage B396, new line after line 34 (5/24/88) + +\ninepoint\noindent\kern10pt +$\\{trie\_link}(\\{trie\_size})\gets0$; +$\\{trie\_back}(0)\gets\\{trie\_size}$;\quad +$\{\,$wrap around$\,\}$ + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-156 (8407) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-266 (13062) +\bugonpage B397, lines 15--17 (5/24/88) + +\ninepoint\noindent\kern10pt +{\bf begin} $c\gets\\{trie\_c}[p]$;\par\noindent\kern10pt +{\bf if} $c<\\{trie\_min}$ {\bf then} $\\{trie\_min}\gets c$;\par\noindent\kern10pt +{\bf if} $\\{trie\_min}=0$ {\bf then} $z\gets\\{trie\_link}(\\{trie\_size})$\par +\noindent\kern10pt +{\bf else} $z\gets\\{trie\_link}(\\{trie\_min}-1)$;\quad +$\{\,$get the first conceivably good hole$\,\}$ + +\bugonpage B400, lines 3--4 (5/24/88) + +\ninepoint\noindent +$\langle\,$Enter all of the patterns into a linked trie, until coming + to a right brace{\eightrm\kern.5em961}$\,\rangle\equiv$ +\smallskip[The same change applies to page B399, lines 29--30, and +to page~582.] + +\bugonpage B402, line 10 (5/24/88) + +\ninepoint\noindent\kern10pt +$r\gets\\{trie\_size}$;\quad +$\{\,$finally, we will zero out the holes$\,\}$ + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-162 (8584) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-310 (14406) +\bugonpage B552, left column (4/28/88) + +\eightpoint[Insert `358' into \\{expand}.] + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-181 (9073) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-320 (14633) +\eightpoint[Delete the entry for \\{low\_mem\_max}.] + +\bugonpage B562, left column (4/28/88) + +\eightpoint[Remove `358' from \\{no\_expand}.] + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 3-187 (9212) +[Delete the entry for \\{low\_mem\_max}.] + +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 3-335 (15000) +\bugonpage B568, left column (4/28/88) + +\eightpoint[Move `269' from \\{save\_index} to \\{save\_level}.] + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 4-1 (9477) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 4-15 (15448) +\bugonpage C164, line 10 (4/27/88) + +\ninepoint\indent +\quad $y_{\$c}=\\{top}\,y_{\$l}$; \ $y_{\$d}=y_{\$r}$; \ + $x_{\$c}=x_{\$l}-\\{left\_jut}$; \ $x_{\$d}=x_{\$r}+\\{right\_jut}$; + +\bugonpage C175, line 23 (1/11/88) + +\ninepoint\noindent +expand into a sequence of tokens. \ +(The language {\eightrm{SIMULA67}} demonstrated that it is\cutpar + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 4-15 (9816) +*************** + +**** FILE TX:<TEX82.NEW>ERRATA.TEX.2, 4-33 (15982) +\bugonpage C337, line 11 (4/28/88) + +\ninepoint +An online ``menu'' of the available test routines will be typed at your +terminal\cutpar + +\bugonpage C356, left column (1/11/88) + +\eightpoint +SIMULA67 language, 175. + +\bugonpage C358, right column (2/15/88) + +\eightpoint\indent\hbox to0pt{\hss\lower1pt\hbox{*}}% +|yoffset|, 212, $\underline{220}$, 315, 324. + +**** FILE TX:<TEX82.DOC>ERRATA.TEX.3, 5-1 (9998) +*************** + + +######################################################################## + +[ end of message 005 ] +------- + |