% Bugs (sigh) in Computers \& Typesetting \input manmac \def\curl{\mathop{\rm curl}} \def\cycle{{\rm cycle}}\indent \def\dashto{\mathrel{\hbox{-\thinspace-\kern-.05em}}} \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, 2001}} \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\/} between the first ``Millennium edition'' of 2000 and the second such edition, which appeared late in 2001. (More precisely, it lists errors to the 16th, 7th, 6th, 4th, and 5th printings of Volumes A, B, C, D, and E, respectively, that were corrected in the 17th, 8th, 7th, 5th, and 6th printings.) 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. \looseness=-1 % volume A \bugonpage A16, line 7 from the bottom (06/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 (06/30/01) \ninepoint\indent fications that grow in geometric ratios---something like equal-tempered tuning\cutpar \bugonpage A51, lines 18--20 (06/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 (06/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 (06/30/01) \tenpoint\indent One of the interesting things that can happen when glue stretches and\cutpar \bugonpage A180, line 20 (06/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 (04/09/01) \ninepoint\noindent \begintt \output={\unvbox255 \ifnum\outputpenalty<10000 \penalty\outputpenalty\fi} \endtt \bugonpage A292, lines 13--16 (06/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 \, are recorded in a ``choice item'' that is appended to the current list. \bugonpage A306, line 7 (06/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 (06/30/01) \ninepoint\noindent \hbox to\parindent{\bf\hss18.31.\enspace}% |$k=1.38065\times10^{-16}\rm\,erg\,K^{-1}$|. \bugonpage A451, line 15 (01/30/01) \tenpoint\noindent {\sl Connecticut Yankee\/} come out with only nine or ten bad hyphens: \bugonpage A451, line 23 (01/30/01) \tenpoint\noindent\begintt mo-er-der-mohren-mut-ter-mar-mor-mon-u-menten-macher. \endtt \bugonpage A454, lines 23--30 (06/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 (07/08/01) \eightpoint\noindent \llap{*}|\char|, {\it 43--45}, 76, 86, 155, 283, $\underline{286}$, \bugonpage A466, left column (07/09/01) \eightpoint\noindent \llap{*}|\floatingpenalty|, $\underline{123}$--$\underline{124}$, 272, 281, {\it 363}. \bugonpage A473, left column (06/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 (05/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$ (05/04/01) \ninepoint\noindent \quad{\bf begin} \\{update\_terminal};\quad$\{\,$now the user sees the prompt for sure$\,\}$ \bugonpage B84, lines 22 and 27 (05/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 (04/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 (01/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 (04/08/01) \ninepoint\noindent \quad$\\{qi}(2),\\{qi}(6)$: {\bf begin} $\\{cur\_r}\gets\\{rem\_byte}(q)$;% \quad$\{\,$\||=:|, \||=:>|$\,\}$ \bugonpage B475, line 12 (07/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 \def\ddashto{\mathrel{\hbox{-\thinspace-\thinspace-\kern-.05em}}} \def\tension{\mathop{\rm tension}} \def\controls{\mathop{\rm controls}} \def\and{\,{\rm and}\,} \bugonpage C204, line 3 from the bottom (07/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 (07/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 (06/30/01) \rightline{\eightss--- LA ROCHEFOUCAULD, {\eightssi Maximes\/}\enspace(1665)} \bugonpage C352, left column (06/30/01) \eightpoint\noindent La Rochefoucauld, Fran\c cois VI, 313. \bugonpage C357, right column (07/08/01) \eightpoint\noindent \llap{*}|true|, 55, {\it64\/}--{\it65}, 170, 210. % Volume D \def\\#1{\hbox{\it#1\/\kern.05em}} % italic type for identifiers \def\to{\mathrel{.\,.}} % double dot, used only in math mode \hsize=35pc \bugonpage D8, line 2 (05/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$ (05/04/01) \ninepoint\noindent \quad{\bf begin} \\{update\_terminal};\quad$\{\,$now the user sees the prompt for sure$\,\}$ \bugonpage D101, line 21 (07/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 (01/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 (01/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 (07/03/01) \tenpoint\noindent from appearing again. % volume E \hsize=29pc \newbox\shorthyf \setbox\shorthyf=\hbox{-\kern-.05em} \mathchardef\period=`\. {\catcode`\-=\active \global\def-{\copy\shorthyf\mkern3.9mu} \catcode`\.=\active \global\def.{\period\mkern3mu}} \def\8#1{\mathrel{\mathcode`\.="8000 \mathcode`\-="8000 #1\unkern}} % `..' and `--' \bugonpage E9, line 9 (07/03/01) \tenpoint\indent |[92] [123] [124]) ) )| \bye