summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-11-18 17:17:15 +0100
committerBram Moolenaar <Bram@vim.org>2020-11-18 17:17:15 +0100
commitd92cc130fbb1beacf6411ee5837545f46f9be90e (patch)
treed6b79e63ce4845c810b33434c3de75f9c332af55
parent9950280d377a5c0706d141017fcef9cad598b8b0 (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.h2
-rw-r--r--src/testdir/test_vim9_expr.vim7
-rw-r--r--src/typval.c5
-rw-r--r--src/version.c2
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,