Mercurial > vim
comparison src/evalfunc.c @ 19548:9a9ca0e622c8 v8.2.0331
patch 8.2.0331: internal error when using test_void() and test_unknown()
Commit: https://github.com/vim/vim/commit/7c215c58936cbebd4132ad6112d04db54b7c153e
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 29 13:43:27 2020 +0100
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 29 Feb 2020 13:45:04 +0100 |
parents | 22f0dda71638 |
children | b38d73f36467 |
comparison
equal
deleted
inserted
replaced
19547:2d657ba32b83 | 19548:9a9ca0e622c8 |
---|---|
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 internal_error("f_empty(UNKNOWN)"); | 1893 // Let's not use internal_error() here, otherwise |
1894 // empty(test_unknown()) with ABORT_ON_INTERNAL_ERROR defined makes | |
1895 // Vim abort. | |
1896 semsg(_(e_intern2), "f_empty(UNKNOWN)"); | |
1894 n = TRUE; | 1897 n = TRUE; |
1895 break; | 1898 break; |
1896 } | 1899 } |
1897 | 1900 |
1898 rettv->vval.v_number = n; | 1901 rettv->vval.v_number = n; |
8273 case VAR_JOB: n = VAR_TYPE_JOB; break; | 8276 case VAR_JOB: n = VAR_TYPE_JOB; break; |
8274 case VAR_CHANNEL: n = VAR_TYPE_CHANNEL; break; | 8277 case VAR_CHANNEL: n = VAR_TYPE_CHANNEL; break; |
8275 case VAR_BLOB: n = VAR_TYPE_BLOB; break; | 8278 case VAR_BLOB: n = VAR_TYPE_BLOB; break; |
8276 case VAR_UNKNOWN: | 8279 case VAR_UNKNOWN: |
8277 case VAR_VOID: | 8280 case VAR_VOID: |
8278 internal_error("f_type(UNKNOWN)"); | 8281 // Let's not use internal_error() here, otherwise |
8282 // empty(test_unknown()) with ABORT_ON_INTERNAL_ERROR defined | |
8283 // makes Vim abort. | |
8284 semsg(_(e_intern2), "f_type(UNKNOWN)"); | |
8279 n = -1; | 8285 n = -1; |
8280 break; | 8286 break; |
8281 } | 8287 } |
8282 rettv->vval.v_number = n; | 8288 rettv->vval.v_number = n; |
8283 } | 8289 } |