diff --git a/Filelist b/Filelist
index 23dfa3f..046a9a7 100644
--- a/Filelist
+++ b/Filelist
@@ -424,8 +424,6 @@
 		src/Make_bc5.mak \
 		src/Make_cyg.mak \
 		src/Make_cyg_ming.mak \
-		src/Make_ivc.mak \
-		src/Make_dvc.mak \
 		src/Make_ming.mak \
 		src/Make_mvc.mak \
 		tools/rename.bat \
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
index b03bf15..37a5772 100644
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -78,10 +78,6 @@
 If you built the executable yourself with the Microsoft Visual C++ compiler,
 then the PDB was built with the EXE.
 
-Alternatively, if you have the source files, you can import Make_ivc.mak into
-Visual Studio as a workspace.  Then select a debug configuration, build and
-you can do all kinds of debugging (set breakpoints, watch variables, etc.).
-
 If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
 
 For other compilers, you should always use the corresponding debugger: TD for
diff --git a/src/INSTALLpc.txt b/src/INSTALLpc.txt
index 4b2bd3d..0c276fa 100644
--- a/src/INSTALLpc.txt
+++ b/src/INSTALLpc.txt
@@ -81,21 +81,11 @@
 				Perl, Python, etc.
 
 Make_mvc.mak allows a Vim to be built with various different features and
-debug support.  Debugging with MS Devstudio is provided by Make_dvc.mak.
-For a description of the use of Make_dvc.mak, look in Make_mvc.mak.
+debug support.
 
 For compiling Gvim with IME support on far-east Windows, add IME=yes
 to the parameters you pass to Make_mvc.mak.
 
-To build Vim from within the Visual Studio IDE, open the Make_ivc.mak project.
-(Note: Make_ivc.mak is not as rich as Make_mvc.mak, which allows for
-far more configuration.) Make_ivc.mak can also be built with nmake.
-
-nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim"
-				GUI	  Microsoft Visual C++ 4.x or later
-nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim OLE"
-				OLE	  Microsoft Visual C++ 4.x or later
-
 See the specific files for comments and options.
 
 These files have been supplied by George V. Reilly, Ben Singer, Ken Scott and
diff --git a/src/Make_dvc.mak b/src/Make_dvc.mak
deleted file mode 100644
index 46377f0..0000000
--- a/src/Make_dvc.mak
+++ /dev/null
@@ -1,105 +0,0 @@
-# Microsoft Developer Studio Generated NMAKE File, Format Version 4.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-!IF "$(CFG)" == ""
-CFG=Vim - Win32 IDE for Make_mvc.mak
-!MESSAGE No configuration specified.  Defaulting to Vim - Win32 IDE for\
- Make_mvc.mak.
-!ENDIF
-
-!IF "$(CFG)" != "Vim - Win32 IDE for Make_mvc.mak"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE on this makefile
-!MESSAGE by defining the macro CFG on the command line.  For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Make_dvc.mak" CFG="Vim - Win32 IDE for Make_mvc.mak"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Vim - Win32 IDE for Make_mvc.mak" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE 
-!ERROR An invalid configuration is specified.
-!ENDIF
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE
-NULL=nul
-!ENDIF
-################################################################################
-# Begin Project
-# PROP Target_Last_Scanned "Vim - Win32 IDE for Make_mvc.mak"
-CPP=cl.exe
-RSC=rc.exe
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Target_Dir ""
-OUTDIR=.
-INTDIR=.
-
-ALL : "$(OUTDIR)\vimrun.exe"
-
-CLEAN :
-	-@erase ".\vimrun.exe"
-	-@erase ".\vimrun.obj"
-
-# ADD CPP /nologo /c
-# ADD BASE RSC /l 0x809
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BSC32 /nologo
-BSC32_FLAGS=/nologo /o"$(OUTDIR)/Make_dvc.bsc"
-BSC32_SBRS=
-LINK32=link.exe
-# ADD BASE LINK32 /machine:IX86
-# ADD LINK32 /nologo /pdb:none /machine:IX86 /out:"vimrun.exe"
-LINK32_FLAGS=/nologo /pdb:none /machine:IX86 /out:"$(OUTDIR)/vimrun.exe"
-LINK32_OBJS= \
-	"$(INTDIR)/vimrun.obj"
-
-"$(OUTDIR)\vimrun.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-CPP_PROJ=/nologo /ML /c
-
-.c.obj:
-   $(CPP) $(CPP_PROJ) $<
-
-.cpp.obj:
-   $(CPP) $(CPP_PROJ) $<
-
-.cxx.obj:
-   $(CPP) $(CPP_PROJ) $<
-
-.c.sbr:
-   $(CPP) $(CPP_PROJ) $<
-
-.cpp.sbr:
-   $(CPP) $(CPP_PROJ) $<
-
-.cxx.sbr:
-   $(CPP) $(CPP_PROJ) $<
-
-################################################################################
-# Begin Target
-
-# Name "Vim - Win32 IDE for Make_mvc.mak"
-################################################################################
-# Begin Source File
-
-SOURCE=.\vimrun.c
-
-"$(INTDIR)\vimrun.obj" : $(SOURCE) "$(INTDIR)"
-
-
-# End Source File
-# End Target
-# End Project
-################################################################################
diff --git a/src/Make_ivc.mak b/src/Make_ivc.mak
deleted file mode 100644
index a8b9dff..0000000
--- a/src/Make_ivc.mak
+++ /dev/null
@@ -1,778 +0,0 @@
-# Microsoft Developer Studio Generated NMAKE File, Format Version 4.00
-# ** DO NOT EDIT **
-#
-# Make_ivc.mak Makefile to build vim in both IDE and nmake.
-# This file can be imported as a workspace into Visual Studio.  It must be in
-# DOS fileformat then!
-#
-# It is worth making the file read-only as the VC4 IDE will try to overwrite
-# it with a HUGELY expanded clone of itself.
-#
-# The following points are worth noting:
-# 1) Comments here are ignored by VC[456].0 IDEs
-# 2) # ADD LINK32 /pdb:.\Dbg/vimd.pdb is written so rather than
-#    # ADD LINK32 /pdb:".\Dbg/vimd.pdb" to avoid VC4 -> VC5 conversion failure
-# 3) It is good to delete .pdb file before linking to cope with switch among
-#    VC[456] as IDE clean action does not remove that file and link clashes
-#    with it. The following works in VC5 but not in VC4 which does not support
-#    pre-link actions. The nmake action does such deletions.
-# Begin Special Build Tool
-PreLink_Cmds=@if exist .\oleDbg\gvimd.pdb del .\oleDbg\gvimd.pdb
-# End Special Build Tool
-# 4) I was unable to make !IFDEF OLE, etc. work in the VC4 IDE.
-#    I was aiming for 4 configurations with sub-configurations selected by
-#    environment variables.
-# 5) Optimisation is not supported by disabled versions of VC. This results in
-#    messages for Release builds like:
-#      Command line warning D4025 : overriding '/O2' with '/Od'
-# 6) nmake 1.62 and later support batch compilation. I was unable to use this
-#    in a manner acceptable to earlier IDEs.
-#
-# History
-#
-# When       Who       What
-# 2001-07-06 W.Briscoe Original derived from Make_[go]vc.mak with less noise
-# 2001-07-08 W.Briscoe Further noise reduction; consistent .map and .pdb logic
-#		       Added install.exe rule, etc.; Removed unused libraries.
-# 2001-08-09 W.Briscoe Restored VC4.0-required trailing space in !MESSAGE afore
-#		       Enhanced if_ole.idl rule to use /out argument.
-#		       Default rules now relative to . to reduce IDE/nmake difs
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-!IF "$(CFG)" == ""
-CFG=Vim - Win32 Release gvim OLE
-!MESSAGE No configuration specified.  Defaulting to Vim - Win32 Release gvim OLE.
-!ENDIF
-
-!IF "$(CFG)" != "Vim - Win32 Release gvim OLE"\
- && "$(CFG)" != "Vim - Win32 Debug gvim OLE"\
- && "$(CFG)" != "Vim - Win32 Release gvim"\
- && "$(CFG)" != "Vim - Win32 Debug gvim"\
- && "$(CFG)" != "Vim - Win32 Release vim"\
- && "$(CFG)" != "Vim - Win32 Debug vim"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE on this makefile
-!MESSAGE by defining the macro CFG on the command line.  For example:
-!MESSAGE
-!MESSAGE NMAKE /f "Make_ivc.mak" CFG="Vim - Win32 Debug vim"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Vim - Win32 Release gvim OLE" (based on "Win32 (x86) Console Application")
-!MESSAGE "Vim - Win32 Debug gvim OLE"   (based on "Win32 (x86) Console Application")
-!MESSAGE "Vim - Win32 Release gvim"     (based on "Win32 (x86) Console Application")
-!MESSAGE "Vim - Win32 Debug gvim"       (based on "Win32 (x86) Console Application")
-!MESSAGE "Vim - Win32 Release vim"      (based on "Win32 (x86) Console Application")
-!MESSAGE "Vim - Win32 Debug vim"        (based on "Win32 (x86) Console Application")
-!MESSAGE 
-!ERROR An invalid configuration is specified.
-!ENDIF
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-DEL_TREE = rmdir /s /q
-!ELSE
-NULL=nul
-DEL_TREE = deltree /y
-!ENDIF
-
-# Begin Project
-# PROP Target_Last_Scanned "Vim - Win32 Debug vim"
-# PROP Use_MFC 0
-
-RSC=rc.exe
-CPP=cl.exe
-LINK32=link.exe
-
-CPP_PROJ= /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c
-# ADD CPP /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c
-
-LINK32_FLAGS= oldnames.lib kernel32.lib user32.lib gdi32.lib version.lib comdlg32.lib comctl32.lib advapi32.lib shell32.lib ole32.lib netapi32.lib uuid.lib /nologo /machine:I386 /nodefaultlib
-# ADD LINK32  oldnames.lib kernel32.lib user32.lib gdi32.lib version.lib comdlg32.lib comctl32.lib advapi32.lib shell32.lib ole32.lib uuid.lib /nologo /machine:I386 /nodefaultlib
-# SUBTRACT LINK32 /incremental:yes
-
-RSC_PROJ= /l 0x409 /d "FEAT_GUI_MSWIN"
-# ADD RSC /l 0x409 /d "FEAT_GUI_MSWIN"
-
-!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
-
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir .\oleRel
-# PROP Intermediate_Dir .\oleRel
-
-INTDIR=.\oleRel
-VIM=gvim
-EXTRAS="$(INTDIR)/if_ole.obj" "$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
-
-CPP_PROJ=$(CPP_PROJ) /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
-# ADD CPP            /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
-
-RSC_PROJ=$(RSC_PROJ) /I ".\oleRel" /d "NDEBUG" /d "FEAT_OLE" /fo.\oleRel\vim.res
-# ADD RSC            /I ".\oleRel" /d "NDEBUG" /d "FEAT_OLE" /fo.\oleRel\vim.res
-
-LINK32_FLAGS=$(LINK32_FLAGS) /pdb:.\oleRel/gvim.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\gvim.map libc.lib oleaut32.lib /subsystem:windows /out:.\gvim.exe
-# ADD LINK32                 /pdb:.\oleRel/gvim.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\gvim.map libc.lib oleaut32.lib /subsystem:windows /out:.\gvim.exe
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
-
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir .\oleDbg
-# PROP Intermediate_Dir .\oleDbg
-
-INTDIR=.\oleDbg
-VIM=gvimd
-EXTRAS="$(INTDIR)/if_ole.obj" "$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
-
-CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
-# ADD CPP            /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
-
-RSC_PROJ=$(RSC_PROJ) /I .\oleDbg /d "_DEBUG" /d "FEAT_OLE" /fo.\oleDbg\vim.res
-# ADD RSC            /I .\oleDbg /d "_DEBUG" /d "FEAT_OLE" /fo.\oleDbg\vim.res
-
-LINK32_FLAGS=$(LINK32_FLAGS) libcd.lib oleaut32.lib /subsystem:windows /debug /profile /pdb:.\oleDbg/gvimd.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\gvimd.map /out:.\gvimd.exe
-# ADD LINK32                 libcd.lib oleaut32.lib /subsystem:windows /debug /profile /pdb:.\oleDbg/gvimd.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\gvimd.map /out:.\gvimd.exe
-
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
-
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir .\gRel
-# PROP Intermediate_Dir .\gRel
-
-INTDIR=.\gRel
-VIM=gvim
-EXTRAS="$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
-
-CPP_PROJ=$(CPP_PROJ) /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gRel/ /Fo.\gRel/
-# ADD CPP            /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gRel/ /Fo.\gRel/
-
-RSC_PROJ=$(RSC_PROJ) /d "NDEBUG" /fo.\gRel\vim.res
-# ADD RSC            /d "NDEBUG" /fo.\gRel\vim.res
-
-LINK32_FLAGS=$(LINK32_FLAGS) /pdb:.\gRel/gvim.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\gvim.map libc.lib /subsystem:windows /out:.\gvim.exe
-# ADD LINK32                 /pdb:.\gRel/gvim.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\gvim.map libc.lib /subsystem:windows /out:.\gvim.exe
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
-
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir .\gDbg
-# PROP Intermediate_Dir .\gDbg
-
-INTDIR=.\gDbg
-VIM=gvimd
-EXTRAS="$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/gui_beval.obj" "$(INTDIR)/os_w32exe.obj"
-
-CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gDbg/ /Fo.\gDbg/
-# ADD CPP            /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /Fd.\gDbg/ /Fo.\gDbg/
-
-RSC_PROJ=$(RSC_PROJ) /d "_DEBUG" /fo.\gDbg\vim.res
-# ADD RSC            /d "_DEBUG" /fo.\gDbg\vim.res
-
-LINK32_FLAGS=$(LINK32_FLAGS) libcd.lib /subsystem:windows /debug /profile /pdb:.\gDbg/gvimd.pdb -debug:full -debugtype:cv,fixup /map:.\gDbg\gvimd.map /out:.\gvimd.exe
-# ADD LINK32                 libcd.lib /subsystem:windows /debug /profile /pdb:.\gDbg/gvimd.pdb -debug:full -debugtype:cv,fixup /map:.\gDbg\gvimd.map /out:.\gvimd.exe
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir .\Rel
-# PROP Intermediate_Dir .\Rel
-
-INTDIR=.\Rel
-VIM=vim
-EXTRAS=
-
-CPP_PROJ=$(CPP_PROJ) /Zi /O2 /D "NDEBUG" /Fd.\Rel/ /Fo.\Rel/
-# ADD CPP            /Zi /O2 /D "NDEBUG" /Fd.\Rel/ /Fo.\Rel/
-
-LINK32_FLAGS=$(LINK32_FLAGS) /pdb:.\Rel/vim.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\vim.map libc.lib /subsystem:console /out:.\vim.exe
-# ADD LINK32                 /pdb:.\Rel/vim.pdb -debug:full -debugtype:cv,fixup /map:.\oleDbg\vim.map libc.lib /subsystem:console /out:.\vim.exe
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir .\Dbg
-# PROP Intermediate_Dir .\Dbg
-
-INTDIR=.\Dbg
-VIM=vimd
-EXTRAS=
-
-CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /Fd.\Dbg/ /Fo.\Dbg/
-# ADD CPP            /Zi /Od /D "_DEBUG" /Fd.\Dbg/ /Fo.\Dbg/
-
-LINK32_FLAGS=$(LINK32_FLAGS) libcd.lib /subsystem:console /debug /profile /pdb:.\Dbg/vimd.pdb -debug:full -debugtype:cv,fixup /map:.\Dbg/vimd.map /out:.\vimd.exe
-# ADD LINK32                 libcd.lib /subsystem:console /debug /profile /pdb:.\Dbg/vimd.pdb -debug:full -debugtype:cv,fixup /map:.\Dbg/vimd.map /out:.\vimd.exe
-
-!ENDIF
-
-ALL : .\$(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvimext.dll
-
-LINK32_OBJS= \
-	$(EXTRAS) \
-	"$(INTDIR)/arabic.obj" \
-	"$(INTDIR)/autocmd.obj" \
-	"$(INTDIR)/blowfish.obj" \
-	"$(INTDIR)/buffer.obj" \
-	"$(INTDIR)/charset.obj" \
-	"$(INTDIR)/crypt.obj" \
-	"$(INTDIR)/crypt_zip.obj" \
-	"$(INTDIR)/debugger.obj" \
-	"$(INTDIR)/dict.obj" \
-	"$(INTDIR)/diff.obj" \
-	"$(INTDIR)/digraph.obj" \
-	"$(INTDIR)/edit.obj" \
-	"$(INTDIR)/eval.obj" \
-	"$(INTDIR)/evalfunc.obj" \
-	"$(INTDIR)/ex_cmds.obj" \
-	"$(INTDIR)/ex_cmds2.obj" \
-	"$(INTDIR)/ex_docmd.obj" \
-	"$(INTDIR)/ex_eval.obj" \
-	"$(INTDIR)/ex_getln.obj" \
-	"$(INTDIR)/fileio.obj" \
-	"$(INTDIR)/findfile.obj" \
-	"$(INTDIR)/fold.obj" \
-	"$(INTDIR)/getchar.obj" \
-	"$(INTDIR)/hardcopy.obj" \
-	"$(INTDIR)/hashtab.obj" \
-	"$(INTDIR)/indent.obj" \
-	"$(INTDIR)/insexpand.obj" \
-	"$(INTDIR)/json.obj" \
-	"$(INTDIR)/list.obj" \
-	"$(INTDIR)/main.obj" \
-	"$(INTDIR)/mark.obj" \
-	"$(INTDIR)/mbyte.obj" \
-	"$(INTDIR)/memfile.obj" \
-	"$(INTDIR)/memline.obj" \
-	"$(INTDIR)/menu.obj" \
-	"$(INTDIR)/message.obj" \
-	"$(INTDIR)/misc1.obj" \
-	"$(INTDIR)/misc2.obj" \
-	"$(INTDIR)/move.obj" \
-	"$(INTDIR)/normal.obj" \
-	"$(INTDIR)/ops.obj" \
-	"$(INTDIR)/option.obj" \
-	"$(INTDIR)/os_mswin.obj" \
-	"$(INTDIR)/winclip.obj" \
-	"$(INTDIR)/os_win32.obj" \
-	"$(INTDIR)/popupmnu.obj" \
-	"$(INTDIR)/quickfix.obj" \
-	"$(INTDIR)/regexp.obj" \
-	"$(INTDIR)/screen.obj" \
-	"$(INTDIR)/search.obj" \
-	"$(INTDIR)/sha256.obj" \
-	"$(INTDIR)/sign.obj" \
-	"$(INTDIR)/spell.obj" \
-	"$(INTDIR)/spellfile.obj" \
-	"$(INTDIR)/syntax.obj" \
-	"$(INTDIR)/tag.obj" \
-	"$(INTDIR)/term.obj" \
-	"$(INTDIR)/ui.obj" \
-	"$(INTDIR)/undo.obj" \
-	"$(INTDIR)/usercmd.obj" \
-	"$(INTDIR)/userfunc.obj" \
-	"$(INTDIR)/version.obj" \
-	"$(INTDIR)/window.obj"
-
-".\$(VIM).exe" : "$(INTDIR)" $(EXTRAS) $(LINK32_OBJS)
-	@if exist $(INTDIR)\$(VIM).pdb del $(INTDIR)\$(VIM).pdb
-	$(LINK32) $(LINK32_FLAGS) $(LINK32_OBJS)
-
-"$(INTDIR)" :
-	if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-CLEAN :
-	-@if exist "$(INTDIR)/$(NULL)" $(DEL_TREE) "$(INTDIR)"
-	-@if exist $(VIM).exe erase $(VIM).exe
-	-@if exist $(VIM).ilk erase $(VIM).ilk
-	-@if exist $(VIM).map erase $(VIM).map
-	-@if exist $(VIM).pdb erase $(VIM).pdb
-	-@if exist DLLDATA.C erase DLLDATA.C
-	-@if exist Make_ivc.bak attrib -r Make_ivc.bak
-	-@if exist Make_ivc.bak erase Make_ivc.bak
-	-@if exist Make_ivc.dsp erase Make_ivc.dsp
-	-@if exist Make_ivc.dsw erase Make_ivc.dsw
-	-@if exist Make_ivc.mdp erase Make_ivc.mdp
-	-@if exist Make_ivc.ncb erase Make_ivc.ncb
-	-@if exist Make_ivc.opt erase Make_ivc.opt
-	-@if exist Make_ivc.plg erase Make_ivc.plg
-	-@if exist dosinst.obj erase dosinst.obj
-	-@if exist install.exe erase install.exe
-	-@if exist uninstal.exe erase uninstal.exe
-	-@if exist uninstal.obj erase uninstal.obj
-	-@if exist vimrun.exe erase vimrun.exe
-	-@if exist vimrun.obj erase vimrun.obj
-
-
-install.exe: dosinst.c
-	$(CPP) /Fe$@ /nologo /W3 -DNDEBUG -DWIN32 dosinst.c kernel32.lib shell32.lib user32.lib ole32.lib advapi32.lib uuid.lib
-
-uninstal.exe: uninstal.c
-	$(CPP) /nologo /W3 -DNDEBUG -DWIN32 uninstal.c shell32.lib advapi32.lib
-
-vimrun.exe: vimrun.c
-	$(CPP) /nologo /W3 -DNDEBUG vimrun.c
-
-xxd/xxd.exe: xxd/xxd.c
-	cd xxd
-	$(MAKE) /NOLOGO -f Make_mvc.mak
-	cd ..
-
-GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
-	cd GvimExt
-	$(MAKE) /NOLOGO -f Makefile
-	cd ..
-
-{.}.c{$(INTDIR)/}.obj:
-	$(CPP) $(CPP_PROJ) $<
-
-{.}.cpp{$(INTDIR)/}.obj:
-	$(CPP) $(CPP_PROJ) /I $(INTDIR) $<
-
-{.}.rc{$(INTDIR)/}.res:
-	$(RSC) $(RSC_PROJ) $<
-
-# Begin Target
-
-# Name "Vim - Win32 Release gvim OLE"
-# Name "Vim - Win32 Debug gvim OLE"
-# Name "Vim - Win32 Release gvim"
-# Name "Vim - Win32 Debug gvim"
-# Name "Vim - Win32 Release vim"
-# Name "Vim - Win32 Debug vim"
-
-# Begin Source File
-
-SOURCE=.\arabic.c
-# End Source File
-# Begin Source File
-#
-SOURCE=.\autocmd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\blowfish.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\buffer.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\charset.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\crypt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\crypt_zip.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\debugger.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\dict.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\diff.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\digraph.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\edit.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\eval.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\evalfunc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ex_cmds.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ex_cmds2.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ex_docmd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ex_eval.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ex_getln.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\fileio.c
-# End Source File
-# Begin Source File
-#
-SOURCE=.\findfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\fold.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getchar.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hardcopy.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hashtab.c
-# End Source File
-# Begin Source File
-#
-SOURCE=.\indent.c
-# End Source File
-# Begin Source File
-#
-SOURCE=.\insexpand.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\gui.c
-
-!IF      "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gui_w32.c
-
-!IF      "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\gui_beval.c
-
-!IF      "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\os_w32exe.c
-
-!IF      "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\if_ole.cpp
-
-!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build
-
-"$(INTDIR)\if_ole.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
- cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /Zi /O2 /D "NDEBUG" /D "FEAT_GUI_MSWIN" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/ /I ".\oleRel" .\if_ole.cpp
- @rem This is the default rule with /I "$(IntDir)" added
-
-# End Custom Build
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build
-
-"$(INTDIR)\if_ole.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
- cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /Zi /Od /D "_DEBUG" /D "FEAT_GUI_MSWIN" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/ /I ".\oleDbg" .\if_ole.cpp
- @rem This is the default rule with /I "$(IntDir)" added
-
-# End Custom Build
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\if_ole.idl
-
-!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build
-
-"$(INTDIR)\if_ole.h" : $(SOURCE) "$(INTDIR)"
-	if exist .\if_ole.h del .\if_ole.h
-	midl /out .\oleRel /iid iid_ole.c /tlb vim.tlb /proxy nul /header if_ole.h .\if_ole.idl
-
-# End Custom Build
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
-
-# PROP Ignore_Default_Tool 1
-# Begin Custom Build
-
-"$(INTDIR)\if_ole.h" : $(SOURCE) "$(INTDIR)"
-	if exist .\if_ole.h del .\if_ole.h
-	midl /out .\oleDbg /iid iid_ole.c /tlb vim.tlb /proxy nul /header if_ole.h .\if_ole.idl
-
-# End Custom Build
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\json.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\list.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mark.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mbyte.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\memfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\memline.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\menu.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\message.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\misc1.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\misc2.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\move.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\normal.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ops.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\option.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\os_mswin.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\winclip.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\os_win32.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\popupmnu.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\quickfix.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\regexp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\screen.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\search.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sha256.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sign.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\spell.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\spellfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntax.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tag.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\term.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ui.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\undo.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\usercmd.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\userfunc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\version.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\vim.rc
-
-!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
-
-"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
-
-"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
-
-"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)"
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
-
-"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)"
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
-
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
-
-# PROP Exclude_From_Build 1
-
-!ENDIF
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\window.c
-# End Source File
-# End Target
-# End Project
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index 2bbbb47..44be242 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -143,37 +143,6 @@
 #
 # Example: To build the non-debug, GUI version with Perl interface:
 #	nmake -f Make_mvc.mak GUI=yes PERL=C:\Perl
-#
-# DEBUG with Make_mvc.mak and Make_dvc.mak:
-#	This makefile gives a fineness of control which is not supported in
-#	Visual C++ configuration files.  Therefore, debugging requires a bit of
-#	extra work.
-#	Make_dvc.mak is a Visual C++ project to access that support.  It may be
-#	badly out of date for the Visual C++ you are using...
-#	To use Make_dvc.mak:
-#	1) Build Vim with Make_mvc.mak.
-#	     Use a "DEBUG=yes" argument to build Vim with debug support.
-#	     E.g. the following builds gvimd.exe:
-#		nmake -f Make_mvc.mak debug=yes gui=yes
-#	2) Use MS Devstudio and set it up to allow that file to be debugged:
-#	    i) Pass Make_dvc.mak to the IDE.
-#		 Use the "open workspace" menu entry to load Make_dvc.mak.
-#		 Alternatively, from the command line:
-#			msdev /nologo Make_dvc.mak
-#		Note: Make_dvc.mak is in VC4.0 format. Later VC versions see
-#		this and offer to convert it to their own format. Accept that.
-#		It creates a file called Make_dvc.dsw which can then be used
-#		for further operations.  E.g.
-#		    msdev /nologo Make_dvc.dsw
-#	    ii) Set the built executable for debugging:
-#		a) Alt+F7/Debug takes you to the Debug dialog.
-#		b) Fill "Executable for debug session". e.g. gvimd.exe
-#		c) Fill "Program arguments". e.g. -R dosinst.c
-#		d) Complete the dialog
-#	3) You can now debug the executable you built with Make_mvc.mak
-#
-#	Note: Make_dvc.mak builds vimrun.exe, because it must build something
-#	to be a valid makefile..
 
 ### See feature.h for a list of optionals.
 # If you want to build some optional features without modifying the source,
diff --git a/src/version.c b/src/version.c
index 5eeec1c..21292fe 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1293,
+/**/
     1292,
 /**/
     1291,
