diff src/change.c @ 31894:984969b81d63 v9.0.1279

patch 9.0.1279: display shows lines scrolled down erroneously Commit: https://github.com/vim/vim/commit/61fdbfa1e3c842252b701aec12f45839ca41ece5 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 4 13:57:55 2023 +0000 patch 9.0.1279: display shows lines scrolled down erroneously Problem: Display shows lines scrolled down erroneously. (Yishai Lerner) Solution: Do not change "wl_lnum" at index zero. (closes https://github.com/vim/vim/issues/11938)
author Bram Moolenaar <Bram@vim.org>
date Sat, 04 Feb 2023 15:00:04 +0100
parents b53ab3c3e0c9
children 667d85c09e9c
line wrap: on
line diff
--- a/src/change.c
+++ b/src/change.c
@@ -611,7 +611,9 @@ changed_common(
 		{
 		    if (wp->w_lines[i].wl_lnum >= lnum)
 		    {
-			if (wp->w_lines[i].wl_lnum < lnume)
+			// Do not change wl_lnum at index zero, it is used to
+			// compare with w_topline.  Invalidate it instead.
+			if (wp->w_lines[i].wl_lnum < lnume || i == 0)
 			{
 			    // line included in change
 			    wp->w_lines[i].wl_valid = FALSE;