diff options
author | ZyX <kp-pav@yandex.ru> | 2016-01-06 22:47:39 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2016-01-07 00:54:58 +0300 |
commit | c6f6033482015723742f97aeba95d0e65f694943 (patch) | |
tree | 4c2bfe280147cb1f6cb411a51acfe93c382ce9f8 /src/nvim/eval.c | |
parent | bd4ca22cf06f832ccda432733498f00e0af77eaa (diff) | |
download | rneovim-c6f6033482015723742f97aeba95d0e65f694943.tar.gz rneovim-c6f6033482015723742f97aeba95d0e65f694943.tar.bz2 rneovim-c6f6033482015723742f97aeba95d0e65f694943.zip |
eval: Do not use msgpack#string for error messages
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r-- | src/nvim/eval.c | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 5a8fe4076e..57d7002739 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -12744,32 +12744,9 @@ static int conv_error(const char *const msg, const MPConvStack *const mpstack, ga_concat(&msg_ga, IObuff); } else { typval_T key_tv = li->li_tv.vval.v_list->lv_first->li_tv; - trylevel++; - typval_T rettv; - int doesrange; - char *key; - bool free_key = false; - if (call_func((char_u *) "msgpack#string", - sizeof("msgpack#string") - 1, - &rettv, 1, &key_tv, 0L, 0L, &doesrange, true, - NULL) == FAIL - || ((key = (char *) get_tv_string(&rettv)) == NULL) - || did_throw - || (msg_list != NULL && *msg_list != NULL)) { - key = tv2string(&key_tv, NULL); - free_key = true; - } - did_emsg = false; - discard_current_exception(); - if (msg_list != NULL && *msg_list != NULL) { - free_global_msglist(); - } - trylevel--; + char *const key = echo_string(&key_tv, NULL); vim_snprintf((char *) IObuff, IOSIZE, key_pair_msg, key, idx); - clear_tv(&rettv); - if (free_key) { - xfree(key); - } + xfree(key); ga_concat(&msg_ga, IObuff); } break; |