changeset 21158:157fe2d26e16 v8.2.1130

patch 8.2.1130: Vim9: bar not recognized after function call Commit: https://github.com/vim/vim/commit/788123c00c4b7acc4e6ba3e9f1cc8b175ae9aae8 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 5 15:32:17 2020 +0200 patch 8.2.1130: Vim9: bar not recognized after function call Problem: Vim9: bar not recognized after function call Solution: Skip whitespace. (closes https://github.com/vim/vim/issues/6391)
author Bram Moolenaar <Bram@vim.org>
date Sun, 05 Jul 2020 15:45:03 +0200
parents 151e1935e327
children 43da8364314e
files src/testdir/test_vim9_cmd.vim src/version.c src/vim9compile.c
diffstat 3 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -216,6 +216,13 @@ def Test_bar_after_command()
   RedrawAndEcho()
   assert_match('did redraw', Screenline(&lines))
 
+  def CallAndEcho()
+    let x = 'did redraw'
+    reg_executing() | echo x
+  enddef
+  CallAndEcho()
+  assert_match('did redraw', Screenline(&lines))
+
   if has('unix')
     # bar in filter write command does not start new command
     def WriteToShell()
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1130,
+/**/
     1129,
 /**/
     1128,
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -6985,7 +6985,8 @@ compile_def_function(ufunc_T *ufunc, int
 
 		// drop the return value
 		generate_instr_drop(&cctx, ISN_DROP, 1);
-		line = p;
+
+		line = skipwhite(p);
 		continue;
 	    }
 	    // CMD_let cannot happen, compile_assignment() above is used