diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-06-19 18:34:15 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-06-19 18:34:15 +0200 |
commit | c785b9a7f471f12825a1d6d2041c144c74242b7c (patch) | |
tree | 77dd8f82077d3875013d137efe5dda19b21761ec /src/vim9script.c | |
parent | 128d3079635ae62786a13adc435d0063a64a014a (diff) | |
download | vim-git-c785b9a7f471f12825a1d6d2041c144c74242b7c.tar.gz |
patch 8.2.1011: Vim9: some code not testedv8.2.1011
Problem: Vim9: some code not tested.
Solution: Add a few more test cases. Reorder checks for clearer error.
Remove unreachable code.
Diffstat (limited to 'src/vim9script.c')
-rw-r--r-- | src/vim9script.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/vim9script.c b/src/vim9script.c index 442158c48..6c4cbc430 100644 --- a/src/vim9script.c +++ b/src/vim9script.c @@ -507,7 +507,7 @@ vim9_declare_scriptvar(exarg_T *eap, char_u *arg) /* * Check if the type of script variable "dest" allows assigning "value". */ - void + int check_script_var_type(typval_T *dest, typval_T *value, char_u *name) { scriptitem_T *si = SCRIPT_ITEM(current_sctx.sc_sid); @@ -521,13 +521,15 @@ check_script_var_type(typval_T *dest, typval_T *value, char_u *name) if (sv->sv_tv == dest) { if (sv->sv_const) + { semsg(_(e_readonlyvar), name); - else - check_type(sv->sv_type, typval2type(value), TRUE); - return; + return FAIL; + } + return check_type(sv->sv_type, typval2type(value), TRUE); } } iemsg("check_script_var_type(): not found"); + return OK; // not really } #endif // FEAT_EVAL |