patch 7.4.1438
Problem: Can't get buffer number of a channel.
Solution: Add ch_getbufnr().
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 4571258..80a269a 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -561,11 +561,14 @@
When the IO mode is "buffer" and there is a callback, the text is appended to
the buffer before invoking the callback.
- *E915*
+
The name of the buffer is compared the full name of existing buffers. If
-there is a match that buffer is used. Otherwise a new buffer is created,
-where 'buftype' is set to "nofile" and 'bufhidden' to "hide". If you prefer
-other settings, create the buffer first and pass the buffer number.
+there is a match that buffer is used. Otherwise a new buffer is created.
+Use an empty name to always create a new buffer. |ch_getbufnr()| can then be
+used to get the buffer number.
+
+For a new buffer 'buftype' is set to "nofile" and 'bufhidden' to "hide". If
+you prefer other settings, create the buffer first and pass the buffer number.
When the buffer written to is displayed in a window and the cursor is in the
first column of the last line, the cursor will be moved to the newly added
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