patch 8.2.3204: display garbled when 'cursorline' is set and lines wrap
Problem: Display garbled when 'cursorline' is set and lines wrap. (Gabriel
Dupras)
Solution: Avoid inserting lines twice.
diff --git a/src/drawscreen.c b/src/drawscreen.c
index 44c2dc5..49615bd 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -2249,9 +2249,11 @@
// up or down to minimize redrawing.
// Don't do this when the change continues until the end.
// Don't scroll when dollar_vcol >= 0, keep the "$".
+ // Don't scroll when redrawing the top, scrolled already above.
if (lnum == mod_top
&& mod_bot != MAXLNUM
- && !(dollar_vcol >= 0 && mod_bot == mod_top + 1))
+ && !(dollar_vcol >= 0 && mod_bot == mod_top + 1)
+ && row >= top_end)
{
int old_rows = 0;
int new_rows = 0;