]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.0.1806: Vim9: bogus error on export v9.0.1806
authorLemonBoy <thatlemon@gmail.com>
Sun, 27 Aug 2023 17:28:15 +0000 (19:28 +0200)
committerChristian Brabandt <cb@256bit.org>
Sun, 27 Aug 2023 17:28:15 +0000 (19:28 +0200)
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>
src/ex_docmd.c
src/testdir/test_vim9_import.vim
src/version.c

index 8fda332688feb75d0bd01b7a6affc760d8cae84a..32d52ab21218092981b8f485647070da252b8657 100644 (file)
@@ -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);
index 7d3691a29373b125b786339ceb7cb4a73ce886d9..d470a346750dadd924a105762cee7c539755a47a 100644 (file)
@@ -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
index 39cac791fa6306abccd9bbf542160486c8f9d3c3..0d647ec3f7f706107ba5b9774b03358722bd91e1 100644 (file)
@@ -699,6 +699,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1806,
 /**/
     1805,
 /**/