diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-11-05 20:16:29 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-11-05 21:38:36 +0800 |
commit | 01ccfb40e3ac678829f301aec1d10f5fc06548c6 (patch) | |
tree | 17baead534af01ed59701a3ef0105543337ea986 /src | |
parent | cb8bc9b33c84ad0447d5aed262970d718d406501 (diff) | |
download | rneovim-01ccfb40e3ac678829f301aec1d10f5fc06548c6.tar.gz rneovim-01ccfb40e3ac678829f301aec1d10f5fc06548c6.tar.bz2 rneovim-01ccfb40e3ac678829f301aec1d10f5fc06548c6.zip |
vim-patch:8.2.1106: crash when trying to use s: variable in typed command
Problem: Crash when trying to use s: variable in typed command.
Solution: Don't use the script index when not set. (Ken Takata,
closes vim/vim#6366)
https://github.com/vim/vim/commit/8e6cbb72324b6fb25d1a9abd6cc4d102d0e5f14e
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/testdir/test_vimscript.vim | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_vimscript.vim b/src/nvim/testdir/test_vimscript.vim index 3a6baaf1f0..a7ab78d87a 100644 --- a/src/nvim/testdir/test_vimscript.vim +++ b/src/nvim/testdir/test_vimscript.vim @@ -1810,6 +1810,7 @@ func Test_float_conversion_errors() endif endfunc +" invalid function names {{{1 func Test_invalid_function_names() " function name not starting with capital let caught_e128 = 0 @@ -1870,7 +1871,7 @@ func Test_invalid_function_names() call delete('Xscript') endfunc -" substring and variable name +" substring and variable name {{{1 func Test_substring_var() let str = 'abcdef' let n = 3 @@ -1890,6 +1891,20 @@ func Test_substring_var() unlet b:nn endfunc +" Test using s: with a typed command {{{1 +func Test_typed_script_var() + CheckRunVimInTerminal + + let buf = RunVimInTerminal('', {'rows': 6}) + + " Deep nesting of if ... endif + call term_sendkeys(buf, ":echo get(s:, 'foo', 'x')\n") + call TermWait(buf) + call WaitForAssert({-> assert_match('^E116:', term_getline(buf, 5))}) + + call StopVimInTerminal(buf) +endfunc + func Test_for_over_string() let res = '' for c in 'aéc̀d' |