patch 8.0.1035: sending buffer lines to terminal doesn't work on MS-Windows
Problem: Sending buffer lines to terminal doesn't work on MS-Windows.
Solution: Use CR instead of NL after every line. Make the EOF text work
properly. Add the ++eof argument to :terminal.
diff --git a/src/channel.c b/src/channel.c
index 94a762c..5a7e2a7 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -1300,11 +1300,16 @@
return;
memcpy((char *)p, (char *)line, len);
- for (i = 0; i < len; ++i)
- if (p[i] == NL)
- p[i] = NUL;
+ if (channel->ch_write_text_mode)
+ p[len] = CAR;
+ else
+ {
+ for (i = 0; i < len; ++i)
+ if (p[i] == NL)
+ p[i] = NUL;
- p[len] = NL;
+ p[len] = NL;
+ }
p[len + 1] = NUL;
channel_send(channel, PART_IN, p, len + 1, "write_buf_line");
vim_free(p);