summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/screen.c3
-rw-r--r--src/structs.h1
-rw-r--r--src/version.c2
3 files changed, 5 insertions, 1 deletions
diff --git a/src/screen.c b/src/screen.c
index 681650387..1d4fdd3d9 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -10718,7 +10718,7 @@ number_width(wp)
/* cursor line shows absolute line number */
lnum = wp->w_buffer->b_ml.ml_line_count;
- if (lnum == wp->w_nrwidth_line_count)
+ if (lnum == wp->w_nrwidth_line_count && wp->w_nuw_cached == wp->w_p_nuw)
return wp->w_nrwidth_width;
wp->w_nrwidth_line_count = lnum;
@@ -10734,6 +10734,7 @@ number_width(wp)
n = wp->w_p_nuw - 1;
wp->w_nrwidth_width = n;
+ wp->w_nuw_cached = wp->w_p_nuw;
return n;
}
#endif
diff --git a/src/structs.h b/src/structs.h
index 60bc870eb..448697a4a 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -2306,6 +2306,7 @@ struct window_S
#ifdef FEAT_LINEBREAK
linenr_T w_nrwidth_line_count; /* line count when ml_nrwidth_width
* was computed. */
+ long w_nuw_cached; /* 'numberwidth' option cached */
int w_nrwidth_width; /* nr of chars to print line count. */
#endif
diff --git a/src/version.c b/src/version.c
index 8a55ed615..265145a4a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 664,
+/**/
663,
/**/
662,