# HG changeset patch # User Christian Brabandt # Date 1693158302 -7200 # Node ID c7591e326ded537f266a02725b43f1879bf261c0 # Parent 50dfac4adf91444cd00fa4f2f53bb48f79c91aec patch 9.0.1806: Vim9: bogus error on export Commit: https://github.com/vim/vim/commit/90c27b28032ea2b42718f8933f877a8bca2821ef Author: LemonBoy Date: Sun Aug 27 19:28:15 2023 +0200 patch 9.0.1806: Vim9: bogus error on export Problem: Vim9: bogus error on export Solution: Don't error out when the export command is not executed closes: #12912 closes: #12930 Signed-off-by: Christian Brabandt Co-authored-by: LemonBoy diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- 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 --- 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 --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1806, +/**/ 1805, /**/ 1804,