mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.4972: Vim9: compilation fails when using dict member when skipping
Problem: Vim9: compilation fails when using dict member when skipping. Solution: Do not generate ISN_USEDICT when skipping. (closes #10433)
This commit is contained in:
parent
40c141d333
commit
1ff9c44267
@ -452,6 +452,12 @@ def Test_expr3()
|
||||
g:vals = []
|
||||
assert_equal(false, g:Record(1) && g:Record(true) && g:Record(0))
|
||||
assert_equal([1, true, 0], g:vals)
|
||||
|
||||
var failed = false
|
||||
if false && g:a == g:b.c
|
||||
failed = true
|
||||
endif
|
||||
assert_false(failed)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
|
@ -746,6 +746,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
4972,
|
||||
/**/
|
||||
4971,
|
||||
/**/
|
||||
|
@ -2102,7 +2102,8 @@ compile_subscript(
|
||||
|
||||
// Turn "dict.Func" into a partial for "Func" bound to "dict".
|
||||
// This needs to be done at runtime to be able to check the type.
|
||||
if (keeping_dict && generate_instr(cctx, ISN_USEDICT) == NULL)
|
||||
if (keeping_dict && cctx->ctx_skip != SKIP_YES
|
||||
&& generate_instr(cctx, ISN_USEDICT) == NULL)
|
||||
return FAIL;
|
||||
|
||||
return OK;
|
||||
|
Loading…
x
Reference in New Issue
Block a user