diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-11-18 17:17:15 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-11-18 17:17:15 +0100 |
commit | d92cc130fbb1beacf6411ee5837545f46f9be90e (patch) | |
tree | d6b79e63ce4845c810b33434c3de75f9c332af55 | |
parent | 9950280d377a5c0706d141017fcef9cad598b8b0 (diff) |
patch 8.2.2012: Vim9: confusing error message when using bool wronglyv8.2.2012
Problem: Vim9: confusing error message when using bool wrongly.
Solution: Mention "Bool" instead of "Special". (closes #7323)
-rw-r--r-- | src/errors.h | 2 | ||||
-rw-r--r-- | src/testdir/test_vim9_expr.vim | 7 | ||||
-rw-r--r-- | src/typval.c | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 15 insertions, 1 deletions
diff --git a/src/errors.h b/src/errors.h index 969301f9c4..5ba6d52be5 100644 --- a/src/errors.h +++ b/src/errors.h @@ -301,3 +301,5 @@ EXTERN char e_cmd_mapping_must_end_with_cr_before_second_cmd[] INIT(=N_("E1136: <Cmd> mapping must end with <CR> before second <Cmd>")); EXTERN char e_cmd_maping_must_not_include_str_key[] INIT(= N_("E1137: <Cmd> mapping must not include %s key")); +EXTERN char e_using_bool_as_number[] + INIT(= N_("E1138: Using a Bool as a Number")); diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim index 63bfdd8040..b7897fe7cb 100644 --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -1292,6 +1292,13 @@ func Test_expr5_fails() call CheckDefFailure(["var x = 'a' .. 0z32"], 'E1105:', 1) call CheckDefFailure(["var x = 'a' .. function('len')"], 'E1105:', 1) call CheckDefFailure(["var x = 'a' .. function('len', ['a'])"], 'E1105:', 1) + + call CheckScriptFailure(['vim9script', 'var x = 1 + v:none'], 'E611:', 2) + call CheckScriptFailure(['vim9script', 'var x = 1 + v:null'], 'E611:', 2) + call CheckScriptFailure(['vim9script', 'var x = 1 + v:true'], 'E1138:', 2) + call CheckScriptFailure(['vim9script', 'var x = 1 + v:false'], 'E1138:', 2) + call CheckScriptFailure(['vim9script', 'var x = 1 + true'], 'E1138:', 2) + call CheckScriptFailure(['vim9script', 'var x = 1 + false'], 'E1138:', 2) endfunc func Test_expr5_fails_channel() diff --git a/src/typval.c b/src/typval.c index 7c55d3a5e1..0e2513aee3 100644 --- a/src/typval.c +++ b/src/typval.c @@ -213,7 +213,10 @@ tv_get_bool_or_number_chk(typval_T *varp, int *denote, int want_bool) case VAR_SPECIAL: if (!want_bool && in_vim9script()) { - emsg(_("E611: Using a Special as a Number")); + if (varp->v_type == VAR_BOOL) + emsg(_(e_using_bool_as_number)); + else + emsg(_("E611: Using a Special as a Number")); break; } return varp->vval.v_number == VVAL_TRUE ? 1 : 0; diff --git a/src/version.c b/src/version.c index 80d2af9db1..0f0ccda25a 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2012, +/**/ 2011, /**/ 2010, |