lriggins@afit-ab.arpa (L. Maurice Riggins) (10/18/87)
I've almost finished the termcap file for a new VT100 emulator. One problem is driving me crazy though. I have to set stty -nl because the emulator return key can only transmit a CR. According to the manual, this also causes CR's and LF's leaving the UNIX host to be mapped to CR-LF. This results in two problems. 1. Since the emulator doesn't strip one of the pair during file capture, captured text is double-spaced. 2. VI appears to be using LF as a down cursor motion when it would be quicker. When it does the cursor moves to the beginning of the line or closer to it than it really is in the text. I suspect this is caused by the output mapping to CR-LF. I'm not sure if vi uses the carriage return as cursor motion...I suspect it does, but that doesn't seem to be causing any problems. For instance, since the emulator backspace is destructive, I had to remove bs from the termcap. Vi seems to move the cursor to the beginning of the line (CR?) and tab or nd space it back out. That's ok. I've tested this using stty nl and everything works fine, text capture and editor, but I have to manually type Ctrl-J to execute commands in the shell. Can I map an incoming CR to LF? Any other suggestions? My termcap, stty and vi settings follow. Hope they help. Thanks in advance. d1|vt100|vt-100|pt100|pt-100|dec vt100:\ :al=\E[L:AL=\E[%dL:am:cd=\E[J:ce=\E[K:cl=\E[;H\E[2J:\ :cm=\E[%i%d;%dH:co#80:cs=\E[%i%d;%dr:ct=\E[g:\ :dc=\E[P:DC=\E[%dP:dl=\E[M:DL=\E[%dM:do=\E[B:DO=\E[%dB:ei=:\ :ho=\E[H:ic=\E[@:IC=\E[%d@:im=:if=/usr/lib/tabset/vt100:\ :is=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h:\ :kb=^H:kd=\EOB:kh=\E[H:kl=\EOD:kn#4:kr=\EOC:ku=\EOA:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ :le=\E[D:LE=\E[%dD:li#24:ll=\E[24;1H:\ :ms:nd=\E[C:nw=\EE:pt:rc=\E8:ri=\E[C:RI=\E[%dC:\ :sc=\E7\:se=\E[m:sf=\ED:so=\E[7m:sr=5\EM:st=\EH:\ :ue=\E[m:up=\E[A:UP=\E[%dA:us=\E[4m:xn:xo\ new tty, speed 1200 baud, 0 rows, 0 columns even odd -raw -nl echo -lcase -tandem tabs -cbreak crt: (crtbs crterase crtkill ctlecho) -tostop -tilde -flusho -mdmbuf -litout -pass8 -nohang -pendin -decctlq -noflsh erase kill werase rprnt flush lnext susp intr quit stop eof ^H ^K ^W ^R ^O ^V ^Z/^Y ^C ^\ ^S/^Q ^D noautoindent nonumber noslowopen autoprint open nosourceany noautowrite nooptimize tabstop=8 nobeautify paragraphs=IPLPPPQPP LIpplpipbp taglength=0 directory=/tmp prompt tags=tags /usr/lib/tags noedcompatible noreadonly term=vt100 noerrorbells redraw noterse hardtabs=8 remap notimeout noignorecase report=5 ttytype=vt100 nolisp scroll=8 nowarn nolist sections=NHSHH HUnhsh window=16 magic shell=/bin/csh wrapscan mesg shiftwidth=8 wrapmargin=0 nomodeline noshowmatch nowriteany -- Maurice lriggins@afit-ab.ARPA