1
0
forked from aniani/vim

patch 8.0.0104

Problem:    Value of 'thesaurus' option not checked properly.
Solution:   Add P_NDNAME flag. (Daisuke Suzuki)
This commit is contained in:
Bram Moolenaar 2016-11-26 17:45:53 +01:00
parent 8a8199e4a1
commit f422bcc7f9
3 changed files with 21 additions and 11 deletions

View File

@ -2660,7 +2660,7 @@ static struct vimoption options[] =
{"textwidth", "tw", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
(char_u *)&p_tw, PV_TW,
{(char_u *)0L, (char_u *)0L} SCRIPTID_INIT},
{"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP,
{"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_ONECOMMA|P_NODUP|P_NDNAME,
#ifdef FEAT_INS_EXPAND
(char_u *)&p_tsr, PV_TSR,
#else

View File

@ -107,17 +107,25 @@ func Test_keymap_valid()
call assert_fails(":set kmp=trunc\x00name", "trunc")
endfunc
func Test_dictionary()
func Check_dir_option(name)
" Check that it's possible to set the option.
set dictionary=/usr/share/dict/words
call assert_equal('/usr/share/dict/words', &dictionary)
set dictionary=/usr/share/dict/words,/and/there
call assert_equal('/usr/share/dict/words,/and/there', &dictionary)
set dictionary=/usr/share/dict\ words
call assert_equal('/usr/share/dict words', &dictionary)
exe 'set ' . a:name . '=/usr/share/dict/words'
call assert_equal('/usr/share/dict/words', eval('&' . a:name))
exe 'set ' . a:name . '=/usr/share/dict/words,/and/there'
call assert_equal('/usr/share/dict/words,/and/there', eval('&' . a:name))
exe 'set ' . a:name . '=/usr/share/dict\ words'
call assert_equal('/usr/share/dict words', eval('&' . a:name))
" Check rejecting weird characters.
call assert_fails("set dictionary=/not&there", "E474:")
call assert_fails("set dictionary=/not>there", "E474:")
call assert_fails("set dictionary=/not.*there", "E474:")
call assert_fails("set " . a:name . "=/not&there", "E474:")
call assert_fails("set " . a:name . "=/not>there", "E474:")
call assert_fails("set " . a:name . "=/not.*there", "E474:")
endfunc
func Test_dictionary()
call Check_dir_option('dictionary')
endfunc
func Test_thesaurus()
call Check_dir_option('thesaurus')
endfunc

View File

@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
104,
/**/
103,
/**/