Subject: Details of TeX 2.96-2.98 changes; SYMBOL.MF
From: bbeeton <[email-masked]>
To: [email-masked]
Date: Tue 21 Mar 89 08:39:08-EST

Date:	  17 Mar 89				Message No:	014

To:	  TeX implementors and distributors

From:	  Barbara Beeton

Subject:  Details of TeX 2.96-2.98 changes; SYMBOL.MF

Message #13 informed you that TeX bug fixes had brought the version
up to 2.98.  The details of these changes are below, in a single
difference list between the WEB files for 2.95 [sic] and 2.98.
The relevant addenda to TeX82.BUG and ERRATA.TeX follow.

The difference list was generated on a VAX under VMS, and the format
of the errata changes is also different from what I usually send.
I have been unable to establish a good enough connection to Score,
where the distribution versions of the files reside, to obtain full
copies of versions after 2.96, and have had to reconstruct the latest
version from partial difference lists.  I have done this very carefully,
and believe the lists here to be true and complete, but will verify
that as soon as possible after contact with Score has been
re-established.  I realize that some of the lines in the difference
list are longer than 80 characters; the conventions of the VMS file
comparison are different from those under TOPS-20.  If any problems
occur in transmission, please let me know, and I will try to generate
a copy in the other format.

I know that it is impossible to validate these changes in your
implementations without a current set of TRIP files.  I will try to make
obtaining and sending them my highest priority after meeting a couple
of deadlines that the Math Society finds important.  Thank you for
your patience.

A small change has been made to the file SYMBOL.MF.  It affects only the
labels on proof output; it should have no effect on .TFM or raster files.
Details are listed below.

########################################################################

Differences between TEX.WEB 2.95 and 2.98

************
File SYSA:[TEX.NEW]TEX-295.WEB;1
   33   
   34   % A reward of $81.92 will be paid to the first finder of any remaining bug.
   35   % (This amount will double again in 1989.)
   36   
******
File SYSA:[TEX.NEW]TEX-298.WEB;2
   33   % Version 2.96 corrects bug in "Infinite shrinkage" recovery (January 1989).
   34   % Version 2.97 corrects blunder in creating 2.95 (February 1989).
   35   % Version 2.98 omits save_for_after at outer level (March 1989).
   36   
   37   % A reward of $163.84 will be paid to the first finder of any remaining bug.
   38   % (This amount will double again in 1990.)
   39   
************
************
File SYSA:[TEX.NEW]TEX-295.WEB;1
  173   @d banner=='This is TeX, Version 2.95' {printed when \TeX\ starts}
  174   
******
File SYSA:[TEX.NEW]TEX-298.WEB;2
  176   @d banner=='This is TeX, Version 2.98' {printed when \TeX\ starts}
  177   
************
************
File SYSA:[TEX.NEW]TEX-295.WEB;1
 1641   if not input_ln(term_in,true) then t_open_in;
 1642   @.End of file on the terminal@>
******
File SYSA:[TEX.NEW]TEX-298.WEB;2
 1644   if not input_ln(term_in,true) then fatal_error("End of file on the terminal!");
 1645   @.End of file on the terminal@>
************
************
File SYSA:[TEX.NEW]TEX-295.WEB;1
 5871   begin check_full_save_stack;
 5872   save_type(save_ptr):=insert_token; save_level(save_ptr):=level_zero;
 5873   save_index(save_ptr):=t; incr(save_ptr);
 5874   end;
******
File SYSA:[TEX.NEW]TEX-298.WEB;2
 5874   begin if cur_level>level_one then
 5875     begin check_full_save_stack;
 5876     save_type(save_ptr):=insert_token; save_level(save_ptr):=level_zero;
 5877     save_index(save_ptr):=t; incr(save_ptr);
 5878     end;
 5879   end;
************
************
File SYSA:[TEX.NEW]TEX-295.WEB;1
18294       glue_ptr(p):=r;
18295       end;
******
File SYSA:[TEX.NEW]TEX-298.WEB;2
18299       glue_ptr(p):=r; q:=r;
18300       end;
************
************
File SYSA:[TEX.NEW]TEX-295.WEB;1
18775   q:=new_skip_param(top_skip_code); link(q):=p; {now |temp_ptr=glue_ptr(q)|}
18776   if width(temp_ptr)>height(p) then width(temp_ptr):=width(temp_ptr)-height(p)
******
File SYSA:[TEX.NEW]TEX-298.WEB;2
18780   q:=new_skip_param(top_skip_code); {now |temp_ptr=glue_ptr(q)|}
18781   if width(temp_ptr)>height(p) then width(temp_ptr):=width(temp_ptr)-height(p)
************
************
File SYSA:[TEX.NEW]TEX-295.WEB;1
18810       glue_ptr(p):=r;
18811       end;
******
File SYSA:[TEX.NEW]TEX-298.WEB;2
18815       glue_ptr(p):=r; q:=r;
18816       end;
************

########################################################################

Additions to TEX82.BUG

350. Forgotten update in error recovery (Breitenlohner, 20 Jan 89)
@x module 976
    glue_ptr(p):=r;
@y
    glue_ptr(p):=r; q:=r;
@z
@x module 1004
    glue_ptr(p):=r;
@y
    glue_ptr(p):=r; q:=r;
@z

351. Avoid error \aftergroup\relax\dump (Mittelbach&Schoepf, 17 Feb 89)
@x module 280
begin check_full_save_stack;
save_type(save_ptr):=insert_token; save_level(save_ptr):=level_zero;
save_index(save_ptr):=t; incr(save_ptr);
@y
begin if cur_level>level_one then
  begin check_full_save_stack;
  save_type(save_ptr):=insert_token; save_level(save_ptr):=level_zero;
  save_index(save_ptr):=t; incr(save_ptr);
  end;
@z

352. (I sincerely hope that there won't be any more)

########################################################################

Extracts from ERRATA.TeX (additions and changes with context)

********** new
\bugonpage A318, line 19 (3/3/89)

\ninepoint
|\def\clearnotenumber{\notenumber=0\relax}|

\bugonpage A326, line 12 (12/12/87)
***************

********** change
\bugonpage B2, line 32 (3/2/89)

\ninepoint\noindent\hskip10pt
{\bf define} $\\{banner}\equiv\hbox{\tt\char'23}$%
{\tt This\]is\]TeX,\]Version\]2.98\char'23}\quad
$\{\,$printed when \TeX\ starts$\,\}$
***************

********** new
\bugonpage B118, lines 2--4 (3/2/89)

\ninepoint\noindent\hskip10pt
{\bf begin if\/} $\\{cur\_level}>\\{level\_one}$ {\bf then}\par
\noindent\hskip20pt{\bf  begin} \\{check\_full\_save\_stack}; \
 $\\{save\_type}(\\{save\_ptr})\gets\\{insert\_token};\par
\noindent\hskip20pt$\\{save\_level}(\\{save\_ptr})\gets\\{level\_zero}$; \
 $\\{save\_index}(\\{save\_ptr})\gets t$; \ \\{incr}(\\{save\_ptr});\par
\noindent\hskip20pt{\bf  end};

\bugonpage B141, line 19 (4/28/88)
***************

********** new
\bugonpage B406, line 9 from the bottom (1/23/89)

\ninepoint\noindent\kern30pt
$\\{shrink\_order}(r)\gets\\{normal}$; \ $\\{delete\_glue\_ref}(q)$; \
$\\{glue\_ptr}(p)\gets r$; \ $q\gets r$;

\bugonpage B417, line 10 (1/23/89)

\ninepoint\noindent\kern10pt
$q\gets\\{new\_skip\_param}(\\{top\_skip\_code)$; \quad
$\{\,$now $\\{temp\_ptr}=\\{glue\_ptr}(q)\,\}$

\bugonpage B418, line 14 (1/23/89)

\ninepoint\noindent\kern30pt
$\\{shrink\_order}(r)\gets\\{normal}$; \ $\\{delete\_glue\_ref}(q)$; \
$\\{glue\_ptr}(p)\gets r$; \ $q\gets r$;

\bugonpage B507, line 13 (12/14/88)
***************

********** new
\bugonpage C248, line 21 becomes two lines (1/24/89)

\ninepoint\noindent
which might not
be numerically stable in the presence of rounding errors.)
Another case, not really desirable, is $\\{left\_jut}=\\{right\_jut}=0$.

\bugonpage C262, line 15 (12/23/88)
***************

********** new
\bugonpage E333, lines 9--11 (1/9/89)

\ninepoint\noindent
$\\{lft}\,x_{1l}={\rm hround}(2.5u-.5\\{mfudged.stem})$; \
 $x_{1l}=x_{1'l}=x_{2l}=x_{2'l}$;\par\noindent
$\\{lft}\,x_{3l}={\rm hround}(.5w-.5\\{mfudged.stem})$; \
 $x_5-x_3=x_3-x_1$;\par
\line{{\bf if\/} not \\{monospace}: 
 $r:={\rm hround}(x_5+x_1)+r-w$; {\bf fi}\hfill
 \% change width for better fit}

\bugonpage E353, lines 38--39 (8/12/87)
***************

********** new
\bugonpage E515, line 21 (1/23/89)
\ninepoint\noindent
{\bf labels}$(5,6)$; \ \\{zero\_width}; \ {\bf endchar\/};
\smallskip\noindent[Also put labels `{\tt5}' and `{\tt6}' on the
upper right figure, page E514.]

\bugonpage E521, lines 4 and 14 (12/12/88)
***************

########################################################################

Changes to SYMBOL.MF

;COMPARISON OF PS:<TEX.CM>SYMBOL.MF.8 AND PS:<TEX.CM>SYMBOL.MF.9
;OPTIONS ARE    /E /3

**** FILE PS:<TEX.CM>SYMBOL.MF.8, 1-518 (22010)
labels(1,2); zero_width; endchar;
cmchar "Maps-to relation";
**** FILE PS:<TEX.CM>SYMBOL.MF.9, 1-518 (22010)
labels(5,6); zero_width; endchar;
cmchar "Maps-to relation";
***************

########################################################################

[ end of message 014 ]
-------