vim-patch:8.1.1563: crash when using closures

Problem:    Crash when using closures.
Solution:   Set reference in varlist of funccal when running the garbage
            collector. (Ozaki Kiichi, closes vim/vim#4554, closes vim/vim#4547)
6e5000d493
This commit is contained in:
erw7
2019-09-08 11:04:37 +09:00
committed by Jan Edmund Lazo
parent 3430e40c60
commit 7cb38d5ac4
2 changed files with 23 additions and 6 deletions

View File

@@ -1409,6 +1409,17 @@ func Test_compound_assignment_operators()
let @/ = ''
endfunc
func! Test_funccall_garbage_collect()
func Func(x, ...)
call add(a:x, a:000)
endfunc
call Func([], [])
" Must not crash cause by invalid freeing
call test_garbagecollect_now()
call assert_true(v:true)
delfunc Func
endfunc
func Test_function_defined_line()
if has('gui_running')
" Can't catch the output of gvim.