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)