1
0
forked from aniani/vim

patch 8.2.3081: cannot catch errors in a channel command

Problem:    Cannot catch errors in a channel command.
Solution:   Instead of skipping the error make it silent. (closes #8477)
This commit is contained in:
Alisue
2021-06-30 22:01:02 +02:00
committed by Bram Moolenaar
parent 576cb75ceb
commit 11a632d60b
2 changed files with 5 additions and 2 deletions

View File

@@ -2545,7 +2545,8 @@ channel_exe_cmd(channel_T *channel, ch_part_T part, typval_T *argv)
char_u *json = NULL;
// Don't pollute the display with errors.
++emsg_skip;
// Do generate the errors so that try/catch works.
++emsg_silent;
if (!is_call)
{
ch_log(channel, "Evaluating expression '%s'", (char *)arg);
@@ -2581,7 +2582,7 @@ channel_exe_cmd(channel_T *channel, ch_part_T part, typval_T *argv)
vim_free(json);
}
}
--emsg_skip;
--emsg_silent;
if (tv == &res_tv)
clear_tv(tv);
else