diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 8fda332688..32d52ab212 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2586,8 +2586,8 @@ do_one_cmd( #ifdef FEAT_EVAL // A command will reset "is_export" when exporting an item. If it is still - // set something went wrong. - if (is_export) + // set something went wrong or the command was never executed. + if (!ea.skip && is_export) { if (errormsg == NULL) errormsg = _(e_export_with_invalid_argument); diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim index 7d3691a293..d470a34675 100644 --- a/src/testdir/test_vim9_import.vim +++ b/src/testdir/test_vim9_import.vim @@ -2919,5 +2919,15 @@ def Test_vim9_import_symlink() endif enddef +def Test_export_in_conditional_block() + var lines =<< trim END + vim9script + if exists('this_will_fail') + export var MyVar = "hello" + endif + END + v9.CheckScriptSuccess(lines) +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker diff --git a/src/version.c b/src/version.c index 39cac791fa..0d647ec3f7 100644 --- a/src/version.c +++ b/src/version.c @@ -699,6 +699,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1806, /**/ 1805, /**/