changeset 26071:0bb9004c993b v8.2.3569

patch 8.2.3569: error for :let when vimrc is Vim 9 script Commit: https://github.com/vim/vim/commit/fd916d654d9731b3515abf7bc1ac12bd3632b601 Author: Christian Brabandt <cb@256bit.org> Date: Mon Nov 1 22:44:33 2021 +0000 patch 8.2.3569: error for :let when vimrc is Vim 9 script Problem: Error for :let when vimrc is Vim 9 script. Solution: Prepend :legacy in the code for converting arguments. (Christian Brabandt, closes #9068, closes #9077)
author Bram Moolenaar <Bram@vim.org>
date Mon, 01 Nov 2021 23:45:04 +0100
parents 40941a52ae54
children dc79b552f424
files src/os_win32.c src/version.c
diffstat 2 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -7768,11 +7768,14 @@ fix_arg_enc(void)
 	// Also, unset wildignore to not be influenced by this option.
 	// The arguments specified in command-line should be kept even if
 	// encoding options were changed.
-	do_cmdline_cmd((char_u *)":let SaVe_ISF = &isf|set isf+=(,)");
-	do_cmdline_cmd((char_u *)":let SaVe_WIG = &wig|set wig=");
+	// Use :legacy so that it also works when in Vim9 script.
+	do_cmdline_cmd((char_u *)":legacy let g:SaVe_ISF = &isf|set isf+=(,)");
+	do_cmdline_cmd((char_u *)":legacy let g:SaVe_WIG = &wig|set wig=");
 	alist_expand(fnum_list, used_alist_count);
-	do_cmdline_cmd((char_u *)":let &isf = SaVe_ISF|unlet SaVe_ISF");
-	do_cmdline_cmd((char_u *)":let &wig = SaVe_WIG|unlet SaVe_WIG");
+	do_cmdline_cmd(
+		(char_u *)":legacy let &isf = g:SaVe_ISF|unlet g:SaVe_ISF");
+	do_cmdline_cmd(
+		(char_u *)":legacy let &wig = g:SaVe_WIG|unlet g:SaVe_WIG");
     }
 
     // If wildcard expansion failed, we are editing the first file of the
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3569,
+/**/
     3568,
 /**/
     3567,