Mercurial > vim
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); |