0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.2688: Vim9: crash when using s: for script variable

Problem:    Vim9: crash when using s: for script variable.
Solution:   Pass the end pointer. (closes #8045)
This commit is contained in:
Bram Moolenaar
2021-04-01 21:38:53 +02:00
parent d877a5700f
commit ca51cc0a33
3 changed files with 6 additions and 3 deletions

View File

@@ -1644,9 +1644,10 @@ def Test_vim9script_funcref()
# using the function from a compiled function # using the function from a compiled function
def TestMore(): string def TestMore(): string
return anAlias.GetString('text') var s = s:anAlias.GetString('foo')
return s .. anAlias.GetString('bar')
enddef enddef
assert_equal('text', TestMore()) assert_equal('foobar', TestMore())
# error when using a function that isn't exported # error when using a function that isn't exported
assert_fails('anAlias.Compare(1, 2)', 'E1049:') assert_fails('anAlias.Compare(1, 2)', 'E1049:')

View File

@@ -750,6 +750,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 */
/**/
2688,
/**/ /**/
2687, 2687,
/**/ /**/

View File

@@ -2822,7 +2822,7 @@ compile_load(
case 'v': res = generate_LOADV(cctx, name, error); case 'v': res = generate_LOADV(cctx, name, error);
break; break;
case 's': res = compile_load_scriptvar(cctx, name, case 's': res = compile_load_scriptvar(cctx, name,
NULL, NULL, error); NULL, &end, error);
break; break;
case 'g': if (vim_strchr(name, AUTOLOAD_CHAR) == NULL) case 'g': if (vim_strchr(name, AUTOLOAD_CHAR) == NULL)
isn_type = ISN_LOADG; isn_type = ISN_LOADG;