[comp.emacs] A Display Problem in gnuemacs

jsg@bigburd.PRC.Unisys.COM (Jerry Goldberg) (09/23/87)

I am using Version Number 17.63.1 of June 11, 1986 under Berkeley 4.3
on a Vax. The same symptoms also appear under Version 18.44.4.

I am using an HDS-200 terminal. However, I am using the avt termcap entry given
below.  The hds200 entry at my site has worse problems.
Thus, the TERM variable is "avt".  Note, that my terminal wants to be
an hds200 for use with vi. Why, I don't know.

I should note that I am the only person currently using gnuemacs here.
The others are all using Unipress.  So I am without other experts or a
body of other users.

I actually am reporting two problems.  I have read the entire section
in the manual regarding bug reporting, and will try to give complete
information.  I am aware that the problems described below are very
likely problems with either:
    1) The weird nature of the HDS-200 and timing.
    2) the termcap entry.
I have tried working on the termcap entry without success.  My hope is
that someone has developed a termcap entry that works and reported it
to you folks, or that it is truly a bug.

Enter gnuemacs with -q and load the following:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mini-.emacs
(defun scroll-down-one ()
  (interactive)
  (scroll-down 1))
(defun scroll-up-one ()
  (interactive)
  (scroll-up 1))

(global-unset-key "\e[" )
(global-set-key "\e[" (fset 'foo-func-map (make-keymap)))
(global-set-key "\e[D"    'backward-char)
(global-set-key "\e[C"    'forward-char)
(global-set-key "\e[A"    'previous-line)
(global-set-key "\e[B"    'next-line)
(global-set-key "\e[V"    'scroll-down)
(global-set-key "\e[U"    'scroll-up)
(global-set-key "\e[S"    'scroll-down-one)
(global-set-key "\e[T"    'scroll-up-one)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Problem: 
1) Re-painting of the screen using scroll-down and scroll-up sometimes
is grossly wrong.  There even seem to be strings intended for terminal
control placed on the screen.  C-l does not always fix the display.
The problem exhibits itself by using "find-file" to visit /etc/termcap
and using scroll-up a few times rapidly.
The problem seems worse when the screen is one large window.

2) "Jumping" of screen using my own functions called
      "scroll-up-one" and "scroll-down-one" defined above.

What seems to happen is that the next line coming onto the screen is
placed onto the line BELOW the status line at the bottom of the
screen, for an instant.  All lines other than the contents of the
window being scrolled  jump up for an instance and then
resume its normal position. When I cover those lines with a sheet of
paper, the screen appears to scroll normally.

To be clear, it is not the status line of the window being scrolled
that the new line is placed under, it is the status line at the bottom
of the screen.  Currently, I do not use more than two windows.

This problem is also exhibited by previous-line and next-line.

cE|avt|HDS concept avt w/4 or 8 pages, 80 columns:\
	:is=\E[1*q\E[2!t\E[7!t\E[=4;101;103;119;205l\E[=107;118;207h\E)1\E[1Q\EW\E[0!y\E[0\0720\07232!r\E[w\E2\r\n\E[*w:\
	:ae=^O:al=\E[L:am:as=^N:bs:bt=\E[Z:cd=\E[J:ce=\E[K:\
	:ch=\E[%i%2G:cl=\E[H\E[J:cm=\E[%i%2;%2H:co#80:cv=\E[%i%2d:\
	:dc=\E[P:dl=\E[M:do=\E[B:ei=\E1:eo:ho=\E[H:im=\E1:kb=^H:kd=\E[B:\
	:kh=\E[H:kl=\E[D:ko=do,ho,nd,up:kr=\E[C:\
	:ks=\E[1;4!z\E[1;8!z\E[1;10!z\E[1;11!z\E[1;12!z\E[1;14!z\E[1;9!z\E[1;7!z:\
	:ke=\E[;4!z\E[;8!z\E[;10!z\E[;11!z\E[;12!z\E[3;14!z\E[;7!z\E[;9!z:\
	:ku=\E[A:li#24:mi:nd=\E[C:pt:se=\E[7!{:so=\E[7m:\
	:te=\E[w\E2\n:ti=\E[1;24w\E2\n:ue=\E[4!{:ul:\
	:up=\E[A:us=\E[4m:ve=\E[=4;119l:vs=\E[4l\E[=119h:xn:
c5|hds200|navt| HDS concept avt w/4 or 8 pages, 80 columns:\
	:is=\E[1*q\E[2!t\E[=4;101;103;119l\E[=107;118;207h\E(B\E[1Q\EW\E[0\0720\07232!r\E[w\E2\r\n\E[7!t\E)1:\
	:ae=^O:al=\E[L:am:as=^N:bs:bt=\E[Z:cd=\E[J:ce=\E[K:\
	:ch=\E%i%2G:cl=\E[H\E[J:cm=\E[%i%2;%2H:co#80:cv=\E[%i%2d:\
	:dc=\E[P:dl=\E[M:do=\E[B:ei=\E1:eo:ho=\E[H:im=\E1:kb=^H:\
	:kd=\E[B:ke=\E[;4!z\E[;8!z\E[;10!z\E[;11!z\E[;12!z\E[3;14!z\E[;7!z\E[;9!z:\
	:kh=\E[H:kl=\E[D:ko=do,ho,nd,up:kr=\E[C:\
	:ks=\E[1;4!z\E[1;8!z\E[1;10!z\E[1;11!z\E[1;12!z\E[1;14!z\E[3;7!z\E[3;9!z:\
	:ku=\E[A:li#24:mi:nd=\E[C:pt:se=\E[7!{:so=\E[7m:\
	:te=\E[w\E2\r\n:ti=\E[1;24w\E2\n:ue=\E[4!{:ul:\
	:up=\E[A:us=\E[4m:ve=\E[=4;119l:vs=\E[4l\E[=119h:xn:\
	:i2=\E[97u\E\E:ts=\E[97u\E:fs=\E: