summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2023-08-27 19:28:15 +0200
committerChristian Brabandt <cb@256bit.org>2023-08-27 19:28:15 +0200
commit90c27b28032ea2b42718f8933f877a8bca2821ef (patch)
treeb9c24ffb2161f5d53009e5ec9e64ec1c6faa42b4
parent639751d218ef423efef8e9aa0fa9abaff7122186 (diff)
patch 9.0.1806: Vim9: bogus error on exportv9.0.1806
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 <cb@256bit.org> Co-authored-by: LemonBoy <thatlemon@gmail.com>
-rw-r--r--src/ex_docmd.c4
-rw-r--r--src/testdir/test_vim9_import.vim10
-rw-r--r--src/version.c2
3 files changed, 14 insertions, 2 deletions
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
@@ -700,6 +700,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1806,
+/**/
1805,
/**/
1804,