Patch 7.4.2174
Problem: Adding duplicate flags to 'whichwrap' leaves commas behind.
Solution: Also remove the commas. (Naruhiko Nishino)
Files: src/Makefile, src/option.c, src/testdir/Make_all.mak,
src/testdir/test_alot.vim, src/testdir/test_options.in,
src/testdir/test_options.ok, src/testdir/test_options.vim
*** ../vim-7.4.2173/src/Makefile 2016-08-06 15:29:07.237549821 +0200
--- src/Makefile 2016-08-07 13:38:52.981453457 +0200
***************
*** 2031,2037 ****
test_mapping \
test_marks \
test_nested_function \
- test_options \
test_search_mbyte \
test_signs \
test_tagcase \
--- 2031,2036 ----
***************
*** 2101,2106 ****
--- 2100,2106 ----
test_menu \
test_messages \
test_netbeans \
+ test_options \
test_packadd \
test_partial \
test_perl \
*** ../vim-7.4.2173/src/option.c 2016-07-24 21:58:39.712057561 +0200
--- src/option.c 2016-08-07 13:45:38.614269698 +0200
***************
*** 4919,4930 ****
{
/* Remove flags that appear twice. */
for (s = newval; *s; ++s)
! if ((!(flags & P_COMMA) || *s != ',')
! && vim_strchr(s + 1, *s) != NULL)
{
! STRMOVE(s, s + 1);
! --s;
}
}
if (save_arg != NULL) /* number for 'whichwrap' */
--- 4919,4948 ----
{
/* Remove flags that appear twice. */
for (s = newval; *s; ++s)
! {
! /* if options have P_FLAGLIST and
! * P_ONECOMMA such as 'whichwrap' */
! if (flags & P_ONECOMMA)
{
! 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' */
*** ../vim-7.4.2173/src/testdir/Make_all.mak 2016-08-06 15:29:07.237549821
+0200
--- src/testdir/Make_all.mak 2016-08-07 13:38:18.553723665 +0200
***************
*** 101,107 ****
test_mapping.out \
test_marks.out \
test_nested_function.out \
- test_options.out \
test_search_mbyte.out \
test_signs.out \
test_tagcase.out \
--- 101,106 ----
*** ../vim-7.4.2173/src/testdir/test_alot.vim 2016-08-06 15:29:07.237549821
+0200
--- src/testdir/test_alot.vim 2016-08-07 13:38:18.553723665 +0200
***************
*** 38,40 ****
--- 38,41 ----
source test_true_false.vim
source test_unlet.vim
source test_window_cmd.vim
+ source test_options.vim
*** ../vim-7.4.2173/src/testdir/test_options.in 2015-11-10 17:50:20.713430521
+0100
--- src/testdir/test_options.in 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,23 ****
- Test for ":options".
-
- STARTTEST
- :so small.vim
- :let caught = 'ok'
- :try
- :options
- :catch
- :let caught = v:throwpoint . "\n" . v:exception
- :endtry
- :buf 1
- :$put =caught
- :"
- :" Test that changing 'path' keeps two commas.
- :set path=foo,,bar
- :set path-=bar
- :set path+=bar
- :$put =&path
- :/^result/,$w! test.out
- :qa!
- ENDTEST
-
- result
--- 0 ----
*** ../vim-7.4.2173/src/testdir/test_options.ok 2015-11-10 17:50:20.717430483
+0100
--- src/testdir/test_options.ok 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,3 ****
- result
- ok
- foo,,bar
--- 0 ----
*** ../vim-7.4.2173/src/testdir/test_options.vim 2016-08-07
13:47:39.549315226 +0200
--- src/testdir/test_options.vim 2016-08-07 13:38:18.553723665 +0200
***************
*** 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
*** ../vim-7.4.2173/src/version.c 2016-08-06 23:03:55.790030629 +0200
--- src/version.c 2016-08-07 13:47:18.501485663 +0200
***************
*** 765,766 ****
--- 765,768 ----
{ /* Add new patch number below this line */
+ /**/
+ 2174,
/**/
--
If you had to identify, in one word, the reason why the
human race has not achieved, and never will achieve, its
full potential, that word would be "meetings."
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.