patch 7.4.1438
Problem: Can't get buffer number of a channel.
Solution: Add ch_getbufnr().
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 6a41c5f..b05e592 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1822,6 +1822,7 @@
any evaluate {expr} on JSON {channel}
ch_evalraw( {channel}, {string} [, {options}])
any evaluate {string} on raw {channel}
+ch_getbufnr( {channel}, {what}) Number get buffer number for {channel}/{what}
ch_getjob( {channel}) Job get the Job of {channel}
ch_log( {msg} [, {channel}]) none write {msg} in the channel log file
ch_logfile( {fname} [, {mode}]) none start logging channel activity
@@ -2721,6 +2722,13 @@
{only available when compiled with the |+channel| feature}
+ch_getbufnr({channel}, {what}) *ch_getbufnr()*
+ Get the buffer number that {channel} is using for {what}.
+ {what} can be "err" for stderr, "out" for stdout or empty for
+ socket output.
+ Returns -1 when there is no buffer.
+ {only available when compiled with the |+channel| feature}
+
ch_getjob({channel}) *ch_getjob()*
Get the Job associated with {channel}.
If there is no job calling |job_status()| on the returned Job