diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index f65d46f..b86244f 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -709,9 +709,9 @@
 	(or Vim is run inside an xterm invoked with "-cjkwidth" option.),
 	this option should be set to "double" to match the width perceived
 	by Vim with the width of glyphs in the font.  Perhaps it also has
-	to be set to "double" under CJK MS-Windows 2k/XP
-	when the system locale is set to one of CJK locales.  See Unicode
-	Standard Annex #11 (http://www.unicode.org/reports/tr11).
+	to be set to "double" under CJK MS-Windows when the system locale is
+	set to one of CJK locales.  See Unicode Standard Annex #11
+	(http://www.unicode.org/reports/tr11).
 
 	Vim may set this option automatically at startup time when Vim is
 	compiled with the |+termresponse| feature and if |t_u7| is set to the
@@ -1018,9 +1018,9 @@
 	  impossible!).  Writing may fail because of this.
 	- A directory "." means to put the backup file in the same directory
 	  as the edited file.
-	- A directory starting with "./" (or ".\" for MS-Windows et al.) means
-	  to put the backup file relative to where the edited file is.  The
-	  leading "." is replaced with the path name of the edited file.
+	- A directory starting with "./" (or ".\" for MS-Windows) means to put
+	  the backup file relative to where the edited file is.  The leading
+	  "." is replaced with the path name of the edited file.
 	  ("." inside a directory name has no special meaning).
 	- Spaces after the comma are ignored, other spaces are considered part
 	  of the directory name.  To have a space at the start of a directory
@@ -2712,9 +2712,9 @@
 	  the edited file.  On Unix, a dot is prepended to the file name, so
 	  it doesn't show in a directory listing.  On MS-Windows the "hidden"
 	  attribute is set and a dot prepended if possible.
-	- A directory starting with "./" (or ".\" for MS-Windows et al.) means
-	  to put the swap file relative to where the edited file is.  The
-	  leading "." is replaced with the path name of the edited file.
+	- A directory starting with "./" (or ".\" for MS-Windows) means to put
+	  the swap file relative to where the edited file is.  The leading "."
+	  is replaced with the path name of the edited file.
 	- For Unix and Win32, if a directory ends in two path separators "//",
 	  the swap file name will be built from the complete path to the file
 	  with all path separators substituted to percent '%' signs. This will
@@ -3593,7 +3593,7 @@
 			{only available when compiled with GUI enabled, and
 			for Win32 console}
 	This option tells Vim what the cursor should look like in different
-	modes.  It fully works in the GUI.  In an Win32 console, only the
+	modes.  It fully works in the GUI.  In a Win32 console, only the
 	height of the cursor can be changed.  This can be done by specifying a
 	block cursor, or a percentage for a vertical or horizontal cursor.
 	For a console the 't_SI', 't_SR', and 't_EI' escape sequences are
@@ -6075,7 +6075,7 @@
 			 *'restorescreen'* *'rs'* *'norestorescreen'* *'nors'*
 'restorescreen' 'rs'	boolean	(default on)
 			global
-			{only in Windows 95/NT console version}
+			{only in MS-Windows console version}
 	When set, the screen contents is restored when exiting Vim.  This also
 	happens when executing external commands.
 
@@ -6497,9 +6497,9 @@
 				 somewhere: "/c")
 			global
 	Flag passed to the shell to execute "!" and ":!" commands; e.g.,
-	"bash.exe -c ls" or "command.com /c dir".  For the MS-Windows-like
-	systems, the default is set according to the value of 'shell', to
-	reduce the need to set this option by the user.
+	"bash.exe -c ls" or "cmd.exe /c dir".  For MS-Windows, the default is
+	set according to the value of 'shell', to reduce the need to set this
+	option by the user.
 	On Unix it can have more than one flag.  Each white space separated
 	part is passed as an argument to the shell command.
 	See |option-backslash| about including spaces and backslashes.
@@ -6508,7 +6508,8 @@
 	security reasons.
 
 						*'shellpipe'* *'sp'*
-'shellpipe' 'sp'	string	(default ">", "| tee", "|& tee" or "2>&1| tee")
+'shellpipe' 'sp'	string	(default ">", ">%s 2>&1", "| tee", "|& tee" or
+				 "2>&1| tee")
 			global
 			{not available when compiled without the |+quickfix|
 			feature}
@@ -6518,8 +6519,9 @@
 	The name of the temporary file can be represented by "%s" if necessary
 	(the file name is appended automatically if no %s appears in the value
 	of this option).
-	For the Amiga the default is ">".  The output is directly saved in a
-	file and not echoed to the screen.
+	For the Amiga the default is ">".  For MS-Windows the default is
+	">%s 2>&1".  The output is directly saved in a file and not echoed to
+	the screen.
 	For Unix the default it "| tee".  The stdout of the compiler is saved
 	in a file and echoed to the screen.  If the 'shell' option is "csh" or
 	"tcsh" after initializations, the default becomes "|& tee".  If the
@@ -6587,9 +6589,9 @@
 			global
 			{only for MS-Windows}
 	When set, a forward slash is used when expanding file names.  This is
-	useful when a Unix-like shell is used instead of command.com or
-	cmd.exe.  Backward slashes can still be typed, but they are changed to
-	forward slashes by Vim.
+	useful when a Unix-like shell is used instead of cmd.exe.  Backward
+	slashes can still be typed, but they are changed to forward slashes by
+	Vim.
 	Note that setting or resetting this option has no effect for some
 	existing file names, thus this option needs to be set before opening
 	any file for best results.  This might change in the future.
@@ -8205,7 +8207,7 @@
 	NOTE: This option is reset when 'compatible' is set.
 
 						*'undolevels'* *'ul'*
-'undolevels' 'ul'	number	(default 100, 1000 for Unix, VMS, Win32)
+'undolevels' 'ul'	number	(default 100, 1000 for Unix, VMS and Win32)
 			global or local to buffer |global-local|
 	Maximum number of changes that can be undone.  Since undo information
 	is kept in memory, higher numbers will cause more memory to be used.
