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)
diff --git a/src/os_win32.c b/src/os_win32.c
index 91bd18a..73af6a1 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -7768,11 +7768,14 @@
// 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