diff options
Diffstat (limited to 'info/digests/tex-implementors/message.10')
-rw-r--r-- | info/digests/tex-implementors/message.10 | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/info/digests/tex-implementors/message.10 b/info/digests/tex-implementors/message.10 new file mode 100644 index 0000000000..f1a6bdf8f8 --- /dev/null +++ b/info/digests/tex-implementors/message.10 @@ -0,0 +1,74 @@ +Date: 15 Dec 88 Message No: 010 + +To: TeX implementors and distributors + +From: Barbara Beeton + +Subject: retraction of TeX version 2.94 + + +Don Knuth has just sent me several messages dealing with the problems +that arose from the change that led to TeX 2.94 and Metafont 1.6. He has +actually made the additional changes he alludes to in the message below, +but since making those changes available will involve more hours than I +have today, it seemed best to get this notice out quickly. (There are +also some changes to some of the CM* fonts; these will also be dealt with +in the next message.) + +Here is Don's message. + +All right, I guess I capitulate. When I made the change that +led to Version 2.94 (namely, to decide that a terminal input file +could never really close), my reasoning was based on an +argument that was totally convincing to me at the time, but now +I realize it was based on faulty premises. + +Namely: I had used TeX for ten years on a computer system that has no such +thing as EOF on the terminal, and I'd NEVER felt the need for that +capability. Therefore I believed it was possible to live happily with a +system that didn't support EOF on the terminal. + +The flaw in my argument was that I also assumed, implicitly, that +any decent operating system would have a standard way to exit +from an arbitrary running program. (The WAITS system, for example, has a +great big key that acts like a super-powerful ^C; this stops +the job you're running and lets you talk to the operating system.) + +Later conversations with Tom Rokicki and Joe Weening informed me +that UNIX, for example, has evolved a different style. Still, I thought +the change I made in version 2.94 would be OK because it says, in effect, +"EOF on the terminal doesn't happen, as far as TeX is concerned; therefore +system implementors can do whatever they want in their change files." + +The flaw in that argument is that this part of TeX is tricky and +I should provide more guidance to the system implementors. I envisaged +the introduction of a new boolean variable, which would allow operation +in the old style without the problem that made a change mandatory; +but I never explained the idea to anybody. + +Now Chris Thompson has sent me another reason for EOF on the terminal. He +independently came up with the idea of the boolean variable; and he proved +to my satisfaction that I should put that variable into all versions of +TeX (and METAFONT), because it is clean and it makes the issues as easy to +understand as they possibly could be. I was holding back because I dislike +making lots of changes to Volumes B and D at this late date. (Several +hours of work are needed every time I have to deal with it.) But I cannot +responsibly leave this flaw in programs that I hope to be proud of for the +rest of my life. + +Instead of introducing a new boolean variable, I could have solved +the problem in a hoky way by setting job_name negative during the +brief time before the log file is opened. That would have meant +fewer updates to the indexes of Volumes B and D. But it would also +have meant tricky code that would look uglier every time I saw it! + +So, I'll be introducing yet a new TeX and METAFONT later today. +This will essentially retract the change made in Version 2.94, replacing +it by another change with two properties: (1) The bug that was fixed +by disallowing EOF on terminal input in 2.94 will be fixed in another +way. (2) The change files that worked for 2.93 should still work +without change in 2.95. + + +[ end of message 010 ] +------- |