0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 8.2.0279: Vim9: no test for deleted :def function

Problem:    Vim9: no test for deleted :def function.
Solution:   Add a test.  Clear uf_cleared flag when redefining a function.
This commit is contained in:
Bram Moolenaar
2020-02-19 15:46:48 +01:00
parent 9ae3bbdb96
commit 63ce4849ef
3 changed files with 24 additions and 0 deletions

View File

@@ -477,5 +477,26 @@ def Test_if_elseif_else()
assert_equal('three', IfElse(3))
enddef
def Test_delfunc()
let lines =<< trim END
vim9script
def GoneSoon()
echo 'hello'
enddef
def CallGoneSoon()
GoneSoon()
enddef
delfunc GoneSoon
CallGoneSoon()
END
writefile(lines, 'XToDelFunc')
assert_fails('so XToDelFunc', 'E933')
assert_fails('so XToDelFunc', 'E933')
delete('XToDelFunc')
enddef
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker

View File

@@ -3053,6 +3053,7 @@ ex_function(exarg_T *eap)
flags |= FC_SANDBOX;
fp->uf_flags = flags;
fp->uf_calls = 0;
fp->uf_cleared = FALSE;
fp->uf_script_ctx = current_sctx;
fp->uf_script_ctx.sc_lnum += sourcing_lnum_top;
if (is_export)

View File

@@ -738,6 +738,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
279,
/**/
278,
/**/