patch 8.2.0331: internal error when using test_void() and test_unknown()
Problem: Internal error when using test_void() and test_unknown().
(Dominique Pelle)
Solution: Give a normal error.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index ff891ea..3fce946 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1890,7 +1890,10 @@
#endif
case VAR_UNKNOWN:
case VAR_VOID:
- internal_error("f_empty(UNKNOWN)");
+ // Let's not use internal_error() here, otherwise
+ // empty(test_unknown()) with ABORT_ON_INTERNAL_ERROR defined makes
+ // Vim abort.
+ semsg(_(e_intern2), "f_empty(UNKNOWN)");
n = TRUE;
break;
}
@@ -8275,7 +8278,10 @@
case VAR_BLOB: n = VAR_TYPE_BLOB; break;
case VAR_UNKNOWN:
case VAR_VOID:
- internal_error("f_type(UNKNOWN)");
+ // Let's not use internal_error() here, otherwise
+ // empty(test_unknown()) with ABORT_ON_INTERNAL_ERROR defined
+ // makes Vim abort.
+ semsg(_(e_intern2), "f_type(UNKNOWN)");
n = -1;
break;
}