* (update-screen!): Clear the NEEDS-UPDATE? of the screen if the
update finishes properly.
* (screen-force-update): Fix typo that caused the new and current
matrix lines of highlighted text to become EQ?.
* (with-screen-in-update): Eliminate UNWIND-PROTECT since interrupts
are locked while it executes and any errors in the redisplay
indicate a serious problem that makes the UNWIND-PROTECT
uninteresting.
* (with-screen-in-update): Avoid calling SCREEN-UPDATE if the screen's
NEEDS-UPDATE? flag is not set.
* (with-screen-in-update, screen-update): Don't update the cursor
position unless the screen update finishes and the cursor has moved.
* (screen-update): Avoid use of FIX:REMAINDER, which is not open-coded
on the MIPS.
* (screen-update): Change meaning of PREEMPTION-MODULUS so that it
counts the number of updated lines rather than the number of lines.
This avoids unnecessary work when only a few lines need changing,
such as when only the modeline or typein window is being updated.
Because of this change, eliminate DEBUG-PREEMPTION-Y from the SCREEN
structure since it is no longer easy to simulate preemption like
this (and this debugging tool was never needed).
* (update-line-highlight): When comparing old and new lines, don't
consider short matches since it is usually cheaper to ignore them.
This has already been done for the no-highlight case and should have
been done for this case at that time.