summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-11-20 21:07:00 +0100
committerBram Moolenaar <Bram@vim.org>2020-11-20 21:07:00 +0100
commit95388e3179f6b995dbc4acd3f23e3856bb0286fd (patch)
tree50d3ec75d76361c9b3952ce2a5f48b3c63f47e41
parenteeece9e4885df6190d2615b199efa2b1d22c4bdb (diff)
downloadvim-git-95388e3179f6b995dbc4acd3f23e3856bb0286fd.tar.gz
patch 8.2.2022: Vim9: star command recognized errornouslyv8.2.2022
Problem: Vim9: star command recognized errornously. Solution: Give an error for missing colon. (issue #7335)
-rw-r--r--src/ex_docmd.c5
-rw-r--r--src/testdir/test_vim9_cmd.vim14
-rw-r--r--src/version.c2
3 files changed, 21 insertions, 0 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index a6bdac3ab..2c35c8ef2 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3482,6 +3482,11 @@ find_ex_command(
break;
}
+ // Not not recognize ":*" as the star command unless '*' is in
+ // 'cpoptions'.
+ if (eap->cmdidx == CMD_star && vim_strchr(p_cpo, CPO_STAR) == NULL)
+ p = eap->cmd;
+
// Look for a user defined command as a last resort. Let ":Print" be
// overruled by a user defined command.
if ((eap->cmdidx == CMD_SIZE || eap->cmdidx == CMD_Print)
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 0e6e94649..97110ce52 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -634,5 +634,19 @@ def Test_f_args()
CheckScriptSuccess(lines)
enddef
+def Test_star_command()
+ var lines =<< trim END
+ vim9script
+ @s = 'g:success = 8'
+ set cpo+=*
+ exe '*s'
+ assert_equal(8, g:success)
+ unlet g:success
+ set cpo-=*
+ assert_fails("exe '*s'", 'E1050:')
+ END
+ CheckScriptSuccess(lines)
+enddef
+
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
diff --git a/src/version.c b/src/version.c
index aeadf361a..303ecb3ee 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2022,
+/**/
2021,
/**/
2020,