Mercurial > vim
comparison src/proto/vim9instr.pro @ 30166:d1c04b4dc60d v9.0.0419
patch 9.0.0419: the :defer command does not check the function arguments
Commit: https://github.com/vim/vim/commit/169003289fb4b2ad18fd7f5807e0d05efff0be85
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 8 19:51:45 2022 +0100
patch 9.0.0419: the :defer command does not check the function arguments
Problem: The :defer command does not check the function argument count and
types.
Solution: Check the function arguments when adding a deferred function.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 08 Sep 2022 21:00:04 +0200 |
parents | 6cf788ab844c |
children | 42a6345b91fd |
comparison
equal
deleted
inserted
replaced
30165:27820ff1eaf4 | 30166:d1c04b4dc60d |
---|---|
44 int generate_DEF(cctx_T *cctx, char_u *name, size_t len); | 44 int generate_DEF(cctx_T *cctx, char_u *name, size_t len); |
45 int generate_JUMP(cctx_T *cctx, jumpwhen_T when, int where); | 45 int generate_JUMP(cctx_T *cctx, jumpwhen_T when, int where); |
46 int generate_JUMP_IF_ARG_SET(cctx_T *cctx, int arg_off); | 46 int generate_JUMP_IF_ARG_SET(cctx_T *cctx, int arg_off); |
47 int generate_FOR(cctx_T *cctx, int loop_idx); | 47 int generate_FOR(cctx_T *cctx, int loop_idx); |
48 int generate_TRYCONT(cctx_T *cctx, int levels, int where); | 48 int generate_TRYCONT(cctx_T *cctx, int levels, int where); |
49 int check_internal_func_args(cctx_T *cctx, int func_idx, int argcount, int method_call, type2_T **argtypes, type2_T *shuffled_argtypes); | |
49 int generate_BCALL(cctx_T *cctx, int func_idx, int argcount, int method_call); | 50 int generate_BCALL(cctx_T *cctx, int func_idx, int argcount, int method_call); |
50 int generate_LISTAPPEND(cctx_T *cctx); | 51 int generate_LISTAPPEND(cctx_T *cctx); |
51 int generate_BLOBAPPEND(cctx_T *cctx); | 52 int generate_BLOBAPPEND(cctx_T *cctx); |
53 int check_args_on_stack(cctx_T *cctx, ufunc_T *ufunc, int argcount); | |
52 int generate_CALL(cctx_T *cctx, ufunc_T *ufunc, int pushed_argcount); | 54 int generate_CALL(cctx_T *cctx, ufunc_T *ufunc, int pushed_argcount); |
53 int generate_UCALL(cctx_T *cctx, char_u *name, int argcount); | 55 int generate_UCALL(cctx_T *cctx, char_u *name, int argcount); |
56 int check_func_args_from_type(cctx_T *cctx, type_T *type, int argcount, int at_top, char_u *name); | |
54 int generate_PCALL(cctx_T *cctx, int argcount, char_u *name, type_T *type, int at_top); | 57 int generate_PCALL(cctx_T *cctx, int argcount, char_u *name, type_T *type, int at_top); |
55 int generate_DEFER(cctx_T *cctx, int var_idx, int argcount); | 58 int generate_DEFER(cctx_T *cctx, int var_idx, int argcount); |
56 int generate_STRINGMEMBER(cctx_T *cctx, char_u *name, size_t len); | 59 int generate_STRINGMEMBER(cctx_T *cctx, char_u *name, size_t len); |
57 int generate_ECHO(cctx_T *cctx, int with_white, int count); | 60 int generate_ECHO(cctx_T *cctx, int with_white, int count); |
58 int generate_MULT_EXPR(cctx_T *cctx, isntype_T isn_type, int count); | 61 int generate_MULT_EXPR(cctx_T *cctx, isntype_T isn_type, int count); |