forked from aniani/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 #6366)
This commit is contained in:
parent
e49b8e8d75
commit
8e6cbb7232
@ -2007,6 +2007,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
|
||||
@ -2067,7 +2068,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
|
||||
@ -2087,6 +2088,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
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Modelines {{{1
|
||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
||||
|
@ -754,6 +754,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1106,
|
||||
/**/
|
||||
1105,
|
||||
/**/
|
||||
|
@ -2339,6 +2339,9 @@ find_imported(char_u *name, size_t len, cctx_T *cctx)
|
||||
scriptitem_T *si = SCRIPT_ITEM(current_sctx.sc_sid);
|
||||
int idx;
|
||||
|
||||
if (current_sctx.sc_sid <= 0)
|
||||
return NULL;
|
||||
si = SCRIPT_ITEM(current_sctx.sc_sid);
|
||||
if (cctx != NULL)
|
||||
for (idx = 0; idx < cctx->ctx_imports.ga_len; ++idx)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user