changeset 6679:27d9a4d8c168 v7.4.664

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)
author Bram Moolenaar <bram@vim.org>
date Fri, 20 Mar 2015 15:42:10 +0100
parents 3bd553b9e4bf
children ab2401ab6ff3
files src/screen.c src/structs.h src/version.c
diffstat 3 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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
 
--- 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,