From: Bram Moolenaar Date: Sat, 27 Feb 2021 21:33:21 +0000 (+0100) Subject: patch 8.2.2554: Vim9: exporting a final is not tested X-Git-Tag: v8.2.2554 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0f2a5cc68b676b56694c27034690a7b9ef049feb;p=vim 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 index a262bcb62..707d89e5a 100644 --- 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 index eece321b3..6f05f36a9 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2554, /**/ 2553, /**/