% Bugs (sigh) in Computers \& Typesetting --- the most recent errata

\input manmac
\font\sltt=cmsltt10
\font\niness=cmss9
\font\ninessi=cmssi9
\proofmodefalse
\raggedbottom
\output{\hsize=29pc \onepageout{\unvbox255\kern-\dimen@ \vfil}}

\def\today{\number\day\
  \ifcase\month\or
  Jan\or Feb\or Mar\or Apr\or May\or Jun\or
  Jul\or Aug\or Sep\or Oct\or Nov\or Dec\fi
  \ \number\year}

\def\cutpar{{\parfillskip=0pt\par}}

\def\rhead{Bugs in {\tensl Computers \& Typesetting as of \today}}
\def\bugonpage#1(#2) \par{\bigbreak\tenpoint
  \hrule width\hsize
  \line{\lower3.5pt\vbox to13pt{}Page #1\hfil(#2)}\hrule width\hsize
  \nobreak\medskip}
\def\buginvol#1(#2) \par{\bigbreak\penalty-1000\tenpoint
  \hrule width\hsize
  \line{\lower3.5pt\vbox to13pt{}Volume #1\hfil(#2)}\hrule width\hsize
  \nobreak\medskip}
\def\slMF{{\manual 89:;}\-{\manual <=>:}} % slant the logo
\def\0{\raise.7ex\hbox{$\scriptstyle\#$}}
\newcount\nn
\newdimen\nsize \newdimen\msize \newdimen\ninept \ninept=9pt
\newbox\eqbox \setbox\eqbox=\hbox{\kern2pt\eightrm=\kern2pt}

\tenpoint
\noindent This is a list of all substantial corrections made to {\sl Computers
\& Typesetting\/} since the publication of the Millennium Edition at the close
of the year 2000. (More precisely, it lists errors corrected
since the 16th printing of Volume~A, the 7th printing
of Volume~B, the 6th printing of Volume~C, the 4th printing of Volume~D,
and the 5th printing of Volume~E.)
Corrections made to the softcover version of {\sl The \TeX book\/} are
the same as corrections to Volume~A\null. Corrections to the softcover
version of {\sl The \slMF\kern1ptbook\/} are the same as corrections
to Volume~C\null. Changes to the mini-indexes
and master indexes of Volumes B, D, and~E are not shown here unless they are
not obviously derivable from what has been shown. Some (or all) of these
errors have been corrected in the most recent printings.
\looseness=-1

% volume A

\bugonpage A16, line 7 from the bottom (6/30/01)

\font\magnifiedfiverm=cmr5 at 10pt
\tenpoint\indent
Ten-point type is different from%
  \magnifiedfiverm\ magnif{}ied f{}ive-point type.

\bugonpage A17, line 7 (6/30/01)

\ninepoint\indent
fications that grow in geometric ratios---something like equal-tempered
tuning\cutpar

\bugonpage A51, lines 18--20 (6/30/01)

\tenpoint\kern-6pt\noindent
$$\openup1pt\halign{\indent#\hfil\cr
|ff| yields ff\thinspace;$\!$\quad |fi| yields fi\thinspace;$\!$\quad
|fl| yields fl\thinspace;$\!$\quad
|ffi| yields ffi\thinspace;$\!$\quad |ffl| yields ffl\thinspace;\cr
|``| yields``\thinspace;\qquad |''| yields ''\thinspace;\qquad
|!||`| yields !`\thinspace;\qquad |?||`| yields ?`\thinspace;\cr
|--| yields --\thinspace;\qquad |---| yields ---\thinspace.\cr}$$

\bugonpage A52, line 7 from the bottom (6/30/01)

\tenpoint\kern-6pt\noindent
$$\halign{\indent\hbox to 50pt{#\hfil}&\hbox to 35pt{#\hfil}&#\hfil\cr
|\ae,\AE|&\ae,\thinspace\AE&(Latin ligature and Scandinavian letter AE)\cr}$$

\bugonpage A71, line 15 (6/30/01)

\tenpoint\indent
One of the interesting things that can happen when glue stretches and\cutpar

\bugonpage A180, line 20 (6/30/01)

\ninepoint\indent
Challenge number 5:\enspace
$\qquad\tenmath k=1.38065\times10^{-16}\rm\,erg\,K^{-1}$.

\bugonpage A254, line 12 from the bottom becomes two lines (4/09/01)

\ninepoint\noindent
\begintt
\output={\unvbox255
  \ifnum\outputpenalty<10000 \penalty\outputpenalty\fi}
\endtt

\bugonpage A292, lines 13--16 (6/30/01)

\def\s{\hskip0pt plus1pt}
\ninepoint\textindent{$\bull$}|\mathchoice|\s
$\langle$filler$\rangle$\s|{|\s$\langle$math mode material$\rangle$\s|}|\s
$\langle$filler$\rangle$\s|{|\s$\langle$math mode material$\rangle$\s|}|\break
$\langle$filler$\rangle$|{|$\langle$math mode material$\rangle$|}|
$\langle$filler$\rangle$|{|$\langle$math mode material$\rangle$|}|.
Four math lists, which are defined as in the
second alternative of a \<math field>), are
recorded in a ``choice item'' that is appended to the current list.

\bugonpage A306, line 7 (6/30/01)

\ninepoint\noindent
instead of a shelf{\kern0pt}ful.
In fact, the latter idea---to
insert an ^{italic correction}---is prefer-\cutpar

\bugonpage A323, line 12 from the bottom (6/30/01)

\ninepoint\noindent
\hbox to\parindent{\bf\hss18.31.\enspace}%
|$k=1.38065\times10^{-16}\rm\,erg\,K^{-1}$|.

\bugonpage A451, line 15 (1/30/01)

\tenpoint\noindent
{\sl Connecticut Yankee\/} come out with only nine or
ten bad hyphens:

\bugonpage A451, line 23 (1/30/01)

\tenpoint\noindent\begintt
  mo-er-der-mohren-mut-ter-mar-mor-mon-u-menten-macher.
\endtt

\bugonpage A454, lines 23--30 (6/30/01)

\begingroup
\hyphenpenalty=-1000 \pretolerance=-1 \tolerance=1000
\doublehyphendemerits=-100000 \finalhyphendemerits=-100000
\ddanger If a suitable starting letter is found, let it be in font~$f$.
Hyphenation is abandoned unless the ^|\hyphenchar| of~$f$ is a number
between 0 and~255, inclusive.
If this test is passed, \TeX\ continues to scan forward
until coming to something that's not one of the following three
``admissible items'': (1)~a character in font~$f$ whose |\lccode|
is nonzero; (2)~a ligature formed entirely from characters of type~(1);
(3)~an implicit kern. The first inadmissible item terminates this part of
the process; the trial word consists of all the letters found in admissible
items. Notice that all of these letters are in font~$f$.
\par\endgroup

\bugonpage A461, right column (7/08/01)

\eightpoint\noindent
\llap{*}|\char|, {\it 43--45}, 76, 86, 155, 283, $\underline{286}$,

\bugonpage A466, left column (7/09/01)

\eightpoint\noindent
\llap{*}|\floatingpenalty|, $\underline{123}$--$\underline{124}$,
 272, 281, {\it 363}.

\bugonpage A473, left column (6/30/01)

\eightpoint\noindent
orphans, {\sl see\/} widow words.

% volume B
\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
\def\to{\mathrel{.\,.}} % double dot, used only in math mode

\hsize=35pc

\bugonpage B8, line 2 (5/04/01)

\tenpoint\noindent
statements will be meaningful. We insert the label
`\\{exit}' just before the `{\bf end}' of a procedure in\cutpar

\bugonpage B30, line $-4$ (5/04/01)

\ninepoint\noindent
\quad{\bf begin} \\{update\_terminal};\quad$\{\,$now the user sees
 the prompt for sure$\,\}$

\bugonpage B84, lines 22 and 27 (5/04/01)

\ninepoint\noindent
\quad$\\{ignore}=9$\quad$\{\,$characters to ignore ( |^^@| )$\,\}$\par
\noindent
\quad$\\{active\_char}=13$\quad$\{\,$characters that invoke
 macros ( |~| )$\,\}$

\bugonpage B280, lines 23 and 24 (4/08/01)

\tenpoint\noindent
or unset nodes; in particular, each mlist item appears in the
variable-size part of \\{mem}, so the \\{type} field is always present.

\bugonpage B382, line 6 (1/01/01)

\tenpoint\noindent
between `fl' and `y', then $m=2$, $t=2$, and $y_1$ will
be a ligature node for `fl' followed by an\cutpar

\bugonpage B386, line 11 (4/08/01)

\ninepoint\noindent
\quad$\\{qi}(2),\\{qi}(6)$: {\bf begin} $\\{cur\_r}\gets\\{rem\_byte}(q)$;%
 \quad$\{\,$\||=:|, \||=:>|$\,\}$

\bugonpage B475, line 12 (7/01/01)

\ninepoint\noindent
\qquad{\bf end};\quad$\{\,$now we are in vertical mode,
 working on the list that will contain the display$\,\}$

% volume C
\hsize=29pc
\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers

\bugonpage C204, line 3 from the bottom (7/08/01)

\ninepoint\noindent
slightly. If $\\{autorounding}>1$,
you get even more changes: Paths are perturbed slightly\cutpar

\bugonpage C238, lines 9 and 8 from the bottom (7/08/01)

\ninepoint\noindent
tance is ${\rm length}(z_4-z_1)$. But there's a slicker solution:
Just calculate
$$\hbox{abs ypart$((z_1-z_2)\mathbin{\rm rotated}-{\rm angle}(z_3-z_2))$.}$$

\bugonpage C313, bottom line (6/30/01)

\rightline{\eightss--- LA ROCHEFOUCAULD, {\eightssi Maximes\/}\enspace(1665)}

\bugonpage C346, right column (7/09/01)

\eightpoint\noindent
\llap{*}|angle|, {\it29}, {\it67}, $\underline{72}$, {\it107},
{\it135}, 211, {\it238}.

\bugonpage C357, right column (7/08/01)

\eightpoint\noindent
\llap{*}|true|, 55, {\it64\/}--{\it65}, 170, 210.

\bugonpage C352, left column (6/30/01)

\eightpoint\noindent
La Rochefoucauld, Fran\c cois VI, 313.

% Volume D
\hsize=35pc
\def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers
\def\to{\mathrel{.\,.}} % double dot, used only in math mode

\bugonpage D8, line 2 (5/04/01)

\tenpoint\noindent
statements will be meaningful. We insert the label
`\\{exit}' just before the `{\bf end}' of a procedure in\cutpar

\bugonpage D28, line $-8$ (5/04/01)

\ninepoint\noindent
\quad{\bf begin} \\{update\_terminal};\quad$\{\,$now the user sees
 the prompt for sure$\,\}$

\bugonpage D101, line 21 (7/08/01)

\ninepoint\noindent
\quad{\bf define} $\\{subscr\_head\_loc}(\hbox{\tt\#})\equiv\hbox{\tt\#}+1$
\quad$\{\,$where \\{value}, \\{subscr\_head}, and \\{attr\_head} are$\,\}$

\bugonpage D180, lines 22 and 23 (1/26/01)

\tenpoint\noindent
$(y,-x)$ will appear in node~$p$. Similarly, a fourth-octant
transformation will have been applied after the transition, so
we will have $\\{x\_coord}(q)=\hbox{$-x$}$ and $\\{y\_coord}(q)=y$.

\bugonpage D196, lines 7 and 8 (1/26/01)

\tenpoint\noindent
where $x'(t)\ge0$ we have $\\{right\_type}=%
\\{first\_octant}$ or $\\{right\_type}=\\{eighth\_octant}$; in regions where
$x'(t)\le0$,
we have $\\{right\_type}=\\{fifth\_octant}$ or $\\{right\_type}=\\{fourth%
\_octant}$.

\bugonpage D511, line 17 (7/03/01)

\tenpoint\noindent
from appearing again.

% volume E
\hsize=29pc

\bugonpage E9, line 9 (7/03/01)

\tenpoint\indent
|[92] [123] [124]) ) )|


\bye
