diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index e4f790e..ec69442 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -49,10 +49,6 @@
 vimrc or gvimrc file: >
 	au GUIEnter * simalt ~x
 <
-								*gui-w32s*
-There is a specific version of gvim.exe that runs under the Win32s subsystem
-of Windows 3.1 or 3.11.  See |win32s|.
-
 
 Using Vim as a plugin					*gui-w32-windowid*
 
@@ -100,9 +96,10 @@
 You can also install Vim in the "Send To" menu:
 1. Start a Windows Explorer
 2. Navigate to your sendto directory:
-   Windows 95: %windir%\sendto (e.g. "c:\windows\sendto")
    Windows NT: %windir%\profiles\%user%\sendto (e.g.
-	       "c:\winnt\profiles\mattha\sendto").
+	       "c:\winnt\profiles\mattha\sendto")
+   Windows XP: C:\Documents and Settings\%user%\SendTo
+   Windows Vista: C:\Users\%user%\AppData\Roaming\Microsoft\Windows\SendTo .
 3. Right-click in the file pane and select New->Shortcut
 4. Follow the shortcut wizard, using the full path to VIM/GVIM.
 
@@ -274,35 +271,17 @@
 question if you really want to kill the application, Vim may be killed too!
 (This does not apply to commands run asynchronously with ":!start".)
 
-In Windows 95, the window in which the commands are executed is always 25x80
-characters, to be as DOS compatible as possible (this matters!).  The default
-system font is used.  On NT, the window will be the default you have set up for
-"Console" in Control Panel.  On Win32s, the properties of the DOS box are
-determined by _default.pif in the windows directory.
-
-							*msdos-mode*
-If you get a dialog that says "This program is set to run in MS-DOS mode..."
-when you run an external program, you can solve this by changing the
-properties of the associated shortcut:
-- Use a Windows Explorer to find the command.com that is used.  It can be
-  c:\command.com, c:\dos\command.com, c:\windows\command.com, etc.
-- With the right mouse button, select properties of this command.com.
-- In the Program tab select "Advanced".
-- Unselect "MS-DOS mode".
-- Click "OK" twice.
+The window in which the commands are executed will be the default you have set
+up for "Console" in Control Panel.
 
 							*win32-!start*
 Normally, Vim waits for a command to complete before continuing (this makes
 sense for most shell commands which produce output for Vim to use).  If you
 want Vim to start a program and return immediately, you can use the following
-syntax on W95 & NT: >
+syntax: >
 	:!start [/min] {command}
 The optional "/min" causes the window to be minimized.
 
-On Win32s, you will have to go to another window instead.  Don't forget that
-you must tell Windows 3.1x to keep executing a DOS command in the background
-while you switch back to Vim.
-
 ==============================================================================
 5. Special colors					*win32-colors*
 
@@ -311,7 +290,7 @@
 Additionally the system configured colors can also be used.  These are known
 by the names Sys_XXX, where XXX is the appropriate system color name, from the
 following list (see the Win32 documentation for full descriptions).  Case is
-ignored.  Note: On Win32s not all of these colors are supported.
+ignored.
 
 Sys_3DDKShadow		Sys_3DFace			Sys_BTNFace
 Sys_3DHilight		Sys_3DHighlight			Sys_BTNHilight
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 8bbee89..7357542 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt*  For Vim version 8.0.  Last change: 2016 Aug 28
+*os_win32.txt*  For Vim version 8.0.  Last change: 2016 Oct 12
 
 
 		  VIM REFERENCE MANUAL    by George Reilly
@@ -7,20 +7,18 @@
 						*win32* *Win32* *MS-Windows*
 This file documents the idiosyncrasies of the Win32 version of Vim.
 
-The Win32 version of Vim works on Windows NT, 95, 98, ME, XP, Vista and
-Windows 7.  There are both console and GUI versions.
+The Win32 version of Vim works on Windows XP, Vista, 7, 8 and 10.  There are
+both console and GUI versions.
 
 The 32 bit version also runs on 64 bit MS-Windows systems.
 
-There is GUI version for use in the Win32s subsystem in Windows 3.1[1].  You
-can also use the 32-bit DOS version of Vim instead.  See |os_msdos.txt|.
-
 1. Known problems		|win32-problems|
 2. Startup			|win32-startup|
 3. Restore screen contents	|win32-restore|
 4. Using the mouse		|win32-mouse|
-5. Running under Windows 3.1	|win32-win3.1|
-6. Win32 mini FAQ		|win32-faq|
+5. Running under Windows 95	|win32-win95|
+6. Running under Windows 3.1	|win32-win3.1|
+7. Win32 mini FAQ		|win32-faq|
 
 Additionally, there are a number of common Win32 and DOS items:
 File locations			|dos-locations|
@@ -43,20 +41,7 @@
 For compiling see "src/INSTALLpc.txt".			*win32-compiling*
 
 ==============================================================================
-1. Known problems				*windows95* *win32-problems*
-
-There are a few known problems with running in a console on Windows 95.  As
-far as we know, this is the same in Windows 98 and Windows ME.
-
-Comments from somebody working at Microsoft: "Win95 console support has always
-been and will always be flaky".
-1.  Dead key support doesn't work.
-2.  Resizing the window with ":set columns=nn lines=nn" works, but executing
-    external commands MAY CAUSE THE SYSTEM TO HANG OR CRASH.
-3.  Screen updating is slow, unless you change 'columns' or 'lines' to a
-    non-DOS value.  But then the second problem applies!
-
-If this bothers you, use the 32 bit MS-DOS version or the Win32 GUI version.
+1. Known problems					*win32-problems*
 
 When doing file name completion, Vim also finds matches for the short file
 name.  But Vim will still find and use the corresponding long file name.  For
@@ -141,60 +126,20 @@
 the console.
 
 ==============================================================================
-5. Running under Windows 3.1				*win32-win3.1*
+5. Running under Windows 95				*win32-win95*
+					*windows95* *windows98* *windowsme*
+Windows 95/98/ME support was removed in patch 8.0.0029  If you want to use it
+you will need to get a version older than that.
 
-						*win32s* *windows-3.1*
+==============================================================================
+6. Running under Windows 3.1				*win32-win3.1*
+
+					*win32s* *windows-3.1* *gui-w32s*
 There was a special version of Gvim that runs under Windows 3.1 and 3.11.
 Support was removed in patch 7.4.1363.
 
 ==============================================================================
-6. Win32 mini FAQ					*win32-faq*
-
-Q. Why does the Win32 version of Vim update the screen so slowly on Windows 95?
-A. The support for Win32 console mode applications is very buggy in Win95.
-   For some unknown reason, the screen updates very slowly when Vim is run at
-   one of the standard resolutions (80x25, 80x43, or 80x50) and the 16-bit DOS
-   version updates the screen much more quickly than the Win32 version.
-   However, if the screen is set to some other resolution, such as by ":set
-   columns=100" or ":set lines=40", screen updating becomes about as fast as
-   it is with the 16-bit version.
-
-   WARNING: Changing 'columns' may make Windows 95 crash while updating the
-   window (complaints --> Microsoft).  Since this mostly works, this has not
-   been disabled, but be careful with changing 'columns'.
-
-   Changing the screen resolution makes updates faster, but it brings
-   additional problems.  External commands (e.g., ":!dir") can cause Vim to
-   freeze when the screen is set to a non-standard resolution, particularly
-   when 'columns' is not equal to 80.  It is not possible for Vim to reliably
-   set the screen resolution back to the value it had upon startup before
-   running external commands, so if you change the number of 'lines' or
-   'columns', be very, very careful.  In fact, Vim will not allow you to
-   execute external commands when 'columns' is not equal to 80, because it is
-   so likely to freeze up afterwards.
-
-   None of the above applies on Windows NT.  Screen updates are fast, no
-   matter how many 'lines' or 'columns' the window has, and external commands
-   do not cause Vim to freeze.
-
-Q. So if the Win32 version updates the screen so slowly on Windows 95 and the
-   16-bit DOS version updates the screen quickly, why would I want to run the
-   Win32 version?
-A. Firstly, the Win32 version isn't that slow, especially when the screen is
-   set to some non-standard number of 'lines' or 'columns'.  Secondly, the
-   16-bit DOS version has some severe limitations: It can't do big changes and
-   it doesn't know about long file names.  The Win32 version doesn't have these
-   limitations and it's faster overall (the same is true for the 32-bit DJGPP
-   DOS version of Vim).  The Win32 version is smarter about handling the
-   screen, the mouse, and the keyboard than the DJGPP version is.
-
-Q. And what about the 16-bit DOS version versus the Win32 version on NT?
-A. There are no good reasons to run the 16-bit DOS version on NT.  The Win32
-   version updates the screen just as fast as the 16-bit version does when
-   running on NT.  All of the above disadvantages apply.  Finally, DOS
-   applications can take a long time to start up and will run more slowly.  On
-   non-Intel NT platforms, the DOS version is almost unusably slow, because it
-   runs on top of an 80x86 emulator.
+7. Win32 mini FAQ					*win32-faq*
 
 Q. How do I change the font?
 A. In the GUI version, you can use the 'guifont' option.  Example: >
@@ -202,47 +147,6 @@
 <  In the console version, you need to set the font of the console itself.
    You cannot do this from within Vim.
 
-Q. When I change the size of the console window with ':set lines=xx' or
-   similar, the font changes! (Win95)
-A. You have the console font set to 'Auto' in Vim's (or your MS-DOS prompt's)
-   properties.  This makes W95 guess (badly!) what font is best.  Set an explicit
-   font instead.
-
-Q. Why can't I paste into Vim when running Windows 95?
-A. In the properties dialog box for the MS-DOS window, go to "MS-DOS
-   Prompt/Misc/Fast pasting" and make sure that it is NOT checked.  You should
-   also do ":set paste" in Vim to avoid unexpected effects.	|'paste'|
-
-Q. How do I type dead keys on Windows 95, in the console version?
-   (A dead key is an accent key, such as acute, grave, or umlaut, that doesn't
-   produce a character by itself, but when followed by another key, produces
-   an accented character, such as a-acute, e-grave, u-umlaut, n-tilde, and so
-   on.  Very useful for most European languages.  English-language keyboard
-   layouts don't use dead keys, as far as we know.)
-A. You don't.  The console mode input routines simply do not work correctly in
-   Windows 95, and I have not been able to work around them.  In the words
-   of a senior developer at Microsoft:
-	Win95 console support has always been and will always be flaky.
-
-	The flakiness is unavoidable because we are stuck between the world of
-	MS-DOS keyboard TSRs like KEYB (which wants to cook the data;
-	important for international) and the world of Win32.
-
-	So keys that don't "exist" in MS-DOS land (like dead keys) have a
-	very tenuous existence in Win32 console land.  Keys that act
-	differently between MS-DOS land and Win32 console land (like
-	capslock) will act flaky.
-
-	Don't even _mention_ the problems with multiple language keyboard
-	layouts...
-
-   You may be able to fashion some sort of workaround with the digraphs
-   mechanism.							|digraphs|
-
-   The best solution is to use the Win32 GUI version gvim.exe.  Alternatively,
-   you can try one of the DOS versions of Vim where dead keys reportedly do
-   work.
-
 Q. How do I type dead keys on Windows NT?
 A. Dead keys work on NT 3.51.  Just type them as you would in any other
    application.
@@ -349,28 +253,6 @@
 <  The first command runs notepad minimized and the second one runs it
    normally.
 
-Q. I'm using Win32s, and when I try to run an external command like "make",
-   Vim doesn't wait for it to finish!  Help!
-A. The problem is that a 32-bit application (Vim) can't get notification from
-   Windows that a 16-bit application (your DOS session) has finished.  Vim
-   includes a work-around for this, but you must set up your DOS commands to
-   run in a window, not full-screen.  Unfortunately the default when you
-   install Windows is full-screen.  To change this:
-   1) Start PIF editor (in the Main program group).
-   2) Open the file "_DEFAULT.PIF" in your Windows directory.
-   3) Changes the display option from "Full Screen" to "Windowed".
-   4) Save and exit.
-
-   To test, start Vim and type >
-	:!dir C:\<CR>".
-<  You should see a DOS box window appear briefly with the directory listing.
-
-Q. I use Vim under Win32s and NT.  In NT, I can define the console to default to
-   50 lines, so that I get a 80x50 shell when I ':sh'.  Can I do the same in
-   W3.1x, or am I stuck with 80x25?
-A. Edit SYSTEM.INI and add 'ScreenLines=50' to the [NonWindowsApp] section.  DOS
-   prompts and external DOS commands will now run in a 50-line window.
-
 						*windows-icon*
 Q. I don't like the Vim icon, can I change it?
 A. Yes, place your favorite icon in bitmaps/vim.ico in a directory of
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 694545c..e966361 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2016 Oct 09
+*todo.txt*      For Vim version 8.0.  Last change: 2016 Oct 12
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,10 +34,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-After 8.0 is released:
-- Drop support for older MS-Windows systems, before XP.
-  Patch from Ken Takata, updated 2016 Sep 12.
-
 +channel:
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
 - Add 'cwd' argument to start_job(): directory to change to in the child.
@@ -1809,10 +1805,6 @@
 size and then redraw the text, skipping the characters under the popup menu.
 This should avoid flicker.  Other solution by A.Politz, 2007 Aug 22.
 
-Windows 98: pasting from the clipboard with text from another application has
-a trailing NUL.  (Joachim Hofmann)  Perhaps the length specified for CF_TEXT
-isn't right?
-
 When a register contains illegal bytes, writing viminfo in utf-8 and reading
 it back doesn't result in utf-8. (Devin Bayer)
 
@@ -2418,8 +2410,6 @@
 Win32 GUI known bugs:
 -   Win32: tearoff menu window should have a scrollbar when it's taller than
     the screen.
-8   On Windows 98 the unicows library is needed to support functions with UCS2
-    file names.  Can we load unicows.dll dynamically?
 8   The -P argument doesn't work very well with many MDI applications.
     The last argument of CreateWindowEx() should be used, see MSDN docs.
     Tutorial: http://win32assembly.online.fr/tut32.html
