Subject: bug#33971: artifacts on screen in 26.1

From: Eli Zaretskii <[email-masked]>
Date: Sat, 05 Jan 2019 08:49:11 +0200

> From: 積丹尼 Dan Jacobson <[email-masked]>
> Cc: [email-masked]
> Date: Sat, 05 Jan 2019 06:25:56 +0800
> 
> OK, I was able to capture it with
> $ sleep 22; import -window root bad.jpg

Thanks.

> then pressing three right or left arrows (cursor movement), or one up or
> one down arrow clears it

You mean, a small cursor motion clears _all_ of the artifacts in the
entire window, not just where you move the cursor?

> A single CTRL+L doesn't always clear it.

C-l on a GUI frame doesn't by default redraw the frame in recent
versions of Emacs.  You need to invoke "M-x redraw-display RET" for
that, or "M-x recenter RET" after setting recenter-redisplay to t.

> It only affects my 32 bit fifteen year old Thinkpad R50e, so emacs 26.1
> is going too fast, not confirming each rendering step has completed or
> something.

There's no such confirmation, and none is really possible AFAIK.
Emacs just trusts the X server to do what it's being told to do.
There's no reason for Emacs not to trust the X server.

When Emacs redisplays a window, it only draws in the portions of the
window that should be different from the previously displayed stuff,
deleting the old stuff where there should be whitespace instead of
text.  In your case, this deletion seems to not be working, for some
reason, but that cannot normally be Emacs's fault.

You didn't show your build configuration, so I don't know: does this
build use Cairo?  If so, try a non-Cairo build instead.

Other than glitches in a Cairo build, we are not aware of such glaring
problems in Emacs display, including on old machines.  If Cairo is not
involved, I still think this is something related to your system's
display software.  Did you try looking up the video driver settings
and disabling its optimizations features?