Mercurial > vim
changeset 17039:d726d8cce996 v8.1.1519
patch 8.1.1519: 'backupskip' may contain duplicates
commit https://github.com/vim/vim/commit/06e2c81f6d213d197aa60019b33a263cd5176d68
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 12 19:05:48 2019 +0200
patch 8.1.1519: 'backupskip' may contain duplicates
Problem: 'backupskip' may contain duplicates.
Solution: Add the P_NODUP flag. (Tom Ryder)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 12 Jun 2019 19:15:06 +0200 |
parents | 3f2ac157af87 |
children | 5ed044bdf675 |
files | src/option.c src/testdir/test_options.vim src/version.c |
diffstat | 3 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/option.c +++ b/src/option.c @@ -616,7 +616,7 @@ static struct vimoption options[] = (char_u *)"~", #endif (char_u *)0L} SCTX_INIT}, - {"backupskip", "bsk", P_STRING|P_VI_DEF|P_ONECOMMA, + {"backupskip", "bsk", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, #ifdef FEAT_WILDIGN (char_u *)&p_bsk, PV_NONE, {(char_u *)"", (char_u *)0L} @@ -4807,7 +4807,8 @@ do_set( * hex numbers. */ vim_str2nr(arg, NULL, &i, STR2NR_ALL, &value, NULL, 0, TRUE); - if (i == 0 || (arg[i] != NUL && !VIM_ISWHITE(arg[i]))) + if (i == 0 || (arg[i] != NUL + && !VIM_ISWHITE(arg[i]))) { errmsg = N_("E521: Number required after ="); goto skip;
--- a/src/testdir/test_options.vim +++ b/src/testdir/test_options.vim @@ -419,6 +419,15 @@ func Test_backupskip() call assert_true(found, var . ' (' . varvalue . ') not in option bsk: ' . &bsk) endif endfor + + " Duplicates should be filtered out (option has P_NODUP) + let backupskip = &backupskip + set backupskip= + set backupskip+=/test/dir + set backupskip+=/other/dir + set backupskip+=/test/dir + call assert_equal('/test/dir,/other/dir', &backupskip) + let &backupskip = backupskip endfunc func Test_copy_winopt()