comparison src/evalfunc.c @ 19554:b38d73f36467 v8.2.0334

patch 8.2.0334: abort called when using test_void() Commit: https://github.com/vim/vim/commit/dd58923c6bcb026de7134d9874e69e0a2b01682d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 29 17:38:12 2020 +0100 patch 8.2.0334: abort called when using test_void() Problem: Abort called when using test_void(). (Dominique Pelle) Solution: Only give an error, don't abort.
author Bram Moolenaar <Bram@vim.org>
date Sat, 29 Feb 2020 17:45:04 +0100
parents 9a9ca0e622c8
children 06f29b6ea04a
comparison
equal deleted inserted replaced
19553:45b9e23467da 19554:b38d73f36467
1888 || !channel_is_open(argvars[0].vval.v_channel); 1888 || !channel_is_open(argvars[0].vval.v_channel);
1889 break; 1889 break;
1890 #endif 1890 #endif
1891 case VAR_UNKNOWN: 1891 case VAR_UNKNOWN:
1892 case VAR_VOID: 1892 case VAR_VOID:
1893 // Let's not use internal_error() here, otherwise 1893 internal_error_no_abort("f_empty(UNKNOWN)");
1894 // empty(test_unknown()) with ABORT_ON_INTERNAL_ERROR defined makes
1895 // Vim abort.
1896 semsg(_(e_intern2), "f_empty(UNKNOWN)");
1897 n = TRUE; 1894 n = TRUE;
1898 break; 1895 break;
1899 } 1896 }
1900 1897
1901 rettv->vval.v_number = n; 1898 rettv->vval.v_number = n;
8276 case VAR_JOB: n = VAR_TYPE_JOB; break; 8273 case VAR_JOB: n = VAR_TYPE_JOB; break;
8277 case VAR_CHANNEL: n = VAR_TYPE_CHANNEL; break; 8274 case VAR_CHANNEL: n = VAR_TYPE_CHANNEL; break;
8278 case VAR_BLOB: n = VAR_TYPE_BLOB; break; 8275 case VAR_BLOB: n = VAR_TYPE_BLOB; break;
8279 case VAR_UNKNOWN: 8276 case VAR_UNKNOWN:
8280 case VAR_VOID: 8277 case VAR_VOID:
8281 // Let's not use internal_error() here, otherwise 8278 internal_error_no_abort("f_type(UNKNOWN)");
8282 // empty(test_unknown()) with ABORT_ON_INTERNAL_ERROR defined
8283 // makes Vim abort.
8284 semsg(_(e_intern2), "f_type(UNKNOWN)");
8285 n = -1; 8279 n = -1;
8286 break; 8280 break;
8287 } 8281 }
8288 rettv->vval.v_number = n; 8282 rettv->vval.v_number = n;
8289 } 8283 }