0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 9.0.0715: wrong argument for append() gives two error messages

Problem:    Wrong argument for append() gives two error messages.
Solution:   When getting an error for a number argument don't try using it as
            a string. (closes #11335)
This commit is contained in:
Bram Moolenaar 2022-10-10 16:08:16 +01:00
parent 1206c163db
commit 801cd35e7e
3 changed files with 7 additions and 1 deletions

View File

@ -950,6 +950,8 @@ func Test_append()
" Using $ instead of '$' must give an error " Using $ instead of '$' must give an error
call assert_fails("call append($, 'foobar')", 'E116:') call assert_fails("call append($, 'foobar')", 'E116:')
call assert_fails("call append({}, '')", ['E728:', 'E728:'])
endfunc endfunc
" Test for setline() " Test for setline()

View File

@ -2509,10 +2509,12 @@ eval_env_var(char_u **arg, typval_T *rettv, int evaluate)
tv_get_lnum(typval_T *argvars) tv_get_lnum(typval_T *argvars)
{ {
linenr_T lnum = -1; linenr_T lnum = -1;
int did_emsg_before = did_emsg;
if (argvars[0].v_type != VAR_STRING || !in_vim9script()) if (argvars[0].v_type != VAR_STRING || !in_vim9script())
lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL); lnum = (linenr_T)tv_get_number_chk(&argvars[0], NULL);
if (lnum <= 0 && argvars[0].v_type != VAR_NUMBER) if (lnum <= 0 && did_emsg_before == did_emsg
&& argvars[0].v_type != VAR_NUMBER)
{ {
int fnum; int fnum;
pos_T *fp; pos_T *fp;

View File

@ -699,6 +699,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
715,
/**/ /**/
714, 714,
/**/ /**/