Eli Zaretskii writes: > Then some redisplay optimization is at work here. If your build was > configured with --enable-checking=glyphs, does the problem go away if > you set _all_ of the following variable non-nil? > > inhibit-try-cursor-movement > inhibit-try-window-id > inhibit-try-window-reusing No, that doesn't change anything. But I now see more clearly what's not being updated -- it copies all the bits in the background on the line that's being moved. Here's the display first: