diff --git a/src/option.c b/src/option.c
index f38e9c70665476e6fc15729030758a4d7c38f4f5..adb501be881e9b6fdb21e84a9f6653839bb3659e 100644
--- a/src/option.c
+++ b/src/option.c
@@ -7109,7 +7109,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
     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 @@ set_bool_option(opt_idx, varp, value, opt_flags)
     }
 #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)
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index 701c304fcd2fb4aeaee46470649df78e952055f0..c1a8bd6b8528f5553765063fa2defe838826ccfc 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -31,7 +31,8 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
 		test66.out test67.out test68.out test69.out test70.out \
 		test71.out test72.out test73.out test74.out test75.out \
 		test76.out test77.out test78.out test79.out test80.out \
-		test81.out test82.out test83.out test84.out test88.out
+		test81.out test82.out test83.out test84.out test88.out \
+		test89.out
 
 .SUFFIXES: .in .out
 
@@ -136,3 +137,4 @@ test82.out: test82.in
 test83.out: test83.in
 test84.out: test84.in
 test88.out: test88.in
+test89.out: test89.in
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index e902be3be5fdd6be8eeb9c3a8715cea7a6ae97c8..fb52e807936e307ca6e594cb51103e5178b3a6e3 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -30,7 +30,8 @@ SCRIPTS =	test3.out test4.out test5.out test6.out test7.out \
 		test68.out test69.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out test85.out test86.out test87.out test88.out
+		test84.out test85.out test86.out test87.out test88.out \
+		test89.out
 
 SCRIPTS32 =	test50.out test70.out
 
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index c7bbb540f68a706af3cd86cda517b4ebab91ebe5..8aab596aa59cdd1078e2fbdf718ceafac6b4728d 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -50,7 +50,8 @@ SCRIPTS =	test3.out test4.out test5.out test6.out test7.out \
 		test68.out test69.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out test85.out test86.out test87.out test88.out
+		test84.out test85.out test86.out test87.out test88.out \
+		test89.out
 
 SCRIPTS32 =	test50.out test70.out
 
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index d9309260091532a106bdbec8d7cb5fb5630790b2..d052855d3fec74627bef91d402b8ebf6c475264a 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -31,7 +31,8 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
 		test66.out test67.out test68.out test69.out test70.out \
 		test71.out test72.out test73.out test74.out test75.out \
 		test76.out test77.out test78.out test79.out test80.out \
-		test81.out test82.out test83.out test84.out test88.out
+		test81.out test82.out test83.out test84.out test88.out \
+		test89.out
 
 .SUFFIXES: .in .out
 
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 5398031339e46386f4afd929583aa0cdf0dcd6cd..df5b6602ddd515aa7f1c9a9b5be8626526abefc3 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -76,7 +76,7 @@ SCRIPT = test1.out  test2.out  test3.out  test4.out  test5.out  \
 	 test66.out test67.out test68.out test69.out \
 	 test71.out test72.out test74.out test75.out test76.out \
 	 test77.out test78.out test79.out test80.out test81.out \
-	 test82.out test83.out test84.out test88.out
+	 test82.out test83.out test84.out test88.out test89.out
 
 # Known problems:
 # Test 30: a problem around mac format - unknown reason
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index d29b4f5b151447a0de3ef10bf773cffa663b47fe..6ca89dc9d4851a831ad471eb8ab970b919f25ab1 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -27,7 +27,8 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
 		test69.out test70.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out test85.out test86.out test87.out test88.out
+		test84.out test85.out test86.out test87.out test88.out \
+		test89.out
 
 SCRIPTS_GUI = test16.out
 
diff --git a/src/version.c b/src/version.c
index b2ea5c0f5407123352922d573ff721890fdc9f16..453d817ee2d844f076e032281f4614b60a41a55e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -725,6 +725,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    810,
 /**/
     809,
 /**/