summaryrefslogtreecommitdiff
path: root/src/typval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-06-15 22:13:27 +0200
committerBram Moolenaar <Bram@vim.org>2021-06-15 22:13:27 +0200
commitf57b43c230c23117650c956c1f62546a34500fb6 (patch)
tree0a854ddfab96d08e0eb10c733bc30ca1a0be174b /src/typval.c
parent8ac681a280ffae14c30784a54587ad6cb640afbb (diff)
downloadvim-git-f57b43c230c23117650c956c1f62546a34500fb6.tar.gz
patch 8.2.3005: Vim9: using a void value does not give a proper error messagev8.2.3005
Problem: Vim9: using a void value does not give a proper error message. Solution: Give a clear error message. (clodes #8387)
Diffstat (limited to 'src/typval.c')
-rw-r--r--src/typval.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/typval.c b/src/typval.c
index a17dbef7e..b19140d44 100644
--- a/src/typval.c
+++ b/src/typval.c
@@ -238,9 +238,11 @@ tv_get_bool_or_number_chk(typval_T *varp, int *denote, int want_bool)
case VAR_BLOB:
emsg(_("E974: Using a Blob as a Number"));
break;
+ case VAR_VOID:
+ emsg(_(e_cannot_use_void_value));
+ break;
case VAR_UNKNOWN:
case VAR_ANY:
- case VAR_VOID:
case VAR_INSTR:
internal_error_no_abort("tv_get_number(UNKNOWN)");
break;
@@ -294,7 +296,7 @@ tv_get_bool_chk(typval_T *varp, int *denote)
return tv_get_bool_or_number_chk(varp, denote, TRUE);
}
-#ifdef FEAT_FLOAT
+#if defined(FEAT_FLOAT) || defined(PROTO)
float_T
tv_get_float(typval_T *varp)
{
@@ -336,9 +338,11 @@ tv_get_float(typval_T *varp)
case VAR_BLOB:
emsg(_("E975: Using a Blob as a Float"));
break;
+ case VAR_VOID:
+ emsg(_(e_cannot_use_void_value));
+ break;
case VAR_UNKNOWN:
case VAR_ANY:
- case VAR_VOID:
case VAR_INSTR:
internal_error_no_abort("tv_get_float(UNKNOWN)");
break;
@@ -501,9 +505,11 @@ tv_get_string_buf_chk_strict(typval_T *varp, char_u *buf, int strict)
return channel_to_string_buf(varp, buf);
#endif
break;
+ case VAR_VOID:
+ emsg(_(e_cannot_use_void_value));
+ break;
case VAR_UNKNOWN:
case VAR_ANY:
- case VAR_VOID:
case VAR_INSTR:
semsg(_(e_using_invalid_value_as_string_str),
vartype_name(varp->v_type));
@@ -585,6 +591,7 @@ copy_tv(typval_T *from, typval_T *to)
case VAR_NUMBER:
case VAR_BOOL:
case VAR_SPECIAL:
+ case VAR_VOID:
to->vval.v_number = from->vval.v_number;
break;
case VAR_FLOAT:
@@ -659,7 +666,6 @@ copy_tv(typval_T *from, typval_T *to)
break;
case VAR_UNKNOWN:
case VAR_ANY:
- case VAR_VOID:
internal_error_no_abort("copy_tv(UNKNOWN)");
break;
}