Date: 9 Jul 88 Message No: 006
To: TeX implementors and distributors
From: Barbara Beeton
Subject: TeX 2.93 and MF 1.5
I received the following message from Don Knuth on 20 Jun 88:
Chris Thompson did it again (in TeXHax 47.88). The bug he found
occurs just before TeX runs out of memory, on machines where mem_min
has been made negative. (The bug does not occur on the vast majority
of implementations, where mem_min=0.) It's the same bug in both TeX
and MF, and it's easily fixed. I put the corrections into ERRATA.TEX
and into the sources at SAIL.
This message will contain the additions to TeX82.BUG and MF84.BUG,
comparisons between the TeX.WEB files for versions 2.92 and 2.93, and
MF.WEB for versions 1.4 and 1.5, and additions to ERRATA.TeX.
In response to a suggestion from Craig Platt, I have reversed the order
of the files being compared. Now they will be in logical order -- older
first, then newer.
All relevant files, including TRIP.* and TRAP.* are now up to date at
SCORE. Chris Thompson (the same one who's causing all the changes)
requested a clarification of when the files are converted from SAIL code
to ASCII. The conversion is done at the same time they are moved from
SAIL to SCORE, so that by the time one of these messages comes around,
everything is (should be -- mistakes are not impossible) in standard
form and the files can be FTP'ed without worry.
Message #004 promised information on using anonymous FTP. Here is that
information.
Most systems on the Internet (this includes the Arpanet, NSFnet and some
others, but not Bitnet, and I don't know about uucp) support a File
Transfer Protocol (FTP) program that enables a user to make a connection
to another node on the network and copy or send files between the two
connected nodes. If the remote node supports anonymous FTP, it is not
necessary for the user to have an account at that node. An FTP session
(run on a TOPS-20 system) looks something like this.
@ftp score.stanford.edu
...
FTP> cd
< Please log in first, with USER, PASS and ACCT.
LOGIN (user) anonymous
Password: anonymous
...
FTP> get -chrono-.dir web-chrono.dir
[source file] [target file]
PS:-CHRONO-.DIR.14 => WEB-CHRONO.DIR.1;P777700 !! [OK]
FTP> exit
In this session, I was retrieving the chrono listing of the contents of the
directory, in which are located TeX.WEB and its change files,
TANGLE and WEAVE, and so forth. Most of the subdirectories contain
chrono files, and these chrono files are regenerated automatically every
weekend. The subdirectories listed below are the ones that become part of
the standard TeX distribution (with the possible exception of ).
.TFM and raster files of 300 dpi AMS fonts
AMSTeX.TeX and related macros and documentation
the BiBTeX system, for use with LaTeX
.MF sources of the CM* fonts
manuals, bug and errata lists and other documentation
.GF font files
various macro files and similar
the LaTeX macros and style files
fonts for the LN03 printer
(not sure; probably things local to Stanford)
MF.WEB and change files, ``fontware''
TRIP, TRAP and other test-related files
the TeXhax archives
items that have appeared in TUGboat
TANGLE and WEB; TeX.WEB and change files
TRIP and TRAP details will be sent in later messages.
########################################################################
Additions to TeX82.BUG
344. Avoid negative divisor rounding upward (Chris Thompson, fixed 19Jun88)
@x module 126
else t:=(lo_mem_max+hi_mem_min+2) div 2; {|lo_mem_max+2<=tTEX-2-92.WEB.1 AND TX:TEX-2-93.WEB.1
;OPTIONS ARE /E /3
**** FILE TX:TEX-2-92.WEB.1, 1-31 (2023)
% A reward of $81.92 will be paid to the first finder of any remaining bug.
**** FILE TX:TEX-2-93.WEB.1, 1-30 (2021)
% Version 2.93 fixes negative halving in allocator when mem_min<0 (June 1988).
% A reward of $81.92 will be paid to the first finder of any remaining bug.
***************
**** FILE TX:TEX-2-92.WEB.1, 2-93 (9207)
@d banner=='This is TeX, Version 2.92' {printed when \TeX\ starts}
@ Different \PASCAL s have slightly different conventions, and the present
**** FILE TX:TEX-2-93.WEB.1, 2-93 (9287)
@d banner=='This is TeX, Version 2.93' {printed when \TeX\ starts}
@ Different \PASCAL s have slightly different conventions, and the present
***************
**** FILE TX:TEX-2-92.WEB.1, 10-221 (115748)
else t:=(lo_mem_max+hi_mem_min+2) div 2; {|lo_mem_max+2<=tTEX-2-93.WEB.1, 10-221 (115828)
else t:=lo_mem_max+1+(hi_mem_min-lo_mem_max)div 2; {|lo_mem_max+2<=tMF-1-4.WEB.1 AND TX:MF-1-5.WEB.1
;OPTIONS ARE /E /3
**** FILE TX:MF-1-4.WEB.1, 1-16 (937)
% 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.
**** FILE TX:MF-1-5.WEB.1, 1-16 (937)
% Version 1.5 fixes negative halving in allocator when mem_min<0 (June 1988).
% A few "harmless" optimizations have been made without changing versions.
% A reward of $20.48 will be paid to the first finder of any remaining bug.
***************
**** FILE TX:MF-1-4.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 TX:MF-1-5.WEB.1, 2-81 (7668)
@d banner=='This is METAFONT, Version 1.5' {printed when \MF\ starts}
@ Different \PASCAL s have slightly different conventions, and the present
***************
**** FILE TX:MF-1-4.WEB.1, 11-190 (138945)
else t:=(lo_mem_max+hi_mem_min+2) div 2; {|lo_mem_max+2<=tmem_min+max_halfword then t:=mem_min+max_halfword;
**** FILE TX:MF-1-5.WEB.1, 11-190 (139039)
else t:=lo_mem_max+1+(hi_mem_min-lo_mem_max)div 2; {|lo_mem_max+2<=tmem_min+max_halfword then t:=mem_min+max_halfword;
***************
########################################################################
Extracts from ERRATA.TeX (differences as compared with previous version)
;COMPARISON OF TX:ERRATA.TEX.59 AND TX:ERRATA.TEX.1
;OPTIONS ARE /E /3
**** FILE TX:ERRATA.TEX.59, 3-10 (4711)
{\tt This\]is\]TeX,\]Version\]2.92\char'23}\quad
$\{\,$printed when \TeX\ starts$\,\}$
**** FILE TX:ERRATA.TEX.1, 3-10 (4711)
{\tt This\]is\]TeX,\]Version\]2.93\char'23}\quad
$\{\,$printed when \TeX\ starts$\,\}$
***************
**** FILE TX:ERRATA.TEX.59, 3-19 (4943)
\bugonpage B108, new line after line 8 (5/24/88)
**** FILE TX:ERRATA.TEX.1, 3-19 (4943)
\bugonpage B54, line 35 (6/19/88)
\ninepoint\noindent\kern10pt
{\bf else} $t\gets\\{lo\_mem\_max}+1+(\\{hi\_mem\_min}-\\{lo\_mem\_max})
\mathbin{\bf div}2$;\quad
$\{\,\\{lo\_mem\_max}+2\le tERRATA.TEX.59, 5-10 (18625)
{\tt This\]is\]METAFONT,\]Version\]1.4\char'23}\quad
$\{\,$printed when \MF\ starts$\,\}$
\bugonpage D420, bottom line (5/25/88)
**** FILE TX:ERRATA.TEX.1, 5-10 (18847)
{\tt This\]is\]METAFONT,\]Version\]1.5\char'23}\quad
$\{\,$printed when \MF\ starts$\,\}$
\bugonpage D66, line 35 (6/19/88)
\ninepoint\noindent\kern10pt
{\bf else} $t\gets\\{lo\_mem\_max}+1+(\\{hi\_mem\_min}-\\{lo\_mem\_max})
\mathbin{\bf div}2$;\quad
$\{\,\\{lo\_mem\_max}+2\le t