To: vim_dev@googlegroups.com Subject: Patch 8.2.2190 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.2190 Problem: Vim9: crash when compiled with EXITFREE. Solution: Check that df_ufunc is not NULL. Files: src/vim9compile.c, src/testdir/test_vim9_func.vim *** ../vim-8.2.2189/src/vim9compile.c 2020-12-22 17:35:50.043978116 +0100 --- src/vim9compile.c 2020-12-22 18:31:13.887770665 +0100 *************** *** 8081,8089 **** { dfunc_T *dfunc = ((dfunc_T *)def_functions.ga_data) + isn->isn_arg.funcref.fr_func; ! if (func_name_refcount(dfunc->df_ufunc->uf_name)) ! func_ptr_unref(dfunc->df_ufunc); } break; --- 8081,8090 ---- { dfunc_T *dfunc = ((dfunc_T *)def_functions.ga_data) + isn->isn_arg.funcref.fr_func; + ufunc_T *ufunc = dfunc->df_ufunc; ! if (ufunc != NULL && func_name_refcount(ufunc->uf_name)) ! func_ptr_unref(ufunc); } break; *** ../vim-8.2.2189/src/testdir/test_vim9_func.vim 2020-12-22 17:35:50.043978116 +0100 --- src/testdir/test_vim9_func.vim 2020-12-22 18:31:58.415610607 +0100 *************** *** 2011,2015 **** --- 2011,2037 ---- nunmap enddef + " this was crashing on exit + def Test_nested_lambda_in_closure() + var lines =<< trim END + vim9script + def Outer() + def g:Inner() + echo map([1, 2, 3], {_, v -> v + 1}) + enddef + g:Inner() + enddef + defcompile + writefile(['Done'], 'XnestedDone') + quit + END + if !RunVim([], lines, '--clean') + return + endif + assert_equal(['Done'], readfile('XnestedDone')) + delete('XnestedDone') + enddef + + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker *** ../vim-8.2.2189/src/version.c 2020-12-22 17:59:28.067057967 +0100 --- src/version.c 2020-12-22 18:30:28.327934569 +0100 *************** *** 752,753 **** --- 752,755 ---- { /* Add new patch number below this line */ + /**/ + 2190, /**/ -- A)bort, R)etry, B)ang it with a large hammer /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///