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.
Make_Cyg_ming.patch
Description: Binary data
