mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" invalid function names {{{1
|
||||||
func Test_invalid_function_names()
|
func Test_invalid_function_names()
|
||||||
" function name not starting with capital
|
" function name not starting with capital
|
||||||
let caught_e128 = 0
|
let caught_e128 = 0
|
||||||
@ -2067,7 +2068,7 @@ func Test_invalid_function_names()
|
|||||||
call delete('Xscript')
|
call delete('Xscript')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" substring and variable name
|
" substring and variable name {{{1
|
||||||
func Test_substring_var()
|
func Test_substring_var()
|
||||||
let str = 'abcdef'
|
let str = 'abcdef'
|
||||||
let n = 3
|
let n = 3
|
||||||
@ -2087,6 +2088,20 @@ func Test_substring_var()
|
|||||||
unlet b:nn
|
unlet b:nn
|
||||||
endfunc
|
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
|
" Modelines {{{1
|
||||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
||||||
|
@ -754,6 +754,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1106,
|
||||||
/**/
|
/**/
|
||||||
1105,
|
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);
|
scriptitem_T *si = SCRIPT_ITEM(current_sctx.sc_sid);
|
||||||
int idx;
|
int idx;
|
||||||
|
|
||||||
|
if (current_sctx.sc_sid <= 0)
|
||||||
|
return NULL;
|
||||||
|
si = SCRIPT_ITEM(current_sctx.sc_sid);
|
||||||
if (cctx != NULL)
|
if (cctx != NULL)
|
||||||
for (idx = 0; idx < cctx->ctx_imports.ga_len; ++idx)
|
for (idx = 0; idx < cctx->ctx_imports.ga_len; ++idx)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user