After this patch I can't build:
    Make_cyg_ming.mak:696: *** extraneous 'endif'.  Stop.

As near as I can tell, that line can just be deleted and it works fine.
Patch attached.

- Christian

On Sun, Jan 24, 2016 at 12:36 PM, Bram Moolenaar <[email protected]> wrote:

>
> Patch 7.4.1169
> Problem:    The socket I/O is intertwined with the netbeans code.
> Solution:   Start refactoring the netbeans communication to split off the
>             socket I/O.  Add the +channel feature.
> Files:      src/channel.c, src/netbeans.c, src/proto/channel.pro,
>             src/proto/netbeans.pro, src/proto/gui_w32.pro, src/gui_w32.c,
>             src/eval.c, src/os_mswin.c, src/ui.c, src/macros.h, Makefile,
>             src/proto.h, src/feature.h, src/os_unix.c, src/vim.h,
>             src/configure.in, src/auto/configure, src/config.mk.in,
>             src/config.aap.in, src/config.h.in, src/Make_bc5.mak,
>             src/Make_cyg_ming.mak, src/Make_mvc.mak
>
>
> *** ../vim-7.4.1168/src/channel.c       2016-01-24 20:31:32.161071711 +0100
> --- src/channel.c       2016-01-24 20:20:11.172172343 +0100
> ***************
> *** 0 ****
> --- 1,187 ----
> + /* vi:set ts=8 sts=4 sw=4:
> +  *
> +  * VIM - Vi IMproved  by Bram Moolenaar
> +  *
> +  * Do ":help uganda"  in Vim to read copying and usage conditions.
> +  * Do ":help credits" in Vim to see a list of people who contributed.
> +  */
> +
> + /*
> +  * Implements communication through a socket or any file handle.
> +  */
> +
> + #include "vim.h"
> +
> + #if defined(FEAT_CHANNEL) || defined(PROTO)
> +
> + typedef struct {
> +     sock_T  ch_fd;
> +     int           ch_idx;
> + } channel_T;
> +
> + static channel_T *channels = NULL;
> + static int channel_count = 0;
> +
> + /*
> +  * Add a new channel slot, return the index.
> +  * Returns -1 if out of space.
> +  */
> +     static int
> + add_channel(void)
> + {
> +     int               idx;
> +     channel_T *new_channels;
> +
> +     if (channels != NULL)
> +       for (idx = 0; idx < channel_count; ++idx)
> +           if (channels[idx].ch_fd < 0)
> +               /* re-use a closed channel slot */
> +               return idx;
> +     if (channel_count == MAX_OPEN_CHANNELS)
> +       return -1;
> +     new_channels = (channel_T *)alloc(sizeof(channel_T) * channel_count
> + 1);
> +     if (new_channels == NULL)
> +       return -1;
> +     if (channels != NULL)
> +       mch_memmove(new_channels, channels, sizeof(channel_T) *
> channel_count);
> +     channels = new_channels;
> +     channels[channel_count].ch_fd = (sock_T)-1;
> +
> +     return channel_count++;
> + }
> +
> + #if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
> + static int netbeans_channel = -1;
> +
> + /*
> +  * Add the netbeans socket to the channels.
> +  * Return the channel index.
> +  */
> +     int
> + channel_add_netbeans(sock_T fd)
> + {
> +     int idx = add_channel();
> +
> +     if (idx >= 0)
> +     {
> +       channels[idx].ch_fd = fd;
> +       netbeans_channel = idx;
> +     }
> +     return idx;
> + }
> +
> +     void
> + channel_remove_netbeans()
> + {
> +     channels[netbeans_channel].ch_fd = (sock_T)-1;
> +     netbeans_channel = -1;
> + }
> + #endif
> +
> +     static void
> + channel_read(int idx)
> + {
> + # ifdef FEAT_NETBEANS_INTG
> +     if (idx == netbeans_channel)
> +       netbeans_read();
> +     else
> + # endif
> +     {
> +       ; /* TODO: read */
> +     }
> + }
> +
> + #if (defined(UNIX) && !defined(HAVE_SELECT)) || defined(PROTO)
> + /*
> +  * Add open channels to the poll struct.
> +  * Return the adjusted struct index.
> +  * The type of "fds" is hidden to avoid problems with the function proto.
> +  */
> +     int
> + channel_poll_setup(int nfd_in, void *fds_in)
> + {
> +     int nfd = nfd_in;
> +     int i;
> +     struct pollfd *fds = fds_in;
> +
> +     for (i = 0; i < channel_count; ++i)
> +       if (channels[i].ch_fd >= 0)
> +       {
> +           channels[i].ch_idx = nfd;
> +           fds[nfd].fd = channels[i].ch_fd;
> +           fds[nfd].events = POLLIN;
> +           nfd++;
> +       }
> +       else
> +           channels[i].ch_idx = -1;
> +
> +     return nfd;
> + }
> +
> + /*
> +  * The type of "fds" is hidden to avoid problems with the function proto.
> +  */
> +     int
> + channel_poll_check(int ret_in, void *fds_in)
> + {
> +     int ret = ret_in;
> +     int i;
> +     struct pollfd *fds = fds_in;
> +
> +     for (i = 0; i < channel_count; ++i)
> +       if (ret > 0 && channels[i].ch_idx != -1
> +                                && fds[channels[i].ch_idx].revents &
> POLLIN)
> +       {
> +           channel_read(i);
> +           --ret;
> +       }
> +
> +     return ret;
> + }
> + #endif /* UNIX && !HAVE_SELECT */
> +
> + #if (defined(UNIX) && defined(HAVE_SELECT)) || defined(PROTO)
> + /*
> +  * The type of "rfds" is hidden to avoid problems with the function
> proto.
> +  */
> +     int
> + channel_select_setup(int maxfd_in, void *rfds_in)
> + {
> +     int           maxfd = maxfd_in;
> +     int           i;
> +     fd_set  *rfds = rfds_in;
> +
> +     for (i = 0; i < channel_count; ++i)
> +       if (channels[i].ch_fd >= 0)
> +       {
> +           FD_SET(channels[i].ch_fd, rfds);
> +           if (maxfd < channels[i].ch_fd)
> +               maxfd = channels[i].ch_fd;
> +       }
> +
> +     return maxfd;
> + }
> +
> + /*
> +  * The type of "rfds" is hidden to avoid problems with the function
> proto.
> +  */
> +     int
> + channel_select_check(int ret_in, void *rfds_in)
> + {
> +     int           ret = ret_in;
> +     int           i;
> +     fd_set  *rfds = rfds_in;
> +
> +     for (i = 0; i < channel_count; ++i)
> +       if (ret > 0 && channels[i].ch_fd >= 0
> +                                      && FD_ISSET(channels[i].ch_fd,
> rfds))
> +       {
> +           channel_read(i);
> +           --ret;
> +       }
> +
> +     return ret;
> + }
> + #endif /* UNIX && HAVE_SELECT */
> +
> + #endif /* FEAT_CHANNEL */
> *** ../vim-7.4.1168/src/netbeans.c      2015-12-31 19:06:56.052081865 +0100
> --- src/netbeans.c      2016-01-24 20:02:48.859023505 +0100
> ***************
> *** 106,118 ****
>   # define NB_HAS_GUI (gui.in_use || gui.starting)
>   #endif
>
> ! #ifdef WIN64
> ! typedef __int64 NBSOCK;
> ! #else
> ! typedef int NBSOCK;
> ! #endif
> !
> ! static NBSOCK nbsock = -1;            /* socket fd for Netbeans
> connection */
>   #define NETBEANS_OPEN (nbsock != -1)
>
>   #ifdef FEAT_GUI_X11
> --- 106,112 ----
>   # define NB_HAS_GUI (gui.in_use || gui.starting)
>   #endif
>
> ! static sock_T nbsock = -1;            /* socket fd for Netbeans
> connection */
>   #define NETBEANS_OPEN (nbsock != -1)
>
>   #ifdef FEAT_GUI_X11
> ***************
> *** 175,180 ****
> --- 169,175 ----
>
>       sock_close(nbsock);
>       nbsock = -1;
> +     channel_remove_netbeans();
>   }
>
>   /*
> ***************
> *** 243,250 ****
>       if (*params == '=')
>       {
>         /* "=fname": Read info from specified file. */
> !       if (getConnInfo(params + 1, &hostname, &address, &password)
> !                                                                     ==
> FAIL)
>             return FAIL;
>       }
>       else
> --- 238,244 ----
>       if (*params == '=')
>       {
>         /* "=fname": Read info from specified file. */
> !       if (getConnInfo(params + 1, &hostname, &address, &password) ==
> FAIL)
>             return FAIL;
>       }
>       else
> ***************
> *** 312,324 ****
>         goto theend;        /* out of memory */
>
>   #ifdef FEAT_GUI_W32
> !     netbeans_init_winsock();
>   #endif
>
>   #ifdef INET_SOCKETS
>       port = atoi(address);
>
> !     if ((sd = (NBSOCK)socket(AF_INET, SOCK_STREAM, 0)) == (NBSOCK)-1)
>       {
>         nbdebug(("error in socket() in netbeans_connect()\n"));
>         PERROR("socket() in netbeans_connect()");
> --- 306,318 ----
>         goto theend;        /* out of memory */
>
>   #ifdef FEAT_GUI_W32
> !     channel_init_winsock();
>   #endif
>
>   #ifdef INET_SOCKETS
>       port = atoi(address);
>
> !     if ((sd = (sock_T)socket(AF_INET, SOCK_STREAM, 0)) == (sock_T)-1)
>       {
>         nbdebug(("error in socket() in netbeans_connect()\n"));
>         PERROR("socket() in netbeans_connect()");
> ***************
> *** 358,364 ****
>         {
>             sock_close(sd);
>   #ifdef INET_SOCKETS
> !           if ((sd = (NBSOCK)socket(AF_INET, SOCK_STREAM, 0)) ==
> (NBSOCK)-1)
>             {
>                 SOCK_ERRNO;
>                 nbdebug(("socket()#2 in netbeans_connect()\n"));
> --- 352,358 ----
>         {
>             sock_close(sd);
>   #ifdef INET_SOCKETS
> !           if ((sd = (sock_T)socket(AF_INET, SOCK_STREAM, 0)) ==
> (sock_T)-1)
>             {
>                 SOCK_ERRNO;
>                 nbdebug(("socket()#2 in netbeans_connect()\n"));
> ***************
> *** 423,428 ****
> --- 417,423 ----
>       }
>
>       nbsock = sd;
> +     channel_add_netbeans(nbsock);
>       vim_snprintf(buf, sizeof(buf), "AUTH %s\n", password);
>       nb_send(buf, "netbeans_connect");
>
> ***************
> *** 2954,2960 ****
>   #endif
>
>   /*
> !  * Return TRUE when the netbeans connection is closed.
>    */
>       int
>   netbeans_active(void)
> --- 2949,2955 ----
>   #endif
>
>   /*
> !  * Return TRUE when the netbeans connection is active.
>    */
>       int
>   netbeans_active(void)
> ***************
> *** 2962,2976 ****
>       return NETBEANS_OPEN;
>   }
>
> - /*
> -  * Return netbeans file descriptor.
> -  */
> -     int
> - netbeans_filedesc(void)
> - {
> -     return nbsock;
> - }
> -
>   #if defined(FEAT_GUI) || defined(PROTO)
>   /*
>    * Register our file descriptor with the gui event handling system.
> --- 2957,2962 ----
> *** ../vim-7.4.1168/src/proto/channel.pro       2016-01-24
> 20:31:32.173071585 +0100
> --- src/proto/channel.pro       2016-01-24 20:08:17.379606035 +0100
> ***************
> *** 0 ****
> --- 1,8 ----
> + /* channel.c */
> + int channel_add_netbeans(sock_T fd);
> + void channel_remove_netbeans(void);
> + int channel_poll_setup(int nfd_in, void *fds_in);
> + int channel_poll_check(int ret_in, void *fds_in);
> + int channel_select_setup(int maxfd_in, void *rfds_in);
> + int channel_select_check(int ret_in, void *rfds_in);
> + /* vim: set ft=c : */
> *** ../vim-7.4.1168/src/proto/netbeans.pro      2016-01-19
> 13:21:55.845334290 +0100
> --- src/proto/netbeans.pro      2016-01-24 20:33:11.404036846 +0100
> ***************
> *** 9,15 ****
>   void ex_nbstart(exarg_T *eap);
>   void netbeans_beval_cb(BalloonEval *beval, int state);
>   int netbeans_active(void);
> - int netbeans_filedesc(void);
>   void netbeans_gui_register(void);
>   void netbeans_open(char *params, int doabort);
>   void netbeans_send_disconnect(void);
> --- 9,14 ----
> *** ../vim-7.4.1168/src/gui_w32.c       2016-01-10 16:07:39.848871814 +0100
> --- src/gui_w32.c       2016-01-24 19:46:27.161212172 +0100
> ***************
> *** 553,559 ****
>   static TMonitorFromWindow   pMonitorFromWindow = NULL;
>   static TGetMonitorInfo            pGetMonitorInfo = NULL;
>   static HANDLE             user32_lib = NULL;
> ! #ifdef FEAT_NETBEANS_INTG
>   int WSInitialized = FALSE; /* WinSock is initialized */
>   #endif
>   /*
> --- 553,559 ----
>   static TMonitorFromWindow   pMonitorFromWindow = NULL;
>   static TGetMonitorInfo            pGetMonitorInfo = NULL;
>   static HANDLE             user32_lib = NULL;
> ! #ifdef FEAT_CHANNEL
>   int WSInitialized = FALSE; /* WinSock is initialized */
>   #endif
>   /*
> ***************
> *** 5048,5059 ****
>       SetPixel(s_hdc, x+3, y++, gui.currFgColor);
>       SetPixel(s_hdc, x+2, y, gui.currFgColor);
>   }
>
>   /*
>    * Initialize the Winsock dll.
>    */
>       void
> ! netbeans_init_winsock()
>   {
>       WSADATA wsaData;
>       int wsaerr;
> --- 5048,5061 ----
>       SetPixel(s_hdc, x+3, y++, gui.currFgColor);
>       SetPixel(s_hdc, x+2, y, gui.currFgColor);
>   }
> + #endif
>
> + #if defined(FEAT_CHANNEL) || defined(PROTO)
>   /*
>    * Initialize the Winsock dll.
>    */
>       void
> ! channel_init_winsock()
>   {
>       WSADATA wsaData;
>       int wsaerr;
> *** ../vim-7.4.1168/src/eval.c  2016-01-24 17:54:19.031096454 +0100
> --- src/eval.c  2016-01-24 19:48:03.536211790 +0100
> ***************
> *** 13083,13088 ****
> --- 13083,13091 ----
>   #ifdef FEAT_BYTEOFF
>         "byte_offset",
>   #endif
> + #ifdef FEAT_CHANNEL
> +       "channel",
> + #endif
>   #ifdef FEAT_CINDENT
>         "cindent",
>   #endif
> *** ../vim-7.4.1168/src/os_mswin.c      2016-01-19 19:00:24.107668109 +0100
> --- src/os_mswin.c      2016-01-24 19:58:01.042010329 +0100
> ***************
> *** 231,237 ****
>   # ifdef FEAT_OLE
>       UninitOLE();
>   # endif
> ! # ifdef FEAT_NETBEANS_INTG
>       if (WSInitialized)
>       {
>         WSInitialized = FALSE;
> --- 231,237 ----
>   # ifdef FEAT_OLE
>       UninitOLE();
>   # endif
> ! # ifdef FEAT_CHANNEL
>       if (WSInitialized)
>       {
>         WSInitialized = FALSE;
> *** ../vim-7.4.1168/src/ui.c    2015-12-31 19:06:56.060081779 +0100
> --- src/ui.c    2016-01-24 19:58:46.317540465 +0100
> ***************
> *** 1562,1568 ****
>    * descriptions which would otherwise overflow.  The buffer is
> considered full
>    * when only this extra space (or part of it) remains.
>    */
> ! #if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) \
>         || defined(FEAT_CLIENTSERVER)
>      /*
>       * Sun WorkShop and NetBeans stuff debugger commands into the input
> buffer.
> --- 1562,1568 ----
>    * descriptions which would otherwise overflow.  The buffer is
> considered full
>    * when only this extra space (or part of it) remains.
>    */
> ! #if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_CHANNEL) \
>         || defined(FEAT_CLIENTSERVER)
>      /*
>       * Sun WorkShop and NetBeans stuff debugger commands into the input
> buffer.
> *** ../vim-7.4.1168/src/macros.h        2016-01-20 22:47:57.653335842 +0100
> --- src/macros.h        2016-01-24 20:00:18.832580375 +0100
> ***************
> *** 317,322 ****
>   # define PLINES_NOFILL(x) plines(x)
>   #endif
>
> ! #if defined(FEAT_NETBEANS_INTG) || defined(FEAT_CLIENTSERVER)
>   # define MESSAGE_QUEUE
>   #endif
> --- 317,322 ----
>   # define PLINES_NOFILL(x) plines(x)
>   #endif
>
> ! #if defined(FEAT_CHANNEL) || defined(FEAT_CLIENTSERVER)
>   # define MESSAGE_QUEUE
>   #endif
> *** ../vim-7.4.1168/src/proto.h 2016-01-23 19:45:48.618931375 +0100
> --- src/proto.h 2016-01-24 18:15:57.189644050 +0100
> ***************
> *** 209,214 ****
> --- 209,217 ----
>   # ifdef FEAT_NETBEANS_INTG
>   #  include "netbeans.pro"
>   # endif
> + # ifdef FEAT_CHANNEL
> + #  include "channel.pro"
> + # endif
>
>   # ifdef FEAT_GUI
>   #  include "gui.pro"
> *** ../vim-7.4.1168/src/feature.h       2016-01-20 22:11:53.249565738 +0100
> --- src/feature.h       2016-01-24 18:19:40.915326075 +0100
> ***************
> *** 1237,1242 ****
> --- 1237,1243 ----
>    * +sniff             Sniff interface: "--enable-sniff"
>    * +sun_workshop      Sun Workshop integration
>    * +netbeans_intg     Netbeans integration
> +  * +channel           Inter process communication
>    */
>
>   /*
> ***************
> *** 1261,1266 ****
> --- 1262,1274 ----
>   #endif
>
>   /*
> +  * The Channel feature requires +eval.
> +  */
> + #if !defined(FEAT_EVAL) && defined(FEAT_CHANNEL)
> + # undef FEAT_CHANNEL
> + #endif
> +
> + /*
>    * +signs             Allow signs to be displayed to the left of text
> lines.
>    *                    Adds the ":sign" command.
>    */
> *** ../vim-7.4.1168/src/os_unix.c       2016-01-17 15:56:29.366605222 +0100
> --- src/os_unix.c       2016-01-24 20:06:33.352689736 +0100
> ***************
> *** 5189,5197 ****
>       int               *check_for_gpm UNUSED;
>   {
>       int               ret;
> - #ifdef FEAT_NETBEANS_INTG
> -     int               nb_fd = netbeans_filedesc();
> - #endif
>   #if defined(FEAT_XCLIPBOARD) || defined(USE_XSMP) ||
> defined(FEAT_MZSCHEME)
>       static int        busy = FALSE;
>
> --- 5189,5194 ----
> ***************
> *** 5241,5247 ****
>   # endif
>   #endif
>   #ifndef HAVE_SELECT
> !       struct pollfd   fds[6];
>         int             nfd;
>   # ifdef FEAT_XCLIPBOARD
>         int             xterm_idx = -1;
> --- 5238,5244 ----
>   # endif
>   #endif
>   #ifndef HAVE_SELECT
> !       struct pollfd   fds[6 + MAX_OPEN_CHANNELS];
>         int             nfd;
>   # ifdef FEAT_XCLIPBOARD
>         int             xterm_idx = -1;
> ***************
> *** 5252,5260 ****
>   # ifdef USE_XSMP
>         int             xsmp_idx = -1;
>   # endif
> - # ifdef FEAT_NETBEANS_INTG
> -       int             nb_idx = -1;
> - # endif
>         int             towait = (int)msec;
>
>   # ifdef FEAT_MZSCHEME
> --- 5249,5254 ----
> ***************
> *** 5306,5319 ****
>             nfd++;
>         }
>   # endif
> ! #ifdef FEAT_NETBEANS_INTG
> !       if (nb_fd != -1)
> !       {
> !           nb_idx = nfd;
> !           fds[nfd].fd = nb_fd;
> !           fds[nfd].events = POLLIN;
> !           nfd++;
> !       }
>   #endif
>
>         ret = poll(fds, nfd, towait);
> --- 5300,5307 ----
>             nfd++;
>         }
>   # endif
> ! #ifdef FEAT_CHANNEL
> !       nfd = channel_poll_setup(nfd, &fds);
>   #endif
>
>         ret = poll(fds, nfd, towait);
> ***************
> *** 5368,5379 ****
>                 finished = FALSE;       /* Try again */
>         }
>   # endif
> ! #ifdef FEAT_NETBEANS_INTG
> !       if (ret > 0 && nb_idx != -1 && fds[nb_idx].revents & POLLIN)
> !       {
> !           netbeans_read();
> !           --ret;
> !       }
>   #endif
>
>
> --- 5356,5364 ----
>                 finished = FALSE;       /* Try again */
>         }
>   # endif
> ! #ifdef FEAT_CHANNEL
> !       if (ret > 0)
> !           ret = channel_poll_check(ret, &fds);
>   #endif
>
>
> ***************
> *** 5462,5474 ****
>                 maxfd = xsmp_icefd;
>         }
>   # endif
> ! # ifdef FEAT_NETBEANS_INTG
> !       if (nb_fd != -1)
> !       {
> !           FD_SET(nb_fd, &rfds);
> !           if (maxfd < nb_fd)
> !               maxfd = nb_fd;
> !       }
>   # endif
>
>         ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
> --- 5447,5454 ----
>                 maxfd = xsmp_icefd;
>         }
>   # endif
> ! # ifdef FEAT_CHANNEL
> !       maxfd = channel_select_setup(maxfd, &rfds);
>   # endif
>
>         ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
> ***************
> *** 5556,5567 ****
>             }
>         }
>   # endif
> ! #ifdef FEAT_NETBEANS_INTG
> !       if (ret > 0 && nb_fd != -1 && FD_ISSET(nb_fd, &rfds))
> !       {
> !           netbeans_read();
> !           --ret;
> !       }
>   #endif
>
>   #endif /* HAVE_SELECT */
> --- 5536,5544 ----
>             }
>         }
>   # endif
> ! #ifdef FEAT_CHANNEL
> !       if (ret > 0)
> !           ret = channel_select_check(ret, &rfds);
>   #endif
>
>   #endif /* HAVE_SELECT */
> *** ../vim-7.4.1168/src/vim.h   2016-01-23 19:45:48.618931375 +0100
> --- src/vim.h   2016-01-24 20:03:23.598663010 +0100
> ***************
> *** 1929,1936 ****
>   #  ifdef FEAT_OLE
>   #   define WM_OLE (WM_APP+0)
>   #  endif
> ! #  ifdef FEAT_NETBEANS_INTG
> !     /* message for Netbeans socket event */
>   #   define WM_NETBEANS (WM_APP+1)
>   #  endif
>   # endif
> --- 1929,1936 ----
>   #  ifdef FEAT_OLE
>   #   define WM_OLE (WM_APP+0)
>   #  endif
> ! #  ifdef FEAT_CHANNEL
> !     /* message for channel socket event */
>   #   define WM_NETBEANS (WM_APP+1)
>   #  endif
>   # endif
> ***************
> *** 1979,1984 ****
> --- 1979,1992 ----
>   # define stat(a,b) (access(a,0) ? -1 : stat(a,b))
>   #endif
>
> + #ifdef FEAT_CHANNEL
> + # ifdef WIN64
> + typedef __int64 sock_T;
> + # else
> + typedef int sock_T;
> + # endif
> + #endif
> +
>   #include "ex_cmds.h"      /* Ex command defines */
>   #include "proto.h"        /* function prototypes */
>
> ***************
> *** 2312,2315 ****
> --- 2320,2329 ----
>   # define SET_NO_HLSEARCH(flag) no_hlsearch = (flag)
>   #endif
>
> + #ifdef FEAT_CHANNEL
> + # define MAX_OPEN_CHANNELS 10
> + #else
> + # define MAX_OPEN_CHANNELS 0
> + #endif
> +
>   #endif /* VIM__H */
> *** ../vim-7.4.1168/src/configure.in    2016-01-20 22:11:53.253565698
> +0100
> --- src/configure.in    2016-01-24 18:36:43.424711424 +0100
> ***************
> *** 1938,1947 ****
>         , [enable_netbeans="yes"])
>   if test "$enable_netbeans" = "yes"; then
>     AC_MSG_RESULT(no)
>     dnl On Solaris we need the socket and nsl library.
>     AC_CHECK_LIB(socket, socket)
>     AC_CHECK_LIB(nsl, gethostbyname)
> !   AC_MSG_CHECKING(whether compiling netbeans integration is possible)
>     AC_TRY_LINK([
>   #include <stdio.h>
>   #include <stdlib.h>
> --- 1938,1967 ----
>         , [enable_netbeans="yes"])
>   if test "$enable_netbeans" = "yes"; then
>     AC_MSG_RESULT(no)
> + else
> +   AC_MSG_RESULT(yes)
> + fi
> +
> + AC_MSG_CHECKING(--disable-channel argument)
> + AC_ARG_ENABLE(channel,
> +       [  --disable-channel      Disable process communication support.],
> +       , [enable_channel="yes"])
> + if test "$enable_channel" = "yes"; then
> +   AC_MSG_RESULT(no)
> + else
> +   if test "$enable_netbeans" = "yes"; then
> +     AC_MSG_RESULT(yes, netbeans also disabled)
> +     enable_netbeans="no"
> +   else
> +     AC_MSG_RESULT(yes)
> +   fi
> + fi
> +
> + if "$enable_channel" = "yes"; then
>     dnl On Solaris we need the socket and nsl library.
>     AC_CHECK_LIB(socket, socket)
>     AC_CHECK_LIB(nsl, gethostbyname)
> !   AC_MSG_CHECKING(whether compiling with process communication is
> possible)
>     AC_TRY_LINK([
>   #include <stdio.h>
>   #include <stdlib.h>
> ***************
> *** 1967,1975 ****
>                   (void)connect(1, (struct sockaddr *)&server,
> sizeof(server));
>             ],
>         AC_MSG_RESULT(yes),
> !       AC_MSG_RESULT(no); enable_netbeans="no")
> ! else
> !   AC_MSG_RESULT(yes)
>   fi
>   if test "$enable_netbeans" = "yes"; then
>     AC_DEFINE(FEAT_NETBEANS_INTG)
> --- 1987,1993 ----
>                   (void)connect(1, (struct sockaddr *)&server,
> sizeof(server));
>             ],
>         AC_MSG_RESULT(yes),
> !       AC_MSG_RESULT(no); enable_netbeans="no"; enable_channel="no")
>   fi
>   if test "$enable_netbeans" = "yes"; then
>     AC_DEFINE(FEAT_NETBEANS_INTG)
> ***************
> *** 1978,1983 ****
> --- 1996,2008 ----
>     NETBEANS_OBJ="objects/netbeans.o"
>     AC_SUBST(NETBEANS_OBJ)
>   fi
> + if test "$enable_channel" = "yes"; then
> +   AC_DEFINE(FEAT_CHANNEL)
> +   CHANNEL_SRC="channel.c"
> +   AC_SUBST(CHANNEL_SRC)
> +   CHANNEL_OBJ="objects/channel.o"
> +   AC_SUBST(CHANNEL_OBJ)
> + fi
>
>   AC_MSG_CHECKING(--enable-sniff argument)
>   AC_ARG_ENABLE(sniff,
> *** ../vim-7.4.1168/src/auto/configure  2016-01-20 22:11:53.257565658 +0100
> --- src/auto/configure  2016-01-24 18:13:23.887232449 +0100
> ***************
> *** 656,661 ****
> --- 656,663 ----
>   xmkmfpath
>   SNIFF_OBJ
>   SNIFF_SRC
> + CHANNEL_OBJ
> + CHANNEL_SRC
>   NETBEANS_OBJ
>   NETBEANS_SRC
>   WORKSHOP_OBJ
> ***************
> *** 810,815 ****
> --- 812,818 ----
>   enable_cscope
>   enable_workshop
>   enable_netbeans
> + enable_channel
>   enable_sniff
>   enable_multibyte
>   enable_hangulinput
> ***************
> *** 1473,1478 ****
> --- 1476,1482 ----
>     --enable-cscope         Include cscope interface.
>     --enable-workshop       Include Sun Visual Workshop support.
>     --disable-netbeans      Disable NetBeans integration support.
> +   --disable-channel      Disable process communication support.
>     --enable-sniff          Include Sniff interface.
>     --enable-multibyte      Include multibyte editing support.
>     --enable-hangulinput    Include Hangul input support.
> ***************
> *** 7227,7232 ****
> --- 7231,7259 ----
>   if test "$enable_netbeans" = "yes"; then
>     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
>   $as_echo "no" >&6; }
> + else
> +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> + $as_echo "yes" >&6; }
> + fi
> +
> + { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-channel
> argument" >&5
> + $as_echo_n "checking --disable-channel argument... " >&6; }
> + # Check whether --enable-channel was given.
> + if test "${enable_channel+set}" = set; then :
> +   enableval=$enable_channel;
> + else
> +   enable_channel="yes"
> + fi
> +
> + if test "$enable_channel" = "yes"; then
> +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> + $as_echo "no" >&6; }
> + else
> +   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> + $as_echo "yes" >&6; }
> + fi
> +
> + if test "$enable_netbeans" = "yes" -o "$enable_channel" = "yes"; then
>       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in
> -lsocket" >&5
>   $as_echo_n "checking for socket in -lsocket... " >&6; }
>   if ${ac_cv_lib_socket_socket+:} false; then :
> ***************
> *** 7317,7324 ****
>
>   fi
>
> !   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling
> netbeans integration is possible" >&5
> ! $as_echo_n "checking whether compiling netbeans integration is
> possible... " >&6; }
>     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
>   /* end confdefs.h.  */
>
> --- 7344,7351 ----
>
>   fi
>
> !   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiling
> with process communication is possible" >&5
> ! $as_echo_n "checking whether compiling with process communication is
> possible... " >&6; }
>     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
>   /* end confdefs.h.  */
>
> ***************
> *** 7358,7370 ****
>   $as_echo "yes" >&6; }
>   else
>     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> ! $as_echo "no" >&6; }; enable_netbeans="no"
>   fi
>   rm -f core conftest.err conftest.$ac_objext \
>       conftest$ac_exeext conftest.$ac_ext
> - else
> -   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
> - $as_echo "yes" >&6; }
>   fi
>   if test "$enable_netbeans" = "yes"; then
>     $as_echo "#define FEAT_NETBEANS_INTG 1" >>confdefs.h
> --- 7385,7394 ----
>   $as_echo "yes" >&6; }
>   else
>     { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> ! $as_echo "no" >&6; }; enable_netbeans="no"; enable_channel="no"
>   fi
>   rm -f core conftest.err conftest.$ac_objext \
>       conftest$ac_exeext conftest.$ac_ext
>   fi
>   if test "$enable_netbeans" = "yes"; then
>     $as_echo "#define FEAT_NETBEANS_INTG 1" >>confdefs.h
> ***************
> *** 7374,7379 ****
> --- 7398,7411 ----
>     NETBEANS_OBJ="objects/netbeans.o"
>
>   fi
> + if test "$enable_channel" = "yes"; then
> +   $as_echo "#define FEAT_CHANNEL 1" >>confdefs.h
> +
> +   CHANNEL_SRC="channel.c"
> +
> +   CHANNEL_OBJ="objects/channel.o"
> +
> + fi
>
>   { $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-sniff
> argument" >&5
>   $as_echo_n "checking --enable-sniff argument... " >&6; }
> *** ../vim-7.4.1168/src/config.mk.in    2015-12-29 18:52:33.344054429
> +0100
> --- src/config.mk.in    2016-01-24 18:11:51.860185985 +0100
> ***************
> *** 89,94 ****
> --- 89,96 ----
>
>   NETBEANS_SRC  = @NETBEANS_SRC@
>   NETBEANS_OBJ  = @NETBEANS_OBJ@
> + CHANNEL_SRC   = @CHANNEL_SRC@
> + CHANNEL_OBJ   = @CHANNEL_OBJ@
>
>   RUBY          = @vi_cv_path_ruby@
>   RUBY_SRC      = @RUBY_SRC@
> *** ../vim-7.4.1168/src/config.aap.in   2010-07-14 22:59:55.000000000
> +0200
> --- src/config.aap.in   2016-01-24 18:12:29.307797966 +0100
> ***************
> *** 65,70 ****
> --- 65,72 ----
>
>   NETBEANS_SRC  = @NETBEANS_SRC@
>   NETBEANS_OBJ  = @NETBEANS_OBJ@
> + CHANNEL_SRC   = @CHANNEL_SRC@
> + CHANNEL_OBJ   = @CHANNEL_OBJ@
>
>   RUBY          = @vi_cv_path_ruby@
>   RUBY_SRC      = @RUBY_SRC@
> *** ../vim-7.4.1168/src/config.h.in     2016-01-09 19:39:39.277685945
> +0100
> --- src/config.h.in     2016-01-24 18:12:58.023500434 +0100
> ***************
> *** 435,440 ****
> --- 435,443 ----
>   /* Define if you want to include NetBeans integration. */
>   #undef FEAT_NETBEANS_INTG
>
> + /* Define if you want to include process communication. */
> + #undef FEAT_CHANNEL
> +
>   /* Define default global runtime path */
>   #undef RUNTIME_GLOBAL
>
> *** ../vim-7.4.1168/src/Make_bc5.mak    2016-01-23 19:45:48.622931332 +0100
> --- src/Make_bc5.mak    2016-01-24 18:40:18.666474776 +0100
> ***************
> *** 86,94 ****
>   #             (BIG for WIN32, SMALL for DOS16)
>   # WINVER      0x0400 or 0x0500: minimum Win32 version to support (0x0400)
>   # CSCOPE      no or yes: include support for Cscope interface (yes)
> ! # NETBEANS    no or yes: include support for Netbeans interface (yes if
> GUI
>   #             is yes)
>   # NBDEBUG     no or yes: include support for debugging Netbeans
> interface (no)
>   # XPM         define to path to XPM dir to get support for loading XPM
> images.
>
>   ### BOR: root of the BC installation
> --- 86,97 ----
>   #             (BIG for WIN32, SMALL for DOS16)
>   # WINVER      0x0400 or 0x0500: minimum Win32 version to support (0x0400)
>   # CSCOPE      no or yes: include support for Cscope interface (yes)
> ! # NETBEANS    no or yes: include support for Netbeans interface; also
> ! #             requires CHANNEL (yes if GUI
>   #             is yes)
>   # NBDEBUG     no or yes: include support for debugging Netbeans
> interface (no)
> + # CHANNEL     no or yes: include support for inter process communication
> (yes
> + #             if GUI is yes)
>   # XPM         define to path to XPM dir to get support for loading XPM
> images.
>
>   ### BOR: root of the BC installation
> ***************
> *** 137,142 ****
> --- 140,150 ----
>   NETBEANS = yes
>   !endif
>
> + ### CHANNEL: yes to enable inter process communication, no to disable it
> + !if ("$(CHANNEL)"=="") && ("$(GUI)"=="yes")
> + CHANNEL = yes
> + !endif
> +
>   ### LUA: uncomment this line if you want lua support in vim
>   # LUA=c:\lua
>
> ***************
> *** 466,471 ****
> --- 474,480 ----
>   RESFILE = vim.res
>   !else
>   !undef NETBEANS
> + !undef CHANNEL
>   !undef XPM
>   !undef VIMDLL
>   !if ("$(DEBUG)"=="yes")
> ***************
> *** 488,499 ****
> --- 497,517 ----
>   !endif
>
>   !if ("$(NETBEANS)"=="yes")
> + !if ("$(CHANNEL)"!="yes")
> + # cannot use Netbeans without CHANNEL
> + NETBEANS = no
> + !else
>   DEFINES = $(DEFINES) -DFEAT_NETBEANS_INTG
>   !if ("$(NBDEBUG)"=="yes")
>   DEFINES = $(DEFINES) -DNBDEBUG
>   NBDEBUG_DEP = nbdebug.h nbdebug.c
>   !endif
>   !endif
> + !endif
> +
> + !if ("$(CHANNEL)"=="yes")
> + DEFINES = $(DEFINES) -DFEAT_CHANNEL
> + !endif
>
>   !ifdef XPM
>   !if ("$(GUI)"=="yes")
> ***************
> *** 673,678 ****
> --- 691,701 ----
>       $(OBJDIR)\netbeans.obj
>   !endif
>
> + !if ("$(CHANNEL)"=="yes")
> + vimobj = $(vimobj) \
> +     $(OBJDIR)\channel.obj
> + !endif
> +
>   !ifdef XPM
>   vimobj = $(vimobj) \
>       $(OBJDIR)\xpm_w32.obj
> ***************
> *** 748,753 ****
> --- 771,779 ----
>   !if ("$(NETBEANS)"=="yes")
>   MSG = $(MSG) NETBEANS
>   !endif
> + !if ("$(CHANNEL)"=="yes")
> + MSG = $(MSG) CHANNEL
> + !endif
>   !ifdef XPM
>   MSG = $(MSG) XPM
>   !endif
> ***************
> *** 1029,1034 ****
> --- 1055,1063 ----
>   $(OBJDIR)\netbeans.obj: netbeans.c $(NBDEBUG_DEP)
>         $(CC) $(CCARG) $(CC1) $(CC2)$@ netbeans.c
>
> + $(OBJDIR)\channel.obj: channel.c
> +       $(CC) $(CCARG) $(CC1) $(CC2)$@ channel.c
> +
>   $(OBJDIR)\vim.res: vim.rc version.h tools.bmp tearoff.bmp \
>                 vim.ico vim_error.ico vim_alert.ico vim_info.ico
> vim_quest.ico
>         $(BRC) -fo$(OBJDIR)\vim.res -i $(BOR)\include -w32 -r vim.rc @&&|
> *** ../vim-7.4.1168/src/Make_cyg_ming.mak       2016-01-23
> 19:45:48.622931332 +0100
> --- src/Make_cyg_ming.mak       2016-01-24 18:41:36.221668634 +0100
> ***************
> *** 64,71 ****
>   endif
>   # Set to yes to enable Cscope support.
>   CSCOPE=yes
> ! # Set to yes to enable Netbeans support.
>   NETBEANS=$(GUI)
>
>
>   # Link against the shared version of libstdc++ by default.  Set
> --- 64,73 ----
>   endif
>   # Set to yes to enable Cscope support.
>   CSCOPE=yes
> ! # Set to yes to enable Netbeans support (requires CHANNEL).
>   NETBEANS=$(GUI)
> + # Set to yes to enable inter process communication.
> + CHANNEL=$(GUI)
>
>
>   # Link against the shared version of libstdc++ by default.  Set
> ***************
> *** 526,531 ****
> --- 528,537 ----
>   endif
>   endif
>
> + ifeq ($(CHANNEL),yes)
> + DEFINES += -DFEAT_CHANNEL
> + endif
> +
>   # DirectWrite (DirectX)
>   ifeq ($(DIRECTX),yes)
>   # Only allow DirectWrite for a GUI build.
> ***************
> *** 667,679 ****
> --- 673,700 ----
>   ifeq ($(CSCOPE),yes)
>   OBJ += $(OUTDIR)/if_cscope.o
>   endif
> +
>   ifeq ($(NETBEANS),yes)
> + ifneq ($(CHANNEL),yes)
> + # Cannot use Netbeans without CHANNEL
> + NETBEANS=no
> + else
>   # Only allow NETBEANS for a GUI build.
>   ifeq (yes, $(GUI))
>   OBJ += $(OUTDIR)/netbeans.o
>   LIB += -lwsock32
>   endif
>   endif
> + endif
> +
> + ifeq ($(CHANNEL),yes)
> + OBJ += $(OUTDIR)/channel.o
> + ifneq ($(NETBEANS),yes)
> + LIB += -lwsock32
> + endif
> + endif
> + endif
> +
>   ifeq ($(DIRECTX),yes)
>   # Only allow DIRECTX for a GUI build.
>   ifeq (yes, $(GUI))
> ***************
> *** 866,871 ****
> --- 887,895 ----
>   $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
>         $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
>
> + $(OUTDIR)/channel.o:  channel.c $(INCL)
> +       $(CC) -c $(CFLAGS) channel.c -o $(OUTDIR)/channel.o
> +
>   $(OUTDIR)/regexp.o:           regexp.c regexp_nfa.c $(INCL)
>         $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
>
> *** ../vim-7.4.1168/src/Make_mvc.mak    2016-01-23 19:45:48.626931291 +0100
> --- src/Make_mvc.mak    2016-01-24 18:45:45.635076419 +0100
> ***************
> *** 96,101 ****
> --- 96,108 ----
>   #     PostScript printing: POSTSCRIPT=yes (default is no)
>   #
>   #     Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is
> yes)
> + #     Requires CHANNEL.
> + #
> + #     Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
> + #     doesn't work)
> + #
> + #     Inter process communication: CHANNEL=[yes or no] (default is yes
> if GUI
> + #     is yes)
>   #
>   #     XPM Image Support: XPM=[path to XPM directory]
>   #     Default is "xpm", using the files included in the distribution.
> ***************
> *** 114,122 ****
>   #       yes:   Write a normal mapfile.
>   #       lines: Write a mapfile with line numbers (only for VC6 and later)
>   #
> - #     Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
> - #     doesn't work)
> - #
>   #     Static Code Analysis: ANALYZE=yes (works with VS2012 only)
>   #
>   # You can combine any of these interfaces
> --- 121,126 ----
> ***************
> *** 290,298 ****
>   NETBEANS = $(GUI)
>   !endif
>
> ! # Only allow NETBEANS and XPM for a GUI build.
>   !if "$(GUI)" == "yes"
> ! !if "$(NETBEANS)" == "yes"
>   # NETBEANS - Include support for Netbeans integration
>   NETBEANS_PRO  = proto/netbeans.pro
>   NETBEANS_OBJ  = $(OBJDIR)/netbeans.obj
> --- 294,306 ----
>   NETBEANS = $(GUI)
>   !endif
>
> ! !ifndef CHANNEL
> ! CHANNEL = $(GUI)
> ! !endif
> !
> ! # Only allow NETBEANS and XPM for a GUI build and CHANNEL.
>   !if "$(GUI)" == "yes"
> ! !if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes"
>   # NETBEANS - Include support for Netbeans integration
>   NETBEANS_PRO  = proto/netbeans.pro
>   NETBEANS_OBJ  = $(OBJDIR)/netbeans.obj
> ***************
> *** 333,338 ****
> --- 341,354 ----
>   !endif
>   !endif
>
> + !if "$(CHANNEL)" == "yes"
> + CHANNEL_PRO   = proto/channel.pro
> + CHANNEL_OBJ   = $(OBJDIR)/channel.obj
> + CHANNEL_DEFS  = -DFEAT_CHANNEL
> +
> + NETBEANS_LIB  = WSock32.lib
> + !endif
> +
>   # Set which version of the CRT to use
>   !if defined(USE_MSVCRT)
>   # CVARS = $(cvarsdll)
> ***************
> *** 365,371 ****
>   #VIMRUNTIMEDIR = somewhere
>
>   CFLAGS = -c /W3 /nologo $(CVARS) -I. -Iproto -DHAVE_PATHDEF -DWIN32 \
> !               $(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS) \
>                 $(NBDEBUG_DEFS) $(XPM_DEFS) \
>                 $(DEFINES) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
>                 /Fo$(OUTDIR)/
> --- 381,387 ----
>   #VIMRUNTIMEDIR = somewhere
>
>   CFLAGS = -c /W3 /nologo $(CVARS) -I. -Iproto -DHAVE_PATHDEF -DWIN32 \
> !               $(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS)
> $(CHANNEL_DEFS) \
>                 $(NBDEBUG_DEFS) $(XPM_DEFS) \
>                 $(DEFINES) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
>                 /Fo$(OUTDIR)/
> ***************
> *** 1005,1016 ****
>
>   $(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL)
> $(MZSCHEME_OBJ) \
>                 $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ)
> $(RUBY_OBJ) $(TCL_OBJ) \
> !               $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) \
>                 version.c version.h
>         $(CC) $(CFLAGS) version.c
>         $(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
>                 $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ)
> $(PYTHON3_OBJ) $(RUBY_OBJ) \
> !               $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) \
>                 $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
>         if exist $(VIM).exe.manifest mt.exe -nologo -manifest
> $(VIM).exe.manifest -updateresource:$(VIM).exe;1
>
> --- 1021,1032 ----
>
>   $(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL)
> $(MZSCHEME_OBJ) \
>                 $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ)
> $(RUBY_OBJ) $(TCL_OBJ) \
> !               $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ)
> $(XPM_OBJ) \
>                 version.c version.h
>         $(CC) $(CFLAGS) version.c
>         $(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
>                 $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ)
> $(PYTHON3_OBJ) $(RUBY_OBJ) \
> !               $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ)
> $(CHANNEL_OBJ) \
>                 $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2)
>         if exist $(VIM).exe.manifest mt.exe -nologo -manifest
> $(VIM).exe.manifest -updateresource:$(VIM).exe;1
>
> ***************
> *** 1227,1232 ****
> --- 1243,1250 ----
>
>   $(OUTDIR)/netbeans.obj: $(OUTDIR) netbeans.c $(NBDEBUG_SRC) $(INCL)
>
> + $(OUTDIR)/channel.obj: $(OUTDIR) channel.c $(INCL)
> +
>   $(OUTDIR)/normal.obj: $(OUTDIR) normal.c  $(INCL)
>
>   $(OUTDIR)/option.obj: $(OUTDIR) option.c  $(INCL)
> ***************
> *** 1362,1368 ****
>         proto/ui.pro \
>         proto/undo.pro \
>         proto/window.pro \
> !       $(NETBEANS_PRO)
>
>   .SUFFIXES: .cod .i
>
> --- 1380,1387 ----
>         proto/ui.pro \
>         proto/undo.pro \
>         proto/window.pro \
> !       $(NETBEANS_PRO) \
> !       $(CHANNEL_PRO)
>
>   .SUFFIXES: .cod .i
>
> *** ../vim-7.4.1168/src/version.c       2016-01-24 17:54:19.031096454 +0100
> --- src/version.c       2016-01-24 20:31:43.984948410 +0100
> ***************
> *** 743,744 ****
> --- 743,746 ----
>   {   /* Add new patch number below this line */
> + /**/
> +     1169,
>   /**/
>
> --
> He who laughs last, thinks slowest.
>
>  /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net
>  \\\
> ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/
> \\\
> \\\  an exciting new programming language -- http://www.Zimbu.org
> ///
>  \\\            help me help AIDS victims -- http://ICCF-Holland.org
> ///
>
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Christian J. Robinson <[email protected]>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Attachment: Make_Cyg_ming.patch
Description: Binary data

Raspunde prin e-mail lui