diff --git a/Makefile b/Makefile
index d924128..e13fbd8 100644
--- a/Makefile
+++ b/Makefile
@@ -63,9 +63,6 @@
 # amirt		vim##rt.tgz		runtime for Amiga
 # amibin	vim##bin.tgz		binary for Amiga
 #
-# os2bin	vim##os2.zip		binary for OS/2
-#					(use RT from dosrt)
-#
 # farsi		farsi##.zip		Farsi fonts
 #
 #    All output files are created in the "dist" directory.  Existing files are
@@ -89,9 +86,9 @@
 #
 # - Update Vim version number.  For a test version in: src/version.h, Contents,
 #   MAJOR/MINOR above, VIMMAJOR and VIMMINOR in src/Makefile, README*.txt,
-#   runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt.  For a
-#   minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def,
-#   src/gvim.exe.mnf.
+#   runtime/doc/*.txt and nsis/gvim.nsi.
+#   For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.def,
+#   src/vim16.def, src/gvim.exe.mnf.
 # - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, MZscheme, Lua (if
 #   you can make it all work), Cscope and "huge" features.  Exclude workshop
 #   and SNiFF.
@@ -132,41 +129,49 @@
 #   flag).
 # - "make amirt", "make amibin".
 #
-# PC:
+# MS-Windows:
 # - Run make on Unix to update the ".mo" files.
-# - "make dossrc" and "make dosrt".  Unpack the archives on a PC.
-# Win32 console version:
-# - Set environment for Visual C++ 2008, e.g.: "msvc2008.bat"  Or:
-#   "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat".
+# - > make dossrc
+#   > make dosrt
+#   Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
+# Win32 console version build:
+# - Set environment for Visual C++ 2008, e.g.:
+#   > src/msvc2008.bat
+#   Or: 
+#   > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
 #   Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
 #   paths when necessary).
 #   For Windows 98/ME the 2003 version is required, but then the executable
 #   won't work on Windows 7 and 64 bit systems.
-# - "nmake -f Make_mvc.mak"  (use the same path as for vcvars32.bat)
+# - > cd src
+#   > nmake -f Make_mvc.mak
 # - Run the tests:
-#   > rm testdir/*.out
+#   > rm testdir/*.out testdir/*.res
 #   > nmake -f Make_mvc.mak test
 #   - check the output.
 # - Rename vim.exe to vimw32.exe, xxd/xxd.exe to xxdw32.exe.
 # - Rename vim.pdb to vimw32.pdb.
 # - Rename install.exe to installw32.exe and uninstal.exe to uninstalw32.exe.
-# Win32 GUI version:
-# - "nmake -f Make_mvc.mak GUI=yes"
+# Win32 GUI version build:
+# - > cd src
+#   > nmake -f Make_mvc.mak GUI=yes
 # - Run the tests:
-#   > cd testdir
-#   > rm *.out
-#   > nmake -f Make_dos.mak VIMPROG=..\gvim
+#   > rm testdir/*.out testdir/*.res
+#   > nmake -f Make_mvc.mak testgvim
 #   - check the output.
 # - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
 # - Move gvim.pdb to here.
-# - Delete vimrun.exe, install.exe and uninstal.exe.
 # - Copy "GvimExt/gvimext.dll" to here.
+# - Delete vimrun.exe, install.exe and uninstal.exe.
 # Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
-# - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
+# - Install the interfaces you want, see src/INSTALLpc.txt
+# - Build:
+#   > cd src
+#   Adjust bigvim.bat to match the version of each interface you want.
+#   > bigvim.bat
 # - Run the tests:
-#   > cd testdir
-#   > rm *.out
-#   > nmake -f Make_dos.mak VIMPROG=..\gvim
+#   > rm testdir/*.out testdir/*.res
+#   > nmake -f Make_mvc.mak testgvim
 #   - check the output.
 # - Rename "gvim.exe" to "gvim_ole.exe".
 # - Rename gvim.pdb to "gvim_ole.pdb".
@@ -174,7 +179,8 @@
 # Create the archives:
 # - Copy all the "*.exe" files to where this Makefile is.
 # - Copy all the "*.pdb" files to where this Makefile is.
-# - "make dosbin".
+# - in this directory:
+#   > make dosbin
 # NSIS self installing exe:
 # - To get NSIS see http://nsis.sourceforge.net
 # - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
@@ -186,17 +192,23 @@
 #   Note: VisVim needs to be build with MSVC 5, newer versions don't work.
 #   gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
 #	It is part of vim72.zip as vim72/gvimext.dll.
-# - make sure there is a diff.exe two levels up
-# - go to ../nsis and do "makensis gvim.nsi" (takes a few minutes).
+# - Make sure there is a diff.exe two levels up (get it from a previous Vim
+#   version).
+# - go to ../nsis and do:
+#   > makensis gvim.nsi  (takes a few minutes).
 # - Copy gvim##.exe to the dist directory.
 #
 # 64 bit builds (these are not in the normal distribution, the 32 bit build
 # works just fine on 64 bit systems).
 # Like the console and GUI version, but first run vcvars64.bat or
 #   "..\VC\vcvarsall.bat x86_amd64".
-# - "nmake -f Make_mvc.mak"
-# - "nmake -f Make_mvc.mak GUI=yes"
-# Or run src/bigvim64.bat for an OLE version.
+# - Build the console version:
+#   > nmake -f Make_mvc.mak
+# - Build the GUI version:
+#   > nmake -f Make_mvc.mak GUI=yes
+# - Build the OLE version with interfaces:
+#   > bigvim64.bat
+#
 #
 # OBSOLETE systems: You can build this if you have an appropriate system.
 #
@@ -217,7 +229,7 @@
 # - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
 #   "uninstald32.exe".
 #
-# Win32s GUI version: (requires very old compiler)
+# Win32s GUI version: (requires a very old compiler)
 # - Set environment for Visual C++ 4.1 (requires a new console window):
 #   "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
 # - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
@@ -270,7 +282,6 @@
 COMMENT_OLE = comment/$(VERSION)-bin-ole
 COMMENT_W32S = comment/$(VERSION)-bin-w32s
 COMMENT_SRC = comment/$(VERSION)-src
-COMMENT_OS2 = comment/$(VERSION)-bin-os2
 COMMENT_HTML = comment/$(VERSION)-html
 COMMENT_FARSI = comment/$(VERSION)-farsi
 
@@ -298,9 +309,6 @@
 dist/$(COMMENT_SRC): dist/comment
 	echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
 
-dist/$(COMMENT_OS2): dist/comment
-	echo "Vim - Vi IMproved - v$(VDOT) binaries + runtime files for OS/2" > dist/$(COMMENT_OS2)
-
 dist/$(COMMENT_HTML): dist/comment
 	echo "Vim - Vi IMproved - v$(VDOT) documentation in HTML" > dist/$(COMMENT_HTML)
 
@@ -423,7 +431,8 @@
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
 	mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
 	rmdir dist/vim/$(VIMRTDIR)/runtime
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
+	# This file needs to be in dos fileformat for NSIS.
+	$(VIM) -e -X -u no_title.vim -c ":set tx|wq" dist/vim/$(VIMRTDIR)/doc/uganda.nsis.txt
 	tar cf - \
 		$(SRC_DOS_BIN) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
@@ -432,12 +441,13 @@
 runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
 	cd runtime/doc && $(MAKE) uganda.nsis.txt
 
-dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos
+dosrt: dist dist/$(COMMENT_RT) dosrt_files
 	-rm -rf dist/vim$(VERSION)rt.zip
 	cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
 
 # Split in two parts to avoid an "argument list too long" error.
-dosrt_unix2dos: dist prepare no_title.vim
+# We no longer convert the files from unix to dos fileformat.
+dosrt_files: dist prepare no_title.vim
 	-rm -rf dist/vim
 	mkdir dist/vim
 	mkdir dist/vim/$(VIMRTDIR)
@@ -453,7 +463,6 @@
 		$(RT_AMI_DOS) \
 		$(LANG_GEN) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
 	tar cf - \
 		$(RT_UNIX_DOS_BIN) \
 		$(RT_ALL_BIN) \
@@ -476,9 +485,8 @@
 	cp libintl.dll dist/vim/$(VIMRTDIR)/
 
 
-# Convert runtime files from Unix fileformat to dos fileformat.
 # Used before uploading.  Don't delete the AAPDIR/sign files!
-runtime_unix2dos: dosrt_unix2dos
+runtime_unix2dos: dosrt_files
 	-rm -rf `find runtime/dos -type f -print | sed -e /AAPDIR/d`
 	cd dist/vim/$(VIMRTDIR); tar cf - * \
 		| (cd ../../../runtime/dos; tar xf -)
@@ -494,7 +502,6 @@
 	tar cf - \
 		$(BIN_DOS) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
 	cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
 	cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
 	cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
@@ -513,7 +520,6 @@
 	tar cf - \
 		$(BIN_DOS) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
 	cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
 	cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
 	cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -530,7 +536,6 @@
 	tar cf - \
 		$(BIN_DOS) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
 	cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
 	cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
 	cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -547,7 +552,6 @@
 	tar cf - \
 		$(BIN_DOS) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
 	cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
 	cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
 	cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -563,7 +567,6 @@
 	tar cf - \
 		$(BIN_DOS) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
 	cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
 	cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
 	cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
@@ -585,7 +588,6 @@
 	tar cf - \
 		$(BIN_DOS) \
 		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
 	cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
 	cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
 	cp README_w32s.txt dist/vim/$(VIMRTDIR)
@@ -593,21 +595,6 @@
 	cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
 	cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
 
-os2bin: dist no_title.vim dist/$(COMMENT_OS2)
-	-rm -rf dist/vim$(VERSION)os2.zip
-	-rm -rf dist/vim
-	mkdir dist/vim
-	mkdir dist/vim/$(VIMRTDIR)
-	tar cf - \
-		$(BIN_OS2) \
-		| (cd dist/vim/$(VIMRTDIR); tar xf -)
-	find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
-	cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe
-	cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe
-	cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe
-	cp emx.dll emxlibcs.dll dist/vim/$(VIMRTDIR)
-	cd dist && zip -9 -rD -z vim$(VERSION)os2.zip vim <$(COMMENT_OS2)
-
 html: dist dist/$(COMMENT_HTML)
 	-rm -rf dist/vim$(VERSION)html.zip
 	cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
diff --git a/src/version.c b/src/version.c
index 77a77f2..b83a812 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1023,
+/**/
     1022,
 /**/
     1021,
