vim-patch:8.2.1386: backslash not removed afer space with space in 'isfname'

Problem:    Backslash not removed afer space in option with space in
            'isfname'.
Solution:   Do remove backslash before space, also when it is in 'isfname'.
            (Yasuhiro Matsumoto, closes vim/vim#6651)
994b89d28d
This commit is contained in:
Jan Edmund Lazo
2020-08-07 22:09:45 -04:00
parent bc2c75cbd7
commit af58bee2f4
2 changed files with 14 additions and 3 deletions

View File

@@ -1355,11 +1355,11 @@ int do_set(
// Disallow changing some options from modelines.
if (opt_flags & OPT_MODELINE) {
if (flags & (P_SECURE | P_NO_ML)) {
errmsg = (char_u *)_("E520: Not allowed in a modeline");
errmsg = (char_u *)N_("E520: Not allowed in a modeline");
goto skip;
}
if ((flags & P_MLE) && !p_mle) {
errmsg = (char_u *)_(
errmsg = (char_u *)N_(
"E992: Not allowed in a modeline when 'modelineexpr' is off");
goto skip;
}
@@ -1376,7 +1376,7 @@ int do_set(
// Disallow changing some options in the sandbox
if (sandbox != 0 && (flags & P_SECURE)) {
errmsg = (char_u *)_(e_sandbox);
errmsg = e_sandbox;
goto skip;
}
@@ -1712,6 +1712,7 @@ int do_set(
#ifdef BACKSLASH_IN_FILENAME
&& !((flags & P_EXPAND)
&& vim_isfilec(arg[1])
&& !ascii_iswhite(arg[1])
&& (arg[1] != '\\'
|| (s == newval
&& arg[2] != '\\')))

View File

@@ -576,3 +576,13 @@ func Test_opt_boolean()
set number&
endfunc
" Test for setting option value containing spaces with isfname+=32
func Test_isfname_with_options()
set isfname+=32
setlocal keywordprg=:term\ help.exe
call assert_equal(':term help.exe', &keywordprg)
set isfname&
setlocal keywordprg&
endfunc
" vim: shiftwidth=2 sts=2 expandtab