Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!think.com!paperboy!hsdndev!cmcl2!adm!smoke!gwyn From: gwyn@smoke.brl.mil (Doug Gwyn) Newsgroups: comp.terminals Subject: Re: How do I tell curses/terminfo that LF forces a CR/LF?? Keywords: Curses, terminfo, Dasher DG Message-ID: <14981@smoke.brl.mil> Date: 25 Jan 91 18:36:53 GMT References: <1991Jan23.131741.23026@gorm.ruc.dk> <14959@smoke.brl.mil> <1991Jan24.113121.29126@gorm.ruc.dk> Organization: U.S. Army Ballistic Research Laboratory, APG, MD. Lines: 35 In article <1991Jan24.113121.29126@gorm.ruc.dk> jba@gorm.ruc.dk (Jan B.Andersen) writes: >I have disabled both "cud" and "cud1" in the terminfo description without >any luck. It seems to me that no matter what I do, curses will always >use the LF at the end of each text line to move the cursor down to the >next line. Can anyone tell me exactly what happens when curses "redraws" the >screen? Is it doing a "cursor home", "clear screen", "print #LINES lines", >using the EOL-LF to move into the next line? Here is a cute technique for finding out exactly what the application is doing: Prepare a termcap/terminfo description similar to the following, using EXACTLY the set of capabilities that is specified for the TERM type that you have been experiencing problems with: # Debugging entry -- all printing characters D1|debug|debugging entry:\ :ae=:AL=:al=:am:as=:bl=:bt=:bw:CC=:\ :cd=:ce=:ch=:cl=:cm=:co#80:cr=:\ :cs=:ct=:cv=:da:db:DC=:dc=:DL=:\ :dl=
:dm=:DO=:do=:ds=:ec=:ed=:ei=:\ :es:fs=:ho=:hs:IC=:ic=:im=:ip=:is=:\ :it#8:K1=\E1:K2=\E2:K3=\E3:K4=\E4:K5=\E5:k0=\Ef0:k1=\Ef1:kA=\EA:\ :ka=\Ea:kb=\Eb:kC=\EC:kD=\ED:kd=\Ed:kE=\EE:ke=:kF=\EF:kH=\EH:\ :kh=\Eh:kI=\EI:kL=\EL:kl=\El:kM=\EM:km:kN=\EN:kP=\EP:kR=\ER:kr=\Er:\ :kS=\ES:ks=:kT=\ET:kt=\Et:ku=\Eu:l0=F0:l1=F1:LE=:le=:\ :li#24:ll=:mb=:md=:me=:mh=:mi:mk=:mm=:\ :mo=:mp=:mr=:ms=:nd=:nw=:pb#4800:pc=:\ :pf=:pO=:po=:ps=:rc=:RI=:rp=:\ :rs=:sc=:se=:SF=:sf=:so=:SR=:sr=:\ :st=:ta=:te=:ti=:uc=:ue=:UP=:up=:\ :us=:vb=:ve=:vi=:vs=:vt#3:ws#80: Then set TERM to "debug" and run the application through its paces. Instead of invisible control actions, you should now get a printable representation of every output capability being used. If you still see an actual newline being output, the application is at fault.