From 9898107f54a330c6d9629976250a393169c698ca Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 29 Jul 2020 14:40:25 +0200 Subject: 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) --- src/testdir/test_vim9_script.vim | 8 ++++++-- src/userfunc.c | 3 ++- src/version.c | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index 427e91238e..b491fa21a5 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -2284,6 +2284,10 @@ def Test_vim9_comment() 'vim9script', 'function # comment', ]) + CheckScriptFailure([ + 'vim9script', + 'function " comment', + ], 'E129:') CheckScriptFailure([ 'vim9script', 'function# comment', @@ -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 index d17e807dc6..343c9cd2e1 100644 --- a/src/userfunc.c +++ b/src/userfunc.c @@ -2832,7 +2832,8 @@ def_function(exarg_T *eap, char_u *name_arg) 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 index fce921888c..b1ed1df4b6 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1314, /**/ 1313, /**/ -- cgit v1.2.3