changeset 21672:9099eb378758 v8.2.1386

patch 8.2.1386: backslash not removed afer space with space in 'isfname' Commit: https://github.com/vim/vim/commit/994b89d28dc54c896e00eba66e247addb0540272 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 7 19:12:41 2020 +0200 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 #6651)
author Bram Moolenaar <Bram@vim.org>
date Fri, 07 Aug 2020 19:15:04 +0200
parents c04ddd4aa245
children 1731db1dc52c
files src/option.c src/testdir/test_options.vim src/version.c
diffstat 3 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/option.c
+++ b/src/option.c
@@ -1311,12 +1311,12 @@ do_set(
 	    {
 		if (flags & (P_SECURE | P_NO_ML))
 		{
-		    errmsg = _("E520: Not allowed in a modeline");
+		    errmsg = N_("E520: Not allowed in a modeline");
 		    goto skip;
 		}
 		if ((flags & P_MLE) && !p_mle)
 		{
-		    errmsg = _("E992: Not allowed in a modeline when 'modelineexpr' is off");
+		    errmsg = N_("E992: Not allowed in a modeline when 'modelineexpr' is off");
 		    goto skip;
 		}
 #ifdef FEAT_DIFF
@@ -1338,7 +1338,7 @@ do_set(
 	    // Disallow changing some options in the sandbox
 	    if (sandbox != 0 && (flags & P_SECURE))
 	    {
-		errmsg = _(e_sandbox);
+		errmsg = e_sandbox;
 		goto skip;
 	    }
 #endif
@@ -1763,6 +1763,7 @@ do_set(
 #ifdef BACKSLASH_IN_FILENAME
 					&& !((flags & P_EXPAND)
 						&& vim_isfilec(arg[1])
+						&& !VIM_ISWHITE(arg[1])
 						&& (arg[1] != '\\'
 						    || (s == newval
 							&& arg[2] != '\\')))
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -973,4 +973,13 @@ func Test_opt_winminwidth()
   set winwidth&
 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
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1386,
+/**/
     1385,
 /**/
     1384,