summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-02-22 23:13:33 +0100
committerBram Moolenaar <Bram@vim.org>2016-02-22 23:13:33 +0100
commiteed284a16977ab81fa6da8c9562990ba498acd8c (patch)
tree881c7f7fae1f8bf0f906662e0bb2e99cb6fcc4e8
parent0b962473ddc7cee3cb45253dea273573bcca9bf9 (diff)
downloadvim-git-7.4.1395.tar.gz
patch 7.4.1395v7.4.1395
Problem: Using DETACH in quotes is not compatible with the Netbeans interface. (Xavier de Gaye) Solution: Remove the quotes, only use them for JSON and JS mode.
-rw-r--r--src/channel.c10
-rw-r--r--src/netbeans.c2
-rw-r--r--src/version.c2
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,