comparison src/typval.c @ 34006:ab6a70fad5b5 v9.0.2184

patch 9.0.2184: Vim9: inconsistent :type/:class messages Commit: https://github.com/vim/vim/commit/e75fde6b043371a188660c3423e48b1b7fd7e14b Author: Ernie Rael <errael@raelity.com> Date: Thu Dec 21 17:18:54 2023 +0100 patch 9.0.2184: Vim9: inconsistent :type/:class messages Problem: Vim9: inconsistent :type/:class messages Solution: Update the Messages (Ernie Rael) closes: #13706 Signed-off-by: Ernie Rael <errael@raelity.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 21 Dec 2023 17:30:05 +0100
parents ccdb948c7273
children 1629cc65d78d
comparison
equal deleted inserted replaced
34005:f5c639a69421 34006:ab6a70fad5b5
260 #endif 260 #endif
261 case VAR_BLOB: 261 case VAR_BLOB:
262 emsg(_(e_using_blob_as_number)); 262 emsg(_(e_using_blob_as_number));
263 break; 263 break;
264 case VAR_CLASS: 264 case VAR_CLASS:
265 emsg(_(e_using_class_as_number)); 265 case VAR_TYPEALIAS:
266 check_typval_is_value(varp);
266 break; 267 break;
267 case VAR_OBJECT: 268 case VAR_OBJECT:
268 emsg(_(e_using_object_as_number)); 269 emsg(_(e_using_object_as_number));
269 break; 270 break;
270 case VAR_VOID: 271 case VAR_VOID:
271 emsg(_(e_cannot_use_void_value)); 272 emsg(_(e_cannot_use_void_value));
272 break;
273 case VAR_TYPEALIAS:
274 semsg(_(e_using_typealias_as_number),
275 varp->vval.v_typealias->ta_name);
276 break; 273 break;
277 case VAR_UNKNOWN: 274 case VAR_UNKNOWN:
278 case VAR_ANY: 275 case VAR_ANY:
279 case VAR_INSTR: 276 case VAR_INSTR:
280 internal_error_no_abort("tv_get_number(UNKNOWN)"); 277 internal_error_no_abort("tv_get_number(UNKNOWN)");
381 # endif 378 # endif
382 case VAR_BLOB: 379 case VAR_BLOB:
383 emsg(_(e_using_blob_as_float)); 380 emsg(_(e_using_blob_as_float));
384 break; 381 break;
385 case VAR_CLASS: 382 case VAR_CLASS:
386 emsg(_(e_using_class_as_float)); 383 case VAR_TYPEALIAS:
384 check_typval_is_value(varp);
387 break; 385 break;
388 case VAR_OBJECT: 386 case VAR_OBJECT:
389 emsg(_(e_using_object_as_float)); 387 emsg(_(e_using_object_as_float));
390 break; 388 break;
391 case VAR_VOID: 389 case VAR_VOID:
392 emsg(_(e_cannot_use_void_value)); 390 emsg(_(e_cannot_use_void_value));
393 break;
394 case VAR_TYPEALIAS:
395 semsg(_(e_using_typealias_as_float),
396 varp->vval.v_typealias->ta_name);
397 break; 391 break;
398 case VAR_UNKNOWN: 392 case VAR_UNKNOWN:
399 case VAR_ANY: 393 case VAR_ANY:
400 case VAR_INSTR: 394 case VAR_INSTR:
401 internal_error_no_abort("tv_get_float(UNKNOWN)"); 395 internal_error_no_abort("tv_get_float(UNKNOWN)");
1129 return buf; 1123 return buf;
1130 case VAR_BLOB: 1124 case VAR_BLOB:
1131 emsg(_(e_using_blob_as_string)); 1125 emsg(_(e_using_blob_as_string));
1132 break; 1126 break;
1133 case VAR_CLASS: 1127 case VAR_CLASS:
1134 emsg(_(e_using_class_as_string)); 1128 case VAR_TYPEALIAS:
1129 check_typval_is_value(varp);
1135 break; 1130 break;
1136 case VAR_OBJECT: 1131 case VAR_OBJECT:
1137 emsg(_(e_using_object_as_string)); 1132 emsg(_(e_using_object_as_string));
1138 break; 1133 break;
1139 case VAR_JOB: 1134 case VAR_JOB:
1156 return channel_to_string_buf(varp, buf); 1151 return channel_to_string_buf(varp, buf);
1157 #endif 1152 #endif
1158 break; 1153 break;
1159 case VAR_VOID: 1154 case VAR_VOID:
1160 emsg(_(e_cannot_use_void_value)); 1155 emsg(_(e_cannot_use_void_value));
1161 break;
1162 case VAR_TYPEALIAS:
1163 semsg(_(e_using_typealias_as_string),
1164 varp->vval.v_typealias->ta_name);
1165 break; 1156 break;
1166 case VAR_UNKNOWN: 1157 case VAR_UNKNOWN:
1167 case VAR_ANY: 1158 case VAR_ANY:
1168 case VAR_INSTR: 1159 case VAR_INSTR:
1169 semsg(_(e_using_invalid_value_as_string_str), 1160 semsg(_(e_using_invalid_value_as_string_str),
1356 { 1347 {
1357 varnumber_T n1, n2; 1348 varnumber_T n1, n2;
1358 int res = 0; 1349 int res = 0;
1359 int type_is = type == EXPR_IS || type == EXPR_ISNOT; 1350 int type_is = type == EXPR_IS || type == EXPR_ISNOT;
1360 1351
1361 if (type_is && tv1->v_type != tv2->v_type) 1352 if (check_typval_is_value(tv1) == FAIL
1353 || check_typval_is_value(tv2) == FAIL)
1354 {
1355 clear_tv(tv1);
1356 return FAIL;
1357 }
1358 else if (type_is && tv1->v_type != tv2->v_type)
1362 { 1359 {
1363 // For "is" a different type always means FALSE, for "isnot" 1360 // For "is" a different type always means FALSE, for "isnot"
1364 // it means TRUE. 1361 // it means TRUE.
1365 n1 = (type == EXPR_ISNOT); 1362 n1 = (type == EXPR_ISNOT);
1366 } 1363 }
1389 n1 = res; 1386 n1 = res;
1390 } 1387 }
1391 else if (tv1->v_type == VAR_LIST || tv2->v_type == VAR_LIST) 1388 else if (tv1->v_type == VAR_LIST || tv2->v_type == VAR_LIST)
1392 { 1389 {
1393 if (typval_compare_list(tv1, tv2, type, ic, &res) == FAIL) 1390 if (typval_compare_list(tv1, tv2, type, ic, &res) == FAIL)
1394 {
1395 clear_tv(tv1);
1396 return FAIL;
1397 }
1398 n1 = res;
1399 }
1400 else if (tv1->v_type == VAR_CLASS || tv2->v_type == VAR_CLASS)
1401 {
1402 if (typval_compare_class(tv1, tv2, type, ic, &res) == FAIL)
1403 { 1391 {
1404 clear_tv(tv1); 1392 clear_tv(tv1);
1405 return FAIL; 1393 return FAIL;
1406 } 1394 }
1407 n1 = res; 1395 n1 = res;