summaryrefslogtreecommitdiffstats
path: root/src/change.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-04-07 15:08:01 +0100
committerBram Moolenaar <Bram@vim.org>2022-04-07 15:08:01 +0100
commit8c9796085071950f9a03ca0fe116608e4f86aac2 (patch)
tree0a7ccec814f261a3ee1a30d6ab4ff67fda734d57 /src/change.c
parent6a06940f8ae7283999c83ccdf268540220573105 (diff)
patch 8.2.4707: redrawing could be a bit more efficientv8.2.4707
Problem: Redrawing could be a bit more efficient. Solution: Optimize redrawing. (closes #10105)
Diffstat (limited to 'src/change.c')
-rw-r--r--src/change.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/change.c b/src/change.c
index afc32b7241..bc9195be44 100644
--- a/src/change.c
+++ b/src/change.c
@@ -640,9 +640,13 @@ changed_common(
if (hasAnyFolding(wp))
set_topline(wp, wp->w_topline);
#endif
- // Relative numbering may require updating more.
+ // If lines have been added or removed, relative numbering always
+ // requires a redraw.
if (wp->w_p_rnu && xtra != 0)
- redraw_win_later(wp, SOME_VALID);
+ {
+ wp->w_last_cursor_lnum_rnu = 0;
+ redraw_win_later(wp, VALID);
+ }
#ifdef FEAT_SYN_HL
// Cursor line highlighting probably need to be updated with
// "VALID" if it's below the change.