summaryrefslogtreecommitdiff
path: root/info/digests/tex-implementors/message.03
blob: b6212d6d1b3a5c9076534724f4641a92a9abe768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
Date:	  24 Dec 87				Message No:	003

To:	  TeX implementors and distributors

From:	  Barbara Beeton

Subject:  TeX 2.9, DVItype 2.9


I've just received a message from Don Knuth regarding two messages I
forwarded to him from TeXhax; both appeared in issue 103.

Oliver Schoett, Negative column widths in \halign -- bug or feature?

Chris Thompson, re the expansion of \csname...\endcsname to be \relax

The reply:

	Naturally I'm hoping to get the last bug out of TeX before the
	bonus amount doubles next week!

	The "bug or feature" discussed by Oliver Schoett is a feature.
	I don't want to forbid negative widths, even though they
	can be confusing in certain cases. Negative numbers have
	proved to be useful even in accounting, so I hesitate to
	say that they will never be desired.

	On the other hand, Chris Thompson has found a bug; I can't argue
	that the assignment should be global. Ergo, he wins the prize
	and TeX moves to Version 2.9.

Updates from TeX82.BUG, ERRATA.TeX and a list of differences between
TeX.WEB 2.8 and 2.9 are given below.

A point to ponder:  What's the next number after 2.9?

			--------------------

A couple of items need to be cleaned up from earlier messages.

In message 2, the underline _ and assignment := characters were reversed
in item 336 of the extract from TeX82.BUG.  This is an unfortunate result
of my having erred in translating the idiosyncratic SAIL character set by
hand instead of by a nice tested canned procedure.  336 is included in
its correct form in the expanded extract below.  Apologies, and thanks to
Chris Thompson for pointing it out.

The TeX bug fixed in version 2.7 (bug 335) has also been fixed in DVItype
version 2.9.  A difference list between DVItype 2.8 and 2.9 appears below.

			--------------------

Extract from TeX82.BUG

336. If there are no \patterns and some \lccode is 1 (Breitenlohner, 12Dec87)
@x module 952
trie_link(0):=0; trie_char(0):=0; trie_op(0):=0;
@y
trie_link(0):=0; trie_char(0):=0; trie_op(0):=min_quarterword;
@z

337. \csname might encounter undefined_cs in a group (Chris Thompson, 23Dec87)
@x module 372
  begin eqtb[cur_cs]:=eqtb[frozen_relax];
@y
  begin eq_define(cur_cs,relax,256);
@z

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

			--------------------

Extracts from ERRATA.TeX (differences as compared with previous version)

**** FILE PS:<BEETON.BB>ERRATA.NEW.2, 2-3 (1510)
\bugonpage A213, lines 34--35 (12/23/87)

\ninepoint\noindent
text will be a single control sequence token, defined to be like |\relax| if
its meaning is currently undefined.

**** FILE PS:<BEETON.BB>ERRATA.TEX.73, 2-2 (1508)
***************

**** FILE PS:<BEETON.BB>ERRATA.NEW.2, 3-6 (3474)
\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 PS:<BEETON.BB>ERRATA.TEX.73, 3-6 (3290)
\bugonpage B2, line 32 (11/17/87)

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

**** FILE PS:<BEETON.BB>ERRATA.NEW.2, 3-34 (4391)
\bugonpage B156, line 28 (12/23/87)

\ninepoint\noindent\hskip20pt
{\bf begin }$\\{eq\_define}(\\{cur\_cs},\\{relax},256)$;

\bugonpage B157, mini-index (12/23/87)

\eightpoint\noindent
Delete the entries for `\\{eqtb}' and `\\{frozen\_relax}'; replace them
by the following:
\\{eq\_define}: {\bf procedure}, \S227.\par
$\\{relax}=0$, \S207.\par

**** FILE PS:<BEETON.BB>ERRATA.TEX.73, 3-34 (4207)
***************

**** FILE PS:<BEETON.BB>ERRATA.NEW.2, 3-178 (8959)
\bugonpage B551, both columns (12/23/87)

\eightpoint[Remove `372' from \\{eqtb} and put it into \\{eq\_define}.]

\bugonpage B554, left column (12/23/87)

\eightpoint[Remove `372' from \\{frozen\_relax}.]

**** FILE PS:<BEETON.BB>ERRATA.TEX.73, 3-164 (8413)
***************

**** FILE PS:<BEETON.BB>ERRATA.NEW.2, 3-195 (9393)
\bugonpage B567, left column (12/23/87)

\eightpoint[Insert `372' into \\{relax}.]

**** FILE PS:<BEETON.BB>ERRATA.TEX.73, 4-1 (8633)
***************

			--------------------

Differences between TeX.WEB versions 2.9 and 2.8

**** FILE PS:<1SCRATCH>TEX.WEB.3, 1-26 (1735)
% Version 2.9 makes \csname\endcsname's "relax" local (December 1987).
% A reward of $40.96 will be paid to the first finder of any remaining bug.
**** FILE PS:<TEX.WEB>TEX.WEB.3, 1-27 (1737)
% A reward of $40.96 will be paid to the first finder of any remaining bug.
***************

**** FILE PS:<1SCRATCH>TEX.WEB.3, 2-93 (9066)
@d banner=='This is TeX, Version 2.9' {printed when \TeX\ starts}
@ Different \PASCAL s have slightly different conventions, and the present
**** FILE PS:<TEX.WEB>TEX.WEB.3, 1-166 (8922)
@d banner=='This is TeX, Version 2.8' {printed when \TeX\ starts}
@ Different \PASCAL s have slightly different conventions, and the present
***************

**** FILE PS:<1SCRATCH>TEX.WEB.3, 26-119 (332316)
  begin eq_define(cur_cs,relax,256);
  end; {the control sequence will now match `\.{\\relax}'}
**** FILE PS:<TEX.WEB>TEX.WEB.3, 1-7543 (332196)
  begin eqtb[cur_cs]:=eqtb[frozen_relax];
  end; {the control sequence will now match `\.{\\relax}'}
***************

			--------------------

Differences between DVItype.WEB versions 2.9 and 2.8

**** FILE TX:<BNB.WORK>DVITYPE.WEB.1, 1-14 (823)
% Version 2.9 changes negative scaling as in TeX version 2.7 (November, 1987).
% Here is TeX material that gets inserted after \input webmac
**** FILE TX:<TEX82.SOURCES>DVITYPE.WEB.7, 1-15 (825)
% Here is TeX material that gets inserted after \input webmac
***************

**** FILE TX:<BNB.WORK>DVITYPE.WEB.1, 1-33 (1532)
  \centerline{(Version 2.9, November 1987)}
  \vfill}
**** FILE TX:<TEX82.SOURCES>DVITYPE.WEB.7, 1-32 (1452)
  \centerline{(Version 2.8, August 1984)}
  \vfill}
***************

**** FILE TX:<BNB.WORK>DVITYPE.WEB.1, 1-81 (4122)
@d banner=='This is DVItype, Version 2.9' {printed when the program starts}
@ This program is written in standard \PASCAL, except where it is necessary
**** FILE TX:<TEX82.SOURCES>DVITYPE.WEB.7, 1-80 (4040)
@d banner=='This is DVItype, Version 2.8' {printed when the program starts}
@ This program is written in standard \PASCAL, except where it is necessary
***************

**** FILE TX:<BNB.WORK>DVITYPE.WEB.1, 1-1143 (52850)
integer~|z|, which is known to be less than $2^{27}$.
If $|z|<2^{23}$, the individual multiplications $b\cdot z$, $c\cdot z$,
**** FILE TX:<TEX82.SOURCES>DVITYPE.WEB.7, 1-1142 (52768)
integer~|z|, which is known to be less than $2^{27}$. Let $\alpha=16z$.
If $|z|<2^{23}$, the individual multiplications $b\cdot z$, $c\cdot z$,
***************

**** FILE TX:<BNB.WORK>DVITYPE.WEB.1, 1-1150 (53311)
or the same quantity minus $\alpha=2^{4+e}z^\prime$ if $a=255$.
This calculation must be
done exactly, for the reasons stated above; the following program does the
**** FILE TX:<TEX82.SOURCES>DVITYPE.WEB.7, 1-1149 (53247)
or the same quantity minus $\alpha$ if $a=255$.  This calculation must be
done exactly, for the reasons stated above; the following program does the
***************

**** FILE TX:<BNB.WORK>DVITYPE.WEB.1, 1-1166 (53927)
begin alpha:=16;
while z>=@'40000000 do
  begin z:=z div 2; alpha:=alpha+alpha;
  end;
beta:=256 div alpha; alpha:=alpha*z;
end
**** FILE TX:<TEX82.SOURCES>DVITYPE.WEB.7, 1-1164 (53847)
begin alpha:=16*z; beta:=16;
while z>=@'40000000 do
  begin z:=z div 2; beta:=beta div 2;
  end;
end
***************


[ end of message 003 ]
-------