mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	| @@ -1727,13 +1727,25 @@ do_set ( | |||||||
|               } |               } | ||||||
|  |  | ||||||
|               if (flags & P_FLAGLIST) { |               if (flags & P_FLAGLIST) { | ||||||
|                 /* Remove flags that appear twice. */ |                 // Remove flags that appear twice. | ||||||
|                 for (s = newval; *s; ++s) |                 for (s = newval; *s; s++) { | ||||||
|                   if ((!(flags & P_COMMA) || *s != ',') |                   // if options have P_FLAGLIST and P_ONECOMMA such as | ||||||
|                       && vim_strchr(s + 1, *s) != NULL) { |                   // 'whichwrap' | ||||||
|                     STRMOVE(s, s + 1); |                   if (flags & P_ONECOMMA) { | ||||||
|                     --s; |                     if (*s != ',' && *(s + 1) == ',' | ||||||
|  |                         && vim_strchr(s + 2, *s) != NULL) { | ||||||
|  |                       // Remove the duplicated value and the next comma. | ||||||
|  |                       STRMOVE(s, s + 2); | ||||||
|  |                       s -= 2; | ||||||
|  |                     } | ||||||
|  |                   } else { | ||||||
|  |                     if ((!(flags & P_COMMA) || *s != ',') | ||||||
|  |                         && vim_strchr(s + 1, *s) != NULL) { | ||||||
|  |                       STRMOVE(s, s + 1); | ||||||
|  |                       s--; | ||||||
|  |                     } | ||||||
|                   } |                   } | ||||||
|  |                 } | ||||||
|               } |               } | ||||||
|  |  | ||||||
|               if (save_arg != NULL)                 /* number for 'whichwrap' */ |               if (save_arg != NULL)                 /* number for 'whichwrap' */ | ||||||
|   | |||||||
| @@ -10,6 +10,7 @@ source test_expr_utf8.vim | |||||||
| source test_feedkeys.vim | source test_feedkeys.vim | ||||||
| source test_cmdline.vim | source test_cmdline.vim | ||||||
| source test_menu.vim | source test_menu.vim | ||||||
|  | source test_options.vim | ||||||
| source test_popup.vim | source test_popup.vim | ||||||
| source test_regexp_utf8.vim | source test_regexp_utf8.vim | ||||||
| source test_syn_attr.vim | source test_syn_attr.vim | ||||||
|   | |||||||
							
								
								
									
										40
									
								
								src/nvim/testdir/test_options.vim
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/nvim/testdir/test_options.vim
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | " Test for options | ||||||
|  |  | ||||||
|  | function! Test_whichwrap() | ||||||
|  |   set whichwrap=b,s | ||||||
|  |   call assert_equal('b,s', &whichwrap) | ||||||
|  |  | ||||||
|  |   set whichwrap+=h,l | ||||||
|  |   call assert_equal('b,s,h,l', &whichwrap) | ||||||
|  |  | ||||||
|  |   set whichwrap+=h,l | ||||||
|  |   call assert_equal('b,s,h,l', &whichwrap) | ||||||
|  |  | ||||||
|  |   set whichwrap+=h,l | ||||||
|  |   call assert_equal('b,s,h,l', &whichwrap) | ||||||
|  |  | ||||||
|  |   set whichwrap& | ||||||
|  | endfunction | ||||||
|  |  | ||||||
|  | function! Test_options() | ||||||
|  |   let caught = 'ok' | ||||||
|  |   try | ||||||
|  |     options | ||||||
|  |   catch | ||||||
|  |     let caught = v:throwpoint . "\n" . v:exception | ||||||
|  |   endtry | ||||||
|  |   call assert_equal('ok', caught) | ||||||
|  |  | ||||||
|  |   " close option-window | ||||||
|  |   close | ||||||
|  | endfunction | ||||||
|  |  | ||||||
|  | function! Test_path_keep_commas() | ||||||
|  |   " Test that changing 'path' keeps two commas. | ||||||
|  |   set path=foo,,bar | ||||||
|  |   set path-=bar | ||||||
|  |   set path+=bar | ||||||
|  |   call assert_equal('foo,,bar', &path) | ||||||
|  |  | ||||||
|  |   set path& | ||||||
|  | endfunction | ||||||
| @@ -268,7 +268,7 @@ static int included_patches[] = { | |||||||
|   // 2177, |   // 2177, | ||||||
|   // 2176 NA |   // 2176 NA | ||||||
|   // 2175, |   // 2175, | ||||||
|   // 2174, |   2174, | ||||||
|   // 2173, |   // 2173, | ||||||
|   // 2172, |   // 2172, | ||||||
|   // 2171, |   // 2171, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 James McCoy
					James McCoy