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.
diff --git a/src/Make_bc5.mak b/src/Make_bc5.mak
index 8dcb6e8..cb48ce0 100644
--- a/src/Make_bc5.mak
+++ b/src/Make_bc5.mak
@@ -86,9 +86,12 @@
 #		(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
+# 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,6 +140,11 @@
 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,6 +474,7 @@
 RESFILE = vim.res
 !else
 !undef NETBEANS
+!undef CHANNEL
 !undef XPM
 !undef VIMDLL
 !if ("$(DEBUG)"=="yes")
@@ -488,12 +497,21 @@
 !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,6 +691,11 @@
     $(OBJDIR)\netbeans.obj
 !endif
 
+!if ("$(CHANNEL)"=="yes")
+vimobj = $(vimobj) \
+    $(OBJDIR)\channel.obj
+!endif
+
 !ifdef XPM
 vimobj = $(vimobj) \
     $(OBJDIR)\xpm_w32.obj
@@ -748,6 +771,9 @@
 !if ("$(NETBEANS)"=="yes")
 MSG = $(MSG) NETBEANS
 !endif
+!if ("$(CHANNEL)"=="yes")
+MSG = $(MSG) CHANNEL
+!endif
 !ifdef XPM
 MSG = $(MSG) XPM
 !endif
@@ -1029,6 +1055,9 @@
 $(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 @&&|