patch 8.0.0107
Problem: When reading channel output in a timer, messages may go missing.
(Skywind)
Solution: Add the "drop" option. Write error messages in the channel log.
Don't have ch_canread() check for the channel being open.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 88e4852..6721173 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1786,7 +1786,7 @@
static void
f_ch_canread(typval_T *argvars, typval_T *rettv)
{
- channel_T *channel = get_channel_arg(&argvars[0], TRUE, TRUE, 0);
+ channel_T *channel = get_channel_arg(&argvars[0], FALSE, FALSE, 0);
rettv->vval.v_number = 0;
if (channel != NULL)