]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 7.4.1395 v7.4.1395
authorBram Moolenaar <Bram@vim.org>
Mon, 22 Feb 2016 22:13:33 +0000 (23:13 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 22 Feb 2016 22:13:33 +0000 (23:13 +0100)
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.

src/channel.c
src/netbeans.c
src/version.c

index f189ac043ff79b7644eaec1f51a15fa7133b66c1..71fd4b687b236a1eaf013f5974928dfe6f0f3bf8 100644 (file)
@@ -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
index 55169ea2a83ee77776ae32fa7ada689bbefeeb93..05142a8b0e62f474c91fc0964ba79adc2973145f 100644 (file)
@@ -461,7 +461,7 @@ nb_parse_cmd(char_u *cmd)
        /* NOTREACHED */
     }
 
-    if (STRCMP(cmd, "\"DETACH\"") == 0)
+    if (STRCMP(cmd, "DETACH") == 0)
     {
        buf_T   *buf;
 
index 39b76438f043a6708ed4c4c4d09c57203cda6389..d028ca54a680ae4636ed6e63cef50d9ee5e29aa0 100644 (file)
@@ -748,6 +748,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1395,
 /**/
     1394,
 /**/