mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	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)
			
			
This commit is contained in:
		
							
								
								
									
										13
									
								
								src/option.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/option.c
									
									
									
									
									
								
							| @@ -7109,7 +7109,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf, | |||||||
|     return errmsg; |     return errmsg; | ||||||
| } | } | ||||||
|  |  | ||||||
| #ifdef FEAT_SYN_HL | #if defined(FEAT_SYN_HL) || defined(PROTO) | ||||||
| /* | /* | ||||||
|  * Simple int comparison function for use with qsort() |  * Simple int comparison function for use with qsort() | ||||||
|  */ |  */ | ||||||
| @@ -7630,17 +7630,22 @@ set_bool_option(opt_idx, varp, value, opt_flags) | |||||||
|     } |     } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|     /* 'list', 'number' */ |     /* 'number', 'relativenumber' */ | ||||||
|     else if ((int *)varp == &curwin->w_p_list |     else if ((int *)varp == &curwin->w_p_nu | ||||||
| 	  || (int *)varp == &curwin->w_p_nu |  | ||||||
| 	  || (int *)varp == &curwin->w_p_rnu) | 	  || (int *)varp == &curwin->w_p_rnu) | ||||||
|     { |     { | ||||||
| 	/* If 'number' is set, reset 'relativenumber'. */ | 	/* If 'number' is set, reset 'relativenumber'. */ | ||||||
| 	/* If 'relativenumber' is set, reset 'number'. */ | 	/* If 'relativenumber' is set, reset 'number'. */ | ||||||
| 	if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu) | 	if ((int *)varp == &curwin->w_p_nu && curwin->w_p_nu) | ||||||
|  | 	{ | ||||||
| 	    curwin->w_p_rnu = FALSE; | 	    curwin->w_p_rnu = FALSE; | ||||||
|  | 	    curwin->w_allbuf_opt.wo_rnu = FALSE; | ||||||
|  | 	} | ||||||
| 	if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu) | 	if ((int *)varp == &curwin->w_p_rnu && curwin->w_p_rnu) | ||||||
|  | 	{ | ||||||
| 	    curwin->w_p_nu = FALSE; | 	    curwin->w_p_nu = FALSE; | ||||||
|  | 	    curwin->w_allbuf_opt.wo_nu = FALSE; | ||||||
|  | 	} | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     else if ((int *)varp == &curbuf->b_p_ro) |     else if ((int *)varp == &curbuf->b_p_ro) | ||||||
|   | |||||||
| @@ -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 \ | 		test66.out test67.out test68.out test69.out test70.out \ | ||||||
| 		test71.out test72.out test73.out test74.out test75.out \ | 		test71.out test72.out test73.out test74.out test75.out \ | ||||||
| 		test76.out test77.out test78.out test79.out test80.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 | .SUFFIXES: .in .out | ||||||
|  |  | ||||||
| @@ -136,3 +137,4 @@ test82.out: test82.in | |||||||
| test83.out: test83.in | test83.out: test83.in | ||||||
| test84.out: test84.in | test84.out: test84.in | ||||||
| test88.out: test88.in | test88.out: test88.in | ||||||
|  | test89.out: test89.in | ||||||
|   | |||||||
| @@ -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 \ | 		test68.out test69.out test71.out test72.out test73.out \ | ||||||
| 		test74.out test75.out test76.out test77.out test78.out \ | 		test74.out test75.out test76.out test77.out test78.out \ | ||||||
| 		test79.out test80.out test81.out test82.out test83.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 | SCRIPTS32 =	test50.out test70.out | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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 \ | 		test68.out test69.out test71.out test72.out test73.out \ | ||||||
| 		test74.out test75.out test76.out test77.out test78.out \ | 		test74.out test75.out test76.out test77.out test78.out \ | ||||||
| 		test79.out test80.out test81.out test82.out test83.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 | SCRIPTS32 =	test50.out test70.out | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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 \ | 		test66.out test67.out test68.out test69.out test70.out \ | ||||||
| 		test71.out test72.out test73.out test74.out test75.out \ | 		test71.out test72.out test73.out test74.out test75.out \ | ||||||
| 		test76.out test77.out test78.out test79.out test80.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 | .SUFFIXES: .in .out | ||||||
|  |  | ||||||
|   | |||||||
| @@ -76,7 +76,7 @@ SCRIPT = test1.out  test2.out  test3.out  test4.out  test5.out  \ | |||||||
| 	 test66.out test67.out test68.out test69.out \ | 	 test66.out test67.out test68.out test69.out \ | ||||||
| 	 test71.out test72.out test74.out test75.out test76.out \ | 	 test71.out test72.out test74.out test75.out test76.out \ | ||||||
| 	 test77.out test78.out test79.out test80.out test81.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: | # Known problems: | ||||||
| # Test 30: a problem around mac format - unknown reason | # Test 30: a problem around mac format - unknown reason | ||||||
|   | |||||||
| @@ -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 \ | 		test69.out test70.out test71.out test72.out test73.out \ | ||||||
| 		test74.out test75.out test76.out test77.out test78.out \ | 		test74.out test75.out test76.out test77.out test78.out \ | ||||||
| 		test79.out test80.out test81.out test82.out test83.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 | SCRIPTS_GUI = test16.out | ||||||
|  |  | ||||||
|   | |||||||
| @@ -725,6 +725,8 @@ static char *(features[]) = | |||||||
|  |  | ||||||
| static int included_patches[] = | static int included_patches[] = | ||||||
| {   /* Add new patch number below this line */ | {   /* Add new patch number below this line */ | ||||||
|  | /**/ | ||||||
|  |     810, | ||||||
| /**/ | /**/ | ||||||
|     809, |     809, | ||||||
| /**/ | /**/ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user