Mercurial > vim
changeset 22950:1270401054d8 v8.2.2022
patch 8.2.2022: Vim9: star command recognized errornously
Commit: https://github.com/vim/vim/commit/95388e3179f6b995dbc4acd3f23e3856bb0286fd
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Nov 20 21:07:00 2020 +0100
patch 8.2.2022: Vim9: star command recognized errornously
Problem: Vim9: star command recognized errornously.
Solution: Give an error for missing colon. (issue https://github.com/vim/vim/issues/7335)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 20 Nov 2020 21:15:04 +0100 |
parents | a695c4f79964 |
children | e857d80bab79 |
files | src/ex_docmd.c src/testdir/test_vim9_cmd.vim src/version.c |
diffstat | 3 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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)
--- 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