Mercurial > vim
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; |