# HG changeset patch # User Bram Moolenaar # Date 1614462303 -3600 # Node ID edcb6cf55a2602809720715787730451694c71d4 # Parent ef454a7f485dd18a139f0f643f755c1cae541d91 patch 8.2.2554: Vim9: exporting a final is not tested Commit: https://github.com/vim/vim/commit/0f2a5cc68b676b56694c27034690a7b9ef049feb Author: Bram Moolenaar Date: Sat Feb 27 22:33:21 2021 +0100 patch 8.2.2554: Vim9: exporting a final is not tested Problem: Vim9: exporting a final is not tested. Solution: Add a test. diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -918,6 +918,7 @@ let s:export_script_lines =<< trim END export def Exported(): string return 'Exported' enddef + export final theList = [1] END def Undo_export_script_lines() @@ -945,6 +946,10 @@ def Test_vim9_import_export() exp_name ..= ' Doe' g:imported_name_appended = exp_name g:imported_later = exported + + import theList from './Xexport.vim' + theList->add(2) + assert_equal([1, 2], theList) END writefile(import_script_lines, 'Ximport.vim') @@ -1144,6 +1149,18 @@ def Test_vim9_import_export() writefile(import_assign_to_const, 'Ximport.vim') assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') + # try changing an imported final + var import_assign_to_final =<< trim END + vim9script + import theList from './Xexport.vim' + def Assign() + theList = [2] + enddef + defcompile + END + writefile(import_assign_to_final, 'Ximport.vim') + assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') + # import a very long name, requires making a copy var import_long_name_lines =<< trim END vim9script diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2554, +/**/ 2553, /**/ 2552,