summaryrefslogtreecommitdiff
path: root/info/digests/tex-implementors/message.10
diff options
context:
space:
mode:
Diffstat (limited to 'info/digests/tex-implementors/message.10')
-rw-r--r--info/digests/tex-implementors/message.1074
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 ]
+-------