# HG changeset patch # User Bram Moolenaar # Date 1596026705 -7200 # Node ID e0aa9b81f6a9d0287ead4512b1181ba202225027 # Parent 79aeae3b041fb4371d56c06e770411046844cb27 patch 8.2.1314: Vim9: rule for comment after :function is confusing Commit: https://github.com/vim/vim/commit/9898107f54a330c6d9629976250a393169c698ca Author: Bram Moolenaar 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) diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- 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', diff --git a/src/userfunc.c b/src/userfunc.c --- 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) diff --git a/src/version.c b/src/version.c --- 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,