updated for version 7.3.810
Problem: 'relativenumber is reset unexpectedly. (François Ingelrest)
Solution: After an option was reset also reset the global value. Add a test.
(Christian Brabandt)
diff --git a/src/option.c b/src/option.c
index f38e9c7..adb501b 100644
--- a/src/option.c
+++ b/src/option.c
@@ -7109,7 +7109,7 @@
return errmsg;
}
-#ifdef FEAT_SYN_HL
+#if defined(FEAT_SYN_HL) || defined(PROTO)
/*
* Simple int comparison function for use with qsort()
*/
@@ -7630,17 +7630,22 @@
}
#endif
- /* 'list', 'number' */
- else if ((int *)varp == &curwin->w_p_list
- || (int *)varp == &curwin->w_p_nu
+ /* 'number', 'relativenumber' */
+ else if ((int *)varp == &curwin->w_p_nu
|| (int *)varp == &curwin->w_p_rnu)
{
/* If 'number' is set, reset 'relativenumber'. */
/* If 'relativenumber' is set, reset 'number'. */
if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu)
+ {
curwin->w_p_rnu = FALSE;
+ curwin->w_allbuf_opt.wo_rnu = FALSE;
+ }
if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu)
+ {
curwin->w_p_nu = FALSE;
+ curwin->w_allbuf_opt.wo_nu = FALSE;
+ }
}
else if ((int *)varp == &curbuf->b_p_ro)