decot@MITRE@sri-unix (08/13/82)
From: Dave Decot <decot@MITRE> Date: 29 Jul 1982 11:14:38 EDT (Thursday) To echo or not to echo, that's not the question; the question is WHEN. Most UNIX tty drivers (when operating in the 'echo' and '-raw' modes) echo input characters when they are typed, not when they are used. Many people find the ability to type ahead very useful, since it permits one to think 'out loud' about the next thing one wants to say while the computer is doing whatever it is that's taking so long. One problem with this is that the typed-ahead characters can easily get jumbled in with output characters, making it difficult to see exactly what you have typed. Some of the newer drivers include provisions such as ^R, which retypes the current line. This is nice, but the combination of input and output looks as if you have typed it twice. Another disadvantage of echoed type-ahead is that programs which use escape sequences to cause special things to happen to your terminal (e.g. clear the screen, move the cursor to x,y) know nothing of what is being echoed, and characters echoed during such a sequence will ruin the sequence. Granted, most such programs coerce the tty into raw/-echo mode, but not all do. Finally, it is sometimes difficult to tell when a program wants to read its input. If the tty driver always echoes everything, how can we tell if anybody is really listening?? On the other hand, we have the tty drivers that echo typed characters when they are USED, meaning read by some other process (ala TOPS-20). I can think of only one disadvantage: that you cannot be sure what you have typed until it is read, and thus cannot fix any suspected mistakes until then. One way to solve this problem is to make a typed-ahead ^R retype the entire buffer of unused characters and open it for correction. This need be done only when one suspects that what he's done is wrong, and it is therefore easier to follow the conversation. If the process using the input characters asks for them in chunks, instead of one at a time, the tty driver could ECHO them in chunks. Also, programs have more control over what is on the user's screen and can keep it tidier than is possible when characters can be echoed any old time. Finally, the ability to edit the entirety of what you have typed ahead instead of just the last line seems useful and not too difficult to implement. This matter could use more discussion. What's your position? -Dave Decot (Decot at Mitre)