patch 7.4.1858
Problem: When a channel writes to a buffer it doesn't find a buffer by the
short name but re-uses it anyway.
Solution: Find buffer also by the short name.
diff --git a/src/channel.c b/src/channel.c
index 973d234..b1f7f1a 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -1079,11 +1079,15 @@
buf_T *save_curbuf = curbuf;
if (name != NULL && *name != NUL)
+ {
buf = buflist_findname(name);
+ if (buf == NULL)
+ buf = buflist_findname_exp(name);
+ }
if (buf == NULL)
{
buf = buflist_new(name == NULL || *name == NUL ? NULL : name,
- NULL, (linenr_T)0, BLN_LISTED);
+ NULL, (linenr_T)0, BLN_LISTED | BLN_NEW);
if (buf == NULL)
return NULL;
buf_copy_options(buf, BCO_ENTER);