changeset 21528:e0aa9b81f6a9 v8.2.1314

patch 8.2.1314: Vim9: rule for comment after :function is confusing Commit: https://github.com/vim/vim/commit/9898107f54a330c6d9629976250a393169c698ca Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jul 29 14:40:25 2020 +0200 patch 8.2.1314: Vim9: rule for comment after :function is confusing Problem: Vim9: rule for comment after :function is confusing. Solution: Allow double quoted comment after :function in vim9script. (closes #6556)
author Bram Moolenaar <Bram@vim.org>
date Wed, 29 Jul 2020 14:45:05 +0200
parents 79aeae3b041f
children 984d709ac1ae
files src/testdir/test_vim9_script.vim src/userfunc.c src/version.c
diffstat 3 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -2286,6 +2286,10 @@ def Test_vim9_comment()
       ])
   CheckScriptFailure([
       'vim9script',
+      'function " comment',
+      ], 'E129:')
+  CheckScriptFailure([
+      'vim9script',
       'function# comment',
       ], 'E129:')
   CheckScriptSuccess([
@@ -2333,11 +2337,11 @@ def Test_vim9_comment()
       'func Test() " comment',
       'endfunc',
       ])
-  CheckScriptFailure([
+  CheckScriptSuccess([
       'vim9script',
       'func Test() " comment',
       'endfunc',
-      ], 'E488:')
+      ])
 
   CheckScriptSuccess([
       'def Test() # comment',
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -2832,7 +2832,8 @@ def_function(exarg_T *eap, char_u *name_
     if (*p == '\n')
 	line_arg = p + 1;
     else if (*p != NUL
-	    && !(*p == '"' && !(vim9script || eap->cmdidx == CMD_def))
+	    && !(*p == '"' && (!vim9script || eap->cmdidx == CMD_function)
+						     && eap->cmdidx != CMD_def)
 	    && !(*p == '#' && (vim9script || eap->cmdidx == CMD_def))
 	    && !eap->skip
 	    && !did_emsg)
--- 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 */
 /**/
+    1314,
+/**/
     1313,
 /**/
     1312,