diff options
-rw-r--r-- | src/channel.c | 10 | ||||
-rw-r--r-- | src/netbeans.c | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/channel.c b/src/channel.c index f189ac043..71fd4b687 100644 --- a/src/channel.c +++ b/src/channel.c @@ -1554,7 +1554,8 @@ channel_free_all(void) /* Sent when the channel is found closed when reading. */ -#define DETACH_MSG "\"DETACH\"\n" +#define DETACH_MSG_RAW "DETACH\n" +#define DETACH_MSG_JSON "\"DETACH\"\n" /* Buffer size for reading incoming messages. */ #define MAXMSGSIZE 4096 @@ -1658,6 +1659,7 @@ channel_read(channel_T *channel, int part, char *func) int readlen = 0; sock_T fd; int use_socket = FALSE; + char *msg; fd = channel->ch_part[part].ch_fd; if (fd == INVALID_FD) @@ -1721,8 +1723,10 @@ channel_read(channel_T *channel, int part, char *func) * -> channel_read() */ ch_errors(channel, "%s(): Cannot read", func); - channel_save(channel, part, - (char_u *)DETACH_MSG, (int)STRLEN(DETACH_MSG)); + msg = channel->ch_part[part].ch_mode == MODE_RAW + || channel->ch_part[part].ch_mode == MODE_NL + ? DETACH_MSG_RAW : DETACH_MSG_JSON; + channel_save(channel, part, (char_u *)msg, (int)STRLEN(msg)); /* TODO: When reading from stdout is not possible, should we try to * keep stdin and stderr open? Probably not, assume the other side diff --git a/src/netbeans.c b/src/netbeans.c index 55169ea2a..05142a8b0 100644 --- a/src/netbeans.c +++ b/src/netbeans.c @@ -461,7 +461,7 @@ nb_parse_cmd(char_u *cmd) /* NOTREACHED */ } - if (STRCMP(cmd, "\"DETACH\"") == 0) + if (STRCMP(cmd, "DETACH") == 0) { buf_T *buf; diff --git a/src/version.c b/src/version.c index 39b76438f..d028ca54a 100644 --- a/src/version.c +++ b/src/version.c @@ -749,6 +749,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1395, +/**/ 1394, /**/ 1393, |