# HG changeset patch # User Bram Moolenaar # Date 1426862530 -3600 # Node ID 27d9a4d8c1689123939b6c3114e8e60c9656f507 # Parent 3bd553b9e4bfe949cdbece3b59cc8b7b2ef1c624 updated for version 7.4.664 Problem: When 'compatible' is reset 'numberwidth' is set to 4, but the effect doesn't show until a change is made. Solution: Check if 'numberwidth' changed. (Christian Brabandt) diff --git a/src/screen.c b/src/screen.c --- 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 --- 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 --- 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,