comparison src/vim9execute.c @ 24810:30095f94d081 v8.2.2943

patch 8.2.2943: Vim9: check for argument count ignores default values Commit: https://github.com/vim/vim/commit/c6d71532dda0b3a244907bb5d1826f9340f7571d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 5 18:49:38 2021 +0200 patch 8.2.2943: Vim9: check for argument count ignores default values Problem: Vim9: check for argument count ignores default values. Solution: Take default argument values into account.
author Bram Moolenaar <Bram@vim.org>
date Sat, 05 Jun 2021 19:00:03 +0200
parents 0bc60e26a2b5
children 8fdf839af1f4
comparison
equal deleted inserted replaced
24809:d1eb44a8cdfb 24810:30095f94d081
4232 emsg(_(e_one_argument_too_many)); 4232 emsg(_(e_one_argument_too_many));
4233 else 4233 else
4234 semsg(_(e_nr_arguments_too_many), idx); 4234 semsg(_(e_nr_arguments_too_many), idx);
4235 goto failed_early; 4235 goto failed_early;
4236 } 4236 }
4237 else if (idx < 0) 4237 idx = argc - ufunc->uf_args.ga_len + ufunc->uf_def_args.ga_len;
4238 if (idx < 0)
4238 { 4239 {
4239 if (idx == -1) 4240 if (idx == -1)
4240 emsg(_(e_one_argument_too_few)); 4241 emsg(_(e_one_argument_too_few));
4241 else 4242 else
4242 semsg(_(e_nr_arguments_too_few), -idx); 4243 semsg(_(e_nr_arguments_too_few), -idx);