--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.107 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.107 (extra)
+Problem: The NetBeans interface cannot be used on Win32.
+Solution: Add support for the NetBeans for Win32. Add support for reading
+ XPM files on Win32. Also fixes that a sign icon with a space in
+ the file name did not work through the NetBeans interface.
+ (Sergey Khorev)
+ Also: avoid repeating error messages when the connection is lost.
+Files: Makefile, runtime/doc/netbeans.txt, src/Make_bc5.mak,
+ src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
+ src/bigvim.bat, src/feature.h, src/gui_beval.c, src/gui_beval.h,
+ src/gui_w32.c, src/gui_w48.c, src/menu.c, src/nbdebug.c,
+ src/nbdebug.h, src/netbeans.c, src/os_mswin.c, src/os_win32.h,
+ src/proto/gui_beval.pro, src/proto/gui_w32.pro,
+ src/proto/netbeans.pro, src/proto.h, src/version.c, src/vim.h,
+ src/xpm_w32.c, src/xpm_w32.h
+
+
+*** ../vim-6.2.106/Makefile Sun Jun 1 12:07:20 2003
+--- Makefile Sun Oct 12 12:19:02 2003
+***************
+*** 438,443 ****
+--- 438,445 ----
+ src/vim16.rc \
+ src/vimrun.c \
+ src/vimtbar.h \
++ src/xpm_w32.c \
++ src/xpm_w32.h \
+ src/xxd/Make_bc3.mak \
+ src/xxd/Make_bc5.mak \
+ src/xxd/Make_cyg.mak \
+***************
+*** 564,569 ****
+--- 566,572 ----
+ src/gui_riscos.h \
+ src/if_sniff.c \
+ src/if_sniff.h \
++ src/infplist.xml \
+ src/link.390 \
+ src/os_beos.c \
+ src/os_beos.h \
+*** ../vim-6.2.106/runtime/doc/netbeans.txt Sun Jun 1 16:04:00 2003
+--- runtime/doc/netbeans.txt Fri Sep 12 21:37:19 2003
+***************
+*** 1,4 ****
+! *netbeans.txt* For Vim version 6.2. Last change: 2003 Jun 01
+
+
+ VIM REFERENCE MANUAL by Gordon Prieur
+--- 1,4 ----
+! *netbeans.txt* For Vim version 6.2. Last change: 2003 Sep 12
+
+
+ VIM REFERENCE MANUAL by Gordon Prieur
+***************
+*** 67,72 ****
+--- 67,77 ----
+ ==============================================================================
+ 3. Configuring Vim for NetBeans *netbeans-configure*
+
++ For more help installing vim, please read |usr_90.txt| in the Vim User Manual.
++
++
++ On Unix
++
+ When running configure without arguments the NetBeans interface should be
+ included. That is, if the configure check to find out if your system supports
+ the required features succeeds.
+***************
+*** 81,87 ****
+ If Motif support is required the user must supply XPM libraries. See
+ |workshop-xpm| for details on obtaining the latest version of XPM.
+
+! For more help installing vim, please read |usr_90.txt| in the Vim User Manual.
+
+ ==============================================================================
+ 4. Downloading NetBeans *netbeans-download*
+--- 86,99 ----
+ If Motif support is required the user must supply XPM libraries. See
+ |workshop-xpm| for details on obtaining the latest version of XPM.
+
+!
+! On MS-Windows
+!
+! The Win32 support is now in beta stage.
+!
+! To use XPM signs on Win32 (e.g. when using with Netbeans) you can compile
+! XPM by yourself or use precompiled libraries from http://iamphet.nm.ru/xpm
+! (for MS Visual C++) or http://gnuwin32.sourceforge.net (for MinGW).
+
+ ==============================================================================
+ 4. Downloading NetBeans *netbeans-download*
+***************
+*** 391,397 ****
+ Not implemented.
+
+ setDot off Make the buffer the current buffer and set the cursor at the
+! specified position.
+ In version 2.1 "lnum/col" can be used instead of "off".
+
+ setExitDelay seconds
+--- 411,418 ----
+ Not implemented.
+
+ setDot off Make the buffer the current buffer and set the cursor at the
+! specified position. If there are folds they are opened to
+! make the cursor line visible.
+ In version 2.1 "lnum/col" can be used instead of "off".
+
+ setExitDelay seconds
+*** ../vim-6.2.106/src/Make_bc5.mak Tue May 13 20:21:37 2003
+--- src/Make_bc5.mak Fri Sep 12 21:42:02 2003
+***************
+*** 72,77 ****
+--- 72,80 ----
+ # (BIG for WIN32, SMALL for DOS16)
+ # WINVER 0x400 or 0x500: minimum Win32 version to support (0x400)
+ # CSCOPE no or yes: include support for Cscope interface (yes)
++ # NETBEANS no or yes: include support for Netbeans interface (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
+ !if ("$(BOR)"=="")
+***************
+*** 114,119 ****
+--- 117,127 ----
+ CSCOPE = yes
+ !endif
+
++ ### NETBEANS: yes to enable NetBeans interface support, no to disable it
++ !if ("$(NETBEANS)"=="") && ("$(GUI)"=="yes")
++ NETBEANS = yes
++ !endif
++
+ ### PERL: uncomment this line if you want perl support in vim
+ # PERL=c:\perl
+
+***************
+*** 190,196 ****
+ ("$(RUBY)"=="") && \
+ ("$(ICONV)"!="yes") && \
+ ("$(IME)"!="yes") && \
+! ("$(MBYTE)"!="yes")
+ FASTCALL = yes
+ !endif
+
+--- 198,205 ----
+ ("$(RUBY)"=="") && \
+ ("$(ICONV)"!="yes") && \
+ ("$(IME)"!="yes") && \
+! ("$(MBYTE)"!="yes") && \
+! ("$(XPM)"=="")
+ FASTCALL = yes
+ !endif
+
+***************
+*** 372,377 ****
+--- 381,399 ----
+ DEFINES = $(DEFINES) -DFEAT_CSCOPE
+ !endif
+
++ !if ("$(NETBEANS)"=="yes")
++ DEFINES = $(DEFINES) -DFEAT_NETBEANS_INTG
++ !if ("$(DEBUG)"=="yes")
++ DEFINES = $(DEFINES) -DNBDEBUG
++ NBDEBUG_DEP = nbdebug.h nbdebug.c
++ !endif
++ !endif
++
++ !ifdef XPM
++ DEFINES = $(DEFINES) -DFEAT_XPM_W32
++ INCLUDE = $(XPM)\include;$(INCLUDE)
++ !endif
++
+ !if ("$(GUI)"=="yes")
+ DEFINES = $(DEFINES) -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
+ !if ("$(DEBUG)"=="yes")
+***************
+*** 448,454 ****
+ LINK = $(BOR)\BIN\ILink32
+ !endif
+ CC = $(BOR)\BIN\Bcc32
+! LFLAGS = -OS -r -Tpe -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
+ LFLAGSDLL = -Tpd -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
+ CFLAGS = -w-aus -w-par -w-pch -I$(INCLUDE) -d -x- -RT- -k- -Oi $(HEADERS) -f-
+ !endif
+--- 470,476 ----
+ LINK = $(BOR)\BIN\ILink32
+ !endif
+ CC = $(BOR)\BIN\Bcc32
+! LFLAGS = -OS -Tpe -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
+ LFLAGSDLL = -Tpd -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
+ CFLAGS = -w-aus -w-par -w-pch -I$(INCLUDE) -d -x- -RT- -k- -Oi $(HEADERS) -f-
+ !endif
+***************
+*** 512,518 ****
+ $(OBJDIR)\normal.obj \
+ $(OBJDIR)\ops.obj \
+ $(OBJDIR)\option.obj \
+- $(OBJDIR)\pathdef.obj \
+ $(OBJDIR)\quickfix.obj \
+ $(OBJDIR)\regexp.obj \
+ $(OBJDIR)\screen.obj \
+--- 534,539 ----
+***************
+*** 523,529 ****
+ $(OBJDIR)\ui.obj \
+ $(OBJDIR)\undo.obj \
+ $(OBJDIR)\version.obj \
+! $(OBJDIR)\window.obj
+
+ !if ("$(OLE)"=="yes")
+ vimobj = $(vimobj) \
+--- 544,551 ----
+ $(OBJDIR)\ui.obj \
+ $(OBJDIR)\undo.obj \
+ $(OBJDIR)\version.obj \
+! $(OBJDIR)\window.obj \
+! $(OBJDIR)\pathdef.obj
+
+ !if ("$(OLE)"=="yes")
+ vimobj = $(vimobj) \
+***************
+*** 550,560 ****
+ $(OBJDIR)\if_tcl.obj
+ !endif
+
+! !ifdef CSCOPE
+ vimobj = $(vimobj) \
+ $(OBJDIR)\if_cscope.obj
+ !endif
+
+ !if ("$(VIMDLL)"=="yes")
+ vimdllobj = $(vimobj)
+ !if ("$(DEBUG)"=="yes")
+--- 572,592 ----
+ $(OBJDIR)\if_tcl.obj
+ !endif
+
+! !if ("$(CSCOPE)"=="yes")
+ vimobj = $(vimobj) \
+ $(OBJDIR)\if_cscope.obj
+ !endif
+
++ !if ("$(NETBEANS)"=="yes")
++ vimobj = $(vimobj) \
++ $(OBJDIR)\netbeans.obj $(OBJDIR)\gui_beval.obj
++ !endif
++
++ !ifdef XPM
++ vimobj = $(vimobj) \
++ $(OBJDIR)\xpm_w32.obj
++ !endif
++
+ !if ("$(VIMDLL)"=="yes")
+ vimdllobj = $(vimobj)
+ !if ("$(DEBUG)"=="yes")
+***************
+*** 620,625 ****
+--- 652,663 ----
+ !if ("$(CSCOPE)"=="yes")
+ MSG = $(MSG) CSCOPE
+ !endif
++ !if ("$(NETBEANS)"=="yes")
++ MSG = $(MSG) NETBEANS
++ !endif
++ !ifdef XPM
++ MSG = $(MSG) XPM
++ !endif
+ !ifdef PERL
+ MSG = $(MSG) PERL
+ ! if "$(DYNAMIC_PERL)" == "yes"
+***************
+*** 728,733 ****
+--- 766,774 ----
+ !ifdef TCL
+ -@del tcl.lib
+ !endif
++ !ifdef XPM
++ -@del xpm.lib
++ !endif
+ cd xxd
+ $(MAKE) /f Make_bc5.mak BOR="$(BOR)" clean
+ cd ..
+***************
+*** 762,767 ****
+--- 803,811 ----
+ !ifdef TCL
+ $(TCL_LIB_FLAG)tcl.lib+
+ !endif
++ !ifdef XPM
++ xpm.lib+
++ !endif
+ !if ("$(USEDLL)"=="yes")
+ cw32i.lib
+ !else
+***************
+*** 808,813 ****
+--- 852,860 ----
+ !ifdef TCL
+ $(TCL_LIB_FLAG)tcl.lib+
+ !endif
++ !ifdef XPM
++ xpm.lib+
++ !endif
+ !if ("$(USEDLL)"=="yes")
+ cw32i.lib
+ !else
+***************
+*** 842,847 ****
+--- 889,900 ----
+ $(OBJDIR)\if_tcl.obj: if_tcl.c tcl.lib
+ $(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_tcl.c
+
++ $(OBJDIR)\xpm_w32.obj: xpm_w32.c xpm.lib
++ $(CC) $(CCARG) $(CC1) $(CC2)$@ -pc xpm_w32.c
++
++ $(OBJDIR)\netbeans.obj: netbeans.c $(NBDEBUG_DEP)
++ $(CC) $(CCARG) $(CC1) $(CC2)$@ netbeans.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 @&&|
+***************
+*** 876,881 ****
+--- 929,939 ----
+
+ ruby.lib: $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib
+ coff2omf $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib $@
++
++ # For some reason, the coff2omf method doesn't work on libXpm.lib, so
++ # we have to manually generate an import library straight from the DLL.
++ xpm.lib: $(XPM)\lib\libXpm.lib
++ implib -a $@ $(XPM)\bin\libXpm.dll
+
+ tcl.lib: $(TCL_LIB)
+ !if ("$(DYNAMIC_TCL)" == "yes")
+*** ../vim-6.2.106/src/Make_cyg.mak Sun Jul 27 13:40:24 2003
+--- src/Make_cyg.mak Fri Sep 12 21:52:50 2003
+***************
+*** 4,10 ****
+ # This compiles Vim as a Windows application. If you want Vim to run as a
+ # Cygwin application use the Makefile (just like on Unix).
+ #
+! # Last updated by Dan Sharp. Last Change: 2003 Jun 22
+ #
+ # GUI no or yes: set to yes if you want the GUI version (yes)
+ # PERL define to path to Perl dir to get Perl support (not defined)
+--- 4,10 ----
+ # This compiles Vim as a Windows application. If you want Vim to run as a
+ # Cygwin application use the Makefile (just like on Unix).
+ #
+! # Last updated by Dan Sharp. Last Change: 2003 Sep 12
+ #
+ # GUI no or yes: set to yes if you want the GUI version (yes)
+ # PERL define to path to Perl dir to get Perl support (not defined)
+***************
+*** 35,40 ****
+--- 35,43 ----
+ # WINVER Lowest Win32 version to support. (0x400)
+ # CSCOPE no or yes: to include cscope interface support (yes)
+ # OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
++ # NETBEANS no or yes: to include netbeans interface support (yes when GUI
++ # is yes)
++ # XPM define to path to XPM dir to get XPM image support (not defined)
+ #>>>>> choose options:
+ ifndef GUI
+ GUI=yes
+***************
+*** 76,81 ****
+--- 79,90 ----
+ CSCOPE = yes
+ endif
+
++ ifndef NETBEANS
++ ifeq ($(GUI),yes)
++ NETBEANS = yes
++ endif
++ endif
++
+ ifndef OPTIMIZE
+ OPTIMIZE = MAXSPEED
+ endif
+***************
+*** 266,271 ****
+--- 275,301 ----
+ endif
+
+ ##############################
++ ifeq (yes, $(NETBEANS))
++ DEFINES += -DFEAT_NETBEANS_INTG
++ EXTRA_OBJS += $(OUTDIR)/netbeans.o $(OUTDIR)/gui_beval.o
++ EXTRA_LIBS += -lws2_32
++
++ ifeq (yes, $(DEBUG))
++ DEFINES += -DNBDEBUG
++ NBDEBUG_DEP = nbdebug.h nbdebug.c
++ endif
++
++ endif
++
++ ##############################
++ ifdef XPM
++ DEFINES += -DFEAT_XPM_W32
++ INCLUDES += -I$(XPM)/include
++ EXTRA_OBJS += $(OUTDIR)/xpm_w32.o
++ EXTRA_LIBS += -L$(XPM)/lib -lXpm
++ endif
++
++ ##############################
+ ifeq (yes, $(OLE))
+ DEFINES += -DFEAT_OLE
+ EXTRA_OBJS += $(OUTDIR)/if_ole.o
+***************
+*** 417,422 ****
+--- 447,455 ----
+
+ $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
+ $(CC) -c $(CFLAGS) -U_WIN32 if_ruby.c -o $(OUTDIR)/if_ruby.o
++
++ $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_DEP)
++ $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
+
+ $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
+ $(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o
+*** ../vim-6.2.106/src/Make_ming.mak Tue May 27 21:15:20 2003
+--- src/Make_ming.mak Fri Sep 12 22:03:17 2003
+***************
+*** 52,59 ****
+ OLE=no
+ # Set the default $(WINVER) to make it work with pre-Win2k
+ WINVER = 0x0400
+! #set to yes to enable Cscope support
+ CSCOPE=yes
+
+ # If the user doesn't want gettext, undefine it.
+ ifeq (no, $(GETTEXT))
+--- 52,62 ----
+ OLE=no
+ # Set the default $(WINVER) to make it work with pre-Win2k
+ WINVER = 0x0400
+! # Set to yes to enable Cscope support
+ CSCOPE=yes
++ # Set to yes to enable Netbeans support
++ NETBEANS=$(GUI)
++
+
+ # If the user doesn't want gettext, undefine it.
+ ifeq (no, $(GETTEXT))
+***************
+*** 270,275 ****
+--- 273,291 ----
+ DEFINES += -DFEAT_CSCOPE
+ endif
+
++ ifeq ($(NETBEANS),yes)
++ DEFINES += -DFEAT_NETBEANS_INTG
++ ifeq ($(DEBUG), yes)
++ DEFINES += -DNBDEBUG
++ NBDEBUG_INCL = nbdebug.h
++ NBDEBUG_SRC = nbdebug.c
++ endif
++ endif
++
++ ifdef XPM
++ CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include
++ endif
++
+ ifeq ($(DEBUG),yes)
+ CFLAGS += -g -fstack-check
+ DEBUG_SUFFIX=d
+***************
+*** 348,353 ****
+--- 364,378 ----
+ ifeq ($(CSCOPE),yes)
+ OBJ += $(OUTDIR)/if_cscope.o
+ endif
++ ifeq ($(NETBEANS),yes)
++ OBJ += $(OUTDIR)/netbeans.o $(OUTDIR)/gui_beval.o
++ LIB += -lws2_32
++ endif
++ ifdef XPM
++ OBJ += $(OUTDIR)/xpm_w32.o
++ # You'll need libXpm.a from http://gnuwin32.sf.net
++ LIB += -L $(XPM)/lib -lXpm
++ endif
+
+
+ ifeq ($(GUI),yes)
+***************
+*** 487,492 ****
+--- 512,520 ----
+ if_perl.c: if_perl.xs typemap
+ perl $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \
+ $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@
++
++ $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
++ $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
+
+ pathdef.c: $(INCL)
+ ifneq (sh.exe, $(SHELL))
+*** ../vim-6.2.106/src/Make_mvc.mak Sun Aug 10 22:37:55 2003
+--- src/Make_mvc.mak Fri Sep 12 22:07:37 2003
+***************
+*** 12,18 ****
+ # nmake -f Make_mvc.mak
+ # This will build the console version of vim with no additional interfaces.
+ # To add interfaces, define any of the following:
+! # GUI interface: GUI=yes
+ # OLE interface: OLE=yes (usually with GUI=yes)
+ # Multibyte support: MBYTE=yes
+ # IME support: IME=yes (requires GUI=yes)
+--- 12,18 ----
+ # nmake -f Make_mvc.mak
+ # This will build the console version of vim with no additional interfaces.
+ # To add interfaces, define any of the following:
+! # GUI interface: GUI=yes (default is no)
+ # OLE interface: OLE=yes (usually with GUI=yes)
+ # Multibyte support: MBYTE=yes
+ # IME support: IME=yes (requires GUI=yes)
+***************
+*** 39,52 ****
+ # TCL_VER=[Tcl version, e.g. 80, 83] (default is 83)
+ # TCL_VER_LONG=[Tcl version, eg 8.3] (default is 8.3)
+ # You must set TCL_VER_LONG when you set TCL_VER.
+- # Cscope support: CSCOPE=yes
+ # Debug version: DEBUG=yes
+ # Mapfile: MAP=[no, yes or lines] (default is yes)
+ # no: Don't write a mapfile.
+ # yes: Write a normal mapfile.
+ # lines: Write a mapfile with line numbers (only for VC6 and later)
+ # SNiFF+ interface: SNIFF=yes
+! # Cscope interface: CSCOPE=yes
+ # Iconv library support (always dynamically loaded):
+ # ICONV=[yes or no] (default is yes)
+ # Intl library support (always dynamically loaded):
+--- 39,51 ----
+ # TCL_VER=[Tcl version, e.g. 80, 83] (default is 83)
+ # TCL_VER_LONG=[Tcl version, eg 8.3] (default is 8.3)
+ # You must set TCL_VER_LONG when you set TCL_VER.
+ # Debug version: DEBUG=yes
+ # Mapfile: MAP=[no, yes or lines] (default is yes)
+ # no: Don't write a mapfile.
+ # yes: Write a normal mapfile.
+ # lines: Write a mapfile with line numbers (only for VC6 and later)
+ # SNiFF+ interface: SNIFF=yes
+! # Cscope support: CSCOPE=yes
+ # Iconv library support (always dynamically loaded):
+ # ICONV=[yes or no] (default is yes)
+ # Intl library support (always dynamically loaded):
+***************
+*** 57,62 ****
+--- 56,63 ----
+ # Version Support: WINVER=[0x400, 0x500] (default is 0x400)
+ # Processor Version: CPUNR=[i386, i486, i586, i686] (default is i386)
+ # Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
++ # Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
++ # XPM Image Support: XPM=[path to XPM directory]
+ #
+ # You can combine any of these interfaces
+ #
+***************
+*** 173,178 ****
+--- 174,183 ----
+ MULTITHREADED = yes
+ !endif
+
++ !ifndef CSCOPE
++ CSCOPE = yes
++ !endif
++
+ !if "$(CSCOPE)" == "yes"
+ # CSCOPE - Include support for Cscope
+ CSCOPE_INCL = if_cscope.h
+***************
+*** 180,185 ****
+--- 185,216 ----
+ CSCOPE_DEFS = -DFEAT_CSCOPE
+ !endif
+
++ !ifndef NETBEANS
++ NETBEANS = $(GUI)
++ !endif
++
++ !if "$(NETBEANS)" == "yes"
++ # NETBEANS - Include support for Netbeans integration
++ NETBEANS_PRO = proto/netbeans.pro
++ NETBEANS_OBJ = $(OBJDIR)/netbeans.obj $(OBJDIR)/gui_beval.obj
++ NETBEANS_DEFS = -DFEAT_NETBEANS_INTG
++ !if "$(DEBUG)" == "yes"
++ NBDEBUG_DEFS = -DNBDEBUG
++ NBDEBUG_INCL = nbdebug.h
++ NBDEBUG_SRC = nbdebug.c
++ !endif
++ NETBEANS_LIB = Ws2_32.lib
++ !endif
++
++ !ifdef XPM
++ # XPM - Include support for XPM signs
++ # you can get xpm.lib from http://iamphet.nm.ru/xpm or create it yourself
++ XPM_OBJ = $(OBJDIR)/xpm_w32.obj
++ XPM_DEFS = -DFEAT_XPM_W32
++ XPM_LIB = $(XPM)\lib\libXpm.lib
++ XPM_INC = -I $(XPM)\include
++ !endif
++
+ !if defined(USE_MSVCRT)
+ CVARS = $(cvarsdll)
+ !elseif defined(MULTITHREADED)
+***************
+*** 208,215 ****
+ #VIMRUNTIMEDIR = somewhere
+
+ CFLAGS = -c /W3 /nologo $(CVARS) -I. -Iproto -DHAVE_PATHDEF -DWIN32 \
+! $(SNIFF_DEFS) $(CSCOPE_DEFS) $(DEFINES) \
+! -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
+
+ #>>>>> end of choices
+ ###########################################################################
+--- 239,247 ----
+ #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)
+
+ #>>>>> end of choices
+ ###########################################################################
+***************
+*** 285,291 ****
+ !endif # DEBUG
+
+ INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \
+! proto.h option.h structs.h term.h $(SNIFF_INCL) $(CSCOPE_INCL)
+
+ OBJ = \
+ $(OUTDIR)\buffer.obj \
+--- 317,324 ----
+ !endif # DEBUG
+
+ INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \
+! proto.h option.h structs.h term.h $(SNIFF_INCL) $(CSCOPE_INCL) \
+! $(NBDEBUG_INCL)
+
+ OBJ = \
+ $(OUTDIR)\buffer.obj \
+***************
+*** 568,581 ****
+
+ LINKARGS1 = $(linkdebug) $(conflags) /nodefaultlib:libc
+ LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(LIBC) $(OLE_LIB) user32.lib $(SNIFF_LIB) \
+! $(PERL_LIB) $(PYTHON_LIB) $(RUBY_LIB) $(TCL_LIB) $(LINK_PDB)
+
+ all: $(VIM) vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvimext.dll
+
+! $(VIM): $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) version.c version.h
+ $(CC) $(CFLAGS) version.c /Fo$(OUTDIR)/version.obj $(PDB)
+ $(link) $(LINKARGS1) -out:$*.exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
+! $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) \
+ $(OUTDIR)\version.obj $(LINKARGS2)
+
+ $(VIM).exe: $(VIM)
+--- 601,616 ----
+
+ LINKARGS1 = $(linkdebug) $(conflags) /nodefaultlib:libc
+ LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(LIBC) $(OLE_LIB) user32.lib $(SNIFF_LIB) \
+! $(PERL_LIB) $(PYTHON_LIB) $(RUBY_LIB) $(TCL_LIB) \
+! $(NETBEANS_LIB) $(XPM_LIB) $(LINK_PDB)
+
+ all: $(VIM) vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvimext.dll
+
+! $(VIM): $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) version.c version.h
+ $(CC) $(CFLAGS) version.c /Fo$(OUTDIR)/version.obj $(PDB)
+ $(link) $(LINKARGS1) -out:$*.exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
+! $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) \
+! $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) \
+ $(OUTDIR)\version.obj $(LINKARGS2)
+
+ $(VIM).exe: $(VIM)
+***************
+*** 695,700 ****
+--- 730,737 ----
+
+ $(OUTDIR)/gui_w32.obj: $(OUTDIR) gui_w32.c gui_w48.c $(INCL) $(GUI_INCL)
+
++ $(OUTDIR)/if_cscope.obj: $(OUTDIR) if_cscope.c $(INCL)
++
+ if_perl.c : if_perl.xs typemap
+ $(PERL_EXE) $(XSUBPP) -prototypes -typemap $(XSUBPP_TYPEMAP) -typemap typemap if_perl.xs > if_perl.c
+
+***************
+*** 738,743 ****
+--- 775,782 ----
+
+ $(OUTDIR)/mbyte.obj: $(OUTDIR) mbyte.c $(INCL)
+
++ $(OUTDIR)/netbeans.obj: $(OUTDIR) netbeans.c $(NBDEBUG_SRC) $(INCL)
++
+ $(OUTDIR)/normal.obj: $(OUTDIR) normal.c $(INCL)
+
+ $(OUTDIR)/option.obj: $(OUTDIR) option.c $(INCL)
+***************
+*** 773,778 ****
+--- 812,820 ----
+
+ $(OUTDIR)/window.obj: $(OUTDIR) window.c $(INCL)
+
++ $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
++ $(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c /Fo$(OUTDIR)/xpm_w32.obj $(PDB)
++
+ $(OUTDIR)/vim.res: $(OUTDIR) vim.rc version.h tools.bmp tearoff.bmp vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
+ $(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc
+
+***************
+*** 839,844 ****
+ proto/term.pro \
+ proto/ui.pro \
+ proto/undo.pro \
+! proto/window.pro
+
+ # vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
+--- 881,887 ----
+ proto/term.pro \
+ proto/ui.pro \
+ proto/undo.pro \
+! proto/window.pro \
+! $(NETBEANS_PRO)
+
+ # vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
+*** ../vim-6.2.106/src/bigvim.bat Mon Apr 28 21:30:10 2003
+--- src/bigvim.bat Fri Sep 12 22:08:59 2003
+***************
+*** 1,3 ****
+ :: command to build big Vim with OLE, Perl, Python and Tcl
+! nmake -f make_mvc.mak GUI=yes OLE=yes PERL=E:\perl DYNAMIC_PERL=yes PERL_VER=56 PYTHON=e:\python21 DYNAMIC_PYTHON=yes PYTHON_VER=21 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
+
+--- 1,3 ----
+ :: command to build big Vim with OLE, Perl, Python and Tcl
+! nmake -f make_mvc.mak GUI=yes OLE=yes PERL=E:\perl DYNAMIC_PERL=yes PERL_VER=56 PYTHON=e:\python21 DYNAMIC_PYTHON=yes PYTHON_VER=21 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm
+
+*** ../vim-6.2.106/src/feature.h Mon Jun 30 22:18:22 2003
+--- src/feature.h Fri Sep 12 22:14:26 2003
+***************
+*** 1109,1118 ****
+ #endif
+
+ /*
+! * The Netbeans features currently only work with Motif and GTK.
+ * It also requires +listcmds and +eval.
+ */
+! #if ((!defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK)) \
+ || !defined(FEAT_LISTCMDS) || !defined(FEAT_EVAL)) \
+ && defined(FEAT_NETBEANS_INTG)
+ # undef FEAT_NETBEANS_INTG
+--- 1109,1118 ----
+ #endif
+
+ /*
+! * The Netbeans features currently only work with Motif and GTK and Win32.
+ * It also requires +listcmds and +eval.
+ */
+! #if ((!defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \
+ || !defined(FEAT_LISTCMDS) || !defined(FEAT_EVAL)) \
+ && defined(FEAT_NETBEANS_INTG)
+ # undef FEAT_NETBEANS_INTG
+***************
+*** 1139,1150 ****
+ * Currently only for Athena and Motif.
+ */
+ #if (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
+! || defined(FEAT_GUI_GTK)) \
+! && ( (defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_GTK)) \
+ || defined(FEAT_SUN_WORKSHOP) \
+ || defined(FEAT_NETBEANS_INTG))
+ # define FEAT_BEVAL
+! # if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK)
+ # define FEAT_XFONTSET
+ # endif
+ #endif
+--- 1139,1152 ----
+ * Currently only for Athena and Motif.
+ */
+ #if (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \
+! || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32)) \
+! && ( (defined(FEAT_TOOLBAR) \
+! && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \
+ || defined(FEAT_SUN_WORKSHOP) \
+ || defined(FEAT_NETBEANS_INTG))
+ # define FEAT_BEVAL
+! # if !defined(FEAT_XFONTSET) && !defined(FEAT_GUI_GTK) \
+! && !defined(FEAT_GUI_W32)
+ # define FEAT_XFONTSET
+ # endif
+ #endif
+*** ../vim-6.2.106/src/gui_beval.c Sat May 31 22:30:51 2003
+--- src/gui_beval.c Fri Sep 12 22:17:52 2003
+***************
+*** 12,17 ****
+--- 12,20 ----
+
+ #if defined(FEAT_BEVAL) || defined(PROTO)
+
++ /* on Win32 only gui_mch_get_beval_info is required */
++ #if !defined(FEAT_GUI_W32) || defined(PROTO)
++
+ #ifdef FEAT_GUI_GTK
+ # include <gdk/gdkkeysyms.h>
+ # include <gtk/gtk.h>
+***************
+*** 194,199 ****
+--- 197,203 ----
+ return current_beval;
+ }
+ #endif
++ #endif /* !FEAT_GUI_W32 */
+
+ #if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG) || defined(PROTO)
+ /*
+***************
+*** 256,265 ****
+ if (VIsual_active
+ && wp->w_buffer == curwin->w_buffer
+ && (lnum == spos->lnum
+! ? col >= spos->col
+ : lnum > spos->lnum)
+ && (lnum == epos->lnum
+! ? col <= epos->col
+ : lnum < epos->lnum))
+ {
+ /* Visual mode and pointing to the line with the
+--- 260,269 ----
+ if (VIsual_active
+ && wp->w_buffer == curwin->w_buffer
+ && (lnum == spos->lnum
+! ? col >= (int)spos->col
+ : lnum > spos->lnum)
+ && (lnum == epos->lnum
+! ? col <= (int)epos->col
+ : lnum < epos->lnum))
+ {
+ /* Visual mode and pointing to the line with the
+***************
+*** 300,305 ****
+--- 304,311 ----
+ return FAIL;
+ }
+
++ # if !defined(FEAT_GUI_W32) || defined(PROTO)
++
+ /*
+ * Show a balloon with "mesg".
+ */
+***************
+*** 314,321 ****
+ else
+ undrawBalloon(beval);
+ }
+! #endif
+
+ #if defined(FEAT_BEVAL_TIP) || defined(PROTO)
+ /*
+ * Hide the given balloon.
+--- 320,329 ----
+ else
+ undrawBalloon(beval);
+ }
+! # endif /* FEAT_GUI_W32 */
+! #endif /* FEAT_SUN_WORKSHOP || FEAT_NETBEANS_INTG || PROTO */
+
++ #if !defined(FEAT_GUI_W32) || defined(PROTO)
+ #if defined(FEAT_BEVAL_TIP) || defined(PROTO)
+ /*
+ * Hide the given balloon.
+***************
+*** 1255,1259 ****
+--- 1263,1268 ----
+ }
+
+ #endif /* !FEAT_GUI_GTK */
++ #endif /* !FEAT_GUI_W32 */
+
+ #endif /* FEAT_BEVAL */
+*** ../vim-6.2.106/src/gui_beval.h Sat Apr 19 16:06:43 2003
+--- src/gui_beval.h Mon Sep 29 09:56:44 2003
+***************
+*** 13,19 ****
+ #ifdef FEAT_GUI_GTK
+ # include <gtk/gtkwidget.h>
+ #else
+! # include <X11/Intrinsic.h>
+ #endif
+
+ typedef enum
+--- 13,21 ----
+ #ifdef FEAT_GUI_GTK
+ # include <gtk/gtkwidget.h>
+ #else
+! # if defined(FEAT_GUI_X11)
+! # include <X11/Intrinsic.h>
+! # endif
+ #endif
+
+ typedef enum
+***************
+*** 36,41 ****
+--- 38,44 ----
+ int y;
+ unsigned int state; /* Button/Modifier key state */
+ #else
++ # if !defined(FEAT_GUI_W32)
+ Widget target; /* widget we are monitoring */
+ Widget balloonShell;
+ Widget balloonLabel;
+***************
+*** 47,58 ****
+ Position x_root;
+ Position y_root;
+ int state; /* Button/Modifier key state */
+ #endif
+ int ts; /* tabstop setting for this buffer */
+ char_u *msg;
+ void (*msgCB)();
+ void *clientData; /* For callback */
+! #ifndef FEAT_GUI_GTK
+ Dimension screen_width; /* screen width in pixels */
+ Dimension screen_height; /* screen height in pixels */
+ #endif
+--- 50,68 ----
+ Position x_root;
+ Position y_root;
+ int state; /* Button/Modifier key state */
++ # else
++ HWND target;
++ HWND balloon;
++ int x;
++ int y;
++ BeState showState; /* tells us whats currently going on */
++ # endif
+ #endif
+ int ts; /* tabstop setting for this buffer */
+ char_u *msg;
+ void (*msgCB)();
+ void *clientData; /* For callback */
+! #if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
+ Dimension screen_width; /* screen width in pixels */
+ Dimension screen_height; /* screen height in pixels */
+ #endif
+*** ../vim-6.2.106/src/gui_w32.c Fri Jul 25 22:43:59 2003
+--- src/gui_w32.c Mon Sep 29 11:29:15 2003
+***************
+*** 44,49 ****
+--- 44,52 ----
+ */
+ #include "gui_w48.c"
+
++ #ifdef FEAT_XPM_W32
++ # include "xpm_w32.h"
++ #endif
+
+ #ifdef __MINGW32__
+ /*
+***************
+*** 170,175 ****
+--- 173,192 ----
+ #endif
+
+
++ #ifdef FEAT_BEVAL
++ # define ID_BEVAL_TOOLTIP 200
++ # define BEVAL_TEXT_LEN MAXPATHL
++
++ static void make_tooltip __ARGS((BalloonEval *beval, char *text, POINT pt));
++ static void delete_tooltip __ARGS((BalloonEval *beval));
++ static VOID CALLBACK BevalTimerProc __ARGS((HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime));
++ void TrackUserActivity __ARGS((UINT uMsg));
++
++ static BalloonEval *cur_beval = NULL;
++ static UINT BevalTimerId = 0;
++ static DWORD LastActivity = 0;
++ #endif
++
+ /* Local variables: */
+
+ #ifdef FEAT_MENU
+***************
+*** 182,188 ****
+ # define USE_SYSMENU_FONT
+ #endif
+
+-
+ #define VIM_NAME "vim"
+ #define VIM_CLASS "Vim"
+
+--- 199,204 ----
+***************
+*** 287,293 ****
+ static TMonitorFromWindow pMonitorFromWindow = NULL;
+ static TGetMonitorInfo pGetMonitorInfo = NULL;
+ static HANDLE user32_lib = NULL;
+!
+ /*
+ * Return TRUE when running under Windows NT 3.x or Win32s, both of which have
+ * less fancy GUI APIs.
+--- 303,311 ----
+ static TMonitorFromWindow pMonitorFromWindow = NULL;
+ static TGetMonitorInfo pGetMonitorInfo = NULL;
+ static HANDLE user32_lib = NULL;
+! #ifdef FEAT_NETBEANS_INTG
+! int WSInitialized = FALSE; /* WinSock is initialized */
+! #endif
+ /*
+ * Return TRUE when running under Windows NT 3.x or Win32s, both of which have
+ * less fancy GUI APIs.
+***************
+*** 512,517 ****
+--- 530,557 ----
+ }
+ #endif
+
++ #ifdef FEAT_NETBEANS_INTG
++ static void
++ _OnWindowPosChanged(
++ HWND hwnd,
++ const LPWINDOWPOS lpwpos)
++ {
++ static int x = 0, y = 0, cx = 0, cy = 0;
++
++ if (WSInitialized && (lpwpos->x != x || lpwpos->y != y
++ || lpwpos->cx != cx || lpwpos->cy != cy))
++ {
++ x = lpwpos->x;
++ y = lpwpos->y;
++ cx = lpwpos->cx;
++ cy = lpwpos->cy;
++ netbeans_frame_moved(x, y);
++ }
++ /* Allow to send WM_SIZE and WM_MOVE */
++ FORWARD_WM_WINDOWPOSCHANGED(hwnd, lpwpos, DefWindowProc);
++ }
++ #endif
++
+ static int
+ _DuringSizing(
+ HWND hwnd,
+***************
+*** 588,593 ****
+--- 628,636 ----
+ HANDLE_MSG(hwnd, WM_VSCROLL, _OnScroll);
+ // HANDLE_MSG(hwnd, WM_WINDOWPOSCHANGING, _OnWindowPosChanging);
+ HANDLE_MSG(hwnd, WM_ACTIVATEAPP, _OnActivateApp);
++ #ifdef FEAT_NETBEANS_INTG
++ HANDLE_MSG(hwnd, WM_WINDOWPOSCHANGED, _OnWindowPosChanged);
++ #endif
+
+ case WM_QUERYENDSESSION: /* System wants to go down. */
+ gui_shell_closed(); /* Will exit when no changed buffers. */
+***************
+*** 838,843 ****
+--- 881,914 ----
+ }
+ #endif
+
++ #ifdef FEAT_NETBEANS_INTG
++ {
++ /* stolen from gui_x11.x */
++ int arg;
++
++ for (arg = 1; arg < *argc; arg++)
++ if (strncmp("-nb", argv[arg], 3) == 0)
++ {
++ usingNetbeans++;
++ netbeansArg = argv[arg];
++ mch_memmove(&argv[arg], &argv[arg + 1],
++ (--*argc - arg) * sizeof(char *));
++ break; /* enough? */
++ }
++
++ if (usingNetbeans)
++ {
++ WSADATA wsaData;
++ int wsaerr;
++
++ /* Init WinSock */
++ wsaerr = WSAStartup(MAKEWORD(2, 2), &wsaData);
++ if (wsaerr == 0)
++ WSInitialized = TRUE;
++ }
++ }
++ #endif
++
+ /* get the OS version info */
+ os_version.dwOSVersionInfoSize = sizeof(os_version);
+ GetVersionEx(&os_version); /* this call works on Win32s, Win95 and WinNT */
+***************
+*** 1034,1039 ****
+--- 1105,1114 ----
+ s_findrep_struct.wFindWhatLen = MSWIN_FR_BUFSIZE;
+ s_findrep_struct.wReplaceWithLen = MSWIN_FR_BUFSIZE;
+ #endif
++ #ifdef FEAT_NETBEANS_INTG
++ if (usingNetbeans)
++ netbeans_w32_connect();
++ #endif
+
+ return OK;
+ }
+***************
+*** 3359,3368 ****
+--- 3434,3451 ----
+ #endif
+
+ #if defined(FEAT_SIGN_ICONS) || defined(PROTO)
++
++ # ifdef FEAT_XPM_W32
++ # define IMAGE_XPM 100
++ # endif
++
+ typedef struct _signicon_t
+ {
+ HANDLE hImage;
+ UINT uType;
++ #ifdef FEAT_XPM_W32
++ HANDLE hShape; /* Mask bitmap handle */
++ #endif
+ } signicon_t;
+
+ void
+***************
+*** 3399,3404 ****
+--- 3482,3506 ----
+ case IMAGE_CURSOR:
+ DrawIconEx(s_hdc, x, y, (HICON)sign->hImage, w, h, 0, NULL, DI_NORMAL);
+ break;
++ #ifdef FEAT_XPM_W32
++ case IMAGE_XPM:
++ {
++ HDC hdcMem;
++ HBITMAP hbmpOld;
++
++ hdcMem = CreateCompatibleDC(s_hdc);
++ hbmpOld = (HBITMAP)SelectObject(hdcMem, sign->hShape);
++ /* Make hole */
++ BitBlt(s_hdc, x, y, w, h, hdcMem, 0, 0, SRCAND);
++
++ SelectObject(hdcMem, sign->hImage);
++ /* Paint sign */
++ BitBlt(s_hdc, x, y, w, h, hdcMem, 0, 0, SRCPAINT);
++ SelectObject(hdcMem, hbmpOld);
++ DeleteDC(hdcMem);
++ }
++ break;
++ #endif
+ }
+ }
+
+***************
+*** 3417,3422 ****
+--- 3519,3530 ----
+ case IMAGE_ICON:
+ DestroyIcon((HICON)sign->hImage);
+ break;
++ #ifdef FEAT_XPM_W32
++ case IMAGE_XPM:
++ DeleteObject((HBITMAP)sign->hImage);
++ DeleteObject((HBITMAP)sign->hShape);
++ break;
++ #endif
+ }
+ }
+
+***************
+*** 3452,3457 ****
+--- 3560,3572 ----
+ sign.hImage = (HANDLE)LoadImage(NULL, signfile, sign.uType,
+ gui.char_width * 2, gui.char_height,
+ LR_LOADFROMFILE | LR_CREATEDIBSECTION);
++ #ifdef FEAT_XPM_W32
++ if (!STRICMP(ext, ".xpm"))
++ {
++ sign.uType = IMAGE_XPM;
++ LoadXpmImage(signfile, (HBITMAP *)&sign.hImage, (HBITMAP *)&sign.hShape);
++ }
++ #endif
+ }
+
+ psign = NULL;
+***************
+*** 3479,3482 ****
+--- 3594,3864 ----
+ vim_free(sign);
+ }
+ }
++
++ #if defined(FEAT_BEVAL) || defined(PROTO)
++
++ /* BALLOON-EVAL IMPLEMENTATION FOR WINDOWS.
++ * Added by Sergey Khorev
++ *
++ * The only reused thing is gui_beval.h and gui_mch_get_beval_info()
++ * from gui_beval.c (note it uses x and y of the BalloonEval struct
++ * to get current mouse position).
++ *
++ * Trying to use as more Windows services as possible, and as less
++ * IE version as possible :)).
++ *
++ * 1) Don't create ToolTip in gui_mch_create_beval_area, only initialize
++ * BalloonEval struct.
++ * 2) Enable/Disable simply create/kill BalloonEval Timer
++ * 3) When there was enough inactivity, timer procedure posts
++ * async request to debugger
++ * 4) gui_mch_post_balloon (invoked from netbeans.c) creates tooltip control
++ * and performs some actions to show it ASAP
++ * 5) WM_NOTOFY:TTN_POP destroys created tooltip
++ */
++
++ static void
++ make_tooltip(beval, text, pt)
++ BalloonEval *beval;
++ char *text;
++ POINT pt;
++ {
++ TOOLINFO ti;
++
++ beval->balloon = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS,
++ NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
++ CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
++ beval->target, NULL, s_hinst, NULL);
++
++ SetWindowPos(beval->balloon, HWND_TOPMOST, 0, 0, 0, 0,
++ SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
++
++ ti.cbSize = sizeof(TOOLINFO);
++ ti.uFlags = TTF_SUBCLASS;
++ ti.hwnd = beval->target;
++ ti.hinst = 0; /* Don't use string resources */
++ ti.uId = ID_BEVAL_TOOLTIP;
++ ti.lpszText = text;
++
++ /* Limit ballooneval bounding rect to CursorPos neighbourhood */
++ ti.rect.left = pt.x - 3;
++ ti.rect.top = pt.y - 3;
++ ti.rect.right = pt.x + 3;
++ ti.rect.bottom = pt.y + 3;
++
++ SendMessage(beval->balloon, TTM_ADDTOOL, 0, (LPARAM)&ti);
++ /* Make tooltip appear sooner */
++ SendMessage(beval->balloon, TTM_SETDELAYTIME, TTDT_INITIAL, 10);
++ /*
++ * HACK: force tooltip to appear, because it'll not appear until
++ * first mouse move. D*mn M$
++ */
++ mouse_event(MOUSEEVENTF_MOVE, 1, 1, 0, 0);
++ mouse_event(MOUSEEVENTF_MOVE, -1, -1, 0, 0);
++ }
++
++ static void
++ delete_tooltip(beval)
++ BalloonEval *beval;
++ {
++ DestroyWindow(beval->balloon);
++ }
++
++ static VOID CALLBACK
++ BevalTimerProc(hwnd, uMsg, idEvent, dwTime)
++ HWND hwnd;
++ UINT uMsg;
++ UINT idEvent;
++ DWORD dwTime;
++ {
++ POINT pt;
++ RECT rect;
++
++ if (cur_beval == NULL || cur_beval->showState == ShS_SHOWING || !p_beval)
++ return;
++
++ GetCursorPos(&pt);
++ if (WindowFromPoint(pt) != s_textArea)
++ return;
++
++ ScreenToClient(s_textArea, &pt);
++ GetClientRect(s_textArea, &rect);
++ if (!PtInRect(&rect, pt))
++ return;
++
++ if (LastActivity > 0
++ && (dwTime - LastActivity) >= (DWORD)p_bdlay
++ && (cur_beval->showState != ShS_PENDING
++ || abs(cur_beval->x - pt.x) > 3
++ || abs(cur_beval->y - pt.y) > 3))
++ {
++ /* Pointer resting in one place long enough, it's time to show
++ * the tooltip. */
++ cur_beval->showState = ShS_PENDING;
++ cur_beval->x = pt.x;
++ cur_beval->y = pt.y;
++
++ TRACE0("BevalTimerProc: sending request");
++
++ if (cur_beval->msgCB != NULL)
++ (*cur_beval->msgCB)(cur_beval, 0);
++ }
++ }
++
++ void
++ gui_mch_disable_beval_area(beval)
++ BalloonEval *beval;
++ {
++ TRACE0("gui_mch_disable_beval_area {{{");
++ KillTimer(s_textArea, BevalTimerId);
++ TRACE0("gui_mch_disable_beval_area }}}");
++ }
++
++ void
++ gui_mch_enable_beval_area(beval)
++ BalloonEval *beval;
++ {
++ TRACE0("gui_mch_enable_beval_area |||");
++ if (beval == NULL)
++ return;
++ TRACE0("gui_mch_enable_beval_area {{{");
++ BevalTimerId = SetTimer(s_textArea, 0, p_bdlay / 2, (TIMERPROC)BevalTimerProc);
++ TRACE0("gui_mch_enable_beval_area }}}");
++ }
++
++ void
++ gui_mch_post_balloon(beval, mesg)
++ BalloonEval *beval;
++ char_u *mesg;
++ {
++ POINT pt;
++ TRACE0("gui_mch_post_balloon {{{");
++ if (beval->showState == ShS_SHOWING)
++ return;
++ GetCursorPos(&pt);
++ ScreenToClient(s_textArea, &pt);
++
++ if (abs(beval->x - pt.x) < 3 && abs(beval->y - pt.y) < 3)
++ /* cursor is still here */
++ {
++ gui_mch_disable_beval_area(cur_beval);
++ beval->showState = ShS_SHOWING;
++ make_tooltip(beval, mesg, pt);
++ }
++ TRACE0("gui_mch_post_balloon }}}");
++ }
++
++ BalloonEval *
++ gui_mch_create_beval_area(target, mesg, mesgCB, clientData)
++ void *target; /* ignored, always use s_textArea */
++ char_u *mesg;
++ void (*mesgCB)__ARGS((BalloonEval *, int));
++ void *clientData;
++ {
++ /* partially stolen from gui_beval.c */
++ BalloonEval *beval;
++
++ if (mesg != NULL && mesgCB != NULL)
++ {
++ EMSG(_("E232: Cannot create BalloonEval with both message and callback"));
++ return NULL;
++ }
++
++ beval = (BalloonEval *)alloc(sizeof(BalloonEval));
++ if (beval != NULL)
++ {
++ beval->target = s_textArea;
++ beval->balloon = NULL;
++
++ beval->showState = ShS_NEUTRAL;
++ beval->x = 0;
++ beval->y = 0;
++ beval->msg = mesg;
++ beval->msgCB = mesgCB;
++ beval->clientData = clientData;
++
++ InitCommonControls();
++
++ cur_beval = beval;
++
++ if (p_beval)
++ gui_mch_enable_beval_area(beval);
++
++ }
++ return beval;
++ }
++
++ void
++ Handle_WM_Notify(hwnd, pnmh)
++ HWND hwnd;
++ LPNMHDR pnmh;
++ {
++ if (pnmh->idFrom != ID_BEVAL_TOOLTIP) /* it is not our tooltip */
++ return;
++
++ if (cur_beval != NULL)
++ {
++ if (pnmh->code == TTN_SHOW)
++ {
++ TRACE0("TTN_SHOW {{{");
++ TRACE0("TTN_SHOW }}}");
++ }
++ else if (pnmh->code == TTN_POP) /* Before tooltip disappear */
++ {
++ TRACE0("TTN_POP {{{");
++ delete_tooltip(cur_beval);
++ gui_mch_enable_beval_area(cur_beval);
++ TRACE0("TTN_POP }}}");
++
++ cur_beval->showState = ShS_NEUTRAL;
++ }
++ }
++ }
++
++ void TrackUserActivity (uMsg)
++ UINT uMsg;
++ {
++ if ((uMsg >= WM_MOUSEFIRST && uMsg <= WM_MOUSELAST) ||
++ (uMsg >= WM_KEYFIRST && uMsg <= WM_KEYLAST))
++ {
++ LastActivity = GetTickCount();
++ }
++ }
++
++ void
++ gui_mch_destroy_beval_area(beval)
++ BalloonEval *beval;
++ {
++ vim_free(beval);
++ }
++ #endif /* FEAT_BEVAL */
++
++ #if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
++ /*
++ * We have multiple signs to draw at the same location. Draw the
++ * multi-sign indicator (down-arrow) instead. This is the Win32 version.
++ */
++ void
++ netbeans_draw_multisign_indicator(int row)
++ {
++ int i;
++ int y;
++ int x;
++
++ x = 0;
++ y = TEXT_Y(row);
++
++ for (i = 0; i < gui.char_height - 3; i++)
++ SetPixel(s_hdc, x+2, y++, gui.currFgColor);
++
++ SetPixel(s_hdc, x+0, y, gui.currFgColor);
++ SetPixel(s_hdc, x+2, y, gui.currFgColor);
++ SetPixel(s_hdc, x+4, y++, gui.currFgColor);
++ SetPixel(s_hdc, x+1, y, gui.currFgColor);
++ SetPixel(s_hdc, x+2, y, gui.currFgColor);
++ SetPixel(s_hdc, x+3, y++, gui.currFgColor);
++ SetPixel(s_hdc, x+2, y, gui.currFgColor);
++ }
++ #endif
++
+ #endif
+*** ../vim-6.2.106/src/gui_w48.c Sat Sep 27 19:40:03 2003
+--- src/gui_w48.c Fri Oct 3 15:13:55 2003
+***************
+*** 28,34 ****
+ #ifndef __MINGW32__
+ # include <shellapi.h>
+ #endif
+! #ifdef FEAT_TOOLBAR
+ # include <commctrl.h>
+ #endif
+ #ifdef WIN16
+--- 28,34 ----
+ #ifndef __MINGW32__
+ # include <shellapi.h>
+ #endif
+! #if defined(FEAT_TOOLBAR) || defined(FEAT_BEVAL)
+ # include <commctrl.h>
+ #endif
+ #ifdef WIN16
+***************
+*** 113,123 ****
+ typedef int UINT;
+ typedef int WORD;
+ typedef int WPARAM;
+! typedef void * HINSTANCE;
+! typedef void * HMENU;
+! typedef void * HWND;
+ typedef void *HDC;
+ typedef void VOID;
+ #endif
+
+ #ifndef GET_X_LPARAM
+--- 113,125 ----
+ typedef int UINT;
+ typedef int WORD;
+ typedef int WPARAM;
+! typedef void *HINSTANCE;
+! typedef void *HMENU;
+! typedef void *HWND;
+ typedef void *HDC;
+ typedef void VOID;
++ typedef int LPNMHDR;
++ typedef int LONG;
+ #endif
+
+ #ifndef GET_X_LPARAM
+***************
+*** 228,233 ****
+--- 230,238 ----
+ {VK_F20, 'F', 'A'},
+
+ {VK_F21, 'F', 'B'},
++ #ifdef FEAT_NETBEANS_INTG
++ {VK_PAUSE, 'F', 'B'}, /* Pause == F21 (see gui_gtk_x11.c) */
++ #endif
+ {VK_F22, 'F', 'C'},
+ {VK_F23, 'F', 'D'},
+ {VK_F24, 'F', 'E'}, /* winuser.h defines up to F24 */
+***************
+*** 279,284 ****
+--- 284,295 ----
+ static int s_timed_out = FALSE;
+ static int dead_key = 0; /* 0 - no dead key, 1 - dead key pressed */
+
++ #ifdef FEAT_BEVAL
++ /* balloon-eval WM_NOTIFY_HANDLER */
++ void Handle_WM_Notify __ARGS((HWND hwnd, LPNMHDR pnmh));
++ void TrackUserActivity __ARGS((UINT uMsg));
++ #endif
++
+ /*
+ * For control IME.
+ */
+***************
+*** 900,905 ****
+--- 911,920 ----
+ s_wParam = wParam;
+ s_lParam = lParam;
+
++ #ifdef FEAT_BEVAL
++ TrackUserActivity(uMsg);
++ #endif
++
+ switch (uMsg)
+ {
+ HANDLE_MSG(hwnd, WM_LBUTTONDBLCLK,_OnMouseButtonDown);
+***************
+*** 919,924 ****
+--- 934,944 ----
+ HANDLE_MSG(hwnd, WM_XBUTTONUP, _OnMouseMoveOrRelease);
+ #endif
+
++ #ifdef FEAT_BEVAL
++ case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam);
++ return TRUE;
++ #endif
++
+ default:
+ return DefWindowProc(hwnd, uMsg, wParam, lParam);
+ }
+***************
+*** 1472,1477 ****
+--- 1492,1505 ----
+ }
+ #endif
+
++ #ifdef FEAT_NETBEANS_INTG
++ if (msg.message == WM_NETBEANS)
++ {
++ messageFromNetbeansW32();
++ return;
++ }
++ #endif
++
+ #ifdef FEAT_SNIFF
+ if (sniff_request_waiting && want_sniff_request)
+ {
+*** ../vim-6.2.106/src/menu.c Fri Sep 12 20:13:48 2003
+--- src/menu.c Fri Sep 12 21:30:03 2003
+***************
+*** 764,770 ****
+ menu->silent[i] = menuarg->silent[0];
+ }
+ }
+! #if defined(FEAT_TOOLBAR) && (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
+ /* Need to update the menu tip. */
+ if (modes & MENU_TIP_MODE)
+ gui_mch_menu_set_tip(menu);
+--- 764,771 ----
+ menu->silent[i] = menuarg->silent[0];
+ }
+ }
+! #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
+! && (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
+ /* Need to update the menu tip. */
+ if (modes & MENU_TIP_MODE)
+ gui_mch_menu_set_tip(menu);
+***************
+*** 942,948 ****
+ if (modes & MENU_TIP_MODE)
+ {
+ free_menu_string(menu, MENU_INDEX_TIP);
+! #if defined(FEAT_TOOLBAR) && (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
+ /* Need to update the menu tip. */
+ if (gui.in_use)
+ gui_mch_menu_set_tip(menu);
+--- 943,950 ----
+ if (modes & MENU_TIP_MODE)
+ {
+ free_menu_string(menu, MENU_INDEX_TIP);
+! #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) \
+! && (defined(FEAT_BEVAL) || defined(FEAT_GUI_GTK))
+ /* Need to update the menu tip. */
+ if (gui.in_use)
+ gui_mch_menu_set_tip(menu);
+*** ../vim-6.2.106/src/nbdebug.c Thu Feb 13 16:41:13 2003
+--- src/nbdebug.c Tue Sep 16 11:42:48 2003
+***************
+*** 38,45 ****
+ void nbtrace(char *, ...);
+
+ static int lookup(char *);
+ static int errorHandler(Display *, XErrorEvent *);
+!
+
+ /*
+ * nbdebug_wait - This function can be used to delay or stop execution of vim.
+--- 38,46 ----
+ void nbtrace(char *, ...);
+
+ static int lookup(char *);
++ #ifndef FEAT_GUI_W32
+ static int errorHandler(Display *, XErrorEvent *);
+! #endif
+
+ /*
+ * nbdebug_wait - This function can be used to delay or stop execution of vim.
+***************
+*** 83,93 ****
+ char *cp; /* nb_dlevel pointer */
+
+ if (log_var && (file = getenv(log_var)) != NULL) {
+! char buf[BUFSIZ];
+
+! sprintf(buf, "date > %s", file);
+! system(buf);
+! nb_debug = fopen(file, "a");
+ if (level_var && (cp = getenv(level_var)) != NULL) {
+ nb_dlevel = strtoul(cp, NULL, 0);
+ } else {
+--- 84,94 ----
+ char *cp; /* nb_dlevel pointer */
+
+ if (log_var && (file = getenv(log_var)) != NULL) {
+! time_t now;
+
+! nb_debug = fopen(file, "w");
+! time(&now);
+! fprintf(nb_debug, "%s", asctime(localtime(&now)));
+ if (level_var && (cp = getenv(level_var)) != NULL) {
+ nb_dlevel = strtoul(cp, NULL, 0);
+ } else {
+***************
+*** 142,151 ****
+ char buf[BUFSIZ];
+
+ expand_env((char_u *) file, (char_u *) buf, BUFSIZ);
+! return (access(buf, F_OK) == 0);
+
+ } /* end lookup */
+
+ static int
+ errorHandler(
+ Display *dpy,
+--- 143,158 ----
+ char buf[BUFSIZ];
+
+ expand_env((char_u *) file, (char_u *) buf, BUFSIZ);
+! return
+! #ifndef FEAT_GUI_W32
+! (access(buf, F_OK) == 0);
+! #else
+! (access(buf, 0) == 0);
+! #endif
+
+ } /* end lookup */
+
++ #ifndef FEAT_GUI_W32
+ static int
+ errorHandler(
+ Display *dpy,
+***************
+*** 169,175 ****
+
+ return 0;
+ }
+!
+
+
+ #endif /* NBDEBUG */
+--- 176,182 ----
+
+ return 0;
+ }
+! #endif
+
+
+ #endif /* NBDEBUG */
+*** ../vim-6.2.106/src/nbdebug.h Thu Feb 13 16:41:13 2003
+--- src/nbdebug.h Fri Sep 12 21:30:03 2003
+***************
+*** 45,50 ****
+--- 45,52 ----
+ void nbdbg(char *, ...);
+ void nbtrace(char *, ...);
+
++ void nbdebug_wait __ARGS((u_int wait_flags, char *wait_var, u_int wait_secs));
++ void nbdebug_log_init __ARGS((char *log_var, char *level_var));
+
+ extern FILE *nb_debug;
+ extern u_int nb_dlevel; /* nb_debug verbosity level */
+*** ../vim-6.2.106/src/netbeans.c Sun Aug 10 22:43:27 2003
+--- src/netbeans.c Mon Sep 15 14:27:09 2003
+***************
+*** 2,7 ****
+--- 2,8 ----
+ *
+ * VIM - Vi IMproved by Bram Moolenaar
+ * Netbeans integration by David Weatherford
++ * Adopted for Win32 by Sergey Khorev
+ *
+ * Do ":help uganda" in Vim to read copying and usage conditions.
+ * Do ":help credits" in Vim to see a list of people who contributed.
+***************
+*** 20,32 ****
+ #if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
+
+ /* Note: when making changes here also adjust configure.in. */
+! #include <stdarg.h>
+! #include <fcntl.h>
+! #include <netdb.h>
+! #include <netinet/in.h>
+! #include <sys/socket.h>
+! #ifdef HAVE_LIBGEN_H
+! # include <libgen.h>
+ #endif
+
+ #include "version.h"
+--- 21,54 ----
+ #if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
+
+ /* Note: when making changes here also adjust configure.in. */
+! # include <stdarg.h>
+! # include <fcntl.h>
+! #ifdef WIN32
+! # ifdef DEBUG
+! # include <tchar.h> /* for _T definition for TRACEn macros */
+! # endif
+! # include <io.h>
+! # include <winsock2.h>
+! /* WinSock API is separated from C API
+! * So we can't use read, write, errno...
+! */
+! # define sock_errno WSAGetLastError()
+! # define ECONNREFUSED WSAECONNREFUSED
+! # define sock_write(sd, buf, len) send(sd, buf, len, 0)
+! # define sock_read(sd, buf, len) recv(sd, buf, len, 0)
+! # define sock_close(sd) closesocket(sd)
+! # define sleep(t) Sleep(t*1000) /* WinAPI Sleep() accepts milliseconds */
+! #else
+! # include <netdb.h>
+! # include <netinet/in.h>
+! # include <sys/socket.h>
+! # ifdef HAVE_LIBGEN_H
+! # include <libgen.h>
+! # endif
+! # define sock_errno errno
+! # define sock_write(sd, buf, len) write(sd, buf, len)
+! # define sock_read(sd, buf, len) read(sd, buf, len)
+! # define sock_close(sd) close(sd)
+ #endif
+
+ #include "version.h"
+***************
+*** 69,74 ****
+--- 91,100 ----
+ #ifdef FEAT_GUI_GTK
+ static gint inputHandler; /* Cookie for input */
+ #endif
++ #ifdef FEAT_GUI_W32
++ static int inputHandler = -1; /* simply ret.value of WSAAsyncSelect() */
++ extern HWND s_hwnd; /* Gvim's Window handle */
++ #endif
+ static int cmdno; /* current command number for reply */
+ static int haveConnection = FALSE; /* socket is connected and
+ initialization is done */
+***************
+*** 160,172 ****
+--- 186,234 ----
+ }
+ #endif /* FEAT_GUI_GTK */
+
++ #if defined(FEAT_GUI_W32) || defined(PROTO)
++ void
++ netbeans_w32_connect(void)
++ {
++ netbeans_connect();
++ if (sd > 0)
++ {
++ /*
++ * Tell Windows we are interested in receiving message when there
++ * is input on the editor connection socket
++ */
++ inputHandler = WSAAsyncSelect(sd, s_hwnd, WM_NETBEANS, FD_READ);
++ }
++ }
++
++ static void
++ netbeans_disconnect(void)
++ {
++ if (inputHandler == 0)
++ {
++ WSAAsyncSelect(sd, s_hwnd, 0, 0);
++ inputHandler = -1;
++ }
++ sd = -1;
++ haveConnection = FALSE;
++
++ /* It seems that Motif and GTK versions also need this: */
++ gui_mch_destroy_beval_area(balloonEval);
++ balloonEval = NULL;
++ }
++ #endif /* FEAT_GUI_W32 */
++
+ static void
+ netbeans_connect(void)
+ {
+ #ifdef INET_SOCKETS
+ struct sockaddr_in server;
+ struct hostent * host;
++ # ifdef FEAT_GUI_W32
++ u_short port;
++ # else
+ int port;
++ #endif
+ #else
+ struct sockaddr_un server;
+ #endif
+***************
+*** 243,252 ****
+ /* Connect to server */
+ if (connect(sd, (struct sockaddr *)&server, sizeof(server)))
+ {
+! nbdebug(("netbeans_connect: Connect failed with errno %d\n", errno));
+! if (errno == ECONNREFUSED)
+ {
+! close(sd);
+ #ifdef INET_SOCKETS
+ if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
+ {
+--- 305,314 ----
+ /* Connect to server */
+ if (connect(sd, (struct sockaddr *)&server, sizeof(server)))
+ {
+! nbdebug(("netbeans_connect: Connect failed with errno %d\n", sock_errno));
+! if (sock_errno == ECONNREFUSED)
+ {
+! sock_close(sd);
+ #ifdef INET_SOCKETS
+ if ((sd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
+ {
+***************
+*** 265,271 ****
+ int retries = 36;
+ int success = FALSE;
+ while (retries--
+! && ((errno == ECONNREFUSED) || (errno == EINTR)))
+ {
+ nbdebug(("retrying...\n"));
+ sleep(5);
+--- 327,333 ----
+ int retries = 36;
+ int success = FALSE;
+ while (retries--
+! && ((sock_errno == ECONNREFUSED) || (sock_errno == EINTR)))
+ {
+ nbdebug(("retrying...\n"));
+ sleep(5);
+***************
+*** 509,522 ****
+ * Read and process a command from netbeans.
+ */
+ /*ARGSUSED*/
+! #ifdef FEAT_GUI_MOTIF
+ static void
+ messageFromNetbeans(XtPointer clientData, int *unused1, XtInputId *unused2)
+! #endif
+! #ifdef FEAT_GUI_GTK
+ static void
+ messageFromNetbeans(gpointer clientData, gint unused1,
+ GdkInputCondition unused2)
+ #endif
+ {
+ static char_u *buf = NULL;
+--- 571,590 ----
+ * Read and process a command from netbeans.
+ */
+ /*ARGSUSED*/
+! #if defined(FEAT_GUI_W32) || defined(PROTO)
+! /* Use this one when generating prototypes, the others are static. */
+! void
+! messageFromNetbeansW32()
+! #else
+! # ifdef FEAT_GUI_MOTIF
+ static void
+ messageFromNetbeans(XtPointer clientData, int *unused1, XtInputId *unused2)
+! # endif
+! # ifdef FEAT_GUI_GTK
+ static void
+ messageFromNetbeans(gpointer clientData, gint unused1,
+ GdkInputCondition unused2)
++ # endif
+ #endif
+ {
+ static char_u *buf = NULL;
+***************
+*** 543,556 ****
+ /* Keep on reading for as long as there is something to read. */
+ for (;;)
+ {
+! len = read(sd, buf, MAXMSGSIZE);
+ if (len <= 0)
+ break; /* error or nothing more to read */
+
+ /* Store the read message in the queue. */
+ save(buf, len);
+ readlen += len;
+-
+ if (len < MAXMSGSIZE)
+ break; /* did read everything that's available */
+ }
+--- 611,623 ----
+ /* Keep on reading for as long as there is something to read. */
+ for (;;)
+ {
+! len = sock_read(sd, buf, MAXMSGSIZE);
+ if (len <= 0)
+ break; /* error or nothing more to read */
+
+ /* Store the read message in the queue. */
+ save(buf, len);
+ readlen += len;
+ if (len < MAXMSGSIZE)
+ break; /* did read everything that's available */
+ }
+***************
+*** 600,606 ****
+ {
+ /* We assume the server knows that we can safely exit! */
+ if (sd >= 0)
+! close(sd);
+ /* Disconnect before exiting, Motif hangs in a Select error
+ * message otherwise. */
+ netbeans_disconnect();
+--- 667,673 ----
+ {
+ /* We assume the server knows that we can safely exit! */
+ if (sd >= 0)
+! sock_close(sd);
+ /* Disconnect before exiting, Motif hangs in a Select error
+ * message otherwise. */
+ netbeans_disconnect();
+***************
+*** 612,618 ****
+ {
+ /* The IDE is breaking the connection. */
+ if (sd >= 0)
+! close(sd);
+ netbeans_disconnect();
+ return;
+ }
+--- 679,685 ----
+ {
+ /* The IDE is breaking the connection. */
+ if (sd >= 0)
+! sock_close(sd);
+ netbeans_disconnect();
+ return;
+ }
+***************
+*** 660,680 ****
+ struct nbbuf_struct
+ {
+ buf_T *bufp;
+- #if 0 /* never used */
+- unsigned int netbeansOwns:1;
+- unsigned int fireCaret:1;
+- #endif
+ unsigned int fireChanges:1;
+ unsigned int initDone:1;
+ unsigned int modified:1;
+- #if 0 /* never used */
+- char *internalname;
+- #endif
+ char *displayname;
+ char_u *partial_line;
+ int *signmap;
+! ushort signmaplen;
+! ushort signmapused;
+ };
+
+ typedef struct nbbuf_struct nbbuf_T;
+--- 727,740 ----
+ struct nbbuf_struct
+ {
+ buf_T *bufp;
+ unsigned int fireChanges:1;
+ unsigned int initDone:1;
+ unsigned int modified:1;
+ char *displayname;
+ char_u *partial_line;
+ int *signmap;
+! short_u signmaplen;
+! short_u signmapused;
+ };
+
+ typedef struct nbbuf_struct nbbuf_T;
+***************
+*** 796,802 ****
+ nbdebug(("EVT: %s", buf));
+ /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */
+ if (sd >= 0)
+! write(sd, buf, STRLEN(buf)); /* ignore errors */
+ }
+
+ /* Give NetBeans a chance to write some clean-up cmds to the socket before
+--- 856,862 ----
+ nbdebug(("EVT: %s", buf));
+ /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */
+ if (sd >= 0)
+! sock_write(sd, buf, STRLEN(buf)); /* ignore errors */
+ }
+
+ /* Give NetBeans a chance to write some clean-up cmds to the socket before
+***************
+*** 811,820 ****
+ static void
+ nb_send(char *buf, char *fun)
+ {
+ if (sd < 0)
+! EMSG2("E630: %s(): write while not connected", fun);
+! else if (write(sd, buf, STRLEN(buf)) != STRLEN(buf))
+! EMSG2("E631: %s(): write failed", fun);
+ }
+
+ /*
+--- 871,894 ----
+ static void
+ nb_send(char *buf, char *fun)
+ {
++ /* Avoid giving pages full of error messages when the other side has
++ * exited, only mention the first error until the connection works again. */
++ static int did_error = FALSE;
++
+ if (sd < 0)
+! {
+! if (!did_error)
+! EMSG2("E630: %s(): write while not connected", fun);
+! did_error = TRUE;
+! }
+! else if (sock_write(sd, buf, STRLEN(buf)) != (int)STRLEN(buf))
+! {
+! if (!did_error)
+! EMSG2("E631: %s(): write failed", fun);
+! did_error = TRUE;
+! }
+! else
+! did_error = FALSE;
+ }
+
+ /*
+***************
+*** 888,893 ****
+--- 962,969 ----
+ char_u *p = txt;
+ char_u *q = buf;
+
++ if (buf == NULL)
++ return NULL;
+ for (; *p; p++)
+ {
+ switch (*p)
+***************
+*** 1244,1249 ****
+--- 1320,1331 ----
+ }
+ else if (args != NULL)
+ {
++ /* We need to detect EOL style
++ * because addAnno passes char-offset
++ */
++ int ff_detected = EOL_UNKNOWN;
++ int buf_was_empty = (buf->bufp->b_ml.ml_flags & ML_EMPTY);
++
+ oldFire = netbeansFireChanges;
+ netbeansFireChanges = 0;
+
+***************
+*** 1295,1308 ****
+--- 1377,1413 ----
+ nbdebug((" PARTIAL[%d]: %s\n", lnum, args));
+ break;
+ }
++ /* EOL detecting.
++ * Not sure how to deal with '\n' on Mac
++ * it will fail already in nl = ... above
++ */
++ if (buf_was_empty && /* There is need to detect EOLs */
++ /* AND: string is empty */
++ (args == nl
++ /* OR hasn't '\r' at the end */
++ || *(nl - 1) != '\r'))
++ ff_detected = EOL_UNIX;
++
+ *nl = '\0';
+ nbdebug((" INSERT[%d]: %s\n", lnum, args));
+ ml_append((linenr_T)(lnum++ - 1), args,
+ STRLEN(args) + 1, FALSE);
+ args = nl + 1;
+ }
++
+ appended_lines_mark(pos->lnum - 1, lnum - pos->lnum);
+
++ /* We can change initial ff without consequences
++ * Isn't it a kind of hacking?
++ */
++ if (buf_was_empty)
++ {
++ if (ff_detected == EOL_UNKNOWN)
++ ff_detected = EOL_DOS;
++ set_fileformat(ff_detected, OPT_LOCAL);
++ buf->bufp->b_start_ffc = *buf->bufp->b_p_ff;
++ }
++
+ if (*args)
+ {
+ /*
+***************
+*** 1596,1601 ****
+--- 1701,1709 ----
+ {
+ curwin->w_cursor = *pos;
+ check_cursor();
++ #ifdef FEAT_FOLDING
++ foldOpenCursor();
++ #endif
+ }
+ else
+ nbdebug((" BAD POSITION in setDot: %s\n", s));
+***************
+*** 1661,1666 ****
+--- 1769,1775 ----
+ int typeNum;
+ char_u *typeName;
+ char_u *tooltip;
++ char_u *p;
+ char_u *glyphFile;
+ int use_fg = 0;
+ int use_bg = 0;
+***************
+*** 1679,1685 ****
+ args = skipwhite(args + 1);
+ tooltip = (char_u *)nb_unquote(args, &args);
+ args = skipwhite(args + 1);
+! glyphFile = (char_u *)nb_unquote(args, &args);
+ args = skipwhite(args + 1);
+ if (STRNCMP(args, "none", 4) == 0)
+ args += 5;
+--- 1788,1798 ----
+ args = skipwhite(args + 1);
+ tooltip = (char_u *)nb_unquote(args, &args);
+ args = skipwhite(args + 1);
+!
+! p = (char_u *)nb_unquote(args, &args);
+! glyphFile = vim_strsave_escaped(p, escape_chars);
+! vim_free(p);
+!
+ args = skipwhite(args + 1);
+ if (STRNCMP(args, "none", 4) == 0)
+ args += 5;
+***************
+*** 2049,2055 ****
+ char_u *text;
+ int line;
+ int col;
+! char buf[MAXPATHLEN * 2 + 25];
+ char_u *p;
+
+ /* Don't do anything when 'ballooneval' is off, messages scrolled the
+--- 2192,2198 ----
+ char_u *text;
+ int line;
+ int col;
+! char buf[MAXPATHL * 2 + 25];
+ char_u *p;
+
+ /* Don't do anything when 'ballooneval' is off, messages scrolled the
+***************
+*** 2061,2067 ****
+ {
+ /* Send debugger request. Only when the text is of reasonable
+ * length. */
+! if (text != NULL && text[0] != NUL && STRLEN(text) < MAXPATHLEN)
+ {
+ p = nb_quote(text);
+ if (p != NULL)
+--- 2204,2210 ----
+ {
+ /* Send debugger request. Only when the text is of reasonable
+ * length. */
+! if (text != NULL && text[0] != NUL && STRLEN(text) < MAXPATHL)
+ {
+ p = nb_quote(text);
+ if (p != NULL)
+***************
+*** 2089,2095 ****
+ nbdebug(("EVT: %s", cmd));
+ nb_send(cmd, "netbeans_startup_done");
+
+! # if defined(FEAT_BEVAL) && defined(FEAT_GUI_MOTIF)
+ if (gui.in_use)
+ {
+ /*
+--- 2232,2239 ----
+ nbdebug(("EVT: %s", cmd));
+ nb_send(cmd, "netbeans_startup_done");
+
+! #ifdef FEAT_BEVAL
+! # ifdef FEAT_GUI_MOTIF
+ if (gui.in_use)
+ {
+ /*
+***************
+*** 2102,2111 ****
+ if (!p_beval)
+ gui_mch_disable_beval_area(balloonEval);
+ }
+ # endif
+ }
+
+! #if defined(FEAT_GUI_MOTIF) || defined(PROTO)
+ /*
+ * Tell netbeans that the window was moved or resized.
+ */
+--- 2246,2263 ----
+ if (!p_beval)
+ gui_mch_disable_beval_area(balloonEval);
+ }
++ # else
++ # if defined(FEAT_GUI_W32) && defined(FEAT_BEVAL)
++ balloonEval = gui_mch_create_beval_area(NULL, NULL,
++ &netbeans_beval_cb, NULL);
++ if (!p_beval)
++ gui_mch_disable_beval_area(balloonEval);
++ # endif
+ # endif
++ #endif
+ }
+
+! #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_W32) || defined(PROTO)
+ /*
+ * Tell netbeans that the window was moved or resized.
+ */
+***************
+*** 2130,2146 ****
+ void
+ netbeans_file_opened(char *filename)
+ {
+! char buffer[2*MAXPATHLEN];
+
+ if (!haveConnection)
+ return;
+
+ sprintf(buffer, "0:fileOpened=%d \"%s\" %s %s\n",
+ 0,
+! nb_quote((char_u *)filename),
+ "F", /* open in NetBeans */
+ "F"); /* modified */
+
+ nbdebug(("EVT: %s", buffer));
+
+ nb_send(buffer, "netbeans_file_opened");
+--- 2282,2303 ----
+ void
+ netbeans_file_opened(char *filename)
+ {
+! char buffer[2*MAXPATHL];
+! char_u *q;
+
+ if (!haveConnection)
+ return;
+
++ q = nb_quote((char_u *)filename);
++ if (q == NULL)
++ return;
+ sprintf(buffer, "0:fileOpened=%d \"%s\" %s %s\n",
+ 0,
+! (char *)q,
+ "F", /* open in NetBeans */
+ "F"); /* modified */
+
++ vim_free(q);
+ nbdebug(("EVT: %s", buffer));
+
+ nb_send(buffer, "netbeans_file_opened");
+***************
+*** 2156,2162 ****
+ {
+ int bufno = nb_getbufno(bufp);
+ nbbuf_T *nbbuf = nb_get_buf(bufno);
+! char buffer[2*MAXPATHLEN];
+
+ if (!haveConnection)
+ return;
+--- 2313,2319 ----
+ {
+ int bufno = nb_getbufno(bufp);
+ nbbuf_T *nbbuf = nb_get_buf(bufno);
+! char buffer[2*MAXPATHL];
+
+ if (!haveConnection)
+ return;
+***************
+*** 2265,2275 ****
+ newtxt[newlen] = '\0';
+ p = nb_quote(newtxt);
+ if (p != NULL)
+ sprintf((char *)buf, "%d:insert=%d %ld \"%s\"\n", bufno, cmdno, off, p);
+ vim_free(p);
+ vim_free(newtxt);
+- nbdebug(("EVT: %s", buf));
+- nb_send((char *)buf, "netbeans_inserted");
+ vim_free(buf);
+ }
+
+--- 2422,2434 ----
+ newtxt[newlen] = '\0';
+ p = nb_quote(newtxt);
+ if (p != NULL)
++ {
+ sprintf((char *)buf, "%d:insert=%d %ld \"%s\"\n", bufno, cmdno, off, p);
++ nbdebug(("EVT: %s", buf));
++ nb_send((char *)buf, "netbeans_inserted");
++ }
+ vim_free(p);
+ vim_free(newtxt);
+ vim_free(buf);
+ }
+
+***************
+*** 2339,2348 ****
+ void
+ netbeans_keycommand(int key)
+ {
+! char buf[2*MAXPATHLEN];
+ int bufno;
+ char keyName[60];
+ long off;
+
+ if (!haveConnection)
+ return;
+--- 2498,2508 ----
+ void
+ netbeans_keycommand(int key)
+ {
+! char buf[2*MAXPATHL];
+ int bufno;
+ char keyName[60];
+ long off;
++ char_u *q;
+
+ if (!haveConnection)
+ return;
+***************
+*** 2355,2365 ****
+ if (bufno == -1)
+ {
+ nbdebug(("got keycommand for non-NetBeans buffer, opening...\n"));
+ sprintf(buf, "0:fileOpened=%d \"%s\" %s %s\n", 0,
+! curbuf->b_ffname == NULL ? (char_u *)""
+! : nb_quote(curbuf->b_ffname),
+ "T", /* open in NetBeans */
+ "F"); /* modified */
+ nbdebug(("EVT: %s", buf));
+ nb_send(buf, "netbeans_keycommand");
+
+--- 2515,2530 ----
+ if (bufno == -1)
+ {
+ nbdebug(("got keycommand for non-NetBeans buffer, opening...\n"));
++ q = curbuf->b_ffname == NULL ? (char_u *)""
++ : nb_quote(curbuf->b_ffname);
++ if (q == NULL)
++ return;
+ sprintf(buf, "0:fileOpened=%d \"%s\" %s %s\n", 0,
+! q,
+ "T", /* open in NetBeans */
+ "F"); /* modified */
++ if (curbuf->b_ffname != NULL)
++ vim_free(q);
+ nbdebug(("EVT: %s", buf));
+ nb_send(buf, "netbeans_keycommand");
+
+***************
+*** 2372,2377 ****
+--- 2537,2547 ----
+ sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, cmdno, off, off);
+ nbdebug(("EVT: %s", buf));
+ nb_send(buf, "netbeans_keycommand");
++
++ /* To work on Win32 you must apply patch to ExtEditor module
++ * from ExtEdCaret.java.diff - make EVT_newDotAndMark handler
++ * more synchronous
++ */
+
+ /* now send keyCommand event */
+ sprintf(buf, "%d:keyCommand=%d \"%s\"\n", bufno, cmdno, keyName);
+*** ../vim-6.2.106/src/os_mswin.c Mon Aug 4 22:04:43 2003
+--- src/os_mswin.c Fri Sep 12 21:30:03 2003
+***************
+*** 163,168 ****
+--- 163,169 ----
+ # endif
+ #endif
+
++ extern int WSInitialized;
+
+ /* Don't generate prototypes here, because some systems do have these
+ * functions. */
+***************
+*** 229,234 ****
+--- 230,242 ----
+
+ # ifdef FEAT_OLE
+ UninitOLE();
++ # endif
++ # ifdef FEAT_NETBEANS_INTG
++ if (WSInitialized)
++ {
++ WSInitialized = FALSE;
++ WSACleanup();
++ }
+ # endif
+ #ifdef DYNAMIC_GETTEXT
+ dyn_libintl_end();
+*** ../vim-6.2.106/src/os_win32.h Wed May 7 22:53:05 2003
+--- src/os_win32.h Fri Sep 12 21:30:03 2003
+***************
+*** 140,145 ****
+--- 140,146 ----
+ # define TRACE1(sz, p1) Trace(_T(sz), p1)
+ # define TRACE2(sz, p1, p2) Trace(_T(sz), p1, p2)
+ # define TRACE3(sz, p1, p2, p3) Trace(_T(sz), p1, p2, p3)
++ # define TRACE4(sz, p1, p2, p3, p4) Trace(_T(sz), p1, p2, p3, p4)
+
+ /* In debug version, writes trace messages to debug stream */
+ void __cdecl
+***************
+*** 156,161 ****
+--- 157,163 ----
+ # define TRACE1(sz, p1)
+ # define TRACE2(sz, p1, p2)
+ # define TRACE3(sz, p1, p2, p3)
++ # define TRACE4(sz, p1, p2, p3, p4)
+
+ #endif /* !_DEBUG */
+
+*** ../vim-6.2.106/src/proto/gui_w32.pro Sun Jun 1 12:26:27 2003
+--- src/proto/gui_w32.pro Sat Sep 13 21:28:07 2003
+***************
+*** 78,81 ****
+--- 78,88 ----
+ void gui_mch_drawsign __ARGS((int row, int col, int typenr));
+ void *gui_mch_register_sign __ARGS((char_u *signfile));
+ void gui_mch_destroy_sign __ARGS((void *sign));
++ void gui_mch_disable_beval_area __ARGS((BalloonEval *beval));
++ void gui_mch_enable_beval_area __ARGS((BalloonEval *beval));
++ void gui_mch_post_balloon __ARGS((BalloonEval *beval, char_u *mesg));
++ BalloonEval *gui_mch_create_beval_area __ARGS((void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData));
++ void Handle_WM_Notify __ARGS((HWND hwnd, LPNMHDR pnmh));
++ void gui_mch_destroy_beval_area __ARGS((BalloonEval *beval));
++ void netbeans_draw_multisign_indicator __ARGS((int row));
+ /* vim: set ft=c : */
+*** ../vim-6.2.106/src/proto/netbeans.pro Sun Jul 27 14:16:53 2003
+--- src/proto/netbeans.pro Sat Sep 13 21:27:52 2003
+***************
+*** 1,6 ****
+--- 1,8 ----
+ /* netbeans.c */
+ void netbeans_Xt_connect __ARGS((void *context));
+ void netbeans_gtk_connect __ARGS((void));
++ void netbeans_w32_connect __ARGS((void));
++ void messageFromNetbeansW32 __ARGS((void));
+ void netbeans_end __ARGS((void));
+ void netbeans_startup_done __ARGS((void));
+ void netbeans_frame_moved __ARGS((int new_x, int new_y));
+***************
+*** 13,18 ****
+--- 15,21 ----
+ void netbeans_saved __ARGS((buf_T *bufp));
+ void netbeans_deleted_all_lines __ARGS((buf_T *bufp));
+ int netbeans_is_guarded __ARGS((linenr_T top, linenr_T bot));
++ void netbeans_draw_multisign_indicator __ARGS((int row));
+ void netbeans_draw_multisign_indicator __ARGS((int row));
+ void netbeans_gutter_click __ARGS((linenr_T lnum));
+ /* vim: set ft=c : */
+*** ../vim-6.2.106/src/proto.h Sat May 24 17:27:36 2003
+--- src/proto.h Tue Sep 30 20:57:53 2003
+***************
+*** 172,177 ****
+--- 172,182 ----
+ # ifdef FEAT_GUI_W16
+ # include "gui_w16.pro"
+ # endif
++ /* Ugly solution for "BalloonEval" not being defined while it's used in
++ * the prototypes. */
++ # ifndef FEAT_BEVAL
++ # define BalloonEval int
++ # endif
+ # ifdef FEAT_GUI_W32
+ # include "gui_w32.pro"
+ # endif
+*** ../vim-6.2.106/src/vim.h Thu Sep 11 21:25:44 2003
+--- src/vim.h Wed Sep 17 22:15:42 2003
+***************
+*** 17,23 ****
+ defined(FEAT_TCL) || \
+ defined(DYNAMIC_GETTEXT) || \
+ defined(DYNAMIC_ICONV) || \
+! defined(DYNAMIC_IME)
+ # pragma option -pc
+ # else
+ # pragma option -pr
+--- 17,24 ----
+ defined(FEAT_TCL) || \
+ defined(DYNAMIC_GETTEXT) || \
+ defined(DYNAMIC_ICONV) || \
+! defined(DYNAMIC_IME) || \
+! defined(XPM)
+ # pragma option -pc
+ # else
+ # pragma option -pr
+***************
+*** 1463,1468 ****
+--- 1470,1479 ----
+ # ifdef FEAT_GUI_W32
+ # 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
+
+*** ../vim-6.2.106/src/xpm_w32.c Sun Sep 14 16:09:21 2003
+--- src/xpm_w32.c Fri Sep 12 21:49:22 2003
+***************
+*** 0 ****
+--- 1,60 ----
++ /*
++ * Load XPM image.
++ *
++ * This function is placed in separate file because Xpm headers conflict with
++ * Vim ones :(
++ *
++ * Written by Sergey Khorev.
++ * http://iamphet.nm.ru/vim/index.html
++ */
++
++ #ifndef WIN32_LEAN_AND_MEAN
++ # define WIN32_LEAN_AND_MEAN
++ #endif
++ #include <windows.h>
++
++ /* reduced def from Vim.h */
++ #ifndef __ARGS
++ # if defined(__STDC__) || defined(__GNUC__) || defined(WIN3264)
++ # define __ARGS(x) x
++ # else
++ # define __ARGS(x) ()
++ # endif
++ #endif
++
++ #include "xpm_w32.h"
++
++ /* Engage Windows support in libXpm */
++ #define FOR_MSW
++
++ #include "xpm.h"
++
++ /*
++ * Tries to load Xpm image from file 'filename'.
++ * If fails return -1.
++ * success - 0 and image and mask BITMAPS
++ */
++ int
++ LoadXpmImage(filename, hImage, hShape)
++ char *filename;
++ HBITMAP *hImage;
++ HBITMAP *hShape;
++ {
++ XImage *img; /* loaded image */
++ XImage *shp; /* shapeimage */
++ XpmAttributes attr;
++ int res;
++ HDC hdc = CreateCompatibleDC(NULL);
++
++ attr.valuemask = 0;
++ res = XpmReadFileToImage(&hdc, filename, &img, &shp, &attr);
++ DeleteDC(hdc);
++ if (res < 0)
++ return -1;
++ else
++ {
++ *hImage = img->bitmap;
++ *hShape = shp->bitmap;
++ return 0;
++ }
++ }
+*** ../vim-6.2.106/src/xpm_w32.h Sun Sep 14 16:09:21 2003
+--- src/xpm_w32.h Fri Sep 12 21:49:01 2003
+***************
+*** 0 ****
+--- 1,7 ----
++ /*
++ * Header file for xpm_w32.c
++ */
++
++ #ifndef XPM_W32__H
++ int LoadXpmImage __ARGS((char *filename, HBITMAP *hImage, HBITMAP *hShape));
++ #endif
+*** ../vim-6.2.106/src/version.c Sat Sep 27 20:18:38 2003
+--- src/version.c Sun Oct 12 16:27:29 2003
+***************
+*** 626,629 ****
+--- 626,636 ----
+ "-xterm_save",
+ #endif
++ #ifdef WIN3264
++ # ifdef FEAT_XPM_W32
++ "+xpm_w32",
++ # else
++ "-xpm_w32",
++ # endif
++ #endif
+ NULL
+ };
+***************
+*** 632,633 ****
+--- 638,641 ----
+ { /* Add new patch number below this line */
++ /**/
++ 107,
+ /**/
+
+--
+If Microsoft would build a car...
+... Occasionally, executing a maneuver such as a left turn
+would cause your car to shut down and refuse to restart, in
+which case you would have to reinstall the engine.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.108
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.108
+Problem: Crash when giving a message about ignoring case in a tag. (Manfred
+ Kuehn)
+Solution: Use a longer buffer for the message.
+Files: src/tag.c
+
+
+*** ../vim-6.2.107/src/tag.c Sat Sep 27 20:18:38 2003
+--- src/tag.c Tue Sep 30 21:29:58 2003
+***************
+*** 782,804 ****
+ && !skip_msg)
+ {
+ /* Give an indication of the number of matching tags */
+! sprintf((char *)msg_buf, _("tag %d of %d%s"),
+ cur_match + 1,
+ num_matches,
+ max_num_matches != MAXCOL ? _(" or more") : "");
+ if (ic)
+! STRCAT(msg_buf, _(" Using tag with different case!"));
+ if ((num_matches > prev_num_matches || new_tag)
+ && num_matches > 1)
+ {
+ if (ic)
+! msg_attr(msg_buf, hl_attr(HLF_W));
+ else
+! msg(msg_buf);
+ msg_scroll = TRUE; /* don't overwrite this message */
+ }
+ else
+! give_warning(msg_buf, ic);
+ if (ic && !msg_scrolled && msg_silent == 0)
+ {
+ out_flush();
+--- 782,804 ----
+ && !skip_msg)
+ {
+ /* Give an indication of the number of matching tags */
+! sprintf((char *)IObuff, _("tag %d of %d%s"),
+ cur_match + 1,
+ num_matches,
+ max_num_matches != MAXCOL ? _(" or more") : "");
+ if (ic)
+! STRCAT(IObuff, _(" Using tag with different case!"));
+ if ((num_matches > prev_num_matches || new_tag)
+ && num_matches > 1)
+ {
+ if (ic)
+! msg_attr(IObuff, hl_attr(HLF_W));
+ else
+! msg(IObuff);
+ msg_scroll = TRUE; /* don't overwrite this message */
+ }
+ else
+! give_warning(IObuff, ic);
+ if (ic && !msg_scrolled && msg_silent == 0)
+ {
+ out_flush();
+*** ../vim-6.2.107/src/version.c Sun Oct 12 16:42:14 2003
+--- src/version.c Sun Oct 12 16:51:44 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 108,
+ /**/
+
+--
+If Microsoft would build a car...
+... Occasionally your car would die on the freeway for no
+reason. You would have to pull over to the side of the road,
+close all of the car windows, shut it off, restart it, and
+reopen the windows before you could continue. For some reason
+you would simply accept this.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.109
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.109
+Problem: Compiler warnings with various Amiga compilers.
+Solution: Add typecast, prototypes, et al. that are also useful for other
+ systems. (Flavio Stanchina)
+Files: src/eval.c, src/ops.c
+
+
+*** ../vim-6.2.108/src/eval.c Sat Sep 27 19:36:46 2003
+--- src/eval.c Wed Sep 17 21:53:22 2003
+***************
+*** 9552,9559 ****
+ sprintf((char *)IObuff, ":return \"%s\"",
+ ((VAR)retvar)->var_val.var_string);
+ else
+! sprintf((char *)IObuff, ":return %d",
+! ((VAR)retvar)->var_val.var_number);
+ return vim_strsave(s);
+ }
+
+--- 9552,9559 ----
+ sprintf((char *)IObuff, ":return \"%s\"",
+ ((VAR)retvar)->var_val.var_string);
+ else
+! sprintf((char *)IObuff, ":return %ld",
+! (long)(((VAR)retvar)->var_val.var_number));
+ return vim_strsave(s);
+ }
+
+*** ../vim-6.2.108/src/ops.c Sat Sep 27 19:36:47 2003
+--- src/ops.c Wed Sep 17 21:59:01 2003
+***************
+*** 4334,4341 ****
+ linenr_T lnum;
+ {
+ char_u *s = ml_get(lnum);
+
+! return (*s != NUL && vim_iswhite(s[STRLEN(s) - 1]));
+ }
+
+ /*
+--- 4334,4347 ----
+ linenr_T lnum;
+ {
+ char_u *s = ml_get(lnum);
++ size_t l;
+
+! if (*s == NUL)
+! return FALSE;
+! /* Don't use STRLEN() inside vim_iswhite(), SAS/C complains: "macro
+! * invocation may call function multiple times". */
+! l = STRLEN(s) - 1;
+! return vim_iswhite(s[l]);
+ }
+
+ /*
+*** ../vim-6.2.108/src/version.c Sun Oct 12 16:52:45 2003
+--- src/version.c Sun Oct 12 16:55:21 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 109,
+ /**/
+
+--
+The CIA drives around in cars with the "Intel inside" logo.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.110
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.110
+Problem: When $LANG includes the encoding, a menu without an encoding name
+ is not found.
+Solution: Also look for a menu file without any encoding.
+Files: runtime/menu.vim
+
+
+*** ../vim-6.2.109/runtime/menu.vim Sun May 4 22:58:58 2003
+--- runtime/menu.vim Sat Sep 20 20:47:07 2003
+***************
+*** 2,8 ****
+ " You can also use this as a start for your own set of menus.
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2003 May 04
+
+ " Note that ":an" (short for ":anoremenu") is often used to make a menu work
+ " in all modes and avoid side effects from mappings defined by the user.
+--- 2,8 ----
+ " You can also use this as a start for your own set of menus.
+ "
+ " Maintainer: Bram Moolenaar <Bram@vim.org>
+! " Last Change: 2003 Set 20
+
+ " Note that ":an" (short for ":anoremenu") is often used to make a menu work
+ " in all modes and avoid side effects from mappings defined by the user.
+***************
+*** 45,50 ****
+--- 45,51 ----
+ if !exists("did_menu_trans")
+ " There is no exact match, try matching with a wildcard added
+ " (e.g. find menu_de_de.iso_8859-1.vim if s:lang == de_DE).
++ let s:lang = substitute(s:lang, "\\.[^.]*", "", "")
+ exe "runtime! lang/menu_" . s:lang . "*.vim"
+
+ if !exists("did_menu_trans") && strlen($LANG) > 1
+*** ../vim-6.2.109/src/version.c Sun Oct 12 16:56:43 2003
+--- src/version.c Sun Oct 12 16:58:17 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 110,
+ /**/
+
+--
+If Microsoft would build a car...
+... The airbag system would ask "are you SURE?" before deploying.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.111
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.111
+Problem: Encoding "cp1251" is not recognized.
+Solution: Add "cp1251" to the table of encocings. (Alexey Froloff)
+Files: src/mbyte.c
+
+
+*** ../vim-6.2.110/src/mbyte.c Fri Jul 25 22:35:52 2003
+--- src/mbyte.c Tue Sep 30 20:07:15 2003
+***************
+*** 210,216 ****
+ {"euc-tw", ENC_DBCS, DBCS_CHTU},
+ #define IDX_BIG5 34
+ {"big5", ENC_DBCS, DBCS_CHT},
+! #define IDX_COUNT 35
+ };
+
+ /*
+--- 210,218 ----
+ {"euc-tw", ENC_DBCS, DBCS_CHTU},
+ #define IDX_BIG5 34
+ {"big5", ENC_DBCS, DBCS_CHT},
+! #define IDX_CP1251 35
+! {"cp1251", ENC_8BIT, 1251},
+! #define IDX_COUNT 36
+ };
+
+ /*
+*** ../vim-6.2.110/src/version.c Sun Oct 12 17:00:32 2003
+--- src/version.c Sun Oct 12 17:01:56 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 111,
+ /**/
+
+--
+If Microsoft would build a car...
+... You'd have to press the "Start" button to turn the engine off.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.112
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.112
+Problem: After applying patches test32 fails. (Antonio Colombo)
+Solution: Have "make clean" in the testdir delete *.rej and *.orig files.
+ Use this when doing "make clean" in the src directory.
+Files: src/Makefile, src/testdir/Makefile
+
+
+*** ../vim-6.2.111/src/Makefile Wed Sep 10 21:51:27 2003
+--- src/Makefile Mon Sep 22 19:22:52 2003
+***************
+*** 1562,1568 ****
+ cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET)
+
+ testclean:
+! -rm -f testdir/*.out testdir/test.log
+
+ #
+ # Avoid overwriting an existing executable, somebody might be running it and
+--- 1587,1593 ----
+ cd testdir; $(MAKE) -f Makefile $(GUI_TESTTARGET) VIMPROG=../$(VIMTARGET)
+
+ testclean:
+! cd testdir; $(MAKE) -f Makefile clean
+
+ #
+ # Avoid overwriting an existing executable, somebody might be running it and
+*** ../vim-6.2.111/src/testdir/Makefile Fri Apr 18 17:14:03 2003
+--- src/testdir/Makefile Wed Oct 8 19:59:05 2003
+***************
+*** 32,41 ****
+ $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
+
+ clean:
+! -rm -rf *.out test.log tiny.vim small.vim mbyte.vim test.ok X*
+
+ test1.out: test1.in
+! -rm -f $*.failed tiny.vim small.vim mbyte.vim
+ $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
+ @/bin/sh -c "if diff test.out $*.ok; \
+ then mv -f test.out $*.out; \
+--- 32,41 ----
+ $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
+
+ clean:
+! -rm -rf *.out *.rej *.orig test.log tiny.vim small.vim mbyte.vim test.ok X*
+
+ test1.out: test1.in
+! -rm -f $*.failed tiny.vim small.vim mbyte.vim test.ok X*
+ $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
+ @/bin/sh -c "if diff test.out $*.ok; \
+ then mv -f test.out $*.out; \
+***************
+*** 45,51 ****
+ -rm -rf X*
+
+ .in.out:
+! -rm -f $*.failed test.ok
+ cp $*.ok test.ok
+ $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
+ @/bin/sh -c "if diff test.out $*.ok; \
+--- 45,51 ----
+ -rm -rf X*
+
+ .in.out:
+! -rm -f $*.failed test.ok X*
+ cp $*.ok test.ok
+ $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in
+ @/bin/sh -c "if diff test.out $*.ok; \
+*** ../vim-6.2.111/src/version.c Sun Oct 12 17:02:40 2003
+--- src/version.c Sun Oct 12 17:04:08 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 112,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+176. You lie, even to user-friends, about how long you were online yesterday.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.113
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.113
+Problem: Using ":startinsert" after "$" works like "a" instead of "i".
+ (Ajit Thakkar)
+Solution: Reset "w_curswant" for ":startinsert" and reset o_eol in edit().
+Files: src/edit.c, src/ex_docmd.c
+
+
+*** ../vim-6.2.112/src/edit.c Sat Sep 27 19:36:46 2003
+--- src/edit.c Fri Oct 3 20:55:21 2003
+***************
+*** 420,429 ****
+ }
+ }
+ else
+- {
+ arrow_used = FALSE;
+! o_eol = FALSE;
+! }
+
+ /* we are in insert mode now, don't need to start it anymore */
+ need_start_insertmode = FALSE;
+--- 420,427 ----
+ }
+ }
+ else
+ arrow_used = FALSE;
+! o_eol = FALSE;
+
+ /* we are in insert mode now, don't need to start it anymore */
+ need_start_insertmode = FALSE;
+*** ../vim-6.2.112/src/ex_docmd.c Fri Sep 12 20:20:20 2003
+--- src/ex_docmd.c Fri Oct 3 20:56:40 2003
+***************
+*** 7520,7526 ****
+--- 7520,7529 ----
+ restart_edit = 'a';
+ }
+ else
++ {
+ restart_edit = 'i';
++ curwin->w_curswant = 0; /* avoid MAXCOL */
++ }
+ }
+
+ /*
+*** ../vim-6.2.112/src/version.c Sun Oct 12 17:06:26 2003
+--- src/version.c Sun Oct 12 17:08:03 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 113,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+177. You log off of your system because it's time to go to work.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.114
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.114
+Problem: When stdout is piped through "tee", the size of the screen may not
+ be correct.
+Solution: Use stdin instead of stdout for ioctl() when stdin is a tty and
+ stdout isn't.
+Files: src/os_unix.c
+
+
+*** ../vim-6.2.113/src/os_unix.c Sat Sep 27 19:36:47 2003
+--- src/os_unix.c Wed Oct 1 15:33:39 2003
+***************
+*** 3042,3055 ****
+ /*
+ * 1. try using an ioctl. It is the most accurate method.
+ *
+! * Try using TIOCGWINSZ first, some systems that have it also define TIOCGSIZE
+! * but don't have a struct ttysize.
+ */
+ # ifdef TIOCGWINSZ
+ {
+ struct winsize ws;
+
+! if (ioctl(1, TIOCGWINSZ, &ws) == 0)
+ {
+ columns = ws.ws_col;
+ rows = ws.ws_row;
+--- 3042,3059 ----
+ /*
+ * 1. try using an ioctl. It is the most accurate method.
+ *
+! * Try using TIOCGWINSZ first, some systems that have it also define
+! * TIOCGSIZE but don't have a struct ttysize.
+ */
+ # ifdef TIOCGWINSZ
+ {
+ struct winsize ws;
++ int fd = 1;
+
+! /* When stdout is not a tty, use stdin for the ioctl(). */
+! if (!isatty(fd) && isatty(read_cmd_fd))
+! fd = read_cmd_fd;
+! if (ioctl(fd, TIOCGWINSZ, &ws) == 0)
+ {
+ columns = ws.ws_col;
+ rows = ws.ws_row;
+***************
+*** 3059,3066 ****
+ # ifdef TIOCGSIZE
+ {
+ struct ttysize ts;
+
+! if (ioctl(1, TIOCGSIZE, &ts) == 0)
+ {
+ columns = ts.ts_cols;
+ rows = ts.ts_lines;
+--- 3063,3074 ----
+ # ifdef TIOCGSIZE
+ {
+ struct ttysize ts;
++ int fd = 1;
+
+! /* When stdout is not a tty, use stdin for the ioctl(). */
+! if (!isatty(fd) && isatty(read_cmd_fd))
+! fd = read_cmd_fd;
+! if (ioctl(fd, TIOCGSIZE, &ts) == 0)
+ {
+ columns = ts.ts_cols;
+ rows = ts.ts_lines;
+*** ../vim-6.2.113/src/version.c Sun Oct 12 17:10:47 2003
+--- src/version.c Sun Oct 12 17:12:48 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 114,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+178. You look for an icon to double-click to open your bedroom window.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.115 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.115 (extra)
+Problem: Compiler warnings with various Amiga compilers.
+Solution: Add typecast, prototypes, et al. Those changes that are
+ Amiga-specific. (Flavio Stanchina)
+Files: src/fileio.c, src/memfile.c, src/os_amiga.c, src/os_amiga.h,
+ src/vim.h
+
+
+*** ../vim-6.2.114/src/fileio.c Sat Sep 27 19:36:46 2003
+--- src/fileio.c Wed Sep 17 22:01:56 2003
+***************
+*** 25,34 ****
+ # include <fcntl.h>
+ #endif
+
+- #ifdef LATTICE
+- # include <proto/dos.h> /* for Lock() and UnLock() */
+- #endif
+-
+ #ifdef __TANDEM
+ # include <limits.h> /* for SSIZE_MAX */
+ #endif
+--- 25,30 ----
+*** ../vim-6.2.114/src/memfile.c Sun May 4 22:43:59 2003
+--- src/memfile.c Wed Sep 17 22:03:02 2003
+***************
+*** 660,667 ****
+ Flush(fp->ufbfh);
+ }
+ # else
+! # ifdef _DCC
+ {
+ BPTR fh = (BPTR)fdtofh(mfp->mf_fd);
+
+ if (fh != 0)
+--- 660,673 ----
+ Flush(fp->ufbfh);
+ }
+ # else
+! # if defined(_DCC) || defined(__GNUC__)
+ {
++ # ifdef __GNUC__
++ /* Have function (in libnix at least),
++ * but ain't got no prototype anywhere. */
++ unsigned long fdtofh(int filedescriptor);
++ # endif
++
+ BPTR fh = (BPTR)fdtofh(mfp->mf_fd);
+
+ if (fh != 0)
+*** ../vim-6.2.114/src/os_amiga.c Sat Apr 19 15:10:39 2003
+--- src/os_amiga.c Sun Oct 12 17:24:09 2003
+***************
+*** 62,68 ****
+ static int lock2name __ARGS((BPTR lock, char_u *buf, long len));
+ static void out_num __ARGS((long n));
+ static struct FileInfoBlock *get_fib __ARGS((char_u *));
+! static int sortcmp __ARGS((char **a, char **b));
+
+ static BPTR raw_in = (BPTR)NULL;
+ static BPTR raw_out = (BPTR)NULL;
+--- 62,68 ----
+ static int lock2name __ARGS((BPTR lock, char_u *buf, long len));
+ static void out_num __ARGS((long n));
+ static struct FileInfoBlock *get_fib __ARGS((char_u *));
+! static int sortcmp __ARGS((const void *a, const void *b));
+
+ static BPTR raw_in = (BPTR)NULL;
+ static BPTR raw_out = (BPTR)NULL;
+***************
+*** 233,239 ****
+ suspend_shell();
+ }
+
+! #define DOS_LIBRARY ((UBYTE *) "dos.library")
+
+ void
+ mch_init()
+--- 233,241 ----
+ suspend_shell();
+ }
+
+! #ifndef DOS_LIBRARY
+! # define DOS_LIBRARY ((UBYTE *)"dos.library")
+! #endif
+
+ void
+ mch_init()
+***************
+*** 304,310 ****
+ static char_u *(constrings[3]) = {(char_u *)"con:0/0/662/210/",
+ (char_u *)"con:0/0/640/200/",
+ (char_u *)"con:0/0/320/200/"};
+! static char_u winerr[] = _("VIM: Can't open window!\n");
+ struct WBArg *argp;
+ int ac;
+ char *av;
+--- 306,312 ----
+ static char_u *(constrings[3]) = {(char_u *)"con:0/0/662/210/",
+ (char_u *)"con:0/0/640/200/",
+ (char_u *)"con:0/0/320/200/"};
+! static char_u winerr[] = (char_u *)N_("VIM: Can't open window!\n");
+ struct WBArg *argp;
+ int ac;
+ char *av;
+***************
+*** 316,322 ****
+ /*
+ * check if we are running under DOS 2.0x or higher
+ */
+! if (DosBase = OpenLibrary(DOS_LIBRARY, 37L))
+ {
+ CloseLibrary(DosBase);
+ #ifdef FEAT_ARP
+--- 318,326 ----
+ /*
+ * check if we are running under DOS 2.0x or higher
+ */
+! DosBase = OpenLibrary(DOS_LIBRARY, 37L);
+! if (DosBase != NULL)
+! /* if (((struct Library *)DOSBase)->lib_Version >= 37) */
+ {
+ CloseLibrary(DosBase);
+ #ifdef FEAT_ARP
+***************
+*** 394,400 ****
+ }
+ if (raw_in == (BPTR)NULL) /* all three failed */
+ {
+! mch_errmsg((char *)winerr);
+ goto exit;
+ }
+ raw_out = raw_in;
+--- 398,404 ----
+ }
+ if (raw_in == (BPTR)NULL) /* all three failed */
+ {
+! mch_errmsg(_(winerr));
+ goto exit;
+ }
+ raw_out = raw_in;
+***************
+*** 412,418 ****
+ * Make a unique name for the temp file (which we will not delete!).
+ * Use a pointer on the stack (nobody else will be using it).
+ */
+! sprintf((char *)buf1, "t:nc%ld", (char *)buf1);
+ if ((fh = Open((UBYTE *)buf1, (long)MODE_NEWFILE)) == (BPTR)NULL)
+ {
+ mch_errmsg(_("Cannot create "));
+--- 416,422 ----
+ * Make a unique name for the temp file (which we will not delete!).
+ * Use a pointer on the stack (nobody else will be using it).
+ */
+! sprintf((char *)buf1, "t:nc%ld", (long)buf1);
+ if ((fh = Open((UBYTE *)buf1, (long)MODE_NEWFILE)) == (BPTR)NULL)
+ {
+ mch_errmsg(_("Cannot create "));
+***************
+*** 499,505 ****
+ if (i == 3) /* all three failed */
+ {
+ DeleteFile((UBYTE *)buf1);
+! mch_errmsg((char *)winerr);
+ goto exit;
+ }
+ exitval = 0; /* The Execute succeeded: exit this program */
+--- 503,509 ----
+ if (i == 3) /* all three failed */
+ {
+ DeleteFile((UBYTE *)buf1);
+! mch_errmsg(_(winerr));
+ goto exit;
+ }
+ exitval = 0; /* The Execute succeeded: exit this program */
+***************
+*** 1198,1204 ****
+ else if (x)
+ # endif
+ {
+! if (x = IoErr())
+ {
+ if (!(options & SHELL_SILENT))
+ {
+--- 1202,1208 ----
+ else if (x)
+ # endif
+ {
+! if ((x = IoErr()) != 0)
+ {
+ if (!(options & SHELL_SILENT))
+ {
+***************
+*** 1314,1320 ****
+ vim_free(shellcmd);
+ #endif /* AZTEC_C */
+
+! if (mydir = CurrentDir(mydir)) /* make sure we stay in the same directory */
+ UnLock(mydir);
+ if (tmode == TMODE_RAW)
+ settmode(TMODE_RAW); /* set to raw mode */
+--- 1318,1324 ----
+ vim_free(shellcmd);
+ #endif /* AZTEC_C */
+
+! if ((mydir = CurrentDir(mydir)) != 0) /* make sure we stay in the same directory */
+ UnLock(mydir);
+ if (tmode == TMODE_RAW)
+ settmode(TMODE_RAW); /* set to raw mode */
+***************
+*** 1478,1486 ****
+
+ static int
+ sortcmp(a, b)
+! char **a, **b;
+ {
+! return pathcmp(*a, *b);
+ }
+
+ /*
+--- 1482,1492 ----
+
+ static int
+ sortcmp(a, b)
+! const void *a, *b;
+ {
+! char_u *s = *(char **)a,
+! *t = *(char **)b;
+! return pathcmp(s, t);
+ }
+
+ /*
+*** ../vim-6.2.114/src/os_amiga.h Thu Jul 26 14:00:21 2001
+--- src/os_amiga.h Wed Sep 17 22:15:14 2003
+***************
+*** 17,23 ****
+ #define HAVE_AVAIL_MEM
+
+ #ifndef HAVE_CONFIG_H
+! # ifndef _DCC
+ # define HAVE_STAT_H
+ # endif
+ # define HAVE_STDLIB_H
+--- 17,23 ----
+ #define HAVE_AVAIL_MEM
+
+ #ifndef HAVE_CONFIG_H
+! # ifdef AZTEC_C
+ # define HAVE_STAT_H
+ # endif
+ # define HAVE_STDLIB_H
+***************
+*** 44,49 ****
+--- 44,60 ----
+
+ #endif /* HAVE_CONFIG_H */
+
++ #include <exec/types.h>
++ #include <libraries/dos.h>
++ #include <libraries/dosextens.h>
++
++ /* Currently, all Amiga compilers except AZTEC C have these... */
++ #ifndef AZTEC_C
++ # include <proto/exec.h>
++ # include <proto/dos.h>
++ # include <proto/intuition.h>
++ #endif
++
+ #define FNAME_ILLEGAL ";*?`#%" /* illegal characters in a file name */
+
+ /*
+***************
+*** 55,60 ****
+--- 66,76 ----
+
+ #ifdef LATTICE
+ # define USE_TMPNAM /* use tmpnam() instead of mktemp() */
++ #endif
++
++ #ifdef __GNUC__
++ # include <sys/stat.h>
++ # include <unistd.h>
+ #endif
+
+ /*
+*** ../vim-6.2.114/src/vim.h Sun Oct 12 16:42:14 2003
+--- src/vim.h Wed Sep 17 22:15:42 2003
+***************
+*** 128,134 ****
+ #ifdef AMIGA
+ /* Be conservative about sizeof(int). It could be 4 too. */
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+! # define SIZEOF_INT 2
+ # endif
+ #endif
+ #ifdef MACOS
+--- 130,140 ----
+ #ifdef AMIGA
+ /* Be conservative about sizeof(int). It could be 4 too. */
+ # ifndef FEAT_GUI_GTK /* avoid problems when generating prototypes */
+! # ifdef __GNUC__
+! # define SIZEOF_INT 4
+! # else
+! # define SIZEOF_INT 2
+! # endif
+ # endif
+ #endif
+ #ifdef MACOS
+*** ../vim-6.2.114/src/version.c Sun Oct 12 17:14:12 2003
+--- src/version.c Sun Oct 12 17:15:47 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 115,
+ /**/
+
+--
+Rule #1: Don't give somebody a tool that he's going to hurt himself with.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.116 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.116 (extra)
+Problem: German keyboard with Numlock set different from system startup
+ causes problems.
+Solution: Ignore keys with code 0xff. (Helmut Stiegler)
+Files: src/gui_w48.c
+
+
+*** ../vim-6.2.115/src/gui_w48.c Sun Oct 12 16:42:14 2003
+--- src/gui_w48.c Fri Oct 3 15:13:55 2003
+***************
+*** 1628,1635 ****
+ }
+ if (special_keys[i].key_sym == 0)
+ {
+! /* Some keys need C-S- where they should only need C- */
+! if ((GetKeyState(VK_CONTROL) & 0x8000)
+ && !(GetKeyState(VK_SHIFT) & 0x8000)
+ && !(GetKeyState(VK_MENU) & 0x8000))
+ {
+--- 1628,1638 ----
+ }
+ if (special_keys[i].key_sym == 0)
+ {
+! /* Some keys need C-S- where they should only need C-.
+! * Ignore 0xff, Windows XP sends it when NUMLOCK has changed since
+! * system startup (Helmut Stiegler, 2003 Oct 3). */
+! if (vk != 0xff
+! && (GetKeyState(VK_CONTROL) & 0x8000)
+ && !(GetKeyState(VK_SHIFT) & 0x8000)
+ && !(GetKeyState(VK_MENU) & 0x8000))
+ {
+*** ../vim-6.2.115/src/version.c Sun Oct 12 17:25:14 2003
+--- src/version.c Sun Oct 12 17:27:20 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 116,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+179. You wonder why your household garbage can doesn't have an
+ "empty recycle bin" button.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.117
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.117
+Problem: Breakpoints in loops of sourced files and functions are not
+ detected. (Hari Krishna Dara)
+Solution: Check for breakpoints when using lines that were previously read.
+ (Servatius Brandt)
+Files: src/eval.c, src/ex_cmds2.c, src/ex_docmd.c, src/proto/eval.pro,
+ src/proto/ex_cmds2.pro
+
+
+*** ../vim-6.2.116/src/eval.c Sun Oct 12 16:56:43 2003
+--- src/eval.c Sun Oct 12 20:04:45 2003
+***************
+*** 126,131 ****
+--- 126,161 ----
+ };
+
+ /*
++ * Return the name of the executed function.
++ */
++ char_u *
++ func_name(cookie)
++ void *cookie;
++ {
++ return ((struct funccall *)cookie)->func->name;
++ }
++
++ /*
++ * Return the address holding the next breakpoint line for a funccall cookie.
++ */
++ linenr_T *
++ func_breakpoint(cookie)
++ void *cookie;
++ {
++ return &((struct funccall *)cookie)->breakpoint;
++ }
++
++ /*
++ * Return the address holding the debug tick for a funccall cookie.
++ */
++ int *
++ func_dbg_tick(cookie)
++ void *cookie;
++ {
++ return &((struct funccall *)cookie)->dbg_tick;
++ }
++
++ /*
+ * Return the nesting level for a funccall cookie.
+ */
+ int
+*** ../vim-6.2.116/src/ex_cmds2.c Sat Sep 27 19:36:46 2003
+--- src/ex_cmds2.c Sun Oct 12 20:04:45 2003
+***************
+*** 1995,2000 ****
+--- 1995,2020 ----
+ };
+
+ #ifdef FEAT_EVAL
++ /*
++ * Return the address holding the next breakpoint line for a source cookie.
++ */
++ linenr_T *
++ source_breakpoint(cookie)
++ void *cookie;
++ {
++ return &((struct source_cookie *)cookie)->breakpoint;
++ }
++
++ /*
++ * Return the address holding the debug tick for a source cookie.
++ */
++ int *
++ source_dbg_tick(cookie)
++ void *cookie;
++ {
++ return &((struct source_cookie *)cookie)->dbg_tick;
++ }
++
+ /*
+ * Return the nesting level for a source cookie.
+ */
+*** ../vim-6.2.116/src/ex_docmd.c Sun Oct 12 17:10:47 2003
+--- src/ex_docmd.c Sun Oct 12 20:14:08 2003
+***************
+*** 591,596 ****
+--- 591,599 ----
+ struct condstack cstack; /* conditional stack */
+ garray_T lines_ga; /* keep lines for ":while" */
+ int current_line = 0; /* active line in lines_ga */
++ char_u *fname = NULL; /* function or script name */
++ linenr_T *breakpoint = NULL; /* ptr to breakpoint field in cookie */
++ int *dbg_tick = NULL; /* ptr to dbg_tick field in cookie */
+ int saved_trylevel = 0;
+ int saved_force_abort = 0;
+ except_T *saved_caught_stack = NULL;
+***************
+*** 649,654 ****
+--- 652,672 ----
+ if (getline == get_func_line && ex_nesting_level == func_level(cookie))
+ ++ex_nesting_level;
+
++ /* Get the function or script name and the address where the next breakpoint
++ * line and the debug tick for a function or script are stored. */
++ if (getline == get_func_line)
++ {
++ fname = func_name(cookie);
++ breakpoint = func_breakpoint(cookie);
++ dbg_tick = func_dbg_tick(cookie);
++ }
++ else if (getline == getsourceline)
++ {
++ fname = sourcing_name;
++ breakpoint = source_breakpoint(cookie);
++ dbg_tick = source_dbg_tick(cookie);
++ }
++
+ /*
+ * Initialize "force_abort" and "suppress_errthrow" at the top level.
+ */
+***************
+*** 749,756 ****
+--- 767,794 ----
+ break;
+ }
+
++ /* If breakpoints have been added/deleted need to check for it. */
++ if (breakpoint != NULL && dbg_tick != NULL
++ && *dbg_tick != debug_tick)
++ {
++ *breakpoint = dbg_find_breakpoint((getline == getsourceline),
++ fname, sourcing_lnum);
++ *dbg_tick = debug_tick;
++ }
++
+ next_cmdline = ((wcmd_T *)(lines_ga.ga_data))[current_line].line;
+ sourcing_lnum = ((wcmd_T *)(lines_ga.ga_data))[current_line].lnum;
++
++ /* Did we encounter a breakpoint? */
++ if (breakpoint != NULL && *breakpoint != 0
++ && *breakpoint <= sourcing_lnum)
++ {
++ dbg_breakpoint(fname, sourcing_lnum);
++ /* Find next breakpoint. */
++ *breakpoint = dbg_find_breakpoint((getline == getsourceline),
++ fname, sourcing_lnum);
++ *dbg_tick = debug_tick;
++ }
+ }
+ #endif
+
+***************
+*** 932,937 ****
+--- 970,984 ----
+ current_line = cstack.cs_line[cstack.cs_idx];
+ cstack.cs_had_while = TRUE; /* note we jumped there */
+ line_breakcheck(); /* check if CTRL-C typed */
++
++ /* Check for the next breakpoint at or after the ":while".*/
++ if (breakpoint != NULL)
++ {
++ *breakpoint = dbg_find_breakpoint(
++ (getline == getsourceline), fname,
++ ((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
++ *dbg_tick = debug_tick;
++ }
+ }
+ else /* can only get here with ":endwhile" */
+ {
+*** ../vim-6.2.116/src/proto/eval.pro Sun Jun 1 12:26:07 2003
+--- src/proto/eval.pro Sun Oct 12 20:04:45 2003
+***************
+*** 1,4 ****
+--- 1,7 ----
+ /* eval.c */
++ char_u *func_name __ARGS((void *cookie));
++ linenr_T *func_breakpoint __ARGS((void *cookie));
++ int *func_dbg_tick __ARGS((void *cookie));
+ int func_level __ARGS((void *cookie));
+ int current_func_returned __ARGS((void));
+ void set_internal_string_var __ARGS((char_u *name, char_u *value));
+*** ../vim-6.2.116/src/proto/ex_cmds2.pro Sun Jun 1 12:26:08 2003
+--- src/proto/ex_cmds2.pro Sun Oct 12 20:04:45 2003
+***************
+*** 37,42 ****
+--- 37,44 ----
+ int do_in_runtimepath __ARGS((char_u *name, int all, void (*callback)(char_u *fname)));
+ void ex_options __ARGS((exarg_T *eap));
+ void ex_source __ARGS((exarg_T *eap));
++ linenr_T *source_breakpoint __ARGS((void *cookie));
++ int *source_dbg_tick __ARGS((void *cookie));
+ int source_level __ARGS((void *cookie));
+ int do_source __ARGS((char_u *fname, int check_other, int is_vimrc));
+ void ex_scriptnames __ARGS((exarg_T *eap));
+*** ../vim-6.2.116/src/version.c Sun Oct 12 17:28:22 2003
+--- src/version.c Sun Oct 12 20:19:24 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 117,
+ /**/
+
+--
+Wizards had always known that the act of observation changed the thing that
+was observed, and sometimes forgot that it also changed the observer too.
+ Terry Pratchett - Interesting times
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.118 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.118 (extra)
+Problem: Mac: Compiling is done in a non-standard way.
+Solution: Use the Unix method for Mac OS X, with autoconf. Add "CARBONGUI"
+ to Makefile and configure. (Eric Kow)
+ Move a few prototypes from os_mac.pro to gui_mac.pro.
+Files: src/Makefile, src/auto/configure, src/configure.in,
+ src/config.mk.in, src/gui_mac.c, src/os_mac.h, src/os_macosx.c,
+ src/proto/gui_mac.pro, src/proto/os_mac.pro,
+ src/infplist.xml, src/vim.h
+
+
+*** ../vim-6.2.117/src/Makefile Sun Oct 12 17:06:26 2003
+--- src/Makefile Mon Sep 22 19:22:52 2003
+***************
+*** 1010,1019 ****
+--- 1010,1023 ----
+ #GUI_LIBS_DIR = $(NONE_LIBS_DIR)
+ #GUI_LIBS1 = $(NONE_LIBS1)
+ #GUI_LIBS2 = $(NONE_LIBS2)
++ #GUI_INSTALL = $(NONE_INSTALL)
+ #GUI_TARGETS = $(NONE_TARGETS)
+ #GUI_MAN_TARGETS= $(NONE_MAN_TARGETS)
+ #GUI_TESTTARGET = $(NONE_TESTTARGET)
+
++ # Without a GUI install the normal way.
++ NONE_INSTALL = install_normal
++
+ ### GTK GUI
+ GTK_SRC = gui.c gui_gtk.c gui_gtk_x11.c pty.c gui_gtk_f.c \
+ gui_beval.c
+***************
+*** 1025,1030 ****
+--- 1029,1035 ----
+ GTK_LIBS_DIR = $(GUI_LIB_LOC)
+ GTK_LIBS1 =
+ GTK_LIBS2 = $(GTK_LIBNAME)
++ GTK_INSTALL = install_normal
+ GTK_TARGETS = installglinks
+ GTK_MAN_TARGETS = installghelplinks
+ GTK_TESTTARGET = gui
+***************
+*** 1038,1043 ****
+--- 1043,1049 ----
+ MOTIF_LIBS_DIR = $(GUI_LIB_LOC)
+ MOTIF_LIBS1 =
+ MOTIF_LIBS2 = $(MOTIF_LIBNAME) -lXt
++ MOTIF_INSTALL = install_normal
+ MOTIF_TARGETS = installglinks
+ MOTIF_MAN_TARGETS = installghelplinks
+ MOTIF_TESTTARGET = gui
+***************
+*** 1066,1072 ****
+ ATHENA_LIBS_DIR = $(GUI_LIB_LOC)
+ ATHENA_LIBS1 = $(XAW_LIB)
+ ATHENA_LIBS2 = -lXt
+! ATHENA_TARGETS = installglinks
+ ATHENA_MAN_TARGETS = installghelplinks
+ ATHENA_TESTTARGET = gui
+
+--- 1072,1079 ----
+ ATHENA_LIBS_DIR = $(GUI_LIB_LOC)
+ ATHENA_LIBS1 = $(XAW_LIB)
+ ATHENA_LIBS2 = -lXt
+! ATHENA_INSTALL = install_normal
+! ATHENA_TARGETS = installglinks
+ ATHENA_MAN_TARGETS = installghelplinks
+ ATHENA_TESTTARGET = gui
+
+***************
+*** 1082,1087 ****
+--- 1089,1095 ----
+ NEXTAW_LIBS_DIR = $(GUI_LIB_LOC)
+ NEXTAW_LIBS1 = $(NEXTAW_LIB)
+ NEXTAW_LIBS2 = -lXt
++ NEXTAW_INSTALL = install_normal
+ NEXTAW_TARGETS = installglinks
+ NEXTAW_MAN_TARGETS = installghelplinks
+ NEXTAW_TESTTARGET = gui
+***************
+*** 1105,1110 ****
+--- 1113,1119 ----
+ BEOSGUI_LIBS_DIR =
+ BEOSGUI_LIBS1 = -lbe -lroot
+ BEOSGUI_LIBS2 =
++ BEOSGUI_INSTALL = install_normal
+ BEOSGUI_TARGETS = installglinks
+ BEOSGUI_MAN_TARGETS = installghelplinks
+ BEOSGUI_TESTTARGET = gui
+***************
+*** 1117,1126 ****
+--- 1126,1151 ----
+ PHOTONGUI_LIBS_DIR =
+ PHOTONGUI_LIBS1 = -lph -lphexlib
+ PHOTONGUI_LIBS2 =
++ PHOTONGUI_INSTALL = install_normal
+ PHOTONGUI_TARGETS = installglinks
+ PHOTONGUI_MAN_TARGETS = installghelplinks
+ PHOTONGUI_TESTTARGET = gui
+
++ # CARBON GUI
++ CARBONGUI_SRC = gui.c gui_mac.c
++ CARBONGUI_OBJ = objects/gui.o objects/gui_mac.o objects/pty.o
++ CARBONGUI_DEFS = -arch ppc -fno-common -fpascal-strings \
++ -Wall -Wno-unknown-pragmas \
++ -mdynamic-no-pic -pipe
++ CARBONGUI_IPATH = -I. -Iproto -I/Developer/Headers/FlatCarbon
++ CARBONGUI_LIBS_DIR =
++ CARBONGUI_LIBS1 = -framework Carbon
++ CARBONGUI_LIBS2 = -ltermcap
++ CARBONGUI_INSTALL = gui_mac.rsrc install_macosx
++ CARBONGUI_TARGETS =
++ CARBONGUI_MAN_TARGETS =
++ CARBONGUI_TESTTARGET =
++
+ # All GUI files
+ ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c pty.c
+ ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w16.pro gui_w32.pro gui_amiga.pro gui_photon.pro
+***************
+*** 1573,1579 ****
+ # If you want to keep an older version, rename it before running "make
+ # install".
+ #
+! install: installvim installtools install-languages install-icons
+
+ installvim: installvimbin installruntime installlinks installhelplinks installmacros installtutor
+
+--- 1598,1606 ----
+ # If you want to keep an older version, rename it before running "make
+ # install".
+ #
+! install: $(GUI_INSTALL)
+!
+! install_normal: installvim installtools install-languages install-icons
+
+ installvim: installvimbin installruntime installlinks installhelplinks installmacros installtutor
+
+***************
+*** 2135,2140 ****
+--- 2162,2170 ----
+ objects/gui_photon.o: gui_photon.c
+ $(CCC) -o $@ gui_photon.c
+
++ objects/gui_mac.o: gui_mac.c
++ $(CCC) -o $@ gui_mac.c
++
+ objects/hangulin.o: hangulin.c
+ $(CCC) -o $@ hangulin.c
+
+***************
+*** 2210,2215 ****
+--- 2240,2248 ----
+ objects/os_qnx.o: os_qnx.c
+ $(CCC) -o $@ os_qnx.c
+
++ objects/os_macosx.o: os_macosx.c
++ $(CCC) -o $@ os_macosx.c
++
+ objects/os_unix.o: os_unix.c
+ $(CCC) -o $@ os_unix.c
+
+***************
+*** 2269,2274 ****
+--- 2302,2393 ----
+
+ Makefile:
+ @echo The name of the makefile MUST be "Makefile" (with capital M)!!!!
++
++ ###############################################################################
++ ### MacOS X installation
++ ###
++ ### This creates a runnable Vim.app in the src directory
++ ###
++ ### TODO: install the runtime files in Vim.app instead of
++ ### requiring that they be in a seperate directory.
++
++ REZ = /Developer/Tools/Rez
++ RESMRG = /Developer/Tools/ResMerger
++ APPDIR = $(VIMNAME).app
++ RESDIR = $(APPDIR)/Contents/Resources
++ # FIXME: i'm sure someone else can do something clever with grep
++ # sed and version.h here
++ VERSION = 6.2
++
++ ### Common flags
++ M4FLAGS += -DAPP_EXE=$(VIMNAME) -DAPP_NAME=$(VIMNAME) -DAPP_VER=$(VERSION) \
++ -DICON_APP=$(ICON_APP)
++
++ ### Icons
++ # You can download Douglas Stebila's icons:
++ # http://homepage.mac.com/dstebila/code/vim/
++ # TODO: Honestly, why don't we just go ahead and do this? OS 9?
++ # If you place those *.icns at src directory, it will be detected by this
++ # Makefile automatically, and used for Vim.
++ ICON_APP = $(shell if [ -e app.icns ] ; then echo app.icns ; else echo gui_mac.icns ; fi)
++ ICON_DOC = $(shell if [ -e doc.icns ] ; then echo doc.icns ; else echo ; fi)
++ ICON_DOCTXT = $(shell if [ -e doc-txt.icns ] ; then echo doc-txt.icns ; else echo ; fi)
++ ICONS = $(addprefix $(RESDIR)/, $(ICON_APP) $(ICON_DOC) $(ICON_DOCTXT))
++
++ install_macosx: bundle-dir bundle-executable bundle-info bundle-resource \
++ bundle-language
++
++ bundle-dir: $(APPDIR)/Contents
++ cp -R ../runtime $(APPDIR)
++
++ bundle-executable: $(VIMTARGET)
++ cp $(VIMTARGET) $(APPDIR)/Contents/MacOS/$(VIMTARGET)
++
++ bundle-info: bundle-dir
++ @echo "Creating PkgInfo"
++ @echo -n "APPLVIM!" > $(APPDIR)/Contents/PkgInfo
++ @echo "Creating Info.plist"
++ m4 $(M4FLAGS) infplist.xml > $(APPDIR)/Contents/Info.plist
++
++ bundle-resource: bundle-dir bundle-icons bundle-rsrc
++
++ bundle-icons: $(ICONS)
++
++ ### Classic resources
++ # Resource fork (in the form of a .rsrc file) for Classic Vim (Mac OS 9)
++ # This file is also required for OS X Vim.
++ bundle-rsrc: gui_mac.rsrc
++ @echo "Creating resource fork"
++ $(RESMRG) gui_mac.rsrc -dstIs DF -o $(RESDIR)/$(VIMNAME).rsrc
++
++ gui_mac.rsrc:
++ open os_mac.rsr.hqx
++ sleep 1
++ @echo
++ @echo "--------------------"
++ @echo "If this fails, run make install again after StuffIt Expander quits."
++ @echo "--------------------"
++ @echo
++
++ # po/Make_osx.pl says something about generating a Mac message file
++ # for Ukrananian. Would somebody using Mac OS X in Ukranian
++ # *really* be upset that Carbon Vim was not localised in
++ # Ukranian?
++ #
++ #bundle-language: bundle-dir po/Make_osx.pl
++ # cd po && perl Make_osx.pl --outdir ../$(RESDIR) $(MULTILANG)
++ bundle-language: bundle-dir
++
++ $(APPDIR)/Contents:
++ mkdir $(APPDIR)
++ mkdir $(APPDIR)/Contents
++ mkdir $(APPDIR)/Contents/MacOS
++ mkdir $(RESDIR)
++ mkdir $(RESDIR)/English.lproj
++
++ $(RESDIR)/%.icns: %.icns
++ cp $< $@
++
+
+ ###############################################################################
+ ### (automatically generated by 'make depend')
+*** ../vim-6.2.117/src/auto/configure Sat Sep 27 19:20:53 2003
+--- src/auto/configure Sat Sep 13 21:22:56 2003
+***************
+*** 60,66 ****
+ ac_help="$ac_help
+ --with-x use the X Window System"
+ ac_help="$ac_help
+! --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/beos/photon]"
+ ac_help="$ac_help
+ --enable-gtk-check If auto-select GUI, check for GTK [default=yes]"
+ ac_help="$ac_help
+--- 60,66 ----
+ ac_help="$ac_help
+ --with-x use the X Window System"
+ ac_help="$ac_help
+! --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/beos/photon/carbon]"
+ ac_help="$ac_help
+ --enable-gtk-check If auto-select GUI, check for GTK [default=yes]"
+ ac_help="$ac_help
+***************
+*** 74,79 ****
+--- 74,81 ----
+ ac_help="$ac_help
+ --enable-nextaw-check If auto-select GUI, check for neXtaw [default=yes]"
+ ac_help="$ac_help
++ --enable-carbon-check If auto-select GUI, check for Carbon [default=yes]"
++ ac_help="$ac_help
+ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)"
+ ac_help="$ac_help
+ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)"
+***************
+*** 1169,1174 ****
+--- 1171,1229 ----
+ *) QNX=no; echo "$ac_t""no" 1>&6;;
+ esac
+
++ DEFAULT_VIMNAME=vim
++ echo $ac_n "checking for Darwin (Mac OS X)""... $ac_c" 1>&6
++ echo "configure:1177: checking for Darwin (Mac OS X)" >&5
++ if test "`(uname) 2>/dev/null`" = Darwin; then
++ echo "$ac_t""yes" 1>&6
++ MACOSX=yes
++ OS_EXTRA_SCR="os_macosx.c";
++ OS_EXTRA_OBJ="objects/os_macosx.o"
++ CFLAGS="$CFLAGS -DMACOS_X_UNIX"
++
++ ac_safe=`echo "Carbon/Carbon.h" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for Carbon/Carbon.h""... $ac_c" 1>&6
++ echo "configure:1187: checking for Carbon/Carbon.h" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++ #line 1192 "configure"
++ #include "confdefs.h"
++ #include <Carbon/Carbon.h>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++ { (eval echo configure:1197: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++ else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++ fi
++ rm -f conftest*
++ fi
++ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ CARBON=yes
++ else
++ echo "$ac_t""no" 1>&6
++ fi
++
++ if test "x$CARBON" = "xyes"; then
++ if test -z "$with_x"; then
++ with_x=no
++ DEFAULT_VIMNAME=Vim
++ fi
++ fi
++ else
++ echo "$ac_t""no" 1>&6
++ fi
++
+
+
+
+***************
+*** 1194,1211 ****
+ fi
+
+ echo $ac_n "checking --with-vim-name argument""... $ac_c" 1>&6
+! echo "configure:1198: checking --with-vim-name argument" >&5
+ # Check whether --with-vim-name or --without-vim-name was given.
+ if test "${with_vim_name+set}" = set; then
+ withval="$with_vim_name"
+ VIMNAME="$withval"; echo "$ac_t""$VIMNAME" 1>&6
+ else
+! VIMNAME="vim"; echo "$ac_t""Defaulting to vim" 1>&6
+ fi
+
+
+ echo $ac_n "checking --with-ex-name argument""... $ac_c" 1>&6
+! echo "configure:1209: checking --with-ex-name argument" >&5
+ # Check whether --with-ex-name or --without-ex-name was given.
+ if test "${with_ex_name+set}" = set; then
+ withval="$with_ex_name"
+--- 1249,1266 ----
+ fi
+
+ echo $ac_n "checking --with-vim-name argument""... $ac_c" 1>&6
+! echo "configure:1253: checking --with-vim-name argument" >&5
+ # Check whether --with-vim-name or --without-vim-name was given.
+ if test "${with_vim_name+set}" = set; then
+ withval="$with_vim_name"
+ VIMNAME="$withval"; echo "$ac_t""$VIMNAME" 1>&6
+ else
+! VIMNAME="$DEFAULT_VIMNAME"; echo "$ac_t""Defaulting to $VIMNAME" 1>&6
+ fi
+
+
+ echo $ac_n "checking --with-ex-name argument""... $ac_c" 1>&6
+! echo "configure:1264: checking --with-ex-name argument" >&5
+ # Check whether --with-ex-name or --without-ex-name was given.
+ if test "${with_ex_name+set}" = set; then
+ withval="$with_ex_name"
+***************
+*** 1515,1520 ****
+--- 1570,1595 ----
+ echo "$ac_t"">>> too old; need Perl version 5.003_01 or later <<<" 1>&6
+ fi
+ fi
++
++ if test "x$MACOSX" == "xyes"; then
++ dir=/System/Library/Perl
++ darwindir=$dir/darwin
++ if test -d $darwindir; then
++ PERL=/usr/bin/perl
++ else
++ dir=/System/Library/Perl/5.8.1
++ darwindir=$dir/darwin-thread-multi-2level
++ if test -d $darwindir; then
++ PERL=/usr/bin/perl
++ fi
++ fi
++ if test -n "$PERL"; then
++ PERL_DIR=$dir
++ PERL_CFLAGS=-DFEAT_PERL -I$darwindir/CORE
++ PERL_OBJ=if_perl.o if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a
++ PERL_LIBS=-lperl -L$darwindir/CORE
++ fi
++ fi
+ fi
+
+
+***************
+*** 2345,2351 ****
+ echo "$ac_t""$enable_fontset" 1>&6
+
+ test -z "$with_x" && with_x=yes
+! test "${enable_gui-yes}" != no -a "x$QNX" != "xyes" && with_x=yes
+ if test "$with_x" = no; then
+ echo "$ac_t""defaulting to: don't HAVE_X11" 1>&6
+ else
+--- 2420,2426 ----
+ echo "$ac_t""$enable_fontset" 1>&6
+
+ test -z "$with_x" && with_x=yes
+! test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
+ if test "$with_x" = no; then
+ echo "$ac_t""defaulting to: don't HAVE_X11" 1>&6
+ else
+***************
+*** 3458,3467 ****
+ fi
+ fi
+
+! test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
+
+ echo $ac_n "checking --enable-gui argument""... $ac_c" 1>&6
+! echo "configure:3465: checking --enable-gui argument" >&5
+ # Check whether --enable-gui or --disable-gui was given.
+ if test "${enable_gui+set}" = set; then
+ enableval="$enable_gui"
+--- 3533,3542 ----
+ fi
+ fi
+
+! test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
+
+ echo $ac_n "checking --enable-gui argument""... $ac_c" 1>&6
+! echo "configure:3540: checking --enable-gui argument" >&5
+ # Check whether --enable-gui or --disable-gui was given.
+ if test "${enable_gui+set}" = set; then
+ enableval="$enable_gui"
+***************
+*** 3471,3553 ****
+ fi
+
+
+- ## Canonicalize the --enable-gui= argument so that it can be easily compared.
+- ## Do not use character classes for portability with old tools.
+ enable_gui_canon=`echo "_$enable_gui" | \
+ sed 's/[ _+-]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+
+! if test "x$BEOS" = "xyes"; then
+
+! SKIP_GTK=YES
+! SKIP_GTK2=YES
+! SKIP_GNOME=YES
+! SKIP_MOTIF=YES
+! SKIP_ATHENA=YES
+! SKIP_NEXTAW=YES
+! SKIP_PHOTON=YES
+ SKIP_BEOS=
+- GUITYPE=NONE
+-
+ case "$enable_gui_canon" in
+ no) echo "$ac_t""no GUI support" 1>&6
+ SKIP_BEOS=YES ;;
+ yes|"") echo "$ac_t""yes - automatic GUI support" 1>&6 ;;
+ auto) echo "$ac_t""auto - automatic GUI support" 1>&6 ;;
+ beos) echo "$ac_t""BeOS GUI support" 1>&6 ;;
+! *) echo "$ac_t""Sorry, $enable_gui GUI is not supported" 1>&6 ;;
+ esac
+
+ elif test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
+- SKIP_GTK=YES
+- SKIP_GTK2=YES
+- SKIP_GNOME=YES
+- SKIP_MOTIF=YES
+- SKIP_ATHENA=YES
+- SKIP_NEXTAW=YES
+- SKIP_BEOS=YES
+ SKIP_PHOTON=
+- GUITYPE=NONE
+-
+ case "$enable_gui_canon" in
+ no) echo "$ac_t""no GUI support" 1>&6
+ SKIP_PHOTON=YES ;;
+ yes|"") echo "$ac_t""yes - automatic GUI support" 1>&6 ;;
+ auto) echo "$ac_t""auto - automatic GUI support" 1>&6 ;;
+ photon) echo "$ac_t""Photon GUI support" 1>&6 ;;
+! *) echo "$ac_t""Sorry, $enable_gui GUI is not supported" 1>&6 ;;
+ esac
+
+ else
+
+- SKIP_GTK=
+- SKIP_GTK2=
+- SKIP_GNOME=
+- SKIP_MOTIF=
+- SKIP_ATHENA=
+- SKIP_NEXTAW=
+- SKIP_BEOS=YES
+- SKIP_PHOTON=YES
+- GUITYPE=NONE
+
+ case "$enable_gui_canon" in
+! no|none) echo "$ac_t""no GUI support" 1>&6
+! SKIP_GTK=YES; SKIP_GTK2=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ yes|"") echo "$ac_t""yes - automatic GUI support" 1>&6 ;;
+! auto) echo "$ac_t""auto - automatic GUI support" 1>&6 ;;
+ gtk) echo "$ac_t""GTK+ 1.x GUI support" 1>&6
+! SKIP_GTK2=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ gtk2) echo "$ac_t""GTK+ 2.x GUI support" 1>&6
+! SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ gnome) echo "$ac_t""GNOME 1.x GUI support" 1>&6
+! SKIP_GTK2=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ gnome2) echo "$ac_t""GNOME 2.x GUI support" 1>&6
+! SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ motif) echo "$ac_t""Motif GUI support" 1>&6
+! SKIP_GTK=YES; SKIP_GNOME=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ athena) echo "$ac_t""Athena GUI support" 1>&6
+! SKIP_GTK=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_NEXTAW=YES ;;
+ nextaw) echo "$ac_t""neXtaw GUI support" 1>&6
+! SKIP_GTK=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES ;;
+ *) echo "$ac_t""Sorry, $enable_gui GUI is not supported" 1>&6 ;;
+ esac
+
+--- 3546,3633 ----
+ fi
+
+
+ enable_gui_canon=`echo "_$enable_gui" | \
+ sed 's/[ _+-]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+
+! SKIP_GTK=YES
+! SKIP_GTK2=YES
+! SKIP_GNOME=YES
+! SKIP_MOTIF=YES
+! SKIP_ATHENA=YES
+! SKIP_NEXTAW=YES
+! SKIP_PHOTON=YES
+! SKIP_BEOS=YES
+! SKIP_CARBON=YES
+! GUITYPE=NONE
+
+! if test "x$BEOS" = "xyes"; then
+ SKIP_BEOS=
+ case "$enable_gui_canon" in
+ no) echo "$ac_t""no GUI support" 1>&6
+ SKIP_BEOS=YES ;;
+ yes|"") echo "$ac_t""yes - automatic GUI support" 1>&6 ;;
+ auto) echo "$ac_t""auto - automatic GUI support" 1>&6 ;;
+ beos) echo "$ac_t""BeOS GUI support" 1>&6 ;;
+! *) echo "$ac_t""Sorry, $enable_gui GUI is not supported" 1>&6
+! SKIP_BEOS=YES ;;
+ esac
+
+ elif test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
+ SKIP_PHOTON=
+ case "$enable_gui_canon" in
+ no) echo "$ac_t""no GUI support" 1>&6
+ SKIP_PHOTON=YES ;;
+ yes|"") echo "$ac_t""yes - automatic GUI support" 1>&6 ;;
+ auto) echo "$ac_t""auto - automatic GUI support" 1>&6 ;;
+ photon) echo "$ac_t""Photon GUI support" 1>&6 ;;
+! *) echo "$ac_t""Sorry, $enable_gui GUI is not supported" 1>&6
+! SKIP_PHOTON=YES ;;
+! esac
+!
+! elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
+! SKIP_CARBON=
+! case "$enable_gui_canon" in
+! no) echo "$ac_t""no GUI support" 1>&6
+! SKIP_CARBON=YES ;;
+! yes|"") echo "$ac_t""yes - automatic GUI support" 1>&6 ;;
+! auto) echo "$ac_t""auto - automatic GUI support" 1>&6 ;;
+! carbon) echo "$ac_t""Carbon GUI support" 1>&6 ;;
+! *) echo "$ac_t""Sorry, $enable_gui GUI is not supported" 1>&6
+! SKIP_CARBON=YES ;;
+ esac
+
+ else
+
+
+ case "$enable_gui_canon" in
+! no|none) echo "$ac_t""no GUI support" 1>&6 ;;
+ yes|"") echo "$ac_t""yes - automatic GUI support" 1>&6 ;;
+! auto) echo "$ac_t""auto - automatic GUI support" 1>&6
+! SKIP_GTK=
+! SKIP_GTK2=
+! SKIP_GNOME=
+! SKIP_MOTIF=
+! SKIP_ATHENA=
+! SKIP_NEXTAW=
+! SKIP_CARBON=;;
+ gtk) echo "$ac_t""GTK+ 1.x GUI support" 1>&6
+! SKIP_GTK=;;
+ gtk2) echo "$ac_t""GTK+ 2.x GUI support" 1>&6
+! SKIP_GTK=
+! SKIP_GTK2=;;
+ gnome) echo "$ac_t""GNOME 1.x GUI support" 1>&6
+! SKIP_GNOME=
+! SKIP_GTK=;;
+ gnome2) echo "$ac_t""GNOME 2.x GUI support" 1>&6
+! SKIP_GNOME=
+! SKIP_GTK=
+! SKIP_GTK2=;;
+ motif) echo "$ac_t""Motif GUI support" 1>&6
+! SKIP_MOTIF=;;
+ athena) echo "$ac_t""Athena GUI support" 1>&6
+! SKIP_ATHENA=;;
+ nextaw) echo "$ac_t""neXtaw GUI support" 1>&6
+! SKIP_NEXTAW=;;
+ *) echo "$ac_t""Sorry, $enable_gui GUI is not supported" 1>&6 ;;
+ esac
+
+***************
+*** 3658,3663 ****
+--- 3738,3776 ----
+ fi
+ fi
+
++ if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
++ echo $ac_n "checking whether or not to look for Carbon""... $ac_c" 1>&6
++ echo "configure:3744: checking whether or not to look for Carbon" >&5
++ # Check whether --enable-carbon-check or --disable-carbon-check was given.
++ if test "${enable_carbon_check+set}" = set; then
++ enableval="$enable_carbon_check"
++ :
++ else
++ enable_carbon_check="yes"
++ fi
++
++ echo "$ac_t""$enable_carbon_check" 1>&6;
++ if test "x$enable_carbon_check" = "xno"; then
++ SKIP_CARBON=YES
++ fi
++ fi
++
++ if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
++ echo $ac_n "checking for Carbon GUI""... $ac_c" 1>&6
++ echo "configure:3761: checking for Carbon GUI" >&5
++ echo "$ac_t""yes" 1>&6;
++ GUITYPE=CARBONGUI
++ SKIP_GTK=YES;
++ SKIP_GTK2=YES;
++ SKIP_GNOME=YES;
++ SKIP_MOTIF=YES;
++ SKIP_ATHENA=YES;
++ SKIP_NEXTAW=YES;
++ SKIP_PHOTON=YES;
++ SKIP_BEOS=YES;
++ SKIP_CARBON=YES
++ fi
++
+
+
+
+***************
+*** 5292,5298 ****
+
+ for ac_hdr in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
+ termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
+! iconv.h langinfo.h unistd.h stropts.h errno.h strings.h \
+ sys/resource.h sys/systeminfo.h locale.h \
+ sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
+ poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
+--- 5408,5414 ----
+
+ for ac_hdr in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
+ termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
+! iconv.h langinfo.h unistd.h stropts.h errno.h \
+ sys/resource.h sys/systeminfo.h locale.h \
+ sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
+ poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
+***************
+*** 5301,5317 ****
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+! echo "configure:5305: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+! #line 5310 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+! { (eval echo configure:5315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+--- 5417,5433 ----
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+! echo "configure:5421: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+! #line 5426 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+! { (eval echo configure:5431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+***************
+*** 5338,5349 ****
+ done
+
+
+ echo $ac_n "checking if strings.h can be included after string.h""... $ac_c" 1>&6
+! echo "configure:5343: checking if strings.h can be included after string.h" >&5
+ cppflags_save=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ cat > conftest.$ac_ext <<EOF
+! #line 5347 "configure"
+ #include "confdefs.h"
+
+ #if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
+--- 5454,5508 ----
+ done
+
+
++ if test "x$MACOSX" != "xyes"; then
++ for ac_hdr in strings.h
++ do
++ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++ echo "configure:5463: checking for $ac_hdr" >&5
++ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++ else
++ cat > conftest.$ac_ext <<EOF
++ #line 5468 "configure"
++ #include "confdefs.h"
++ #include <$ac_hdr>
++ EOF
++ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++ { (eval echo configure:5473: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++ if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++ else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++ fi
++ rm -f conftest*
++ fi
++ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
++ cat >> confdefs.h <<EOF
++ #define $ac_tr_hdr 1
++ EOF
++
++ else
++ echo "$ac_t""no" 1>&6
++ fi
++ done
++
++ fi
++
+ echo $ac_n "checking if strings.h can be included after string.h""... $ac_c" 1>&6
+! echo "configure:5502: checking if strings.h can be included after string.h" >&5
+ cppflags_save=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $X_CFLAGS"
+ cat > conftest.$ac_ext <<EOF
+! #line 5506 "configure"
+ #include "confdefs.h"
+
+ #if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
+*** ../vim-6.2.117/src/configure.in Sat Sep 27 19:20:53 2003
+--- src/configure.in Sun Oct 12 22:41:30 2003
+***************
+*** 75,80 ****
+--- 75,105 ----
+ *) QNX=no; AC_MSG_RESULT(no);;
+ esac
+
++ dnl Check for Darwin and MacOS X
++ dnl We do a check for MacOS X in the very beginning because there
++ dnl are a lot of other things we need to change besides GUI stuff
++ DEFAULT_VIMNAME=vim
++ AC_MSG_CHECKING([for Darwin (Mac OS X)])
++ if test "`(uname) 2>/dev/null`" = Darwin; then
++ AC_MSG_RESULT(yes)
++ MACOSX=yes
++ OS_EXTRA_SCR="os_macosx.c";
++ OS_EXTRA_OBJ="objects/os_macosx.o"
++ CFLAGS="$CFLAGS -DMACOS_X_UNIX"
++
++ dnl If Carbon is found, assume we don't want X11
++ dnl unless it was specifically asked for (--with-x)
++ AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes)
++ if test "x$CARBON" = "xyes"; then
++ if test -z "$with_x"; then
++ with_x=no
++ DEFAULT_VIMNAME=Vim
++ fi
++ fi
++ else
++ AC_MSG_RESULT(no)
++ fi
++
+ AC_SUBST(OS_EXTRA_SRC)
+ AC_SUBST(OS_EXTRA_OBJ)
+
+***************
+*** 106,112 ****
+ AC_MSG_CHECKING(--with-vim-name argument)
+ AC_ARG_WITH(vim-name, [ --with-vim-name=NAME what to call the Vim executable],
+ VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
+! VIMNAME="vim"; AC_MSG_RESULT(Defaulting to vim))
+ AC_SUBST(VIMNAME)
+ AC_MSG_CHECKING(--with-ex-name argument)
+ AC_ARG_WITH(ex-name, [ --with-ex-name=NAME what to call the Ex executable],
+--- 131,137 ----
+ AC_MSG_CHECKING(--with-vim-name argument)
+ AC_ARG_WITH(vim-name, [ --with-vim-name=NAME what to call the Vim executable],
+ VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
+! VIMNAME="$DEFAULT_VIMNAME"; AC_MSG_RESULT(Defaulting to $VIMNAME))
+ AC_SUBST(VIMNAME)
+ AC_MSG_CHECKING(--with-ex-name argument)
+ AC_ARG_WITH(ex-name, [ --with-ex-name=NAME what to call the Ex executable],
+***************
+*** 295,300 ****
+--- 320,347 ----
+ AC_MSG_RESULT(>>> too old; need Perl version 5.003_01 or later <<<)
+ fi
+ fi
++
++ if test "x$MACOSX" == "xyes"; then
++ dnl Mac OS X 10.2 or 10.3
++ dir=/System/Library/Perl
++ darwindir=$dir/darwin
++ if test -d $darwindir; then
++ PERL=/usr/bin/perl
++ else
++ dnl Mac OS X 10.3
++ dir=/System/Library/Perl/5.8.1
++ darwindir=$dir/darwin-thread-multi-2level
++ if test -d $darwindir; then
++ PERL=/usr/bin/perl
++ fi
++ fi
++ if test -n "$PERL"; then
++ PERL_DIR=$dir
++ PERL_CFLAGS=-DFEAT_PERL -I$darwindir/CORE
++ PERL_OBJ=if_perl.o if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a
++ PERL_LIBS=-lperl -L$darwindir/CORE
++ fi
++ fi
+ fi
+ AC_SUBST(shrpenv)
+ AC_SUBST(PERL_SRC)
+***************
+*** 715,721 ****
+ dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI
+
+ test -z "$with_x" && with_x=yes
+! test "${enable_gui-yes}" != no -a "x$QNX" != "xyes" && with_x=yes
+ if test "$with_x" = no; then
+ AC_MSG_RESULT(defaulting to: don't HAVE_X11)
+ else
+--- 762,768 ----
+ dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI
+
+ test -z "$with_x" && with_x=yes
+! test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
+ if test "$with_x" = no; then
+ AC_MSG_RESULT(defaulting to: don't HAVE_X11)
+ else
+***************
+*** 815,903 ****
+ fi
+ fi
+
+! test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
+
+ AC_MSG_CHECKING(--enable-gui argument)
+ AC_ARG_ENABLE(gui,
+! [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/beos/photon]], , enable_gui="auto")
+
+! ## Canonicalize the --enable-gui= argument so that it can be easily compared.
+! ## Do not use character classes for portability with old tools.
+ enable_gui_canon=`echo "_$enable_gui" | \
+ sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+
+! if test "x$BEOS" = "xyes"; then
+
+! SKIP_GTK=YES
+! SKIP_GTK2=YES
+! SKIP_GNOME=YES
+! SKIP_MOTIF=YES
+! SKIP_ATHENA=YES
+! SKIP_NEXTAW=YES
+! SKIP_PHOTON=YES
+ SKIP_BEOS=
+- GUITYPE=NONE
+-
+ case "$enable_gui_canon" in
+ no) AC_MSG_RESULT(no GUI support)
+ SKIP_BEOS=YES ;;
+ yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
+ auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
+ beos) AC_MSG_RESULT(BeOS GUI support) ;;
+! *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
+ esac
+
+ elif test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
+- SKIP_GTK=YES
+- SKIP_GTK2=YES
+- SKIP_GNOME=YES
+- SKIP_MOTIF=YES
+- SKIP_ATHENA=YES
+- SKIP_NEXTAW=YES
+- SKIP_BEOS=YES
+ SKIP_PHOTON=
+- GUITYPE=NONE
+-
+ case "$enable_gui_canon" in
+ no) AC_MSG_RESULT(no GUI support)
+ SKIP_PHOTON=YES ;;
+ yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
+ auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
+ photon) AC_MSG_RESULT(Photon GUI support) ;;
+! *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
+ esac
+
+ else
+
+- SKIP_GTK=
+- SKIP_GTK2=
+- SKIP_GNOME=
+- SKIP_MOTIF=
+- SKIP_ATHENA=
+- SKIP_NEXTAW=
+- SKIP_BEOS=YES
+- SKIP_PHOTON=YES
+- GUITYPE=NONE
+
+ case "$enable_gui_canon" in
+! no|none) AC_MSG_RESULT(no GUI support)
+! SKIP_GTK=YES; SKIP_GTK2=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+! yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
+! auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
+ gtk) AC_MSG_RESULT(GTK+ 1.x GUI support)
+! SKIP_GTK2=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
+! SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ gnome) AC_MSG_RESULT(GNOME 1.x GUI support)
+! SKIP_GTK2=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ gnome2) AC_MSG_RESULT(GNOME 2.x GUI support)
+! SKIP_MOTIF=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ motif) AC_MSG_RESULT(Motif GUI support)
+! SKIP_GTK=YES; SKIP_GNOME=YES; SKIP_ATHENA=YES; SKIP_NEXTAW=YES ;;
+ athena) AC_MSG_RESULT(Athena GUI support)
+! SKIP_GTK=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_NEXTAW=YES ;;
+ nextaw) AC_MSG_RESULT(neXtaw GUI support)
+! SKIP_GTK=YES; SKIP_GNOME=YES; SKIP_MOTIF=YES; SKIP_ATHENA=YES ;;
+ *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
+ esac
+
+--- 862,957 ----
+ fi
+ fi
+
+! test "x$with_x" = xno -a "x$BEOS" != "xyes" -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
+
+ AC_MSG_CHECKING(--enable-gui argument)
+ AC_ARG_ENABLE(gui,
+! [ --enable-gui[=OPTS] X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/beos/photon/carbon]], , enable_gui="auto")
+
+! dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
+! dnl Do not use character classes for portability with old tools.
+ enable_gui_canon=`echo "_$enable_gui" | \
+ sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+
+! dnl Skip everything by default.
+! SKIP_GTK=YES
+! SKIP_GTK2=YES
+! SKIP_GNOME=YES
+! SKIP_MOTIF=YES
+! SKIP_ATHENA=YES
+! SKIP_NEXTAW=YES
+! SKIP_PHOTON=YES
+! SKIP_BEOS=YES
+! SKIP_CARBON=YES
+! GUITYPE=NONE
+
+! if test "x$BEOS" = "xyes"; then
+ SKIP_BEOS=
+ case "$enable_gui_canon" in
+ no) AC_MSG_RESULT(no GUI support)
+ SKIP_BEOS=YES ;;
+ yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
+ auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
+ beos) AC_MSG_RESULT(BeOS GUI support) ;;
+! *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
+! SKIP_BEOS=YES ;;
+ esac
+
+ elif test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
+ SKIP_PHOTON=
+ case "$enable_gui_canon" in
+ no) AC_MSG_RESULT(no GUI support)
+ SKIP_PHOTON=YES ;;
+ yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
+ auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
+ photon) AC_MSG_RESULT(Photon GUI support) ;;
+! *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
+! SKIP_PHOTON=YES ;;
+! esac
+!
+! elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
+! SKIP_CARBON=
+! case "$enable_gui_canon" in
+! no) AC_MSG_RESULT(no GUI support)
+! SKIP_CARBON=YES ;;
+! yes|"") AC_MSG_RESULT(yes - automatic GUI support) ;;
+! auto) AC_MSG_RESULT(auto - automatic GUI support) ;;
+! carbon) AC_MSG_RESULT(Carbon GUI support) ;;
+! *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
+! SKIP_CARBON=YES ;;
+ esac
+
+ else
+
+
+ case "$enable_gui_canon" in
+! no|none) AC_MSG_RESULT(no GUI support) ;;
+! yes|""|auto) AC_MSG_RESULT(yes/auto - automatic GUI support)
+! SKIP_GTK=
+! SKIP_GTK2=
+! SKIP_GNOME=
+! SKIP_MOTIF=
+! SKIP_ATHENA=
+! SKIP_NEXTAW=
+! SKIP_CARBON=;;
+ gtk) AC_MSG_RESULT(GTK+ 1.x GUI support)
+! SKIP_GTK=;;
+ gtk2) AC_MSG_RESULT(GTK+ 2.x GUI support)
+! SKIP_GTK=
+! SKIP_GTK2=;;
+ gnome) AC_MSG_RESULT(GNOME 1.x GUI support)
+! SKIP_GNOME=
+! SKIP_GTK=;;
+ gnome2) AC_MSG_RESULT(GNOME 2.x GUI support)
+! SKIP_GNOME=
+! SKIP_GTK=
+! SKIP_GTK2=;;
+ motif) AC_MSG_RESULT(Motif GUI support)
+! SKIP_MOTIF=;;
+ athena) AC_MSG_RESULT(Athena GUI support)
+! SKIP_ATHENA=;;
+ nextaw) AC_MSG_RESULT(neXtaw GUI support)
+! SKIP_NEXTAW=;;
+ *) AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
+ esac
+
+***************
+*** 972,977 ****
+--- 1026,1059 ----
+ fi
+ fi
+
++ if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
++ AC_MSG_CHECKING(whether or not to look for Carbon)
++ AC_ARG_ENABLE(carbon-check,
++ [ --enable-carbon-check If auto-select GUI, check for Carbon [default=yes]],
++ , enable_carbon_check="yes")
++ AC_MSG_RESULT($enable_carbon_check);
++ if test "x$enable_carbon_check" = "xno"; then
++ SKIP_CARBON=YES
++ fi
++ fi
++
++ if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
++ AC_MSG_CHECKING(for Carbon GUI)
++ dnl already did this
++ AC_MSG_RESULT(yes);
++ GUITYPE=CARBONGUI
++ dnl skip everything else
++ SKIP_GTK=YES;
++ SKIP_GTK2=YES;
++ SKIP_GNOME=YES;
++ SKIP_MOTIF=YES;
++ SKIP_ATHENA=YES;
++ SKIP_NEXTAW=YES;
++ SKIP_PHOTON=YES;
++ SKIP_BEOS=YES;
++ SKIP_CARBON=YES
++ fi
++
+
+ dnl
+ dnl Get the cflags and libraries from the gtk-config script
+***************
+*** 1567,1572 ****
+--- 1649,1660 ----
+ AC_DEFINE(FEAT_XFONTSET)
+ fi
+
++
++ dnl ---------------------------------------------------------------------------
++ dnl end of GUI-checking
++ dnl ---------------------------------------------------------------------------
++
++
+ dnl Only really enable hangul input when GUI and XFONTSET are available
+ if test "$enable_hangulinput" = "yes"; then
+ if test "x$GUITYPE" = "xNONE"; then
+***************
+*** 1622,1633 ****
+
+ AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
+ termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
+! iconv.h langinfo.h unistd.h stropts.h errno.h strings.h \
+ sys/resource.h sys/systeminfo.h locale.h \
+ sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
+ poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
+ libgen.h util/debug.h util/msg18n.h frame.h \
+ sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h)
+
+ dnl Check if strings.h and string.h can both be included when defined.
+ AC_MSG_CHECKING([if strings.h can be included after string.h])
+--- 1710,1726 ----
+
+ AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
+ termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
+! iconv.h langinfo.h unistd.h stropts.h errno.h \
+ sys/resource.h sys/systeminfo.h locale.h \
+ sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
+ poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
+ libgen.h util/debug.h util/msg18n.h frame.h \
+ sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h)
++
++ dnl On Mac OS X strings.h exists but produces a warning message :-(
++ if test "x$MACOSX" != "xyes"; then
++ AC_CHECK_HEADERS(strings.h)
++ fi
+
+ dnl Check if strings.h and string.h can both be included when defined.
+ AC_MSG_CHECKING([if strings.h can be included after string.h])
+*** ../vim-6.2.117/src/config.mk.in Sun Apr 20 16:10:18 2003
+--- src/config.mk.in Sun Sep 7 20:25:02 2003
+***************
+*** 116,121 ****
+--- 116,122 ----
+ GUI_LIBS_DIR = $(@GUITYPE@_LIBS_DIR)
+ GUI_LIBS1 = $(@GUITYPE@_LIBS1)
+ GUI_LIBS2 = $(@GUITYPE@_LIBS2)
++ GUI_INSTALL = $(@GUITYPE@_INSTALL)
+ GUI_TARGETS = $(@GUITYPE@_TARGETS)
+ GUI_MAN_TARGETS = $(@GUITYPE@_MAN_TARGETS)
+ GUI_TESTTARGET = $(@GUITYPE@_TESTTARGET)
+*** ../vim-6.2.117/src/gui_mac.c Sat Jul 26 21:25:27 2003
+--- src/gui_mac.c Sun Oct 12 21:59:11 2003
+***************
+*** 206,212 ****
+ #endif
+
+ /* Colors Macros */
+! #define RGB(r,g,b) (r << 16) + (g << 8) + b
+ #define Red(c) ((c & 0x00FF0000) >> 16)
+ #define Green(c) ((c & 0x0000FF00) >> 8)
+ #define Blue(c) ((c & 0x000000FF) >> 0)
+--- 206,212 ----
+ #endif
+
+ /* Colors Macros */
+! #define RGB(r,g,b) ((r) << 16) + ((g) << 8) + (b)
+ #define Red(c) ((c & 0x00FF0000) >> 16)
+ #define Green(c) ((c & 0x0000FF00) >> 8)
+ #define Blue(c) ((c & 0x000000FF) >> 0)
+***************
+*** 613,622 ****
+ }
+
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+! if (buf->b_ml.ml_mfp != NULL)
+! if (SearchData.theFile.parID == buf->b_FSSpec.parID)
+! if (SearchData.theFile.name[0] = buf->b_FSSpec.name[0])
+! if (STRNCMP(SearchData.theFile.name, buf->b_FSSpec.name, buf->b_FSSpec.name[0]+1))
+ {
+ foundFile = true;
+ break;
+--- 613,622 ----
+ }
+
+ for (buf = firstbuf; buf != NULL; buf = buf->b_next)
+! if (buf->b_ml.ml_mfp != NULL
+! && SearchData.theFile.parID == buf->b_FSSpec.parID
+! && SearchData.theFile.name[0] == buf->b_FSSpec.name[0]
+! && STRNCMP(SearchData.theFile.name, buf->b_FSSpec.name, buf->b_FSSpec.name[0] + 1) == 0)
+ {
+ foundFile = true;
+ break;
+***************
+*** 822,828 ****
+ CW_GetText GetTextData;
+ Size actualSize;
+ char_u *line;
+! char_u *fullbuffer;
+ long linesize;
+ long lineStart;
+ long BufferSize;
+--- 822,828 ----
+ CW_GetText GetTextData;
+ Size actualSize;
+ char_u *line;
+! char_u *fullbuffer = NULL;
+ long linesize;
+ long lineStart;
+ long BufferSize;
+***************
+*** 875,883 ****
+ HUnlock (GetTextData.theText);
+ }
+ }
+! HLock (GetTextData.theText);
+! fullbuffer[BufferSize-1] = 0;
+! HUnlock (GetTextData.theText);
+ if (foundFile == false)
+ *GetTextData.theDate = fnfErr;
+ else
+--- 875,886 ----
+ HUnlock (GetTextData.theText);
+ }
+ }
+! if (fullbuffer != NULL)
+! {
+! HLock (GetTextData.theText);
+! fullbuffer[BufferSize-1] = 0;
+! HUnlock (GetTextData.theText);
+! }
+ if (foundFile == false)
+ *GetTextData.theDate = fnfErr;
+ else
+***************
+*** 3160,3166 ****
+ if (STRICMP (name, "hilite") == 0)
+ {
+ LMGetHiliteRGB (&MacColor);
+! return (RGB (MacColor.red >> 8, MacColor.green >> 8, MacColor.blue >>8));
+ }
+ /* Check if the name is one of the colors we know */
+ for (i = 0; i < sizeof(table) / sizeof(table[0]); i++)
+--- 3163,3169 ----
+ if (STRICMP (name, "hilite") == 0)
+ {
+ LMGetHiliteRGB (&MacColor);
+! return (RGB (MacColor.red >> 8, MacColor.green >> 8, MacColor.blue >> 8));
+ }
+ /* Check if the name is one of the colors we know */
+ for (i = 0; i < sizeof(table) / sizeof(table[0]); i++)
+***************
+*** 3214,3220 ****
+ if (STRICMP(color, name) == 0)
+ {
+ fclose(fd);
+! return (guicolor_T) RGB(r,g,b);
+ }
+ }
+ fclose(fd);
+--- 3217,3223 ----
+ if (STRICMP(color, name) == 0)
+ {
+ fclose(fd);
+! return (guicolor_T) RGB(r, g, b);
+ }
+ }
+ fclose(fd);
+***************
+*** 5086,5091 ****
+--- 5089,5095 ----
+ status = ContextualMenuSelect(CntxMenu, where, false, kCMHelpItemNoHelp, HelpName, NULL, &CntxType, &CntxMenuID, &CntxMenuItem);
+
+ if (status == noErr)
++ {
+ if (CntxType == kCMMenuItemSelected)
+ {
+ /* Handle the menu CntxMenuID, CntxMenuItem */
+***************
+*** 5097,5102 ****
+--- 5101,5107 ----
+ {
+ /* Should come up with the help */
+ }
++ }
+
+ /* Restore original Port */
+ SetPort (savePort); /*OSX*/
+*** ../vim-6.2.117/src/os_mac.h Mon Jul 28 14:38:38 2003
+--- src/os_mac.h Sun Oct 12 21:14:34 2003
+***************
+*** 147,165 ****
+ #endif
+ #define HAVE_AVAIL_MEM
+
+ /* #define SYNC_DUP_CLOSE sync() a file with dup() and close() */
+! #define HAVE_STRING_H
+! #define HAVE_STRCSPN
+! #define HAVE_MEMSET
+! #define USE_TMPNAM /* use tmpnam() instead of mktemp() */
+! #define HAVE_FCNTL_H
+! #define HAVE_QSORT
+! #define HAVE_ST_MODE /* have stat.st_mode */
+
+! #if defined(__DATE__) && defined(__TIME__)
+! # define HAVE_DATE_TIME
+ #endif
+- #define HAVE_STRFTIME
+
+
+ /*
+--- 147,167 ----
+ #endif
+ #define HAVE_AVAIL_MEM
+
++ #ifndef HAVE_CONFIG_H
+ /* #define SYNC_DUP_CLOSE sync() a file with dup() and close() */
+! # define HAVE_STRING_H
+! # define HAVE_STRCSPN
+! # define HAVE_MEMSET
+! # define USE_TMPNAM /* use tmpnam() instead of mktemp() */
+! # define HAVE_FCNTL_H
+! # define HAVE_QSORT
+! # define HAVE_ST_MODE /* have stat.st_mode */
+
+! # if defined(__DATE__) && defined(__TIME__)
+! # define HAVE_DATE_TIME
+! # endif
+! # define HAVE_STRFTIME
+ #endif
+
+
+ /*
+***************
+*** 333,358 ****
+ /**************/
+ #define mch_rename(src, dst) rename(src, dst)
+ #define mch_remove(x) unlink((char *)(x))
+! #if defined(__MRC__) || defined(__SC__)
+! # define mch_getenv(name) ((char_u *)getenv((char *)(name)))
+! # define mch_setenv(name, val, x) setenv((name), (val))
+! #elif defined(__APPLE_CC__)
+! # define mch_getenv(name) ((char_u *)getenv((char *)(name)))
+ /*# define mch_setenv(name, val, x) setenv((name), (val)) */ /* Obsoleted by Dany on Oct 30, 2001 */
+! # define mch_setenv(name, val, x) setenv(name, val, x)
+! #else
+! /* vim_getenv() is in pty.c */
+! # define USE_VIMPTY_GETENV
+! # define mch_getenv(x) vimpty_getenv(x)
+! # define mch_setenv(name, val, x) setenv(name, val, x)
+ #endif
+
+! #ifdef __APPLE_CC__
+ /* Assuming compiling for MacOS X */
+ /* Trying to take advantage of the prebinding */
+! # define HAVE_TGETENT
+! # define OSPEED_EXTERN
+! # define UP_BC_PC_EXTERN
+ #endif
+
+ /* Some "prep work" definition to be able to compile the MacOS X
+--- 335,364 ----
+ /**************/
+ #define mch_rename(src, dst) rename(src, dst)
+ #define mch_remove(x) unlink((char *)(x))
+! #ifndef mch_getenv
+! # if defined(__MRC__) || defined(__SC__)
+! # define mch_getenv(name) ((char_u *)getenv((char *)(name)))
+! # define mch_setenv(name, val, x) setenv((name), (val))
+! # elif defined(__APPLE_CC__)
+! # define mch_getenv(name) ((char_u *)getenv((char *)(name)))
+ /*# define mch_setenv(name, val, x) setenv((name), (val)) */ /* Obsoleted by Dany on Oct 30, 2001 */
+! # define mch_setenv(name, val, x) setenv(name, val, x)
+! # else
+! /* vim_getenv() is in pty.c */
+! # define USE_VIMPTY_GETENV
+! # define mch_getenv(x) vimpty_getenv(x)
+! # define mch_setenv(name, val, x) setenv(name, val, x)
+! # endif
+ #endif
+
+! #ifndef HAVE_CONFIG_H
+! # ifdef __APPLE_CC__
+ /* Assuming compiling for MacOS X */
+ /* Trying to take advantage of the prebinding */
+! # define HAVE_TGETENT
+! # define OSPEED_EXTERN
+! # define UP_BC_PC_EXTERN
+! # endif
+ #endif
+
+ /* Some "prep work" definition to be able to compile the MacOS X
+***************
+*** 361,385 ****
+ */
+
+ #ifdef MACOS_X_UNIX
+- # define RETSIGTYPE void
+- # define SIGRETURN return
+ # define SIGPROTOARG (int)
+ # define SIGDEFARG(s) (s) int s;
+ # define SIGDUMMYARG 0
+- /*# define USE_SYSTEM */ /* Output ship do debugger :(, but ot compile */
+- # define HAVE_SYS_WAIT_H 1 /* Attempt */
+- # define HAVE_TERMIOS_H 1
+- # define SYS_SELECT_WITH_SYS_TIME 1
+- # define HAVE_SELECT 1
+- # define HAVE_SYS_SELECT_H 1
+ # undef HAVE_AVAIL_MEM
+! # define HAVE_PUTENV
+! # define HAVE_SETENV
+! # define HAVE_RENAME
+ # define mch_chdir(s) chdir(s)
+ #endif
+
+! #ifdef MACOS_X
+ # define HAVE_PUTENV
+ #endif
+
+--- 367,393 ----
+ */
+
+ #ifdef MACOS_X_UNIX
+ # define SIGPROTOARG (int)
+ # define SIGDEFARG(s) (s) int s;
+ # define SIGDUMMYARG 0
+ # undef HAVE_AVAIL_MEM
+! # ifndef HAVE_CONFIG_H
+! # define RETSIGTYPE void
+! # define SIGRETURN return
+! /*# define USE_SYSTEM */ /* Output ship do debugger :(, but ot compile */
+! # define HAVE_SYS_WAIT_H 1 /* Attempt */
+! # define HAVE_TERMIOS_H 1
+! # define SYS_SELECT_WITH_SYS_TIME 1
+! # define HAVE_SELECT 1
+! # define HAVE_SYS_SELECT_H 1
+! # define HAVE_PUTENV
+! # define HAVE_SETENV
+! # define HAVE_RENAME
+! # endif
+ # define mch_chdir(s) chdir(s)
+ #endif
+
+! #if defined(MACOS_X) && !defined(HAVE_CONFIG_H)
+ # define HAVE_PUTENV
+ #endif
+
+*** ../vim-6.2.117/src/os_macosx.c Sun May 11 17:26:37 2003
+--- src/os_macosx.c Sun Sep 7 21:45:56 2003
+***************
+*** 13,19 ****
+ */
+
+ #ifdef MACOS_X_UNIX
+! # include "os_unix.c"
+ #else
+ # include "os_mac.c"
+ # include <TextEncodingConverter.h>
+--- 13,19 ----
+ */
+
+ #ifdef MACOS_X_UNIX
+! # include "vim.h"
+ #else
+ # include "os_mac.c"
+ # include <TextEncodingConverter.h>
+*** ../vim-6.2.117/src/proto/gui_mac.pro Sat Jul 26 21:25:27 2003
+--- src/proto/gui_mac.pro Sun Sep 7 23:42:13 2003
+***************
+*** 135,138 ****
+--- 135,142 ----
+ void gui_mac_doMouseMovedEvent __ARGS((EventRecord *event));
+ void gui_mac_doMouseUpEvent __ARGS((EventRecord *theEvent));
+
++ int C2PascalString (char_u *CString, Str255 *PascalString);
++ int GetFSSpecFromPath ( char_u *file, FSSpec *fileFSSpec);
++ char_u *FullPathFromFSSpec_save (FSSpec file);
++
+ /* vim: set ft=c : */
+*** ../vim-6.2.117/src/proto/os_mac.pro Sun Sep 16 20:33:15 2001
+--- src/proto/os_mac.pro Sun Sep 7 23:42:47 2003
+***************
+*** 45,55 ****
+ int mch_has_exp_wildcard __ARGS((char_u *p));
+
+ void slash_n_colon_adjust __ARGS((char_u *buf));
+- char_u *FullPathFromFSSpec_save (FSSpec file);
+ int mch_copy_file(char_u *from, char_u *to);
+
+- int C2PascalString (char_u *CString, Str255 *PascalString);
+- int GetFSSpecFromPath ( char_u *file, FSSpec *fileFSSpec);
+ int mch_has_resource_fork (char_u *file);
+ int mch_copy_file_attribute(char_u *from, char_u *to);
+
+--- 45,52 ----
+*** ../vim-6.2.117/src/infplist.xml Mon Oct 13 22:09:37 2003
+--- src/infplist.xml Thu Aug 14 13:36:03 2003
+***************
+*** 0 ****
+--- 1,51 ----
++ <?xml version="1.0" encoding="UTF-8"?>
++ <!-- vim:set ts=2 sts=2 sw=2 tw=0: -->
++ <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
++ <plist version="0.9">
++ <dict>
++
++ <key>CFBundleInfoDictionaryVersion</key>
++ <string>6.0</string>
++
++ <key>CFBundleExecutable</key>
++ <string>APP_EXE</string>
++ <key>CFBundleName</key>
++ <string>APP_NAME</string>
++ <key>CFBundlePackageType</key>
++ <string>APPL</string>
++ <key>CFBundleVersion</key>
++ <string>APP_VER</string>
++ <key>CFBundleShortVersionString</key>
++ <string>APP_VER</string>
++ <key>CFBundleSignature</key>
++ <string>VIM!</string>
++
++ <key>CFBundleDevelopmentRegion</key>
++ <string>English</string>
++ <key>CSResourcesFileMapped</key>
++ <true/>
++ <key>CFBundleIconFile</key>
++ <string>ICON_APP</string>
++
++ <key>CFBundleDocumentTypes</key>
++ <array>
++ <dict>
++ <key>CFBundleTypeExtensions</key>
++ <array>
++ <string>*</string>
++ </array>
++ <key>CFBundleTypeIconFile</key>
++ <string>doc-txt.icns</string>
++ <key>CFBundleTypeName</key>
++ <string>NSStringPboardType</string>
++ <key>CFBundleTypeOSTypes</key>
++ <array>
++ <string>****</string>
++ </array>
++ <key>CFBundleTypeRole</key>
++ <string>Editor</string>
++ </dict>
++ </array>
++
++ </dict>
++ </plist>
+*** ../vim-6.2.117/src/vim.h Sun Oct 12 17:25:14 2003
+--- src/vim.h Sun Oct 12 21:10:15 2003
+***************
+*** 63,70 ****
+ # define MACOS_CLASSIC
+ #endif
+ #if defined(MACOS_X_UNIX)
+! # define MACOS_X
+ # define UNIX
+ #endif
+ #if defined(MACOS_X) || defined(MACOS_CLASSIC)
+ # define MACOS
+--- 63,72 ----
+ # define MACOS_CLASSIC
+ #endif
+ #if defined(MACOS_X_UNIX)
+! # define MACOS_X
+! # ifndef HAVE_CONFIG_H
+ # define UNIX
++ # endif
+ #endif
+ #if defined(MACOS_X) || defined(MACOS_CLASSIC)
+ # define MACOS
+***************
+*** 187,193 ****
+ # define __ARGS(x) x
+ #endif
+
+! #if (defined(UNIX) || defined(__EMX__) || defined(VMS)) && !defined(MACOS_X)
+ # include "os_unix.h" /* bring lots of system header files */
+ #endif
+
+--- 189,196 ----
+ # define __ARGS(x) x
+ #endif
+
+! #if (defined(UNIX) || defined(__EMX__) || defined(VMS)) \
+! && (!defined(MACOS_X) || defined(HAVE_CONFIG_H))
+ # include "os_unix.h" /* bring lots of system header files */
+ #endif
+
+*** ../vim-6.2.117/src/version.c Sun Oct 12 20:20:38 2003
+--- src/version.c Mon Oct 13 22:08:37 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 118,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+197. Your desk collapses under the weight of your computer peripherals.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.119
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.119 (after 6.2.107)
+Problem: When packing the MS-Windows archives a few files are missing.
+ (Guopeng Wen)
+Solution: Add gui_beval.* to the list of generic source files.
+Files: Makefile
+
+
+*** ../vim-6.2.118/Makefile Sun Oct 12 16:42:14 2003
+--- Makefile Mon Oct 13 11:29:54 2003
+***************
+*** 84,91 ****
+ # src/vim16.def.
+ # - Correct included_patches[] in src/version.c.
+ # - Compile Vim with GTK, Perl, Python, TCL, Ruby, Cscope and "huge" features.
+! # - With these features: "make proto" (requires cproto; ignore warnings for
+! # missing include files, fix problems for syntax errors).
+ # - With these features: "make depend" (works best with gcc).
+ # - "make lint" and check the output (ignore GTK warnings).
+ # - Enable the efence library in "src/Makefile" and run "make test".
+--- 84,91 ----
+ # src/vim16.def.
+ # - Correct included_patches[] in src/version.c.
+ # - Compile Vim with GTK, Perl, Python, TCL, Ruby, Cscope and "huge" features.
+! # - With these features: "make proto" (requires cproto and Motif installed;
+! # ignore warnings for missing include files, fix problems for syntax errors).
+ # - With these features: "make depend" (works best with gcc).
+ # - "make lint" and check the output (ignore GTK warnings).
+ # - Enable the efence library in "src/Makefile" and run "make test".
+***************
+*** 185,193 ****
+--- 185,196 ----
+ SRC_ALL = \
+ main.aap \
+ src/README.txt \
++ src/arabic.c \
++ src/arabic.h \
+ src/ascii.h \
+ src/buffer.c \
+ src/charset.c \
++ src/diff.c \
+ src/digraph.c \
+ src/edit.c \
+ src/eval.c \
+***************
+*** 197,211 ****
+--- 200,222 ----
+ src/ex_docmd.c \
+ src/ex_eval.c \
+ src/ex_getln.c \
++ src/farsi.c \
++ src/farsi.h \
+ src/feature.h \
+ src/fileio.c \
++ src/fold.c \
+ src/getchar.c \
+ src/globals.h \
++ src/gui.c \
++ src/gui.h \
++ src/gui_beval.c \
++ src/gui_beval.h \
+ src/keymap.h \
+ src/macros.h \
+ src/main.aap \
+ src/main.c \
+ src/mark.c \
++ src/mbyte.c \
+ src/memfile.c \
+ src/memline.c \
+ src/menu.c \
+***************
+*** 237,244 ****
+--- 248,257 ----
+ src/proto/fold.pro \
+ src/proto/getchar.pro \
+ src/proto/gui.pro \
++ src/proto/gui_beval.pro \
+ src/proto/main.pro \
+ src/proto/mark.pro \
++ src/proto/mbyte.pro \
+ src/proto/memfile.pro \
+ src/proto/memline.pro \
+ src/proto/menu.pro \
+***************
+*** 246,252 ****
+ src/proto/misc1.pro \
+ src/proto/misc2.pro \
+ src/proto/move.pro \
+- src/proto/mbyte.pro \
+ src/proto/netbeans.pro \
+ src/proto/normal.pro \
+ src/proto/ops.pro \
+--- 259,264 ----
+***************
+*** 275,282 ****
+ src/term.h \
+ src/termlib.c \
+ src/testdir/*.in \
+- src/testdir/main.aap \
+ src/testdir/*.ok \
+ src/testdir/test49.vim \
+ src/ui.c \
+ src/undo.c \
+--- 287,294 ----
+ src/term.h \
+ src/termlib.c \
+ src/testdir/*.in \
+ src/testdir/*.ok \
++ src/testdir/main.aap \
+ src/testdir/test49.vim \
+ src/ui.c \
+ src/undo.c \
+***************
+*** 286,303 ****
+ src/window.c \
+ src/xxd/xxd.c \
+
+- # more source files
+- SRC_MORE = \
+- src/diff.c \
+- src/arabic.c \
+- src/arabic.h \
+- src/farsi.c \
+- src/farsi.h \
+- src/fold.c \
+- src/gui.c \
+- src/gui.h \
+- src/mbyte.c \
+-
+ # source files for Unix only
+ SRC_UNIX = \
+ Makefile \
+--- 298,303 ----
+***************
+*** 319,326 ****
+ src/gui_at_sb.c \
+ src/gui_at_sb.h \
+ src/gui_athena.c \
+- src/gui_beval.c \
+- src/gui_beval.h \
+ src/gui_gtk.c \
+ src/gui_gtk_f.c \
+ src/gui_gtk_f.h \
+--- 319,324 ----
+***************
+*** 341,347 ****
+ src/osdef2.h.in \
+ src/pathdef.sh \
+ src/proto/gui_athena.pro \
+- src/proto/gui_beval.pro \
+ src/proto/gui_gtk.pro \
+ src/proto/gui_gtk_x11.pro \
+ src/proto/gui_motif.pro \
+--- 339,344 ----
+***************
+*** 612,617 ****
+--- 609,615 ----
+ runtime/macros/matchit.txt \
+ runtime/macros/maze/README.txt \
+ runtime/macros/maze/[mM]akefile \
++ runtime/macros/maze/main.aap \
+ runtime/macros/maze/maze.c \
+ runtime/macros/maze/maze_5.78 \
+ runtime/macros/maze/maze_mac \
+***************
+*** 632,638 ****
+ runtime/indoff.vim \
+ runtime/termcap \
+ runtime/tools/README.txt \
+! runtime/tools/[a-z]* \
+ runtime/tutor/README.txt \
+ runtime/tutor/tutor \
+ runtime/tutor/tutor.vim \
+--- 630,636 ----
+ runtime/indoff.vim \
+ runtime/termcap \
+ runtime/tools/README.txt \
+! runtime/tools/[a-z]*[^~] \
+ runtime/tutor/README.txt \
+ runtime/tutor/tutor \
+ runtime/tutor/tutor.vim \
+***************
+*** 925,931 ****
+ mkdir dist/$(VIMRTDIR)
+ tar cf - \
+ $(SRC_ALL) \
+- $(SRC_MORE) \
+ | (cd dist/$(VIMRTDIR); tar xf -)
+ cd dist && tar cf $(VIMVER)-src1.tar $(VIMRTDIR)
+ gzip -9 dist/$(VIMVER)-src1.tar
+--- 923,928 ----
+***************
+*** 1034,1040 ****
+ tar cf - \
+ $(ROOT_AMI) \
+ $(SRC_ALL) \
+- $(SRC_MORE) \
+ $(SRC_AMI) \
+ $(SRC_AMI_DOS) \
+ | (cd dist/Vim/$(VIMRTDIR); tar xf -)
+--- 1031,1036 ----
+***************
+*** 1208,1214 ****
+ mkdir dist/vim/$(VIMRTDIR)
+ tar cf - \
+ $(SRC_ALL) \
+- $(SRC_MORE) \
+ $(SRC_DOS) \
+ $(SRC_AMI_DOS) \
+ $(SRC_DOS_UNIX) \
+--- 1204,1209 ----
+*** ../vim-6.2.118/src/version.c Mon Oct 13 22:21:06 2003
+--- src/version.c Mon Oct 13 22:29:29 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 119,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+199. You read this entire list of symptoms, looking for something
+ that doesn't describe you.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.120
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.120
+Problem: Win32 GUI: The console dialogs are not supported on MS-Windows,
+ disabling the 'c' flag of 'guioptions'. (Servatius Brandt)
+Solution: Define FEAT_CON_DIALOG also for GUI-only builds.
+Files: src/feature.h
+
+
+*** ../vim-6.2.119/src/feature.h Sun Oct 12 16:42:14 2003
+--- src/feature.h Mon Oct 13 20:13:07 2003
+***************
+*** 719,737 ****
+ * When none of these defined there is no dialog support.
+ */
+ #ifdef FEAT_NORMAL
+! # if defined(FEAT_GUI_MSWIN)
+! # define FEAT_GUI_DIALOG
+! # else
+! # if ((defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) \
+ && defined(HAVE_X11_XPM_H)) \
+ || defined(FEAT_GUI_GTK) \
+ || defined(FEAT_GUI_PHOTON) \
+ || defined(FEAT_GUI_MAC)
+! # define FEAT_CON_DIALOG
+! # define FEAT_GUI_DIALOG
+! # else
+! # define FEAT_CON_DIALOG
+! # endif
+ # endif
+ #endif
+ #if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
+--- 719,734 ----
+ * When none of these defined there is no dialog support.
+ */
+ #ifdef FEAT_NORMAL
+! # if ((defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_MOTIF)) \
+ && defined(HAVE_X11_XPM_H)) \
+ || defined(FEAT_GUI_GTK) \
+ || defined(FEAT_GUI_PHOTON) \
++ || defined(FEAT_GUI_MSWIN) \
+ || defined(FEAT_GUI_MAC)
+! # define FEAT_CON_DIALOG
+! # define FEAT_GUI_DIALOG
+! # else
+! # define FEAT_CON_DIALOG
+ # endif
+ #endif
+ #if !defined(FEAT_GUI_DIALOG) && (defined(FEAT_GUI_MOTIF) \
+*** ../vim-6.2.119/src/version.c Mon Oct 13 22:30:33 2003
+--- src/version.c Mon Oct 13 22:46:57 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 120,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+201. When somebody asks you where you are, you tell them in which chat room.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.121
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.121 (after 6.2.118)
+Problem: Not all make programs support "+=". (Charles Campbell)
+Solution: Use a normal assignment.
+Files: src/Makefile
+
+
+*** ../vim-6.2.120/src/Makefile Mon Oct 13 22:21:06 2003
+--- src/Makefile Tue Oct 14 10:33:02 2003
+***************
+*** 2320,2327 ****
+ VERSION = 6.2
+
+ ### Common flags
+! M4FLAGS += -DAPP_EXE=$(VIMNAME) -DAPP_NAME=$(VIMNAME) -DAPP_VER=$(VERSION) \
+! -DICON_APP=$(ICON_APP)
+
+ ### Icons
+ # You can download Douglas Stebila's icons:
+--- 2320,2327 ----
+ VERSION = 6.2
+
+ ### Common flags
+! M4FLAGS = $(M4FLAGS) -DAPP_EXE=$(VIMNAME) -DAPP_NAME=$(VIMNAME) \
+! -DAPP_VER=$(VERSION) -DICON_APP=$(ICON_APP)
+
+ ### Icons
+ # You can download Douglas Stebila's icons:
+*** ../vim-6.2.120/src/version.c Mon Oct 13 22:48:17 2003
+--- src/version.c Tue Oct 14 10:34:56 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 121,
+ /**/
+
+--
+$ echo pizza > /dev/oven
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.122
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.122 (after 6.2.119)
+Problem: Not all shells can expand [^~]. File missing. (Guopeng Wen)
+Solution: Use a simpler pattern. Add the Aap recipe for the maze program
+ and a clean version of the source code.
+Files: Makefile, runtime/macros/maze/Makefile,
+ runtime/macros/maze/README.txt, runtime/macros/maze/main.aap,
+ runtime/macros/maze/mazeclean.c
+
+
+*** ../vim-6.2.121/Makefile Mon Oct 13 22:30:33 2003
+--- Makefile Fri Oct 17 11:53:21 2003
+***************
+*** 614,619 ****
+--- 614,620 ----
+ runtime/macros/maze/maze_5.78 \
+ runtime/macros/maze/maze_mac \
+ runtime/macros/maze/mazeansi.c \
++ runtime/macros/maze/mazeclean.c \
+ runtime/macros/maze/poster \
+ runtime/macros/shellmenu.vim \
+ runtime/macros/swapmous.vim \
+***************
+*** 630,636 ****
+ runtime/indoff.vim \
+ runtime/termcap \
+ runtime/tools/README.txt \
+! runtime/tools/[a-z]*[^~] \
+ runtime/tutor/README.txt \
+ runtime/tutor/tutor \
+ runtime/tutor/tutor.vim \
+--- 631,637 ----
+ runtime/indoff.vim \
+ runtime/termcap \
+ runtime/tools/README.txt \
+! runtime/tools/[a-z]*[a-z0-9] \
+ runtime/tutor/README.txt \
+ runtime/tutor/tutor \
+ runtime/tutor/tutor.vim \
+*** ../vim-6.2.121/runtime/macros/maze/Makefile Mon Jan 17 15:30:12 2000
+--- runtime/macros/maze/Makefile Sun Oct 12 12:25:01 2003
+***************
+*** 1,6 ****
+ # It's simple...
+- # NOTE: The maze program doesn't work on x86 systems, might be a byte order
+- # problem.
+
+ maze: mazeansi.c
+ cc -o maze mazeansi.c
+--- 1,7 ----
+ # It's simple...
+
+ maze: mazeansi.c
+ cc -o maze mazeansi.c
++
++ mazeclean: mazeclean.c
++ cc -o mazeclean mazeclean.c
+*** ../vim-6.2.121/runtime/macros/maze/README.txt Sun May 4 23:09:37 2003
+--- runtime/macros/maze/README.txt Sun Oct 12 12:24:33 2003
+***************
+*** 5,11 ****
+
+ The "-u maze.mac" loads the maze macros and skips loading your .vimrc, which
+ may contain settings and mappings that get in the way.
+- The maze program doesn't work on x86 systems, probably a byte order problem.
+
+
+ The original README:
+--- 5,10 ----
+*** ../vim-6.2.121/runtime/macros/maze/main.aap Fri Oct 17 11:54:07 2003
+--- runtime/macros/maze/main.aap Sun Oct 12 12:21:33 2003
+***************
+*** 0 ****
+--- 1,4 ----
++ # Aap recipe to build the maze program
++ :program maze : mazeansi.c
++
++ :program mazeclean : mazeclean.c
+*** ../vim-6.2.121/runtime/macros/maze/mazeclean.c Fri Oct 17 11:54:07 2003
+--- runtime/macros/maze/mazeclean.c Sun Oct 12 12:23:20 2003
+***************
+*** 0 ****
+--- 1,22 ----
++ /*
++ * Cleaned-up version of the maze program.
++ * Doesn't look as nice, but should work with all C compilers.
++ * Sascha Wilde, October 2003
++ */
++ #include <stdio.h>
++ #include <stdlib.h>
++
++ char *M, A, Z, E = 40, line[80], T[3];
++ int
++ main (C)
++ {
++ for (M = line + E, *line = A = scanf ("%d", &C); --E; line[E] = M[E] = E)
++ printf ("._");
++ for (; (A -= Z = !Z) || (printf ("\n|"), A = 39, C--); Z || printf (T))
++ T[Z] = Z[A - (E = A[line - Z]) && !C
++ & A == M[A]
++ | RAND_MAX/3 < rand ()
++ || !C & !Z ? line[M[E] = M[A]] = E, line[M[A] = A - Z] =
++ A, "_." : " |"];
++ return 0;
++ }
+*** ../vim-6.2.121/src/version.c Tue Oct 14 10:36:08 2003
+--- src/version.c Fri Oct 17 11:53:28 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 122,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+269. You receive an e-mail from the wife of a deceased president, offering
+ to send you twenty million dollar, and you are not even surprised.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.123
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.123 (after 6.2.118)
+Problem: Running configure fails. (Tony Leneis)
+Solution: Change "==" to "=" for a test.
+Files: src/auto/configure, src/configure.in
+
+
+*** ../vim-6.2.122/src/auto/configure Mon Oct 13 22:21:06 2003
+--- src/auto/configure Thu Oct 16 10:32:05 2003
+***************
+*** 1571,1577 ****
+ fi
+ fi
+
+! if test "x$MACOSX" == "xyes"; then
+ dir=/System/Library/Perl
+ darwindir=$dir/darwin
+ if test -d $darwindir; then
+--- 1571,1577 ----
+ fi
+ fi
+
+! if test "x$MACOSX" = "xyes"; then
+ dir=/System/Library/Perl
+ darwindir=$dir/darwin
+ if test -d $darwindir; then
+*** ../vim-6.2.122/src/configure.in Mon Oct 13 22:21:06 2003
+--- src/configure.in Thu Oct 16 10:31:42 2003
+***************
+*** 321,327 ****
+ fi
+ fi
+
+! if test "x$MACOSX" == "xyes"; then
+ dnl Mac OS X 10.2 or 10.3
+ dir=/System/Library/Perl
+ darwindir=$dir/darwin
+--- 321,327 ----
+ fi
+ fi
+
+! if test "x$MACOSX" = "xyes"; then
+ dnl Mac OS X 10.2 or 10.3
+ dir=/System/Library/Perl
+ darwindir=$dir/darwin
+*** ../vim-6.2.122/src/version.c Fri Oct 17 11:55:09 2003
+--- src/version.c Fri Oct 17 11:59:58 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 123,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+269. You wonder how you can make your dustbin produce Sesame Street's
+ Oscar's the Garbage Monster song when you empty it.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.124 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.124 (after 6.2.121)(extra)
+Problem: Mac: Recursive use of M4FLAGS causes problems. When running Vim
+ directly it can't find the runtime files. (Emily Jackson)
+ Using GNU constructs causes warnings with other make programs.
+ (Ronald Schild)
+Solution: Use another name for the M4FLAGS variable.
+ Don't remove "Vim.app" from the path.
+ Update the explanation for compiling on the Mac. (Eric Kow)
+ Don't use $(shell ) and $(addprefix ).
+Files: src/INSTALLmac.txt, src/Makefile, src/misc1.c
+
+
+*** ../vim-6.2.123/src/INSTALLmac.txt Sun May 4 22:40:16 2003
+--- src/INSTALLmac.txt Wed Oct 15 16:50:16 2003
+***************
+*** 3,69 ****
+ This file contains instructions for compiling Vim. If you already have an
+ executable version of Vim, you don't need this.
+
+! -----------------------------------------------------------
+
+! Here's a summary of how Vim can be compiled under MacOS, depending on
+! the version of MacOS, the compiler and the interface.
+
+! A. Supported compiler and environement
+
+! 1. CodeWarrior (pre-MacOS X)
+! 2. MPW (pre-MacOS X)
+! 3. Project Builder (MacOS X)
+! 4. Unix Compiler (MacOS X)
+
+! B. Supported user interface
+
+! 1. Original MacOS Toolbox [Compile with A.1 and A.2]
+! 2. Carbon MacOS [Compile with A.3]
+! 3. X (Athena, GTK, Motif). [Compile with A.4]
+! 4. Plain Text [Compile with A.4]
+
+! NOTE: Sorry, Cocoa is not expected to be supported for now.
+!
+! C. Supported "OS" style
+!
+! 1. MacOS [Compile as B.1]
+! 2. MacOS X [Compile as B.2]
+! 3. BSD Unix [Compile as B.2, B.3 and B.4]
+!
+! -----------------------------------------------------------
+!
+! Special Consideration
+! ---------------------
+!
+! B.2: Compiling for Carbon
+!
+! Currently the Carbon version can only be compiled properly under MacOS X.
+! The binary created in that way does'nt work under previous version.
+!
+! B.3: Compiling for X
+!
+! You need to first install XFree86 and XDarwin.
+! Please visit http://www.XDarwin.org
+!
+! C.1: The MacOS version
+!
+! Both ':' and '/' supported as path separator.
+!
+! C.2: The MacOS X version
+!
+! Only '/' supported as path separator.
+!
+! C.3: The BSD Unix version
+
+ Only '/' supported as path separator.
+- Shell command can be invoked (:!)
+
+! -----------------------------------------------------------
+
+! A.1: Compiling with CodeWarior
+
+ 1. Expand the resource file:
+! - ../src/os_mac.rsr.hqx (to produce ../src/gui_mac.rsrc)
+
+ 2. Expand the project file:
+ - ../src/os_mac.sit.hqx (to produce ../src/vim.mcp)
+--- 3,74 ----
+ This file contains instructions for compiling Vim. If you already have an
+ executable version of Vim, you don't need this.
+
+! An alternate way of building that Benji Fisher uses can be found here:
+
+! http://macvim.swdev.org/OSX/#Developers
+
+! ----------------------------------------------------------------------------
+! Summary
+! ----------------------------------------------------------------------------
+
+! 1 MacOS X
+! 1.1. Carbon interface
+! 1.2. X (Athena, GTK, Motif) or plain text.
+
+! 2 MacOS Classic
+! 2.1. CodeWarrior
+! 2.2. MPW
+
+! NOTE: The Carbon version can only be compiled properly under
+! MacOS X.
+
+! ----------------------------------------------------------------------------
+! 1 MacOS X
+! ----------------------------------------------------------------------------
+
++ 1.0 Considerations
++
+ Only '/' supported as path separator.
+
+! 1.1 Carbon interface (default)
+!
+! You can compile vim with the standard Unix routine:
+! cd ..
+! ./configure
+! make; make install
+!
+! This will create a working Vim.app application bundle in the src
+! directory. You can move this bundle (the Vim.app directory) anywhere
+! you want, for example, /Applications.
+!
+! 1.2 X-Windows or Plain Text
+!
+! If you do not want the Carbon interface, you must explicitly tell
+! configure to use a different GUI.
+!
+! cd ..
+! ./configure --enable-gui=gtk2
+! make; make install
+!
+! NOTE: The following GUI options are supported:
+! no (for text), motif, athena, nextaw
+! gtk, gtk2, gnome, gnome2,
+!
+! NOTE: You need to first install XFree86 and XDarwin.
+! Please visit http://www.XDarwin.org
+!
+! ----------------------------------------------------------------------------
+! MacOS 9
+! ----------------------------------------------------------------------------
+
+! Both ':' and '/' supported as path separator.
+
++ 2.1: Compiling with CodeWarior
++
+ 1. Expand the resource file:
+! open ../src/os_mac.rsr.hqx to produce ../src/gui_mac.rsrc:
+! % cd vim62/src
+! % open -a StuffIt\ Expander os_mac.rsr.hqx
+
+ 2. Expand the project file:
+ - ../src/os_mac.sit.hqx (to produce ../src/vim.mcp)
+***************
+*** 81,88 ****
+
+ 5. Compile
+
+!
+! A.2: Compiling with MPW.
+
+ 0. You will need a recent version of the MPW and the Universal Interfaces.
+ You can get both at:
+--- 86,92 ----
+
+ 5. Compile
+
+! 2.2: Compiling with MPW.
+
+ 0. You will need a recent version of the MPW and the Universal Interfaces.
+ You can get both at:
+***************
+*** 94,100 ****
+ Apple.
+
+ 1. Expand the resource file:
+! - ../src/os_mac.rsr.hqx (to produce ../src/gui_mac.rsrc)
+
+ 3. Double click on os_make.make, the MPW will now open in the correct
+ folder and load the CreateVimMake script. Change to the Worksheet
+--- 98,106 ----
+ Apple.
+
+ 1. Expand the resource file:
+! open ../src/os_mac.rsr.hqx to produce ../src/gui_mac.rsrc:
+! % cd vim62/src
+! % open -a StuffIt\ Expander os_mac.rsr.hqx
+
+ 3. Double click on os_make.make, the MPW will now open in the correct
+ folder and load the CreateVimMake script. Change to the Worksheet
+***************
+*** 103,135 ****
+
+ 4. Select "Build" from the menu (or type command-B). Type the program name
+ into the dialog box.
+-
+- A.3: Compiling with Project Builder.
+-
+- 1. Expand the resource file:
+- - ../src/os_mac.rsr.hqx (to produce ../src/gui_mac.rsrc)
+-
+- 2. Open ../src/os_mac.pbproject with Project Builder
+-
+- 3. Choose between C.2 and C.3
+-
+- In Target ... CCFLAGS use:
+-
+- -DMACOS_X
+- if you want a normal MacOS X version (using os_mac.c)
+-
+- -DMACOS_X_UNIX
+- if you want to use shell commands (using os_unix.c)
+- NOTE: some functionality may be missing
+-
+- 4. Hammer the build button in ;)
+-
+-
+- A.4: Using the unix compiler.
+-
+- From Terminal.app you can use "configure" and "make". Refer to INSTALL for
+- full detail. The MacOS port is not involve here.
+-
+
+ ------------------------------------------------------
+
+--- 109,114 ----
+*** ../vim-6.2.123/src/Makefile Tue Oct 14 10:36:08 2003
+--- src/Makefile Thu Oct 16 12:56:23 2003
+***************
+*** 2307,2315 ****
+ ### MacOS X installation
+ ###
+ ### This creates a runnable Vim.app in the src directory
+- ###
+- ### TODO: install the runtime files in Vim.app instead of
+- ### requiring that they be in a seperate directory.
+
+ REZ = /Developer/Tools/Rez
+ RESMRG = /Developer/Tools/ResMerger
+--- 2307,2312 ----
+***************
+*** 2320,2338 ****
+ VERSION = 6.2
+
+ ### Common flags
+! M4FLAGS = $(M4FLAGS) -DAPP_EXE=$(VIMNAME) -DAPP_NAME=$(VIMNAME) \
+ -DAPP_VER=$(VERSION) -DICON_APP=$(ICON_APP)
+
+ ### Icons
+! # You can download Douglas Stebila's icons:
+! # http://homepage.mac.com/dstebila/code/vim/
+! # TODO: Honestly, why don't we just go ahead and do this? OS 9?
+! # If you place those *.icns at src directory, it will be detected by this
+! # Makefile automatically, and used for Vim.
+! ICON_APP = $(shell if [ -e app.icns ] ; then echo app.icns ; else echo gui_mac.icns ; fi)
+! ICON_DOC = $(shell if [ -e doc.icns ] ; then echo doc.icns ; else echo ; fi)
+! ICON_DOCTXT = $(shell if [ -e doc-txt.icns ] ; then echo doc-txt.icns ; else echo ; fi)
+! ICONS = $(addprefix $(RESDIR)/, $(ICON_APP) $(ICON_DOC) $(ICON_DOCTXT))
+
+ install_macosx: bundle-dir bundle-executable bundle-info bundle-resource \
+ bundle-language
+--- 2317,2335 ----
+ VERSION = 6.2
+
+ ### Common flags
+! M4FLAGSX = $(M4FLAGS) -DAPP_EXE=$(VIMNAME) -DAPP_NAME=$(VIMNAME) \
+ -DAPP_VER=$(VERSION) -DICON_APP=$(ICON_APP)
+
+ ### Icons
+! ICON_APP = gui_mac.icns
+! ICONS = $(RESDIR)/$(ICON_APP)
+!
+! # If you uncomment the following lines the *.icns in the src directory will be
+! # detected by this Makefile automatically, and used for Vim.
+! #ICON_APP = $(shell if [ -e app.icns ] ; then echo app.icns ; else echo gui_mac.icns ; fi)
+! #ICON_DOC = $(shell if [ -e doc.icns ] ; then echo doc.icns ; else echo ; fi)
+! #ICON_DOCTXT = $(shell if [ -e doc-txt.icns ] ; then echo doc-txt.icns ; else echo ; fi)
+! #ICONS = $(addprefix $(RESDIR)/, $(ICON_APP) $(ICON_DOC) $(ICON_DOCTXT))
+
+ install_macosx: bundle-dir bundle-executable bundle-info bundle-resource \
+ bundle-language
+***************
+*** 2347,2353 ****
+ @echo "Creating PkgInfo"
+ @echo -n "APPLVIM!" > $(APPDIR)/Contents/PkgInfo
+ @echo "Creating Info.plist"
+! m4 $(M4FLAGS) infplist.xml > $(APPDIR)/Contents/Info.plist
+
+ bundle-resource: bundle-dir bundle-icons bundle-rsrc
+
+--- 2344,2350 ----
+ @echo "Creating PkgInfo"
+ @echo -n "APPLVIM!" > $(APPDIR)/Contents/PkgInfo
+ @echo "Creating Info.plist"
+! m4 $(M4FLAGSX) infplist.xml > $(APPDIR)/Contents/Info.plist
+
+ bundle-resource: bundle-dir bundle-icons bundle-rsrc
+
+*** ../vim-6.2.123/src/misc1.c Sat Sep 27 19:48:50 2003
+--- src/misc1.c Wed Oct 15 11:30:39 2003
+***************
+*** 20,28 ****
+
+ static char_u *vim_version_dir __ARGS((char_u *vimdir));
+ static char_u *remove_tail __ARGS((char_u *p, char_u *pend, char_u *name));
+- #if defined(USE_EXE_NAME) && defined(MACOS_X)
+- static char_u *remove_tail_with_ext __ARGS((char_u *p, char_u *pend, char_u *name));
+- #endif
+ static int get_indent_str __ARGS((char_u *ptr, int ts));
+ static int copy_indent __ARGS((int size, char_u *src));
+
+--- 20,25 ----
+***************
+*** 3398,3404 ****
+ if (p == exe_name)
+ {
+ pend = remove_tail(p, pend, (char_u *)"Contents/MacOS");
+- pend = remove_tail_with_ext(p, pend, (char_u *)".app");
+ pend = remove_tail(p, pend, (char_u *)"build");
+ }
+ # endif
+--- 3399,3404 ----
+***************
+*** 3544,3573 ****
+ return newend;
+ return pend;
+ }
+-
+- #if defined(USE_EXE_NAME) && defined(MACOS_X)
+- /*
+- * If the string between "p" and "pend" ends in "???.ext/", return "pend" minus
+- * the length of "???.ext/". Otherwise return "pend".
+- */
+- static char_u *
+- remove_tail_with_ext(p, pend, ext)
+- char_u *p;
+- char_u *pend;
+- char_u *ext;
+- {
+- int len = (int)STRLEN(ext) + 1;
+- char_u *newend = pend - len;
+-
+- if (newend >= p
+- && fnamencmp(newend, ext, len - 1) == 0)
+- for (;newend != p && !vim_ispathsep(*(newend -1)); newend--);
+-
+- if (newend == p || vim_ispathsep(*(newend - 1)))
+- return newend;
+- return pend;
+- }
+- #endif
+
+ /*
+ * Call expand_env() and store the result in an allocated string.
+--- 3544,3549 ----
+*** ../vim-6.2.123/src/version.c Fri Oct 17 12:01:21 2003
+--- src/version.c Fri Oct 17 12:05:52 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 124,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+10E. You start counting in hex.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.125
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.125 (after 6.2.107)
+Problem: The "winsock2.h" file isn't always available.
+Solution: Don't include this header file.
+Files: src/netbeans.c
+
+
+*** ../vim-6.2.124/src/netbeans.c Sun Oct 12 16:42:14 2003
+--- src/netbeans.c Tue Oct 14 15:41:00 2003
+***************
+*** 28,37 ****
+ # include <tchar.h> /* for _T definition for TRACEn macros */
+ # endif
+ # include <io.h>
+! # include <winsock2.h>
+! /* WinSock API is separated from C API
+! * So we can't use read, write, errno...
+! */
+ # define sock_errno WSAGetLastError()
+ # define ECONNREFUSED WSAECONNREFUSED
+ # define sock_write(sd, buf, len) send(sd, buf, len, 0)
+--- 28,35 ----
+ # include <tchar.h> /* for _T definition for TRACEn macros */
+ # endif
+ # include <io.h>
+! /* WinSock API is separated from C API, thus we can't use read(), write(),
+! * errno... */
+ # define sock_errno WSAGetLastError()
+ # define ECONNREFUSED WSAECONNREFUSED
+ # define sock_write(sd, buf, len) send(sd, buf, len, 0)
+*** ../vim-6.2.124/src/version.c Fri Oct 17 12:08:46 2003
+--- src/version.c Fri Oct 17 12:11:48 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 125,
+ /**/
+
+--
+ARTHUR: This new learning amazes me, Sir Bedevere. Explain again how sheep's
+ bladders may be employed to prevent earthquakes.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.125
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.126
+Problem: Typing CTRL-C at a confirm() prompt doesn't throw an exception.
+Solution: Reset "mapped_ctrl_c" in get_keystroke(), so that "got_int" is set
+ in _OnChar().
+Files: src/misc1.c
+
+
+*** ../vim-6.2.125/src/misc1.c Fri Oct 17 12:08:46 2003
+--- src/misc1.c Wed Oct 15 11:30:39 2003
+***************
+*** 2760,2766 ****
+--- 2760,2768 ----
+ char_u buf[CBUFLEN];
+ int len = 0;
+ int n;
++ int save_mapped_ctrl_c = mapped_ctrl_c;
+
++ mapped_ctrl_c = FALSE; /* mappings are not used here */
+ for (;;)
+ {
+ cursor_on();
+***************
+*** 2835,2840 ****
+--- 2837,2844 ----
+ #endif
+ break;
+ }
++
++ mapped_ctrl_c = save_mapped_ctrl_c;
+ return n;
+ }
+
+*** ../vim-6.2.125/src/version.c Fri Oct 17 12:13:28 2003
+--- src/version.c Fri Oct 17 12:17:16 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 126,
+ /**/
+
+--
+Women are probably the main cause of free software starvation.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///
--- /dev/null
+To: vim-dev@vim.org
+Subject: Patch 6.2.127 (extra)
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 6.2.127 (extra)
+Problem: Win32 console: Typing CTRL-C doesn't throw an exception.
+Solution: Set got_int immediately when CTRL-C is typed, don't wait for
+ mch_breakcheck() being called.
+Files: src/os_win32.c
+
+
+*** ../vim-6.2.126/src/os_win32.c Thu Sep 11 21:50:44 2003
+--- src/os_win32.c Thu Oct 16 19:41:18 2003
+***************
+*** 1386,1393 ****
+ }
+ #endif
+
+! if (c == Ctrl_C)
+! g_fCBrkPressed = TRUE;
+
+ #ifdef FEAT_MOUSE
+ if (g_nMouseClick == -1)
+--- 1386,1396 ----
+ }
+ #endif
+
+! if (c == Ctrl_C && ctrl_c_interrupts)
+! {
+! trash_input_buf();
+! got_int = TRUE;
+! }
+
+ #ifdef FEAT_MOUSE
+ if (g_nMouseClick == -1)
+*** ../vim-6.2.126/src/version.c Fri Oct 17 12:18:17 2003
+--- src/version.c Fri Oct 17 12:19:58 2003
+***************
+*** 639,640 ****
+--- 639,642 ----
+ { /* Add new patch number below this line */
++ /**/
++ 127,
+ /**/
+
+--
+This sentence is not sure that it exists, but if it does, it will
+certainly consider the possibility that other sentences exist.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// Creator of Vim - Vi IMproved -- http://www.Vim.org \\\
+\\\ Project leader for A-A-P -- http://www.A-A-P.org ///
+ \\\ Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html ///