[gnu.emacs.bug] bug in GNU tgoto

edf@ROCKY2.ROCKEFELLER.EDU (David MacKenzie) (06/22/89)

I discovered this while compiling Elm and verified it with tput.
For the termcap entry below, GNU tgoto () is setting the parity
bit on the two cursor movement bytes, which often still works, but
under some circumstances (when a carriage return is sent soon
afterward, or something like that) it causes the terminal to go haywire,
apparently trying to move to a nonexistant position on the screen.

You can verify this with the GNU tput program:

tput cup 10 60 | cat -v

The results are
^[=M-*M-\

but they should be

^[=*\

Note that the problem does not occur with the 'wyse50w' entry (for
the Wyse 50 in 132-column 'wide' mode), which uses a different cursor
addressing scheme.

-Dave

MW|wyse50|wy50|Wyse 50|wyse50.80:\
	:al=\EE:am:cd=\EY:ce=\ET:\
	:cl=\E+:cm=\E=%+ %+ :co#80:\
	:dc=\EW:dl=\ER:\
	:do=^J:ei=\Er:ho=\E{:im=\Eq:li#24:nd=^L:as=\EH^B:ae=\EH^C:\
	:up=^K:kb=^H:kd=^J:kl=^H:kr=^L:kh=^^:kn#10:\
	:hs:es:ds=\EA10\Ef \r:ts=\EA1v\Ef:fs=\r:ws#78:\
	:bt=\EI:ku=^K:sr=\Ej:bw:mi:ms:\
	:so=\E):se=\E(:\
	:vb=\E`8\E`9:\
	:k1=\001@\015:k2=\001A\015:k3=\001B\015:k4=\001C\015:\
	:k5=\001D\015:k6=\001E\015:k7=\001F\015:k8=\001G\015:\
	:k9=\001H\015:k10=\001I\015:k11=\001J\015:k12=\001K\015:\
	:k13=\001L\015:k14=\001M\015:k15=\001N\015:k16=\001O\015:\
	:as=\EH\002:ae=\EH\003:vi=\E`0:ve=\E`2:bl=^G:\
	:if=/usr/lib/tabset/std:pt:

MW|wyse50w|wyse50-w|wy50w|wy50-w|wyse50.132|Wyse 50 132col:\
	:co#132:cm=\Ea%i%dR%dC:tc=wyse50: