Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mit-eddie.UUCP Path: utzoo!linus!decvax!genrad!mit-eddie!nessus From: nessus@mit-eddie.UUCP (Doug Alan) Newsgroups: net.info-terms Subject: Z29 Termcap Entry Message-ID: <597@mit-eddie.UUCP> Date: Mon, 15-Aug-83 07:26:40 EDT Article-I.D.: mit-eddi.597 Posted: Mon Aug 15 07:26:40 1983 Date-Received: Mon, 15-Aug-83 13:12:58 EDT Organization: MIT, Cambridge, MA Lines: 54 (Free: One Z29 Termcap entry enclosed!!!) The problem declaring an H19 to be synonomous with a Z29 is that it needs more padding. It especially loses if a program attempts to put the Z29 into insert mode and insert text at 9600 baud. It even loses worse if the program attempts to insert tabs at 9600 baud. Adding padding to text that is inserted loses because in order to make the Z29 not die, one must add so much padding that whenever the program tries to use insert mode, the effective rate is about 110 baud. What program would be silly enough to put the terminal into insert mode and shove stuff at it at 9600 baud you ask? Gosling's Emacs. Emacs seems to want to do the mathematically optimal thing in doing a redisplay rather than the practical thing. When it is about to output a line on top of a line that is already on the screen, instead of just killing to the end of the line and outputing the new line, it compares the old line and the new line and if there are any similarities, it constructs the new line by deleting the text on the old line on the terminal that is already there and then inserting new text into the line to transform it into the new line that is to be displayed. The Z29 does not act kindly to this. But don't cry for too long.... There is a solution. You can make a termcap entry for the Z29 that says the Z29 has no insert mode. Then Emacs cannot use it's horrible hack. "Oh, no, but now inserting into a line will be really slow", you say. Well there is a sort of a solution to that too. There is an insert character option on the Z29 that will insert one character. Unfortunately, it involves putting the terminal into ansi mode, inserting the character, and changing it back to H19 mode. All this takes 12 characters. Pretty expensive to insert one character, but it works. Either Emacs doesn't try to use it's inserting hack when it's only given an insert character ability or the Z29 doesn't require padding with this (the former is probably more likely, but I haven't checked it out). "Shut up and give us the termcap entry!", you shout out of boredom of this unnecessarily long verbiage. Okay, here it is: (I make no claim that it provides enough padding in all cases -- but it (almost) always seems to work for me. I make no claim that it never provides way too much padding -- perhaps it doesn't, but I never tried to whittle the padding down to the absolute minimum necessary.) zb|z29|zenith 29|z29b:is=\E<\E[?2h\Ev:\ :al=1\EL:am:bs:cd=14\EJ:ce=1\EK:cl=14\EE:cm=\EY%+ %+ :co#80:\ :dc=0.1*\EN:dl=1\EM:do=\EB:ei=:ho=\EH:im=:ic=1\E<\E[1@\E[?2h:\ :li#24:mi:nd=\EC:as=\EF:ae=\EG:sf=2\n:\ :ms:pt:sr=2\EI:se=\Eq:so=\Ep:up=1\EA:vs=\Ex4:ve=\Ey4:\ :kb=^h:ku=\EA:kd=\EB:kl=\ED:kr=\EC:kh=\EH:kn#10:\ :k1=\ES:k2=\ET:k3=\EU:k4=\EV:k5=\EW:\ :k6=\EP:k7=\EQ:k8=\ER:k9=\E0I:k0=\E~:l0=home: -Doug Alan decvax!genrad!mit-eddie!nessus Nessus@MIT-MC