Mercurial > vim
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