diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 01f9a4b..f0ae413 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.0.  Last change: 2006 May 05
+*change.txt*    For Vim version 7.1a.  Last change: 2007 Jan 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -640,7 +640,7 @@
 
 [#]	Like [p] and prepend the line number.
 
-[l]	Like [l] but print the text like |:list|.
+[l]	Like [p] but print the text like |:list|.
 
 [r]	Only useful in combination with ":&" or ":s" without arguments.  ":&r"
 	works the same way as ":~":  When the search pattern is empty, use the
@@ -670,14 +670,20 @@
 command uses the pattern from the last substitute, ":global", or search
 command.
 
+If the {string} is omitted the substitute is done as if it's empty.  Thus the
+matched pattern is deleted.  The separator after {pattern} can also be left
+out then.  Example: >
+	:%s/TESTING
+This deletes "TESTING" from all lines, but only one per line.
+
 For compatibility with Vi these two exceptions are allowed:
 "\/{string}/" and "\?{string}?" do the same as "//{string}/r".
 "\&{string}&" does the same as "//{string}/".
 							*E146*
 Instead of the '/' which surrounds the pattern and replacement string, you
-can use any other character, but not an alphanumeric character, '\', '"' or
-'|'.  This is useful if you want to include a '/' in the search pattern or
-replacement string.  Example: >
+can use any other single-byte character, but not an alphanumeric character,
+'\', '"' or '|'.  This is useful if you want to include a '/' in the search
+pattern or replacement string.  Example: >
 	:s+/+//+
 
 For the definition of a pattern, see |pattern|.
@@ -1075,7 +1081,7 @@
 		{not available when compiled without the |+cmdline_hist|
 		feature}
 
-6. Expression register "=				*quote_=* *quote=*
+6. Expression register "=			*quote_=* *quote=* *@=*
 This is not really a register that stores text, but is a way to use an
 expression in commands which use a register.  The expression register is
 read-only; you cannot put text into it.  After the '=', the cursor moves to
@@ -1365,7 +1371,7 @@
 
 letter	 meaning when present in 'formatoptions'    ~
 
-t	Auto-wrap text using textwidth (does not apply to comments)
+t	Auto-wrap text using textwidth
 c	Auto-wrap comments using textwidth, inserting the current comment
 	leader automatically.
 r	Automatically insert the current comment leader after hitting
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 414ef42..6d2fef2 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.0.  Last change: 2006 Apr 30
+*cmdline.txt*   For Vim version 7.1a.  Last change: 2006 Jul 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -301,6 +301,10 @@
 		for the next command or Search pattern.
 		{not in Vi}
 
+						*c_CTRL-]*
+CTRL-]		Trigger abbreviation, without inserting a character.  {not in
+		Vi}
+
 For Emacs-style editing on the command-line see |emacs-keys|.
 
 The <Up> and <Down> keys take the current command-line as a search string.
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
index 599e181..6af7a12 100644
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt*     For Vim version 7.0.  Last change: 2006 May 01
+*debug.txt*     For Vim version 7.1a.  Last change: 2006 May 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt
index d726820..b96f7c2 100644
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -1,4 +1,4 @@
-*debugger.txt*  For Vim version 7.0.  Last change: 2005 Mar 29
+*debugger.txt*  For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index 1d1c6ca..037a3cc 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 7.0.  Last change: 2006 Mar 09
+*develop.txt*   For Vim version 7.1a.  Last change: 2006 Sep 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -224,7 +224,7 @@
 _[A-Z].*	POSIX, system
 E[A-Z0-9]*	POSIX, errno.h
 
-*_t		POSIX, for typedefs.  Use *_T instead.
+.*_t		POSIX, for typedefs.  Use .*_T instead.
 
 wait		don't use as argument to a function, conflicts with types.h
 index		shadows global declaration
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index a0e8053..ed059c9 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 7.0.  Last change: 2006 Apr 14
+*diff.txt*      For Vim version 7.1a.  Last change: 2006 Oct 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -155,13 +155,16 @@
 the diff.  This is also possible for hidden buffers.  They must have been
 edited in a window first for this to be possible.
 
+					*:DiffOrig* *diff-original-file*
 Since 'diff' is a window-local option, it's possible to view the same buffer
 in diff mode in one window and "normal" in another window.  It is also
-possible to view the changes you have made to a buffer, but since Vim doesn't
-allow having two buffers for the same file, you need to make a copy of the
-original file and diff with that.  For example: >
-	:!cp % tempfile
-	:diffsplit tempfile
+possible to view the changes you have made to a buffer since the file was
+loaded.  Since Vim doesn't allow having two buffers for the same file, you
+need another buffer.  This command is useful: >
+	 command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
+	 	\ | wincmd p | diffthis
+(this is in |vimrc_example.vim|).  Use ":DiffOrig" to see the differences
+between the current buffer and the file it was loaded from.
 
 A buffer that is unloaded cannot be used for the diff.  But it does work for
 hidden buffers.  You can use ":hide" to close a window without unloading the
@@ -239,7 +242,7 @@
 		mode.
 		See below for [range].
 
-							*:diffpu* *:diffput*
+						*:diffpu* *:diffput* *E793*
 :[range]diffpu[t] [bufspec]
 		Modify another buffer to undo difference with the current
 		buffer.  Just like ":diffget" but the other buffer is modified
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index ec5aec5..8ca4110 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 7.0.  Last change: 2006 Apr 25
+*digraph.txt*   For Vim version 7.1a.  Last change: 2006 Jul 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -107,13 +107,12 @@
 this, you will have to type <BS> e again.  To avoid this don't set the
 'digraph' option and use CTRL-K to enter digraphs.
 
-You may have problems using Vim with characters which have an ASCII value
-above 128.  For example: You insert ue (u-umlaut) and the editor echoes \334
-in Insert mode.  After leaving the Insert mode everything is fine.  Note that
-fmt removes all characters with ASCII codes above 128 from the text being
-formatted.  On some Unix systems this means you have to define the
-environment-variable LC_CTYPE.  If you are using csh, then put the following
-line in your .cshrc: >
+You may have problems using Vim with characters which have a value above 128.
+For example: You insert ue (u-umlaut) and the editor echoes \334 in Insert
+mode.  After leaving the Insert mode everything is fine.  Note that fmt
+removes all characters with a value above 128 from the text being formatted.
+On some Unix systems this means you have to define the environment-variable
+LC_CTYPE.  If you are using csh, then put the following line in your .cshrc: >
 	setenv LC_CTYPE iso_8859_1
 
 ==============================================================================
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 4c982c5..05c46fb 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.0.  Last change: 2006 Apr 30
+*editing.txt*   For Vim version 7.1a.  Last change: 2006 Oct 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -372,7 +372,7 @@
 Name".  When using a command that accepts more than one file name (like ":next
 file1 file2") embedded spaces must be escaped with a backslash.
 
-							*wildcard*
+						*wildcard* *wildcards*
 Wildcards in {file} are expanded.  Which wildcards are supported depends on
 the system.  These are the common ones:
 	?	matches one character
@@ -849,7 +849,7 @@
 
 							*:w* *:write*
 						*E502* *E503* *E504* *E505*
-						*E512* *E514* *E667*
+						*E512* *E514* *E667* *E796*
 :w[rite]		Write the whole buffer to the current file.  This is
 			the normal way to save changes to a file.  It fails
 			when the 'readonly' option is set or when there is
@@ -1150,8 +1150,8 @@
 			*:browse* *:bro* *E338* *E614* *E615* *E616* *E578*
 :bro[wse] {command}	Open a file selection dialog for an argument to
 			{command}.  At present this works for |:e|, |:w|,
-			|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc| and
-			|:mksession|.
+			|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc|,
+			|:mksession|, |:split|, |:vsplit|, and |:tabe|.
 			{only in Win32, Athena, Motif, GTK and Mac GUI}
 			When ":browse" is not possible you get an error
 			message.  If the |+browse| feature is missing or the
@@ -1469,7 +1469,9 @@
 {not available when compiled without the |+path_extra| feature}
 
 The file searching is currently used for the 'path', 'cdpath' and 'tags'
-options.  There are three different types of searching:
+options, for |finddir()| and |findfile()|.
+
+There are three different types of searching:
 
 1) Downward search:					*starstar*
    Downward search uses the wildcards '*', '**' and possibly others
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index d29fa4c..99c2e4a 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt*      For Vim version 7.0.  Last change: 2006 Mar 29
+*fold.txt*      For Vim version 7.1a.  Last change: 2006 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/gui_w16.txt b/runtime/doc/gui_w16.txt
index 5319bee..d7eb739 100644
--- a/runtime/doc/gui_w16.txt
+++ b/runtime/doc/gui_w16.txt
@@ -1,4 +1,4 @@
-*gui_w16.txt*   For Vim version 7.0.  Last change: 2005 Mar 29
+*gui_w16.txt*   For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index 25b0e16..a518f03 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt*   For Vim version 7.0.  Last change: 2005 Mar 29
+*gui_w32.txt*   For Vim version 7.1a.  Last change: 2007 May 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -233,7 +233,8 @@
 Since CTRL-C is used to copy the text to the clipboard, it can't be used to
 cancel an operation.  Use CTRL-Break for that.
 
-CTRL-Z is used for undo.  This means you can't suspend Vim.
+CTRL-Z is used for undo.  This means you can't suspend Vim with this key, use
+|:suspend| instead (if it's supported at all).
 
 						*CTRL-V-alternative* *CTRL-Q*
 Since CTRL-V is used to paste, you can't use it to start a blockwise Visual
@@ -463,6 +464,8 @@
 Maps Control-N to produce the keys Alt-Space followed by N.  This minimizes the
 Vim window via the system menu.
 
+Note that the key changes depending on the language you are using.
+
 						*intellimouse-wheel-problems*
 When using the Intellimouse mouse wheel causes Vim to stop accepting input, go
 to:
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index a78dd36..838b13f 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt*   For Vim version 7.0.  Last change: 2006 Apr 30
+*gui_x11.txt*   For Vim version 7.1a.  Last change: 2006 Jul 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -406,8 +406,9 @@
 - That means the menubar and toolbar handles are back!  Yeah!  And the
   resizing grid still works too.
 
-GNOME is automatically compiled with if it was found by configure.
-(FIXME: Is this still true?  Use --enable-gnome-check to force it to.)
+GNOME is compiled with if it was found by configure and the
+--enable-gnome-check argument was used.
+
 
 GNOME session support			*gui-gnome-session* *gnome-session*
 
@@ -436,7 +437,7 @@
 
 ==============================================================================
 7. KDE version					*gui-kde* *kde* *KDE* *KVim*
-
+							*gui-x11-kde*
 There is no KDE version of Vim.  There has been some work on a port using the
 Qt toolkit, but it never worked properly and it has been abandoned.  Work
 continues on Yzis: www.yzis.org.
@@ -497,12 +498,6 @@
 scrollbars will remain the same, because Vim has its own, which are already
 3D (in fact, they look more like Motif).
 
-							*gui-x11-kde*
-For Vim-KDE, you need at least Qt(>=2.x) and the corresponding kdelibs.
-To compile, you must use the --with-qt-dir configure flag because QTDIR is not
-automatically detected yet. Giving KDE's directories to the configure script
-may also help in some cases.
-
 							*gui-x11-neXtaw*
 The neXtaw version is mostly like Athena, but uses different widgets.
 
diff --git a/runtime/doc/hangulin.txt b/runtime/doc/hangulin.txt
index a5d97bc..a79e8ab 100644
--- a/runtime/doc/hangulin.txt
+++ b/runtime/doc/hangulin.txt
@@ -1,4 +1,4 @@
-*hangulin.txt*  For Vim version 7.0.  Last change: 2006 Apr 02
+*hangulin.txt*  For Vim version 7.1a.  Last change: 2006 Apr 02
 
 
 		  VIM REFERENCE MANUAL    by Chi-Deok Hwang and Sung-Hyun Nam
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 77a7ebd..40fad99 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.0.  Last change: 2006 May 07
+*help.txt*	For Vim version 7.1a.  Last change: 2006 Nov 07
 
 			VIM - main help file
 									 k
@@ -143,6 +143,7 @@
 |farsi.txt|	Farsi (Persian) editing
 |hebrew.txt|	Hebrew language support and editing
 |russian.txt|	Russian language support and editing
+|ada.txt|	Ada (the programming language) support
 |hangulin.txt|	Hangul (Korean) input mode
 |rileft.txt|	right-to-left editing mode
 
@@ -189,11 +190,13 @@
 |os_win32.txt|	MS-Windows 95/98/NT
 						*standard-plugin-list*
 Standard plugins ~
-|pi_gzip.txt|	Reading and writing compressed files
-|pi_netrw.txt|	Reading and writing files over a network
-|pi_paren.txt|	Highlight matching parens
-|pi_tar.txt|	Tar file explorer
-|pi_zip.txt|	Zip archive explorer
+|pi_getscript.txt| Downloading latest version of Vim scripts
+|pi_gzip.txt|	   Reading and writing compressed files
+|pi_netrw.txt|	   Reading and writing files over a network
+|pi_paren.txt|	   Highlight matching parens
+|pi_tar.txt|	   Tar file explorer
+|pi_vimball.txt|   Create a self-installing Vim script
+|pi_zip.txt|	   Zip archive explorer
 
 LOCAL ADDITIONS:				*local-additions*
 
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index 3a9de57..b8b0440 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 7.0.  Last change: 2005 Mar 29
+*if_cscop.txt*  For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Andy Kahn
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index 2760b11..f42b1bf 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt*  For Vim version 7.0.  Last change: 2006 Apr 30
+*if_mzsch.txt*  For Vim version 7.1a.  Last change: 2007 May 03
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
@@ -23,6 +23,8 @@
 For downloading MzScheme and other info:
 	http://www.plt-scheme.org/software/mzscheme/
 
+Note: On FreeBSD you should use the "drscheme" port.
+
 ==============================================================================
 1. Commands						*mzscheme-commands*
 
@@ -262,8 +264,9 @@
 
 The names of the DLLs must match the MzScheme version Vim was compiled with.
 For MzScheme version 209 they will be "libmzsch209_000.dll" and
-"libmzgc209_000.dll". To know for sure edit "gvim.exe" and search for
-"libmzsch\d\d\d_\d\d\d\.dll\c".
+"libmzgc209_000.dll". To know for sure look at the output of the ":version"
+command, look for -DDYNAMIC_MZSCH_DLL="something" and
+-DDYNAMIC_MZGC_DLL="something" in the "Compilation" info.
 
 ======================================================================
   vim:tw=78:ts=8:sts=4:ft=help:norl:
diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt
index e8fac08..626da3e 100644
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -1,4 +1,4 @@
-*if_ole.txt*    For Vim version 7.0.  Last change: 2006 Apr 30
+*if_ole.txt*    For Vim version 7.1a.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index c0c4bc8..930522d 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 7.0.  Last change: 2006 Mar 06
+*if_perl.txt*   For Vim version 7.1a.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index e171c6b..04bbced 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 7.0.  Last change: 2006 Apr 30
+*if_pyth.txt*   For Vim version 7.1a.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index 978782d..a614172 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.0.  Last change: 2006 Apr 30
+*if_ruby.txt*   For Vim version 7.1a.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
diff --git a/runtime/doc/if_sniff.txt b/runtime/doc/if_sniff.txt
index 9727760..3444c38 100644
--- a/runtime/doc/if_sniff.txt
+++ b/runtime/doc/if_sniff.txt
@@ -1,4 +1,4 @@
-*if_sniff.txt*	For Vim version 7.0.  Last change: 2005 Mar 29
+*if_sniff.txt*	For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 8171ef9..f718829 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0.  Last change: 2006 May 05
+*insert.txt*    For Vim version 7.1a.  Last change: 2007 Apr 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -219,8 +219,8 @@
 		Please refer to |rileft.txt| for more information about
 		right-to-left mode.
 		{not in Vi}
-		Only if compiled with the |+rightleft| feature (which is not
-		the default).
+		Only if compiled with the |+rightleft| feature.
+
 						*i_CTRL-^*
 CTRL-^		Toggle the use of typing language characters.
 		When language |:lmap| mappings are defined:
@@ -1156,14 +1156,15 @@
 
 In all three states these can be used:
 CTRL-Y		  Yes: Accept the currently selected match and stop completion.
-CTRL-E		  End completion, go back to what was typed.
+CTRL-E		  End completion, go back to what was there before selecting a
+		  match (what was typed or longest common string).
 <PageUp>	  Select a match several entries back, but don't insert it.
 <PageDown>	  Select a match several entries further, but don't insert it.
 <Up>		  Select the previous match, as if CTRL-P was used, but don't
 		  insert it.
 <Down>		  Select the next match, as if CTRL-N was used, but don't
 		  insert it.
-space or <Tab>	  Stop completion without changing the match and insert the
+<Space> or <Tab>  Stop completion without changing the match and insert the
 		  typed character.
 
 The behavior of the Enter key depends on the state you are in:
@@ -1210,7 +1211,8 @@
 
 Completion of C code requires a tags file.  You should use Exuberant ctags,
 because it adds extra information that is needed for completion.  You can find
-it here: http://ctags.sourceforge.net/
+it here: http://ctags.sourceforge.net/  Version 5.6 or later is recommended.
+
 For version 5.5.4 you should add a patch that adds the "typename:" field:
 	ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
 A compiled .exe for MS-Windows can be found at:
@@ -1330,9 +1332,9 @@
 
 PHP							*ft-php-omni*
 
-Completion of PHP code requires tags file for completion of data from external
-files. You should use Exuberant ctags version 5.5.4 or newer. You can find it
-here: http://ctags.sourceforge.net/
+Completion of PHP code requires a tags file for completion of data from
+external files and for class aware completion. You should use Exuberant ctags
+version 5.5.4 or newer. You can find it here: http://ctags.sourceforge.net/
 
 Script completes:
 
@@ -1390,8 +1392,10 @@
 
 Notes:
  - Vim will load/evaluate code in order to provide completions.  This may
-   cause some code execution, which may be a concern.
- - In context 1 above, Vim can parse the entire buffer to add a list of
+   cause some code execution, which may be a concern. This is no longer 
+   enabled by default, to enable this feature add >
+     let g:rubycomplete_buffer_loading = 1
+<- In context 1 above, Vim can parse the entire buffer to add a list of
    classes to the completion results. This feature is turned off by default,
    to enable it add >
      let g:rubycomplete_classes_in_global = 1
@@ -1407,8 +1411,13 @@
 
 SYNTAX							*ft-syntax-omni*
 
-This uses the current syntax highlighting for completion.  It can be used for
-any filetype and provides a minimal language-sensitive completion.
+Vim has the ability to color syntax highlight nearly 500 languages.  Part of
+this highlighting includes knowing what keywords are part of a language.  Many
+filetypes already have custom completion scripts written for them, the
+syntaxcomplete plugin provides basic completion for all other filetypes.  It
+does this by populating the omni completion list with the text Vim already
+knows how to color highlight.  It can be used for any filetype and provides a
+minimal language-sensitive completion.
 
 To enable syntax code completion you can run: >
 	setlocal omnifunc=syntaxcomplete#Complete
@@ -1461,6 +1470,15 @@
 You can create as many of these variables as you need, varying only the
 filetype at the end of the variable name.
 
+The plugin uses the isKeyword option to determine where word boundaries are
+for the syntax items.  For example, in the Scheme language completion should
+include the "-", call-with-output-file.  Depending on your filetype, this may
+not provide the words you are expecting.  Setting the
+g:omni_syntax_use_iskeyword option to 0 will force the syntax plugin to break
+on word characters.   This can be controlled adding the following to your
+vimrc: >
+    let g:omni_syntax_use_iskeyword = 0
+
 
 SQL							*ft-sql-omni*
 
@@ -1771,13 +1789,13 @@
 			See |++opt| for the possible values of [++opt].
 
 							*:r!* *:read!*
-:r[ead] !{cmd}		Execute {cmd} and insert its standard output below
-			the cursor.  A temporary file is used to store the
-			output of the command which is then read into the
-			buffer.  'shellredir' is used to save the output of
-			the command, which can be set to include stderr or
-			not.  {cmd} is executed like with ":!{cmd}", any '!'
-			is replaced with the previous command |:!|.
+:[range]r[ead] !{cmd}	Execute {cmd} and insert its standard output below
+			the cursor or the specified line.  A temporary file is
+			used to store the output of the command which is then
+			read into the buffer.  'shellredir' is used to save
+			the output of the command, which can be set to include
+			stderr or not.  {cmd} is executed like with ":!{cmd}",
+			any '!' is replaced with the previous command |:!|.
 
 These commands insert the contents of a file, or the output of a command,
 into the buffer.  They can be undone.  They cannot be repeated with the "."
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 809abda..9a24736 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.0.  Last change: 2006 Apr 30
+*mbyte.txt*     For Vim version 7.1a.  Last change: 2006 Aug 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -403,7 +403,8 @@
  8bit      2byte	MS-Windows: works for all codepages installed on your
 			system; you can only type 8bit characters;
 			Other systems: does NOT work.
- 8bit	   Unicode	Works, but you can only type 8bit characters; in a
+ 8bit	   Unicode	Works, but only 8bit characters can be typed directly
+			(others through digraphs, keymaps, etc.); in a
 			terminal you can only see 8bit characters; the GUI can
 			show all characters that the 'guifont' supports.
 
diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt
index c1ef8d5..7b27fc497 100644
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt*     For Vim version 7.0.  Last change: 2004 Feb 24
+*mlang.txt*     For Vim version 7.1a.  Last change: 2006 Jul 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -114,7 +114,7 @@
 ==============================================================================
 2. Menus						*multilang-menus*
 
-See |45.2| for the basics.
+See |45.2| for the basics, esp. using 'langmenu'.
 
 Note that if changes have been made to the menus after the translation was
 done, some of the menus may be shown in English.  Please try contacting the
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 6fdfd93..1446db0 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.0.  Last change: 2006 Apr 30
+*motion.txt*    For Vim version 7.1a.  Last change: 2006 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -169,15 +169,15 @@
 
 							*0*
 0			To the first character of the line.  |exclusive|
-			motion.  When moving up or down, stay in same screen
-			column (if possible).
+			motion.
 
 							*<Home>* *<kHome>*
 <Home>			To the first character of the line.  |exclusive|
-			motion.  When moving up or down, stay in same text
-			column (if possible).  Works like "1|", which differs
-			from "0" when the line starts with a <Tab>.  {not in
-			Vi}
+			motion.  When moving up or down next, stay in same
+			TEXT column (if possible).  Most other commands stay
+			in the same SCREEN column.  <Home> works like "1|",
+			which differs from "0" when the line starts with a
+			<Tab>.  {not in Vi}
 
 							*^*
 ^			To the first non-blank character of the line.
@@ -752,11 +752,11 @@
 			be omitted.
 
 						*'* *'a* *`* *`a*
-'{a-z}  `{a-z}		Jump to the mark {a-z}.
+'{a-z}  `{a-z}		Jump to the mark {a-z} in the current buffer.
 
 						*'A* *'0* *`A* *`0*
-'{A-Z0-9}  `{A-Z0-9}	To the mark {A-Z0-9} in the correct file (not a motion
-			command when in another file).  {not in Vi}
+'{A-Z0-9}  `{A-Z0-9}	To the mark {A-Z0-9} in the file where it was set (not
+			a motion command when in another file).  {not in Vi}
 
 						*g'* *g'a* *g`* *g`a*
 g'{mark}  g`{mark}
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index fd9ab24..1196355 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt*    For Vim version 7.0.  Last change: 2005 Mar 29
+*os_390.txt*    For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Ralf Schandl
diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt
index e872b4d..52276ef 100644
--- a/runtime/doc/os_beos.txt
+++ b/runtime/doc/os_beos.txt
@@ -1,4 +1,4 @@
-*os_beos.txt*	For Vim version 7.0.  Last change: 2005 Mar 29
+*os_beos.txt*	For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index d788477..e56d4c7 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt*    For Vim version 7.0.  Last change: 2006 Apr 30
+*os_mac.txt*    For Vim version 7.1a.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar et al.
diff --git a/runtime/doc/os_msdos.txt b/runtime/doc/os_msdos.txt
index 9a255d0..e689b6e 100644
--- a/runtime/doc/os_msdos.txt
+++ b/runtime/doc/os_msdos.txt
@@ -1,4 +1,4 @@
-*os_msdos.txt*  For Vim version 7.0.  Last change: 2005 Mar 29
+*os_msdos.txt*  For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/os_risc.txt b/runtime/doc/os_risc.txt
index 79f6106..2756f22 100644
--- a/runtime/doc/os_risc.txt
+++ b/runtime/doc/os_risc.txt
@@ -1,4 +1,4 @@
-*os_risc.txt*   For Vim version 7.0.  Last change: 2005 Mar 29
+*os_risc.txt*   For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Thomas Leonard
diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt
index c6a987f..96d7c14 100644
--- a/runtime/doc/os_unix.txt
+++ b/runtime/doc/os_unix.txt
@@ -1,4 +1,4 @@
-*os_unix.txt*   For Vim version 7.0.  Last change: 2005 Mar 29
+*os_unix.txt*   For Vim version 7.1a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/pi_getscript.txt b/runtime/doc/pi_getscript.txt
new file mode 100644
index 0000000..10d9387
--- /dev/null
+++ b/runtime/doc/pi_getscript.txt
@@ -0,0 +1,406 @@
+*pi_getscript.txt*  For Vim version 7.1a.  Last change: 2007 Apr 26
+>
+		GETSCRIPT REFERENCE MANUAL  by Charles E. Campbell, Jr.
+<
+Authors:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamilyA.Mbiz>
+	  (remove NOSPAM from the email address)
+						*GetLatestVimScripts-copyright*
+Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.	*glvs-copyright*
+           The VIM LICENSE applies to getscript.vim and
+           pi_getscript.txt (see |copyright|) except use
+           "getscript" instead of "Vim".  No warranty, express or implied.
+	   Use At-Your-Own-Risk.
+
+Getscript is a plugin that simplifies retrieval of the latest versions of the
+scripts that you yourself use!  Typing |:GLVS| will invoke getscript; it will
+then use the <GetLatestVimScripts.dat> (see |GetLatestVimScripts_dat|) file to
+get the latest versions of scripts listed therein from http://vim.sf.net/.
+
+==============================================================================
+1. Contents				*glvs-contents* *glvs* *getscript*
+   					*GetLatestVimScripts*
+
+	1. Contents........................................: |glvs-contents|
+	2. GetLatestVimScripts -- Getting Started..........: |glvs-install|
+	3. GetLatestVimScripts Usage.......................: |glvs-usage|
+	4. GetLatestVimScripts Data File...................: |glvs-data|
+	5. GetLatestVimScripts Friendly Plugins............: |glvs-plugins|
+	6. GetLatestVimScripts AutoInstall.................: |glvs-autoinstall|
+	7. GetLatestViMScripts Options.....................: |glvs-options|
+	8. GetLatestVimScripts Algorithm...................: |glvs-alg|
+	9. GetLatestVimScripts History.....................: |glvs-hist|
+
+
+==============================================================================
+2. GetLatestVimScripts -- Getting Started		*getscript-start*
+						*getlatestvimscripts-install*
+
+	VERSION FROM VIM DISTRIBUTION			*glvs-dist-install*
+
+Vim 7.0 does not include the GetLatestVimScripts.dist file which
+serves as an example and a template.  So, you'll need to create
+your own!  See |GetLatestVimScripts_dat|.
+
+	VERSION FROM VIM SF NET				*glvs-install*
+
+NOTE: The last step, that of renaming/moving the GetLatestVimScripts.dist
+file, is for those who have just downloaded GetLatestVimScripts.tar.bz2 for
+the first time.
+
+The GetLatestVimScripts.dist file serves as an example and a template for your
+own personal list.  Feel free to remove all the scripts mentioned within it;
+the "important" part of it is the first two lines.
+
+Your computer needs to have wget for GetLatestVimScripts to do its work.
+
+	1. if compressed:  gunzip getscript.vba.gz
+	2. Unix:
+		vim getscript.vba
+		:so %
+		:q
+		cd ~/.vim/GetLatest
+		mv GetLatestVimScripts.dist GetLatestVimScripts.dat
+		(edit GetLatestVimScripts.dat to install your own personal
+		list of desired plugins -- see |GetLatestVimScripts_dat|)
+	
+	3. Windows:
+		vim getscript.vba
+		:so %
+		:q
+		cd **path-to-vimfiles**/GetLatest
+		mv GetLatestVimScripts.dist GetLatestVimScripts.dat
+		(edit GetLatestVimScripts.dat to install your own personal
+		list of desired plugins -- see |GetLatestVimScripts_dat|)
+
+
+==============================================================================
+3. GetLatestVimScripts Usage				*glvs-usage* *:GLVS*
+
+Unless its been defined elsewhere, >
+	:GLVS
+will invoke GetLatestVimScripts().  If some other plugin has defined that
+command, then you may type
+>
+	:GetLatestVimScripts
+<
+The script will attempt to update and, if permitted, will automatically
+install scripts from http://vim.sourceforge.net/.  To do so it will peruse a
+file,
+>
+	.vim/GetLatest/GetLatestVimScripts.dat                    (unix)
+<
+or >
+	..wherever..\vimfiles\GetLatest\GetLatestVimScripts.dat   (windows)
+(see |glvs-data|), and examine plugins in your [.vim|vimfiles]/plugin
+directory (see |glvs-plugins|).
+
+Scripts which have been downloaded will appear in the
+~/.vim/GetLatest (unix) or ..wherever..\vimfiles\GetLatest (windows)
+subdirectory.  GetLatestVimScripts will attempt to automatically
+install them if you have the following line in your <.vimrc>: >
+
+	let g:GetLatestVimScripts_allowautoinstall=1
+
+The <GetLatestVimScripts.dat> file will be automatically be updated to
+reflect the latest version of script(s) so downloaded.
+(also see |glvs-options|)
+
+
+==============================================================================
+4. GetLatestVimScripts Data File		*getscript-data* *glvs-data*
+ 						*:GetLatestVimScripts_dat*
+The data file <GetLatestVimScripts.dat> must have for its first two lines
+the following text:
+>
+	ScriptID SourceID Filename
+	--------------------------
+<
+Following those two lines are three columns; the first two are numeric
+followed by a text column.  The GetLatest/GetLatestVimScripts.dist file
+contains an example of such a data file.  Anything following a #... is
+ignored, so you may embed comments in the file.
+
+The first number on each line gives the script's ScriptID.  When you're about
+to use a web browser to look at scripts on http://vim.sf.net/, just before you
+click on the script's link, you'll see a line resembling
+
+	http://vim.sourceforge.net/scripts/script.php?script_id=40
+
+The "40" happens to be a ScriptID that GetLatestVimScripts needs to
+download the associated page.
+
+The second number on each line gives the script's SourceID.  The SourceID
+records the count of uploaded scripts as determined by vim.sf.net; hence it
+serves to indicate "when" a script was uploaded.  Setting the SourceID to 1
+insures that GetLatestVimScripts will assume that the script it has is
+out-of-date.
+
+The SourceID is extracted by GetLatestVimScripts from the script's page on
+vim.sf.net; whenever its greater than the one stored in the
+GetLatestVimScripts.dat file, the script will be downloaded
+(see |GetLatestVimScripts_dat|).
+
+If your script's author has included a special comment line in his/her plugin,
+the plugin itself will be used by GetLatestVimScripts to build your
+<GetLatestVimScripts.dat> file, including any dependencies on other scripts it
+may have.  As an example, consider: >
+
+	" GetLatestVimScripts: 884  1 :AutoInstall: AutoAlign.vim
+
+This comment line tells getscript.vim to check vimscript #884 and that the
+script is automatically installable.  Getscript will also use this line to
+help build the GetLatestVimScripts.dat file, by including a line such as: >
+
+	884 1 AutoAlign.vim
+<
+in it an AutoAlign.vim line isn't already in GetLatestVimScripts.dat file.
+See |glvs-plugins| for more.  Thus, GetLatestVimScripts thus provides a
+comprehensive ability to keep your plugins up-to-date!
+
+						*GetLatestVimScripts_dat*
+As an example of a <GetLatestVimScripts.dat> file:
+>
+    ScriptID SourceID Filename
+    --------------------------
+    294 1 Align.vim
+    120 2 decho.vim
+     40 3 DrawIt.tar.gz
+    451 4 EasyAccents.vim
+    195 5 engspchk.vim
+    642 6 GetLatestVimScripts.vim
+    489 7 Manpageview.vim
+<
+Note: the first two lines are required, but essentially act as comments.
+
+
+==============================================================================
+5. GetLatestVimScripts Friendly Plugins	*getscript-plugins* *glvs-plugins*
+
+If a plugin author includes the following comment anywhere in their plugin,
+GetLatestVimScripts will find it and use it to automatically build the user's
+GetLatestVimScripts.dat files:
+>
+	                         src_id
+	                            v
+	" GetLatestVimScripts: ### ### yourscriptname
+	                        ^
+	                    scriptid
+<
+As an author, you should include such a line in to refer to your own script
+plus any additional lines describing any plugin dependencies it may have.
+Same format, of course!
+
+If your command is auto-installable (see |glvs-autoinstall|), and most scripts
+are, then you may include :AutoInstall: at the start of "yourscriptname".
+
+GetLatestVimScripts commands for those scripts are then appended, if not
+already present, to the user's GetLatest/GetLatestVimScripts.dat file.  Its a
+relatively painless way to automate the acquisition of any scripts your
+plugins depend upon.
+
+Now, as an author, you probably don't want GetLatestVimScripts to download
+your own scripts for you yourself, thereby overwriting your not-yet-released
+hard work.  GetLatestVimScripts provides a solution for this:  put
+>
+	0 0 yourscriptname
+<
+into your <GetLatestVimScripts.dat> file and GetLatestVimScripts will skip
+examining the "yourscriptname" scripts for those GetLatestVimScripts comment
+lines.  As a result, those lines won't be inadvertently installed into your
+<GetLatestVimScripts.dat> file and subsequently used to download your own
+scripts.  This is especially important to do if you've included the
+:AutoInstall: option.
+
+Be certain to use the same "yourscriptname" in the "0 0 yourscriptname" line
+as you've used in your GetLatestVimScripts comment!
+
+
+==============================================================================
+6. GetLatestVimScripts AutoInstall			*getscript-autoinstall*
+							*glvs-autoinstall*
+
+GetLatestVimScripts now supports "AutoInstall".  Not all scripts are
+supportive of auto-install, as they may have special things you need to do to
+install them (please refer to the script's "install" directions).  On the
+other hand, most scripts will be auto-installable.
+
+To let GetLatestVimScripts do an autoinstall, the data file's comment field
+should begin with (surrounding blanks are ignored): >
+
+	:AutoInstall:
+<
+Both colons are needed, and it should begin the comment (yourscriptname)
+field.
+
+One may prevent any autoinstalling by putting the following line in your
+<.vimrc>: >
+
+	let g:GetLatestVimScripts_allowautoinstall= 0
+<
+With :AutoInstall: enabled, as it is by default, files which end with
+
+	---.tar.bz2  : decompressed & untarred in .vim/ directory
+	---.vba.bz2  : decompressed in .vim/ directory, then vimball handles it
+	---.vim.bz2  : decompressed & moved into .vim/plugin directory
+	---.tar.gz   : decompressed & untarred in .vim/ directory
+	---.vba.gz   : decompressed in .vim/ directory, then vimball handles it
+	---.vim.gz   : decompressed & moved into .vim/plugin directory
+	---.vba      : unzipped in .vim/ directory
+	---.vim      : moved to .vim/plugin directory
+	---.zip      : unzipped in .vim/ directory
+
+and which merely need to have their components placed by the untar/gunzip or
+move-to-plugin-directory process should be auto-installable.  Vimballs, of
+course, should always be auto-installable.
+
+When is a script not auto-installable?  Let me give an example:
+
+	.vim/after/syntax/blockhl.vim
+
+The <blockhl.vim> script provides block highlighting for C/C++ programs; it is
+available at:
+
+	http://vim.sourceforge.net/scripts/script.php?script_id=104
+
+Currently, vim's after/syntax only supports by-filetype scripts (in
+blockhl.vim's case, that's after/syntax/c.vim).  Hence, auto-install would
+possibly overwrite the current user's after/syntax/c.vim file.
+
+In my own case, I use <aftersyntax.vim> (renamed to after/syntax/c.vim) to
+allow a after/syntax/c/ directory:
+
+	http://vim.sourceforge.net/scripts/script.php?script_id=1023
+
+The script allows multiple syntax files to exist separately in the
+after/syntax/c subdirectory.  I can't bundle aftersyntax.vim in and build an
+appropriate tarball for auto-install because of the potential for the
+after/syntax/c.vim contained in it to overwrite a user's c.vim.
+
+
+==============================================================================
+7. GetLatestVimScripts Options					*glvs-options*
+>
+	g:GetLatestVimScripts_wget
+<	default= "wget"
+		This variable holds the name of the command for obtaining
+		scripts.
+>
+	g:GetLatestVimScripts_options
+<	default= "-q -O"
+		This variable holds the options to be used with the
+		g:GetLatestVimScripts_wget command.
+>
+ 	g:getLatestVimScripts_allowautoinstall
+<	default= 1
+		This variable indicates whether GetLatestVimScripts is allowed
+		to attempt to automatically install scripts.  Note that it
+		doesn't understand vimballs (yet).  Furthermore, the plugin
+		author has to have explicitly indicated that his/her plugin
+		is automatically installable.
+
+
+==============================================================================
+8. GetLatestVimScripts Algorithm		*glvs-algorithm* *glvs-alg*
+
+The Vim sourceforge page dynamically creates a page by keying off of the
+so-called script-id.  Within the webpage of
+
+	http://vim.sourceforge.net/scripts/script.php?script_id=40
+
+is a line specifying the latest source-id (src_id).  The source identifier
+numbers are always increasing, hence if the src_id is greater than the one
+recorded for the script in GetLatestVimScripts then its time to download a
+newer copy of that script.
+
+GetLatestVimScripts will then download the script and update its internal
+database of script ids, source ids, and scriptnames.
+
+The AutoInstall process will:
+
+	Move the file from GetLatest/ to the following directory
+		Unix   : $HOME/.vim
+		Windows: $HOME\vimfiles
+	if the downloaded file ends with ".bz2"
+		bunzip2 it
+	else if the downloaded file ends with ".gz"
+		gunzip it
+	if the resulting file ends with ".zip"
+		unzip it
+	else if the resulting file ends with ".tar"
+		tar -oxvf it
+	else if the resulting file ends with ".vim"
+		move it to the plugin subdirectory
+
+
+==============================================================================
+9. GetLatestVimScripts History		*getscript-history* *glvs-hist* {{{1
+
+v23 Nov 03, 2006 : * ignores comments (#...)
+                   * handles vimballs
+v22 Oct 13, 2006 : * supports automatic use of curl if wget is not
+                     available
+v21 May 01, 2006 : * now takes advantage of autoloading.
+v20 Dec 23, 2005 : * Eric Haarbauer found&fixed a bug with unzip use;
+                     unzip needs the -o flag to overwrite.
+v19 Nov 28, 2005 : * v18's GetLatestVimScript line accessed the wrong
+                     script! Fixed.
+v18 Mar 21, 2005 : * bugfix to automatic database construction
+                   * bugfix - nowrapscan caused an error
+                     (tnx to David Green for the fix)
+    Apr 01, 2005   * if shell is bash, "mv" instead of "ren" used in
+                     :AutoInstall:s, even though its o/s is windows
+    Apr 01, 2005   * when downloading errors occurred, GLVS was
+                     terminating early.  It now just goes on to trying
+                     the next script (after trying three times to
+                     download a script description page)
+    Apr 20, 2005   * bugfix - when a failure to download occurred,
+                     GetLatestVimScripts would stop early and claim that
+                     everything was current.  Fixed.
+v17 Aug 25, 2004 : * g:GetLatestVimScripts_allowautoinstall, which
+                     defaults to 1, can be used to prevent all
+                     :AutoInstall:
+v16 Aug 25, 2004 : * made execution of bunzip2/gunzip/tar/zip silent
+                   * fixed bug with :AutoInstall: use of helptags
+v15 Aug 24, 2004 : * bugfix: the "0 0 comment" download prevention wasn't
+                     always preventing downloads (just usually).  Fixed.
+v14 Aug 24, 2004 : * bugfix -- helptags was using dotvim, rather than
+                     s:dotvim.  Fixed.
+v13 Aug 23, 2004 : * will skip downloading a file if its scriptid or srcid
+                     is zero.  Useful for script authors; that way their
+                     own GetLatestVimScripts activity won't overwrite
+                     their scripts.
+v12 Aug 23, 2004 : * bugfix - a "return" got left in the distribution that
+                     was intended only for testing.  Removed, now works.
+                   * :AutoInstall: implemented
+v11 Aug 20, 2004 : * GetLatestVimScripts is now a plugin:
+                   * :GetLatestVimScripts command
+                   * (runtimepath)/GetLatest/GetLatestVimScripts.dat
+                     now holds scripts that need updating
+v10 Apr 19, 2004 : * moved history from script to doc
+v9  Jan 23, 2004 :   windows (win32/win16/win95) will use
+                     double quotes ("") whereas other systems will use
+                     single quotes ('') around the urls in calls via wget
+v8  Dec 01, 2003 :   makes three tries at downloading
+v7  Sep 02, 2003 :   added error messages if "Click on..." or "src_id="
+                     not found in downloaded webpage
+                     Uses t_ti, t_te, and rs to make progress visible
+v6  Aug 06, 2003 :   final status messages now display summary of work
+                     ( "Downloaded someqty scripts" or
+                       "Everything was current")
+                     Now GetLatestVimScripts is careful about downloading
+                     GetLatestVimScripts.vim itself!
+                     (goes to <NEW_GetLatestVimScripts.vim>)
+v5  Aug 04, 2003 :   missing an endif near bottom
+v4  Jun 17, 2003 :   redraw! just before each "considering" message
+v3  May 27, 2003 :   Protects downloaded files from errant shell
+                     expansions with single quotes: '...'
+v2  May 14, 2003 :   extracts name of item to be obtained from the
+                     script file.  Uses it instead of comment field
+                     for output filename; comment is used in the
+                     "considering..." line and is now just a comment!
+                   * Fixed a bug: a string-of-numbers is not the
+                     same as a number, so I added zero to them
+                     and they became numbers.  Fixes comparison.
+
+==============================================================================
+vim:tw=78:ts=8:ft=help:fdm=marker
diff --git a/runtime/doc/pi_gzip.txt b/runtime/doc/pi_gzip.txt
index 1d9466a..e29ea1b 100644
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt*   For Vim version 7.0.  Last change: 2002 Oct 29
+*pi_gzip.txt*   For Vim version 7.1a.  Last change: 2002 Oct 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 5c01d61..d5821de 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,17 +1,20 @@
-*pi_netrw.txt*  For Vim version 7.0.  Last change: 2006 May 02
+*pi_netrw.txt*  For Vim version 7.1a.  Last change: 2007 May 05
 
-		NETRW REFERENCE MANUAL	  by Charles E. Campbell, Jr.
+	    -----------------------------------------------------
+	    NETRW REFERENCE MANUAL    by Charles E. Campbell, Jr.
+	    -----------------------------------------------------
 
 
-*dav*		*http*		*network*	*rcp*		*scp*
-*fetch*		*netrw*		*Nread*		*rsync*		*sftp*
-*ftp*		*netrw.vim*	*Nwrite*	*netrw-file*
+*dav*           *http*          *network*       *Nwrite*   *netrw-file*
+*fetch*         *netrw*         *Nread*         *rcp*      *scp*
+*ftp*           *netrw.vim*     *Nsource*       *rsync*    *sftp*
 
 ==============================================================================
-0. Contents						*netrw-contents*
+1. Contents						*netrw-contents*
 
-1.  Starting With Netrw..................................|netrw-start|
-2.  Netrw Reference......................................|netrw-ref|
+1.  Contents.............................................|netrw-contents|
+2.  Starting With Netrw..................................|netrw-start|
+3.  Netrw Reference......................................|netrw-ref|
       CONTROLLING EXTERNAL APPLICATIONS..................|netrw-externapp|
       READING............................................|netrw-read|
       WRITING............................................|netrw-write|
@@ -19,14 +22,14 @@
       CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
       VARIABLES..........................................|netrw-variables|
       PATHS..............................................|netrw-path|
-3.  Network-Oriented File Transfer.......................|netrw-xfer|
+4.  Network-Oriented File Transfer.......................|netrw-xfer|
       NETRC..............................................|netrw-netrc|
       PASSWORD...........................................|netrw-passwd|
-4.  Activation...........................................|netrw-activate|
-5.  Transparent File Transfer............................|netrw-transparent|
-6.  Ex Commands..........................................|netrw-ex|
-7.  Variables and Options................................|netrw-var|
-8.  Directory Browsing...................................|netrw-browse| {{{1
+5.  Activation...........................................|netrw-activate|
+6.  Transparent File Transfer............................|netrw-transparent|
+7.  Ex Commands..........................................|netrw-ex|
+8.  Variables and Options................................|netrw-var|
+9.  Directory Browsing...................................|netrw-browse| {{{1
       Maps...............................................|netrw-maps|
       Exploring..........................................|netrw-explore-cmds|
       Quick Reference Commands Table.....................|netrw-browse-cmds|
@@ -38,38 +41,39 @@
       Going Up...........................................|netrw--|
       Browsing...........................................|netrw-cr|
       Obtaining A File...................................|netrw-O|
-      Thin, Long, and Wide Listings......................|netrw-i|
+      Change Listing Style...............................|netrw-i|
       Making A New Directory.............................|netrw-d|
       Deleting Files Or Directories......................|netrw-D|
       Renaming Files Or Directories......................|netrw-move|
       Hiding Files Or Directories........................|netrw-a|
       Edit File Or Directory Hiding List.................|netrw-ctrl-h|
       Browsing With A Horizontally Split Window..........|netrw-o|
+      Browsing With A Vertically Split Window............|netrw-v|
+      Browsing With A New Tab............................|netrw-t|
       Preview Window.....................................|netrw-p|
       Selecting Sorting Style............................|netrw-s|
       Editing The Sorting Sequence.......................|netrw-S|
       Reversing Sorting Order............................|netrw-r|
       Changing To A Predecessor Directory................|netrw-u|
       Changing To A Successor Directory..................|netrw-U|
-      Browsing With A Vertically Split Window............|netrw-v|
       Customizing Browsing With A User Function..........|netrw-x|
       Making The Browsing Directory The Current Directory|netrw-c|
-      Bookmarking A Directory............................|netrw-b| |netrw-Nb|
-      Changing To A Bookmarked Directory.................|netrw-B| |netrw-NB|
+      Bookmarking A Directory............................|netrw-mb|
+      Changing To A Bookmarked Directory.................|netrw-gb|
       Listing Bookmarks And History......................|netrw-q|
       Improving Directory Browsing.......................|netrw-listhack| }}}1
-9.  Problems and Fixes...................................|netrw-problems|
-10. Debugging............................................|netrw-debug|
-11. History..............................................|netrw-history|
-12. Credits..............................................|netrw-credits|
+10. Problems and Fixes...................................|netrw-problems|
+11. Debugging............................................|netrw-debug|
+12. History..............................................|netrw-history|
+13. Credits..............................................|netrw-credits|
 
 The Netrw plugin is generally sourced automatically as it is a
 |standard-plugin|.  That said, to make use of netrw, one must
 have plugins available which can be done with the following
 two lines in your <.vimrc>: >
 
-	set nocp		    " 'compatible' is not set
-	filetype plugin on	    " plugins are enabled
+	set nocp                    " 'compatible' is not set
+	filetype plugin on          " plugins are enabled
 <
 You can avoid loading this plugin by setting the "loaded_netrw" variable
 in your <.vimrc> file: >
@@ -79,14 +83,14 @@
 {Vi does not have any of this}
 
 ==============================================================================
-1. Starting With Netrw						*netrw-start*
+2. Starting With Netrw						*netrw-start*
 
 Netrw makes reading, writing, and browsing over a network connection easy!
 First, make sure that you have plugins enabled, so you'll need to have at
 least the following in your <.vimrc>: (or see |netrw-activate|) >
 
-	set nocp		    " 'compatible' is not set
-	filetype plugin on	    " plugins are enabled
+	set nocp                    " 'compatible' is not set
+	filetype plugin on          " plugins are enabled
 <
 (see |'cp'| and |:filetype-plugin-on|)
 
@@ -111,9 +115,9 @@
 	machine HOSTNAME login USERID password "PASSWORD"
 	machine HOSTNAME login USERID password "PASSWORD"
 	...
-	default		 login USERID password "PASSWORD"
+	default          login USERID password "PASSWORD"
 <
-How about browsing -- ie. you just want to look around before editing a
+Now about browsing -- ie. when you just want to look around before editing a
 file.  For browsing on your current host, just "edit" a directory: >
 
 	vim .
@@ -131,7 +135,7 @@
 section, |netrw-externapp|.
 
 ==============================================================================
-2. Netrw Reference						*netrw-ref*
+3. Netrw Reference						*netrw-ref*
 
 CONTROLLING EXTERNAL APPLICATIONS			*netrw-externapp*
 
@@ -140,8 +144,9 @@
 	   dav:    *g:netrw_dav_cmd*  = "cadaver"
 	 fetch:  *g:netrw_fetch_cmd*  = "fetch -o"    if fetch is available
 	   ftp:    *g:netrw_ftp_cmd*  = "ftp"
-	  http:   *g:netrw_http_cmd*  = "fetch -o"    if fetch is available
-	  http:    g:netrw_http_cmd   = "wget -q -O"  If wget  is available
+	  http:   *g:netrw_http_cmd*  = "curl -o"     if      curl  is available
+	  http:    g:netrw_http_cmd   = "wget -q -O"  else if wget  is available
+          http:    g:netrw_http_cmd   = "fetch -o"    else if fetch is available
 	   rcp:    *g:netrw_rcp_cmd*  = "rcp"
 	 rsync:  *g:netrw_rsync_cmd*  = "rsync -a"
 	   scp:    *g:netrw_scp_cmd*  = "scp -q"
@@ -174,10 +179,22 @@
 	:Nwrite "sftp://[user@]machine/path"		uses sftp
 	http: not supported!
 
+SOURCING					*netrw-source*
+	:Nsource ?					give help
+	:Nsource "dav://machine[:port]/path"		uses cadaver
+	:Nsource "fetch://[user@]machine/path"		uses fetch
+	:Nsource "ftp://[user@]machine[[:#]port]/path"	uses ftp w/ <.netrc>
+	:Nsource "http://[user@]machine/path"		uses http  uses wget
+	:Nsource "rcp://[user@]machine/path"		uses rcp
+	:Nsource "rsync://[user@]machine[:port]/path"	uses rsync
+	:Nsource "scp://[user@]machine[[:#]port]/path"	uses scp
+	:Nsource "sftp://[user@]machine/path"		uses sftp
+
 DIRECTORY LISTING					*netrw-dirlist*
 	:Nread [protocol]://[user]@hostname/path/
 
- CHANGING USERID AND PASSWORD				*netrw-chgup*
+						*netrw-login* *netrw-password*
+ CHANGING USERID AND PASSWORD			*netrw-chgup* *netrw-userpass*
 	Attempts to use ftp will prompt you for a user-id and a password.
 	These will be saved in g:netrw_uid and g:netrw_passwd Subsequent uses
 	of ftp will re-use those.  If you need to use a different user id
@@ -189,14 +206,12 @@
 	:call NetUserPass("uid","password")	-- sets global uid and password
 
 VARIABLES						*netrw-variables*
+
+(see also: |netrw-browse-var| |netrw-protocol| |netrw-settings| |netrw-var|)
+
  *b:netrw_lastfile*	last file Network-read/written retained on a per-buffer
 			basis		(supports plain :Nw )
 
- *s:netrw_line*		during :Nw/NetWrite, holds current line number
- *s:netrw_col*		during :Nw/NetWrite, holds current column number
-			s:netrw_line and s:netrw_col are used to
-			restore the cursor position on writes
-
  *g:netrw_ftp*		if it doesn't exist, use default ftp
 			=0 use default ftp		       (uid password)
 			=1 use alternate ftp method	  (user uid password)
@@ -204,16 +219,36 @@
 			value of this variable to see if the alternate ftp
 			method works for your setup.
 
+ *g:netrw_extracmd*	default: doesn't exist
+                        If this variable exists, then any string it contains
+			will be placed into the commands set to your ftp
+			client.  As an example:
+			  ="passive"
+
  *g:netrw_ftpmode*	="binary"				    (default)
 			="ascii"
 
- *g:netrw_ignorenetrc*	=0 (default)
+ *g:netrw_ignorenetrc*	=0 (default for linux, cygwin)
 			=1 If you have a <.netrc> file but it doesn't work and
 			   you want it ignored, then set this variable as shown.
+			   (default for Windows + cmd.exe)
+
+ *g:netrw_menu*		=0 disable netrw's menu
+			=1 (default) netrw's menu enabled
+
+ *g:netrw_nogx*		if this variable exists, then the "gx" map will not
+			be available (see |netrw-gx|)
 
  *g:netrw_uid*		(ftp) user-id,      retained on a per-session basis
  *g:netrw_passwd*	(ftp) password,     retained on a per-session basis
 
+ *g:netrw_shq*		= "'" for Unix/Linux systems (ie. a single quote)
+			= "'" for Windows + cygwin systems (ie. a single quote)
+			= '"' for Windows systems, not using cygwin
+			      (ie. a double quote)
+			Controls the quoting character used during scp and ftp
+			commands.
+
  *g:netrw_win95ftp*	=1 if using Win95, will remove four trailing blank
 			   lines that o/s's ftp "provides" on transfers
 			=0 force normal ftp behavior (no trailing line removal)
@@ -226,7 +261,7 @@
 			This option is ignored if you're using unix
 
  *g:netrw_use_nt_rcp*	=0 don't use the rcp of WinNT, Win2000 and WinXP
-			=1 use WinNT's rcp in binary mode	  (default)
+			=1 use WinNT's rcp in binary mode         (default)
 
 PATHS								*netrw-path*
 
@@ -245,7 +280,7 @@
 <
 
 ==============================================================================
-3. Network-Oriented File Transfer				*netrw-xfer*
+4. Network-Oriented File Transfer				*netrw-xfer*
 
 Network-oriented file transfer under Vim is implemented by a VimL-based script
 (<netrw.vim>) using plugin techniques.  It currently supports both reading and
@@ -267,12 +302,16 @@
 from/written to a temporary file (under Unix/Linux, /tmp/...) which the
 <netrw.vim> script will clean up.
 
-						*netrw-putty* *netrw-pscp*
+				*netrw-putty* *netrw-pscp* *netrw-psftp*
 One may modify any protocol's implementing external application by setting a
 variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
 "scp -q").  As an example, consider using PuTTY: >
-	let g:netrw_scp_cmd= '"c:\Program Files\PuTTY\pscp.exe" -q -batch'
+
+	let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch'
+	let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
 <
+See |netrw-p8| for more about putty, pscp, psftp, etc.
+
 Ftp, an old protocol, seems to be blessed by numerous implementations.
 Unfortunately, some implementations are noisy (ie., add junk to the end of the
 file).  Thus, concerned users may decide to write a NetReadFixup() function
@@ -303,57 +342,57 @@
 
 								*netrw-urls*
   +=================================+============================+============+
-  |  Reading			    | Writing			 |  Uses      |
+  |  Reading                        | Writing                    |  Uses      |
   +=================================+============================+============+
-  | DAV:			    |				 |	      |
-  |  dav://host/path		    |				 | cadaver    |
-  |  :Nread dav://host/path	    | :Nwrite dav://host/path	 | cadaver    |
+  | DAV:                            |                            |            |
+  |  dav://host/path                |                            | cadaver    |
+  |  :Nread dav://host/path         | :Nwrite dav://host/path    | cadaver    |
   +---------------------------------+----------------------------+------------+
-  | FETCH:			    |				 |	      |
-  |  fetch://[user@]host/path	    |				 |	      |
-  |  fetch://[user@]host:http/path  |  Not Available		 | fetch      |
-  |  :Nread fetch://[user@]host/path|				 |	      |
+  | FETCH:                          |                            |            |
+  |  fetch://[user@]host/path       |                            |            |
+  |  fetch://[user@]host:http/path  |  Not Available             | fetch      |
+  |  :Nread fetch://[user@]host/path|                            |            |
   +---------------------------------+----------------------------+------------+
-  | FILE:			    |				 |	      |
-  |  file:///*			    | file:///*			 |	      |
-  |  file://localhost/*		    | file://localhost/*	 |	      |
+  | FILE:                           |                            |            |
+  |  file:///*                      | file:///*                  |            |
+  |  file://localhost/*             | file://localhost/*         |            |
   +---------------------------------+----------------------------+------------+
-  | FTP:	  (*3)		    |		   (*3)		 |	      |
-  |  ftp://[user@]host/path	    | ftp://[user@]host/path	 | ftp	(*2)  |
-  |  :Nread ftp://host/path	    | :Nwrite ftp://host/path	 | ftp+.netrc |
-  |  :Nread host path		    | :Nwrite host path		 | ftp+.netrc |
-  |  :Nread host uid pass path	    | :Nwrite host uid pass path | ftp	      |
+  | FTP:          (*3)              |              (*3)          |            |
+  |  ftp://[user@]host/path         | ftp://[user@]host/path     | ftp  (*2)  |
+  |  :Nread ftp://host/path         | :Nwrite ftp://host/path    | ftp+.netrc |
+  |  :Nread host path               | :Nwrite host path          | ftp+.netrc |
+  |  :Nread host uid pass path      | :Nwrite host uid pass path | ftp        |
   +---------------------------------+----------------------------+------------+
-  | HTTP: wget is executable: (*4)  |				 |	      |
-  |  http://[user@]host/path	    |	     Not Available	 | wget       |
+  | HTTP: wget is executable: (*4)  |                            |            |
+  |  http://[user@]host/path        |        Not Available       | wget       |
   +---------------------------------+----------------------------+------------+
-  | HTTP: fetch is executable (*4)  |				 |	      |
-  |  http://[user@]host/path	    |	     Not Available	 | fetch      |
+  | HTTP: fetch is executable (*4)  |                            |            |
+  |  http://[user@]host/path        |        Not Available       | fetch      |
   +---------------------------------+----------------------------+------------+
-  | RCP:			    |				 |	      |
-  |  rcp://[user@]host/path	    | rcp://[user@]host/path	 | rcp	      |
+  | RCP:                            |                            |            |
+  |  rcp://[user@]host/path         | rcp://[user@]host/path     | rcp        |
   +---------------------------------+----------------------------+------------+
-  | RSYNC:			    |				 |	      |
-  |  rsync://[user@]host/path	    | rsync://[user@]host/path	 | rsync      |
-  |  :Nread rsync://host/path	    | :Nwrite rsync://host/path  | rsync      |
-  |  :Nread rcp://host/path	    | :Nwrite rcp://host/path	 | rcp	      |
+  | RSYNC:                          |                            |            |
+  |  rsync://[user@]host/path       | rsync://[user@]host/path   | rsync      |
+  |  :Nread rsync://host/path       | :Nwrite rsync://host/path  | rsync      |
+  |  :Nread rcp://host/path         | :Nwrite rcp://host/path    | rcp        |
   +---------------------------------+----------------------------+------------+
-  | SCP:			    |				 |	      |
-  |  scp://[user@]host/path	    | scp://[user@]host/path	 | scp	      |
-  |  :Nread scp://host/path	    | :Nwrite scp://host/path	 | scp	(*1)  |
+  | SCP:                            |                            |            |
+  |  scp://[user@]host/path         | scp://[user@]host/path     | scp        |
+  |  :Nread scp://host/path         | :Nwrite scp://host/path    | scp  (*1)  |
   +---------------------------------+----------------------------+------------+
-  | SFTP:			    |				 |	      |
-  |  sftp://[user@]host/path	    | sftp://[user@]host/path	 | sftp       |
-  |  :Nread sftp://host/path	    | :Nwrite sftp://host/path	 | sftp  (*1) |
+  | SFTP:                           |                            |            |
+  |  sftp://[user@]host/path        | sftp://[user@]host/path    | sftp       |
+  |  :Nread sftp://host/path        | :Nwrite sftp://host/path   | sftp  (*1) |
   +=================================+============================+============+
 
 	(*1) For an absolute path use scp://machine//path.
 
 	(*2) if <.netrc> is present, it is assumed that it will
 	work with your ftp client.  Otherwise the script will
-	prompt for user-id and pasword.
+	prompt for user-id and password.
 
-	(*3) for ftp, "machine" may be machine#port or machine:port
+        (*3) for ftp, "machine" may be machine#port or machine:port
 	if a different port is needed than the standard ftp port
 
 	(*4) for http:..., if wget is available it will be used.  Otherwise,
@@ -393,7 +432,7 @@
 
 
 ==============================================================================
-4. Activation						*netrw-activate*
+5. Activation						*netrw-activate*
 
 Network-oriented file transfers are available by default whenever Vim's
 |'nocompatible'| mode is enabled.  The <netrw.vim> file resides in your
@@ -408,7 +447,7 @@
 <
 
 ==============================================================================
-5. Transparent File Transfer				*netrw-transparent*
+6. Transparent File Transfer				*netrw-transparent*
 
 Transparent file transfers occur whenever a regular file read or write
 (invoked via an |:autocmd| for |BufReadCmd| or |BufWriteCmd| events) is made.
@@ -423,12 +462,16 @@
 
 
 ==============================================================================
-6. Ex Commands						*netrw-ex*
+7. Ex Commands						*netrw-ex*
 
 The usual read/write commands are supported.  There are also a few
 additional commands available.  Often you won't need to use Nw or
-Nread as shown in |netrw-transparent| (ie. use :e url, :r url, :w url;
-see |netrw-urls|).
+Nread as shown in |netrw-transparent| (ie. simply use >
+  :e url
+  :r url
+  :w url
+instead, as appropriate) -- see |netrw-urls|.  In the explanations
+below, a {netfile} is an url to a remote file.
 
 :[range]Nw	Write the specified lines to the current
 		file as specified in b:netrw_lastfile.
@@ -443,7 +486,14 @@
 :Nread {netfile} {netfile}...
 		Read the {netfile} after the current line.
 
-								*netrw-uidpass*
+:Nsource {netfile}
+		Source the {netfile}.
+		To start up vim using a remote .vimrc, one may use
+		the following (all on one line) (tnx to Antoine Mechelynck) >
+		vim -u NORC -N
+		 --cmd "runtime plugin/netrwPlugin.vim"
+		 --cmd "source scp://HOSTNAME/.vimrc"
+<								*netrw-uidpass*
 :call NetUserPass()
 		If b:netrw_uid and b:netrw_passwd don't exist,
 		this function query the user for them.
@@ -458,48 +508,50 @@
 		effectively remove the user-id and password by using ""
 		strings.
 
-:NetrwSettings	This command is desribed in |netrw-settings| -- used to
-		display netrw settings and change netrw behavior.
+:NetrwSettings  This command is described in |netrw-settings| -- used to
+                display netrw settings and change netrw behavior.
 
 
 ==============================================================================
-7. Variables and Options			*netrw-options* *netrw-var*
+8. Variables and Options			*netrw-options* *netrw-var*
 
-The script <netrw.vim> uses several variables which can affect <netrw.vim>'s
-behavior.  These variables typically may be set in the user's <.vimrc> file:
-(also see |netrw-settings|) >
+The <netrw.vim> script provides several variables which act as options to
+ffect <netrw.vim>'s behavior.  These variables typically may be set in the
+user's <.vimrc> file:
+(see also: |netrw-settings| |netrw-browse-var| |netrw-protocol|
+|netrw-settings|) >
 
-			-------------
-			Netrw Options
-			-------------
+                        -------------
+                        Netrw Options
+                        -------------
 	Option			Meaning
 	--------------		-----------------------------------------------
 <
-	b:netrw_col		Holds current cursor position (during NetWrite)
-	g:netrw_cygwin		=1 assume scp under windows is from cygwin
-							      (default/windows)
-				=0 assume scp under windows accepts windows
-				   style paths		      (default/else)
-	g:netrw_ftp		=0 use default ftp	      (uid password)
-	g:netrw_ftpmode		="binary"		      (default)
-				="ascii"		      (your choice)
-	g:netrw_ignorenetrc	=1			      (default)
-				   if you have a <.netrc> file but you don't
+        b:netrw_col             Holds current cursor position (during NetWrite)
+        g:netrw_cygwin          =1 assume scp under windows is from cygwin
+                                                              (default/windows)
+                                =0 assume scp under windows accepts windows
+                                   style paths                (default/else)
+        g:netrw_ftp             =0 use default ftp            (uid password)
+        g:netrw_ftpmode         ="binary"                     (default)
+                                ="ascii"                      (your choice)
+	g:netrw_ignorenetrc     =1                            (default)
+	                           if you have a <.netrc> file but you don't
 				   want it used, then set this variable.  Its
 				   mere existence is enough to cause <.netrc>
 				   to be ignored.
-	b:netrw_lastfile	Holds latest method/machine/path.
-	b:netrw_line		Holds current line number     (during NetWrite)
-	g:netrw_passwd		Holds current password for ftp.
-	g:netrw_silent		=0 transfers done normally
-				=1 transfers done silently
-	g:netrw_uid		Holds current user-id for ftp.
-				=1 use alternate ftp	     (user uid password)
-				(see |netrw-options|)
-	g:netrw_use_nt_rcp	=0 don't use WinNT/2K/XP's rcp (default)
-				=1 use WinNT/2K/XP's rcp, binary mode
-	g:netrw_win95ftp	=0 use unix-style ftp even if win95/98/ME/etc
-				=1 use default method to do ftp >
+        b:netrw_lastfile        Holds latest method/machine/path.
+        b:netrw_line            Holds current line number     (during NetWrite)
+        g:netrw_passwd          Holds current password for ftp.
+	g:netrw_silent          =0 transfers done normally
+	                        =1 transfers done silently
+        g:netrw_uid             Holds current user-id for ftp.
+                                =1 use alternate ftp         (user uid password)
+                                (see |netrw-options|)
+        g:netrw_use_nt_rcp      =0 don't use WinNT/2K/XP's rcp (default)
+                                =1 use WinNT/2K/XP's rcp, binary mode
+        g:netrw_win95ftp        =0 use unix-style ftp even if win95/98/ME/etc
+                                =1 use default method to do ftp >
 	-----------------------------------------------------------------------
 <
 The script will also make use of the following variables internally, albeit
@@ -522,25 +574,25 @@
 variables listed below, and may be modified by the user.
 >
 			   ------------------------
-			   Protocol Control Options
+                           Protocol Control Options
 			   ------------------------
-    Option	      Type	  Setting	  Meaning
-    ---------	      --------	  --------------  ---------------------------
+    Option            Type        Setting         Meaning
+    ---------         --------    --------------  ---------------------------
 <
-    netrw_ftp	      variable	  =doesn't exist  userid set by "user userid"
-				  =0		  userid set by "user userid"
-				  =1		  userid set by "userid"
-    NetReadFixup      function	  =doesn't exist  no change
-				  =exists	  Allows user to have files
-						  read via ftp automatically
-						  transformed however they wish
-						  by NetReadFixup()
+    netrw_ftp         variable    =doesn't exist  userid set by "user userid"
+                                  =0              userid set by "user userid"
+                                  =1              userid set by "userid"
+    NetReadFixup      function    =doesn't exist  no change
+                                  =exists         Allows user to have files
+                                                  read via ftp automatically
+                                                  transformed however they wish
+                                                  by NetReadFixup()
     g:netrw_dav_cmd    variable   ="cadaver"
-    g:netrw_fetch_cmd  variable   ="fetch -o"	  if fetch is available
+    g:netrw_fetch_cmd  variable   ="fetch -o"     if fetch is available
     g:netrw_ftp_cmd    variable   ="ftp"
     g:netrw_http_cmd   variable   ="fetch -o"     if      fetch is available
     g:netrw_http_cmd   variable   ="wget -O"      else if wget  is available
-    g:netrw_list_cmd   variable   ="ssh HOSTNAME ls -Fa"
+    g:netrw_list_cmd   variable   ="ssh USEPORT HOSTNAME ls -Fa"
     g:netrw_rcp_cmd    variable   ="rcp"
     g:netrw_rsync_cmd  variable   ="rsync -a"
     g:netrw_scp_cmd    variable   ="scp -q"
@@ -548,16 +600,19 @@
     -------------------------------------------------------------------------
 <
 								*netrw-ftp*
-The first two options (netrw_ftp and NetReadFixup) both help with certain
-ftp's that give trouble otherwise.  In order to best understand how to use
-these options if ftp is giving you troubles, a bit of discussion follows on
-how netrw does ftp reads.
 
-The g:netrw_..._cmd variables specify the external program to use handle the
-associated protocol (rcp, ftp, etc), plus any options.
+The g:netrw_..._cmd options (|g:netrw_ftp_cmd| and |g:netrw_sftp_cmd|)
+specify the external program to use handle the ftp protocol.  They may
+include command line options (such as -p for passive mode).
 
-The g:netrw_list_cmd's HOSTNAME entry will be changed via substitution with
-whatever the current request is for a hostname.
+Browsing is supported by using the |g:netrw_list_cmd|; the substring
+"HOSTNAME" will be changed via substitution with whatever the current request
+is for a hostname.
+
+Two options (|g:netrw_ftp| and |netrw-fixup|) both help with certain ftp's
+that give trouble .  In order to best understand how to use these options if
+ftp is giving you troubles, a bit of discussion is provided on how netrw does
+ftp reads.
 
 For ftp, netrw typically builds up lines of one of the following formats in a
 temporary file:
@@ -565,18 +620,20 @@
   IF g:netrw_ftp !exists or is not 1     IF g:netrw_ftp exists and is 1
   ----------------------------------     ------------------------------
 <
-       open machine [port]		      open machine [port]
-       user userid password		      userid password
-       [g:netrw_ftpmode]		      password
-       get filename tempfile		      [g:netrw_ftpmode]
-					      get filename tempfile >
+       open machine [port]                    open machine [port]
+       user userid password                   userid password
+       [g:netrw_ftpmode]                      password
+       [g:netrw_extracmd]                     [g:netrw_ftpmode]
+       get filename tempfile                  [g:netrw_extracmd]
+                                              get filename tempfile >
   ---------------------------------------------------------------------
 <
+The |g:netrw_ftpmode| and |g:netrw_extracmd| are optional.
+
 Netrw then executes the lines above by use of a filter:
 >
 	:%! {g:netrw_ftp_cmd} -i [-n]
 <
-
 where
 	g:netrw_ftp_cmd is usually "ftp",
 	-i tells ftp not to be interactive
@@ -611,7 +668,7 @@
       elseif a:method == 7 "rsync
       elseif a:method == 8 "fetch
       elseif a:method == 9 "sftp
-      else		 " complain
+      else               " complain
       endif
     endfunction
 >
@@ -625,15 +682,15 @@
     if has("win95") && g:netrw_win95ftp
      fun! NetReadFixup(method, line1, line2)
        if method == 3   " ftp (no <.netrc>)
-	let fourblanklines= line2 - 3
-	silent fourblanklines.",".line2."g/^\s*/d"
+        let fourblanklines= line2 - 3
+        silent fourblanklines.",".line2."g/^\s*/d"
        endif
      endfunction
     endif
 >
 
 ==============================================================================
-8. Directory Browsing	*netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
+9. Directory Browsing	*netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
 
 MAPS								*netrw-maps*
      <F1>.............Help.......................................|netrw-help|
@@ -641,13 +698,13 @@
      <del>............Deleting Files or Directories..............|netrw-delete|
      -................Going Up...................................|netrw--|
      a................Hiding Files or Directories................|netrw-a|
-     b................Bookmarking a Directory....................|netrw-b|
-     B................Changing to a Bookmarked Directory.........|netrw-B|
+     mb...............Bookmarking a Directory....................|netrw-mb|
+     gb...............Changing to a Bookmarked Directory.........|netrw-gb|
      c................Make Browsing Directory The Current Dir....|netrw-c|
      d................Make A New Directory.......................|netrw-d|
      D................Deleting Files or Directories..............|netrw-D|
      <c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h|
-     i................Long Listing...............................|netrw-i|
+     i................Change Listing Style.......................|netrw-i|
      <c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
      o................Browsing with a Horizontal Split...........|netrw-o|
      p................Preview Window.............................|netrw-p|
@@ -656,6 +713,7 @@
      R................Renaming Files or Directories..............|netrw-R|
      s................Selecting Sorting Style....................|netrw-s|
      S................Editing the Sorting Sequence...............|netrw-S|
+     t................Browsing with a new tab....................|netrw-t|
      u................Changing to a Predecessor Directory........|netrw-u|
      U................Changing to a Successor Directory..........|netrw-U|
      v................Browsing with a Vertical Split.............|netrw-v|
@@ -666,6 +724,7 @@
      :Sexplore[!] [dir] Split & Explore directory ...............|netrw-explore|
      :Hexplore[!] [dir] Horizontal Split & Explore...............|netrw-explore|
      :Vexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
+     :Texplore[!] [dir] Tab & Explore............................|netrw-explore|
      :Pexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
      :Nexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
      :NetrwSettings.............................................|netrw-settings|
@@ -674,7 +733,7 @@
 >
         -------	-----------
 	Command	Explanation
-	-------	-----------
+        -------	-----------
 <	<F1>	Causes Netrw to issue help
 	 <cr>	Netrw will enter the directory or read the file |netrw-cr|
 	 <del>	Netrw will attempt to remove the file/directory |netrw-del|
@@ -682,27 +741,25 @@
 	   a	Toggles between normal display, |netrw-a|
 		 hiding (suppress display of files matching g:netrw_list_hide)
 		 showing (display only files which match g:netrw_list_hide)
-	   b	bookmark current directory; use Nb if compact listing
-		 in use |netrw-b|
-	   B	go to previous bookmarked directory; use Nb if compact
-		 listing is in use |netrw-B|
+	   mb	bookmark current directory
+	   gb	go to previous bookmarked directory
 	   c	Make current browsing directory the current directory |netrw-c|
 	   d	Make a directory |netrw-d|
 	   D	Netrw will attempt to remove the file(s)/directory(ies) |netrw-D|
 	 <c-h>	Edit file hiding list |netrw-ctrl-h|
-	   i	Toggles between long and short listing |netrw-i|
+	   i	Cycle between thin, long, wide, and tree listings|netrw-i|
 	 <c-l>	Causes Netrw to refresh the directory listing |netrw-ctrl-l|
-	  Nb	Same as b, but always available |netrw-Nb|
-	  NB	Same as B, but always available |netrw-NB|
 	   o	Enter the file/directory under the cursor in a new browser
 		 window.  A horizontal split is used. |netrw-o|
 	   O	Obtain a file specified by cursor |netrw-O|
 	   p	Preview the file |netrw-p|
 	   P	Browse in the previously used window |netrw-P|
+	   q	List bookmarked directories and history |netrw-q|
 	   r	Reverse sorting order |netrw-r|
 	   R	Rename the designed file(s)/directory(ies) |netrw-R|
 	   s	Select sorting style: by name, time, or file size |netrw-s|
 	   S	Specify suffix priority for name-sorting |netrw-S|
+	   t	Enter the file/directory under the cursor in a new tab|netrw-t|
 	   u	Change to recently-visited directory |netrw-u|
 	   U	Change to subsequently-visited directory |netrw-U|
 	   v	Enter the file/directory under the cursor in a new browser
@@ -716,16 +773,17 @@
    ---				-----------
 < *g:netrw_alto*		change from above splitting to below splitting
 				by setting this variable (see |netrw-o|)
-				 default: =0
+				 default: =&sb           (see |'sb'|)
 
   *g:netrw_altv*		change from left splitting to right splitting
 				by setting this variable (see |netrw-v|)
-				 default: =0
+				 default: =&spr          (see |'spr'|)
 
   *g:netrw_browse_split*	when browsing, <cr> will open the file by:
 				=0: re-using the same window
-				=1: horizontally splitting the window first
-				=2: vertically   splitting the window first
+				=1: horizontally splitting the window first  
+				=2: vertically   splitting the window first  
+				=3: open file in new tab
 
   *g:netrw_browsex_viewer*	specify user's preference for a viewer: >
 					"kfmclient exec"
@@ -772,9 +830,22 @@
   *g:netrw_ftp_list_cmd*	options for passing along to ftp for directory
 				listing.  Defaults:
 				 unix or g:netrw_cygwin set: : "ls -lF"
-				 otherwise		       "dir"
+				 otherwise                     "dir"
 
-  *g:netrw_hide*			if true, the hiding list is used
+
+  *g:netrw_ftp_sizelist_cmd*	options for passing along to ftp for directory
+				listing, sorted by size of file.
+				Defaults:
+				 unix or g:netrw_cygwin set: : "ls -slF"
+				 otherwise                     "dir"
+
+  *g:netrw_ftp_timelist_cmd*	options for passing along to ftp for directory
+				listing, sorted by time of last modification.
+				Defaults:
+				 unix or g:netrw_cygwin set: : "ls -tlF"
+				 otherwise                     "dir"
+
+  *g:netrw_hide*		if true, the hiding list is used
 				 default: =0
 
   *g:netrw_keepdir*		=1 (default) keep current directory immune from
@@ -786,10 +857,14 @@
 
   *g:netrw_list_cmd*		command for listing remote directories
 				 default: (if ssh is executable)
-					  "ssh HOSTNAME ls -FLa"
+				          "ssh HOSTNAME ls -FLa"
 
-  *g:netrw_longlist*		if =1, then long listing will be default
-
+  *g:netrw_liststyle*		Set the default listing style:
+                                = 0: thin listing (one file per line)
+                                = 1: long listing (one file per line with time
+				     stamp information and file size)
+				= 2: wide listing (multiple files in columns)
+				= 3: tree style listing
   *g:netrw_list_hide*		comma separated pattern list for hiding files
 				 default: ""
 
@@ -807,16 +882,16 @@
 				columnar.
 
   *g:netrw_mkdir_cmd*		command for making a remote directory
-				 default: "ssh HOSTNAME mkdir"
+				 default: "ssh USEPORT HOSTNAME mkdir"
 
   *g:netrw_rm_cmd*		command for removing files
-				 default: "ssh HOSTNAME rm"
+				 default: "ssh USEPORT HOSTNAME rm"
 
   *g:netrw_rmdir_cmd*		command for removing directories
-				 default: "ssh HOSTNAME rmdir"
+				 default: "ssh USEPORT HOSTNAME rmdir"
 
   *g:netrw_rmf_cmd*		 command for removing softlinks
-				 default: "ssh HOSTNAME rm -f"
+				 default: "ssh USEPORT HOSTNAME rm -f"
 
   *g:netrw_sort_by*		sort by "name", "time", or "size"
 				 default: "name"
@@ -827,7 +902,7 @@
   *g:netrw_sort_sequence*	when sorting by name, first sort by the
 				comma-separated pattern sequence
 				 default: '[\/]$,*,\.bak$,\.o$,\.h$,
-					   \.info$,\.swp$,\.obj$'
+				           \.info$,\.swp$,\.obj$'
 
   *g:netrw_ssh_cmd*		One may specify an executable command
 				to use instead of ssh for remote actions
@@ -841,6 +916,14 @@
 				messages.  By default its value is:
 					 '^total\s\+\d\+$'
 
+  *g:netrw_use_noswf*		netrw normally avoids writing swapfiles
+  				for browser buffers.  However, under some
+				systems this apparently is causing nasty
+				ml_get errors to appear; if you're getting
+				ml_get errors, try putting
+				  let g:netrw_use_noswf= 0
+				in your .vimrc.
+
   *g:netrw_timefmt*		specify format string to strftime() (%c)
 				 default: "%c"
 
@@ -888,33 +971,36 @@
 will change them by using noacd and removing the ta suboptions from the
 |'formatoptions'|.
 
-				*netrw-explore*  *netrw-pexplore*
-				*netrw-hexplore* *netrw-sexplore*
-DIRECTORY EXPLORING COMMANDS	*netrw-nexplore* *netrw-vexplore*
+			*netrw-explore*  *netrw-pexplore* *netrw-texplore*
+			*netrw-hexplore* *netrw-sexplore* *netrw-nexplore*
+			*netrw-vexplore*
+DIRECTORY EXPLORING COMMANDS 
 
      :Explore[!]   [dir]... Explore directory of current file       *:Explore*
      :Sexplore[!]  [dir]... Split&Explore directory of current file *:Sexplore*
-     :Hexplore[!]  [dir]... Horizontal Split & Explore		    *:Hexplore*
-     :Vexplore[!]  [dir]... Vertical   Split & Explore		    *:Vexplore*
+     :Hexplore[!]  [dir]... Horizontal Split & Explore              *:Hexplore*
+     :Vexplore[!]  [dir]... Vertical   Split & Explore              *:Vexplore*
+     :Texplore     [dir]... Tab              & Explore              *:Texplore*
 
-     Used with :Explore **/pattern :
-     :Nexplore............. go to next matching file		    *:Nexplore*
-     :Pexplore............. go to previous matching file	    *:Pexplore*
+     Used with :Explore **/pattern : (also see |netrw-starstar|)
+     :Nexplore............. go to next matching file                *:Nexplore*
+     :Pexplore............. go to previous matching file            *:Pexplore*
 
 :Explore  will open the local-directory browser on the current file's
-	  directory (or on directory [dir] if specified).  The window will be
+          directory (or on directory [dir] if specified).  The window will be
 	  split only if the file has been modified, otherwise the browsing
 	  window will take over that window.  Normally the splitting is taken
 	  horizontally.
 :Explore! is like :Explore, but will use vertical splitting.
 :Sexplore will always split the window before invoking the local-directory
-	  browser.  As with Explore, the splitting is normally done
+          browser.  As with Explore, the splitting is normally done
 	  horizontally.
 :Sexplore! [dir] is like :Sexplore, but the splitting will be done vertically.
 :Hexplore  [dir] does an :Explore with |:belowright| horizontal splitting.
 :Hexplore! [dir] does an :Explore with |:aboveleft|  horizontal splitting.
 :Vexplore  [dir] does an :Explore with |:leftabove|  vertical splitting.
 :Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
+:Texplore  [dir] does a tabnew before generating the browser window
 
 By default, these commands use the current file's directory.  However, one
 may explicitly provide a directory (path) to use.
@@ -976,7 +1062,7 @@
 directory.
 
 
-REFRESHING THE LISTING					*netrw-ctrl-l*
+REFRESHING THE LISTING				*netrw-ctrl-l* *netrw-ctrl_l*
 
 To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
 hit the <cr> when atop the ./ directory entry in the listing.  One may also
@@ -1005,18 +1091,19 @@
 Browsing is simple: move the cursor onto a file or directory of interest.
 Hitting the <cr> (the return key) will select the file or directory.
 Directories will themselves be listed, and files will be opened using the
-protocol given in the original read request.
+protocol given in the original read request.  
 
-  CAVEAT: There are three forms of listing (see |netrw-i|).  Netrw assumes
+  CAVEAT: There are four forms of listing (see |netrw-i|).  Netrw assumes
   that two or more spaces delimit filenames and directory names for the long
   and wide listing formats.  Thus, if your filename or directory name has two
   or more spaces embedded in it, or any trailing spaces, then you'll need to
   use the "thin" format to select it.
 
 The |g:netrw_browse_split| option, which is zero by default, may be used to
-cause the opening of files to be done in a new window.  The splitting will
-be done horizontally if the option is one and vertically if the option is
-two.
+cause the opening of files to be done in a new window or tab.  When the option
+is one or two, the splitting will be taken horizontally or vertically,
+respectively.  When the option is set to three, a <cr> will cause the file
+to appear in a new tab.
 
 
 OBTAINING A FILE						*netrw-O*
@@ -1041,9 +1128,9 @@
    directory, see |g:netrw_keepdir|.
 
 
-THIN, LONG, AND WIDE LISTINGS					*netrw-i*
+CHANGE LISTING STYLE						*netrw-i*
 
-The "i" map cycles between the thin, long, and wide listing formats.
+The "i" map cycles between the thin, long, wide, and tree listing formats.
 
 The short listing format gives just the files' and directories' names.
 
@@ -1053,14 +1140,17 @@
 format, netrw is not able to recognize filenames which have trailing spaces.
 Use the thin listing format for such files.
 
-The wide listing format has a multi-column display of the various files in the
-netrw current directory, rather like the Unix "ls" presents.  In this mode the
-"b" and "B" maps are not available; instead, use Nb (|netrw-Nb|) and NB
-(|netrw-NB|).  The wide listing format uses two or more contiguous spaces to
-delineate filenames; when using that format, netrw won't be able to recognize
-or use filenames which have two or more contiguous spaces embedded in the name
-or any trailing spaces.  The thin listing format will, however, work with such
-files.
+The wide listing format uses two or more contiguous spaces to delineate
+filenames; when using that format, netrw won't be able to recognize or use
+filenames which have two or more contiguous spaces embedded in the name or any
+trailing spaces.  The thin listing format will, however, work with such files.
+This listing format is the most compact.
+
+The tree listing format has a top directory followed by files and directories
+preceded by a "|".  One may open and close directories by pressing the <cr>
+key while atop the directory name.  There is only one tree listing buffer;
+hence, using "v" or "o" on a subdirectory will only show the same buffer,
+twice.
 
 
 MAKING A NEW DIRECTORY						*netrw-d*
@@ -1116,21 +1206,30 @@
 the V (|linewise-visual|).
 
 
-HIDING FILES OR DIRECTORIES				*netrw-a*
+HIDING FILES OR DIRECTORIES			*netrw-a* *netrw-hiding*
 
 Netrw's browsing facility allows one to use the hiding list in one of three
 ways: ignore it, hide files which match, and show only those files which
 match.  The "a" map allows the user to cycle about these three ways.
 
 The g:netrw_list_hide variable holds a comma delimited list of patterns (ex.
-\.obj) which specify the hiding list. (also see |netrw-ctrl-h|)  To set the hiding
-list, use the <c-h> map.  As an example, to hide files which begin with a ".",
-one may use the <c-h> map to set the hiding list to '^\..*' (or one may put
-let g:netrw_list_hide= '^\..*' in one's <.vimrc>).  One may then use the "a"
-key to show all files, hide matching files, or to show only the matching
+\.obj) which specify the hiding list. (also see |netrw-ctrl-h|)  To set the
+hiding list, use the <c-h> map.  As an example, to hide files which begin with
+a ".", one may use the <c-h> map to set the hiding list to '^\..*' (or one may
+put let g:netrw_list_hide= '^\..*' in one's <.vimrc>).  One may then use the
+"a" key to show all files, hide matching files, or to show only the matching
 files.
 
+	Example: ^.*\.[ch]
+		This hiding list command will hide/show all *.c and *.h files.
 
+	Example: ^.*\.c,^.*\.h
+		This hiding list command will also hide/show all *.c and *.h
+		files.
+
+Don't forget to use the "a" map to select the normal/hiding/show mode you want!
+
+						*netrw-ctrl_h*
 EDIT FILE OR DIRECTORY HIDING LIST		*netrw-ctrl-h* *netrw-edithide*
 
 The "<ctrl-h>" map brings up a requestor allowing the user to change the
@@ -1152,13 +1251,41 @@
 
 	let g:netrw_alto = 1
 
-in your <.vimrc>.
+in your <.vimrc>.  (also see |netrw-t| |netrw-v| |g:netrw_alto|)
+
+There is only one tree listing buffer; using "o" on a displayed subdirectory 
+will split the screen, but the same buffer will be shown twice.
+
+
+BROWSING WITH A VERTICALLY SPLIT WINDOW				*netrw-v*
+
+Normally one enters a file or directory using the <cr>.  However, the "v" map
+allows one to open a new window to hold the new directory listing or file.  A
+vertical split is used.  (for horizontal splitting, see |netrw-o|)
+
+Normally, the v key splits the window vertically with the new window and
+cursor at the left.  To change to splitting the window vertically with the new
+window and cursor at the right, have
+
+	let g:netrw_altv = 1
+
+in your <.vimrc>.  (also see: |netrw-o| |netrw-t| |g:netrw_altv|)
+
+There is only one tree listing buffer; using "v" on a displayed subdirectory 
+will split the screen, but the same buffer will be shown twice.
+
+
+BROWSING WITH A NEW TAB					*netrw-t*
+
+Normally one enters a file or directory using the <cr>.  The "t" map
+allows one to open a new window hold the new directory listing or file in a
+new tab. (also see: |netrw-o| |netrw-v|)
 
 
 PREVIEW WINDOW					*netrw-p* *netrw-preview*
 
-One may use a preview window (currently only for local browsing) by using the
-"p" key when the cursor is atop the desired filename to be previewed.
+One may use a preview window by using the "p" key when the cursor is atop the
+desired filename to be previewed.
 
 
 PREVIOUS WINDOW					*netrw-P* *netrw-prvwin*
@@ -1218,23 +1345,9 @@
 This map is the opposite of the "u" map. (see |netrw-u|)  Use the
 q map to list both the bookmarks and history. (see |netrw-q|)
 
-
-BROWSING WITH A VERTICALLY SPLIT WINDOW				*netrw-v*
-
-Normally one enters a file or directory using the <cr>.  However, the "v" map
-allows one to open a new window to hold the new directory listing or file.  A
-vertical split is used.  (for horizontal splitting, see |netrw-o|)
-
-Normally, the v key splits the window vertically with the new window and
-cursor at the left.  To change to splitting the window vertically with the new
-window and cursor at the right, have
-
-	let g:netrw_altv = 1
-
-in your <.vimrc>.
-
-
-CUSTOMIZING BROWSING WITH A USER FUNCTION	*netrw-x* *netrw-handler* *gx*
+						*netrw-gx*
+CUSTOMIZING BROWSING WITH A USER FUNCTION	*netrw-x* *netrw-handler*
+						(also see |netrw_filehandler|)
 
 Certain files, such as html, gif, jpeg, (word/office) doc, etc, files, are
 best seen with a special handler (ie. a tool provided with your computer).
@@ -1242,7 +1355,8 @@
 
 	* when Exploring, hit the "x" key
 	* when editing, hit gx with the cursor atop the special filename
-<
+<	  (not available if the |g:netrw_nogx| variable exists)
+
 Netrw determines which special handler by the following method:
 
   * if |g:netrw_browsex_viewer| exists, then it will be used to attempt to
@@ -1255,7 +1369,7 @@
     If g:netrw_browsex_viewer == '-', then netrwFileHandler() will be
     invoked first (see |netrw_filehandler|).
 
-  * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
+  * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.  
   * for Gnome (with gnome-open): gnome-open is used.
   * for KDE (with kfmclient): kfmclient is used.
   * otherwise the netrwFileHandler plugin is used.
@@ -1266,68 +1380,81 @@
 *.eps) can be handled.
 
 							*netrw_filehandler*
-The netrwFileHandler applies a user-defined function to a file, based on its
-extension.  Of course, the handler function must exist for it to be called!
+
+The "x" map applies a function to a file, based on its extension.  Of course,
+the handler function must exist for it to be called!
 >
  Ex. mypgm.html   x ->
-		  netrwFileHandler_html("scp://user@host/some/path/mypgm.html")
+                  NFH_html("scp://user@host/some/path/mypgm.html")
 <
-See the <plugin/netrwFileHandlers.vim> for an example of how to handle an html
-file with mozilla.
+Users may write their own netrw File Handler functions to support more
+suffixes with special handling.  See <plugin/netrwFileHandlers.vim> for
+examples on how to make file handler functions.   As an example: >
 
-One may write custom netrwFileHandlers; please look at the >
+	" NFH_suffix(filename)
+	fun! NFH_suffix(filename)
+	..do something special with filename..
+	endfun
+<
+These functions need to be defined in some file in your .vim/plugin
+(vimfiles\plugin) directory.  Vim's function names may not have punctuation
+characters (except for the underscore) in them.  To support suffices that
+contain such characters, netrw will first convert the suffix using the
+following table: >
 
-	plugin/netrwFileHandlers.vim
+    @ -> AT       ! -> EXCLAMATION    % -> PERCENT  
+    : -> COLON    = -> EQUAL          ? -> QUESTION 
+    , -> COMMA    - -> MINUS          ; -> SEMICOLON
+    $ -> DOLLAR   + -> PLUS           ~ -> TILDE    
+<    
+So, for example: >
 
-script for examples.  If its likely to be generally useful, please feel free
-to forward a copy to me for future inclusion in the distribution.
+	file.rcs,v  ->  NFH_rcsCOMMAv()
+<
+If more such translations are necessary, please send me email: >
+		NdrOchip at ScampbellPfamily.AbizM - NOSPAM
+with a request.
 
 
 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-c* *netrw-curdir*
 
 By default, |g:netrw_keepdir| is 1.  This setting means that the current
-directory will not track the browsing directory.  However, setting
-g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to make the
-currently browsed directory also be the current directory.
+directory will not track the browsing directory.
 
-However, with the default setting for g:netrw_keepdir of 1 where netrw
+Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
+track netrw's browsing directory.
+
+However, given the default setting for g:netrw_keepdir of 1 where netrw
 maintains its own separate notion of the current directory, in order to make
 the two directories the same, use the "c" map (just type c).  That map will
-set Vim's notion of the current directory to the netrw's current browsing
+set Vim's notion of the current directory to netrw's current browsing
 directory.
 
 
-BOOKMARKING A DIRECTORY		*netrw-b* *netrw-bookmark* *netrw-bookmarks*
-							*netrw-Nb*
+BOOKMARKING A DIRECTORY		*netrw-mb* *netrw-bookmark* *netrw-bookmarks*
 One may easily "bookmark" a directory by using >
 
-	{cnt}b
+	{cnt}mb
 <
 Any count may be used.  One may use viminfo's "!" option to retain bookmarks
-between vim sessions.  See |netrw-B| for how to return to a bookmark and
+between vim sessions.  See |netrw-gb| for how to return to a bookmark and
 |netrw-q| for how to list them.
 
-When wide listing is in use (see |netrw-i|), then the b map is not available;
-instead, use {cnt}Nb.
 
-
-CHANGING TO A BOOKMARKED DIRECTORY			*netrw-NB* *netrw-B*
+CHANGING TO A BOOKMARKED DIRECTORY			*netrw-gb* 
 
 To change directory back to a bookmarked directory, use
 
-	{cnt}B
+	{cnt}gb
 
-Any count may be used to reference any of the bookmarks.  See |netrw-b| on
+Any count may be used to reference any of the bookmarks.  See |netrw-mb| on
 how to bookmark a directory and |netrw-q| on how to list bookmarks.
 
-When wide listing is in use (see |netrw-i|), then the B map is not available;
-instead, use {cnt}NB.
-
 
 LISTING BOOKMARKS AND HISTORY			*netrw-q* *netrw-listbookmark*
 
 Pressing "q" will list the bookmarked directories and directory traversal
-history (query). (see |netrw-b|, |netrw-B|, |netrw-u|, and |netrw-U|)
+history (query). (see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
 
 
 IMPROVING DIRECTORY BROWSING				*netrw-listhack*
@@ -1335,15 +1462,29 @@
 Especially with the remote directory browser, constantly entering the password
 is tedious.
 
-For Linux/Unix systems, I suggest looking into
+For Linux/Unix systems, the book "Linux Server Hacks - 100 industrial strength
+tips & tools" by Rob Flickenger (O'Reilly, ISBN 0-596-00461-3), gives a tip
+for setting up no-password ssh and scp, plus discusses associated security
+issues.  It used to be available at http://hacks.oreilly.com/pub/h/66 ,
+but apparently that address is now being redirected to some "hackzine".
+I'll attempt a summary:
 
-	http://hacks.oreilly.com/pub/h/66
+	1. Generate a public/private key pair on the ssh server:
+	   ssh-keygen -t rsa
+	   (saving the file in ~/.ssh/id_rsa is ok)
+	2. Just hit the <CR> when asked for passphrase (twice).
+	3. This creates two files:
+	     ~/.ssh/id_rsa
+	     ~/.ssh/id_rsa.pub
+	4. On the client:
+	    cd
+	    mkdir .ssh
+	    chmod 0700 .ssh
+	    scp {serverhostname}:.ssh/id_rsa.pub .
+	    cat id_rsa.pub >> .ssh/authorized_keys2
 
-It gives a tip for setting up password-less use of ssh and scp, and discusses
-the associated security issues.
-
-For Windows, the vim mailing list has mentioned that Pageant helps with
-avoiding the constant need to enter the password.
+For Windows, folks on the vim mailing list have mentioned that Pageant helps
+with avoiding the constant need to enter the password.
 
 
 NETRW SETTINGS						*netrw-settings*
@@ -1355,9 +1496,11 @@
 settings therein will be used.  One may also press "?" on any of the lines for
 help on what each of the variables do.
 
+(see also: |netrw-browse-var| |netrw-protocol| |netrw-var| |netrw-variables|)
+
 
 ==============================================================================
-9. Problems and Fixes						*netrw-problems*
+10. Problems and Fixes						*netrw-problems*
 
 	(This section is likely to grow as I get feedback)
 	(also see |netrw-debug|)
@@ -1371,22 +1514,31 @@
 			let g:netrw_win95ftp= 1
 
 								*netrw-p2*
-	P2. I use windows, and my network browsing with ftp doesn't sort by
-	    time or size
+	P2. I use Windows, and my network browsing with ftp doesn't sort by
+	    time or size!  -or-  The remote system is a Windows server; why
+	    don't I get sorts by time or size?
 
 		Windows' ftp has a minimal support for ls (ie. it doesn't
 		accept sorting options).  It doesn't support the -F which
 		gives an explanatory character (ABC/ for "ABC is a directory").
-		Netrw uses dir to get its short and long listings.  If you
-		think your ftp does support a full-up ls, put the following
-		into your <.vimrc>:
+		Netrw then uses "dir" to get both its short and long listings.
+		If you think your ftp does support a full-up ls, put the
+		following into your <.vimrc>: >
 
-			let g:netrw_ftp_list_cmd= "ls -lF"
-
+			let g:netrw_ftp_list_cmd    = "ls -lF"
+			let g:netrw_ftp_timelist_cmd= "ls -tlF"
+			let g:netrw_ftp_sizelist_cmd= "ls -slF"
+<
 		Alternatively, if you have cygwin on your Windows box, put
-		into your <.vimrc>:
+		into your <.vimrc>: >
 
 			let g:netrw_cygwin= 1
+<
+		This problem also occurs when the remote system is Windows.
+		In this situation, the various g:netrw_ftp_[time|size]list_cmds
+		are as shown above, but the remote system will not correctly
+		modify its listing behavior.
+
 
 								*netrw-p3*
 	P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
@@ -1400,7 +1552,7 @@
 								*netrw-p4*
 	P4. I would like long listings to be the default.
 
-			let g:netrw_longlist=1
+			let g:netrw_liststyle= 1
 
 		Check out |netrw-browse-var| for more customizations that
 		you can set.
@@ -1419,10 +1571,110 @@
 	    How do I do that?
 
 		let g:netrw_keepdir= 0
+	
+								*netrw-p7*
+	P7. I use Chinese (or other non-ascii) characters in my filenames, and
+	    netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
 
+		(taken from an answer provided by Wu Yongwei on the vim
+		mailing list)
+		I now see the problem. You code page is not 936, right? Vim
+		seems only able to open files with names that are valid in the
+		current code page, as are many other applications that do not
+		use the Unicode version of Windows APIs. This is an OS-related
+		issue. You should not have such problems when the system
+		locale uses UTF-8, such as modern Linux distros.
+
+		(...it is one more reason to recommend that people use utf-8!)
+
+								*netrw-p8*
+	P8. I'm getting "ssh is not executable on your system" -- what do I
+	    do?
+
+		(Dudley Fox) Most people I know use putty for windows ssh.  It
+		is a free ssh/telnet application. You can read more about it
+		here:
+
+		http://www.chiark.greenend.org.uk/~sgtatham/putty/ Also:
+
+		(Marlin Unruh) This program also works for me. It's a single
+		executable, so he/she can copy it into the Windows\System32
+		folder and create a shortcut to it. 
+
+		(Dudley Fox) You might also wish to consider plink, as it
+		sounds most similar to what you are looking for. plink is an
+		application in the putty suite.
+
+           http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
+
+	   	(Vissale Neang) Maybe you can try OpenSSH for windows, which
+		can be obtained from:
+
+		http://sshwindows.sourceforge.net/
+
+		It doesn't need the full Cygwin package. 
+
+		(Antoine Mechelynck) For individual Unix-like programs needed
+		for work in a native-Windows environment, I recommend getting
+		them from the GnuWin32 project on sourceforge if it has them:
+
+		    http://gnuwin32.sourceforge.net/
+
+		Unlike Cygwin, which sets up a Unix-like virtual machine on
+		top of Windows, GnuWin32 is a rewrite of Unix utilities with
+		Windows system calls, and its programs works quite well in the
+		cmd.exe "Dos box". 
+
+		(dave) Download WinSCP and use that to connect to the server.
+		In Preferences > Editors, set gvim as your editor:
+
+			- Click "Add..."
+			- Set External Editor (adjust path as needed, include
+			  the quotes and !.! at the end):
+			    "c:\Program Files\Vim\vim70\gvim.exe" !.!
+			- Check that the filetype in the box below is
+			  {asterisk}.{asterisk} (all files), or whatever types
+			  you want (cec: change {asterisk} to * ; I had to
+			  write it that way because otherwise the helptags
+			  system thinks its a tag)
+			- Make sure its at the top of the listbox (click it,
+			  then click "Up" if its not)
+		If using the Norton Commander style, you just have to hit <F4>
+		to edit a file in a local copy of gvim.
+
+		(Vit Gottwald) How to generate public/private key and save
+		public key it on server: >
+  http://www.tartarus.org/~simon/puttydoc/Chapter8.html#pubkey-gettingready
+			8.3 Getting ready for public key authentication
+<
+		How to use private key with 'pscp': >
+			http://www.tartarus.org/~simon/puttydoc/Chapter5.html
+			5.2.4 Using public key authentication with PSCP 
+<
+		(cec) To make proper use of these suggestions above, you will
+		need to modify the following user-settable variables in your
+		.vimrc:
+
+			|g:netrw_ssh_cmd| |g:netrw_list_cmd|  |g:netrw_mkdir_cmd|
+			|g:netrw_rm_cmd|  |g:netrw_rmdir_cmd| |g:netrw_rmf_cmd|
+
+		The first one (|g:netrw_ssh_cmd|) is the most important; most
+		of the others will use the string in g:netrw_ssh_cmd by
+		default.
+						*netrw-p9* *netrw-ml_get*
+	P9. I'm browsing, changing directory, and bang!  ml_get errors
+	    appear and I have to kill vim.  Any way around this?
+
+		Normally netrw attempts to avoid writing swapfiles for
+		its temporary directory buffers.  However, on some systems
+		this attempt appears to be causing ml_get errors to
+		appear.  Please try setting |g:netrw_use_noswf| to 0
+		in your <.vimrc>: >
+			let g:netrw_use_noswf= 0
+<
 
 ==============================================================================
-10. Debugging						*netrw-debug*
+11. Debugging						*netrw-debug*
 
 The <netrw.vim> script is typically available as:
 >
@@ -1463,21 +1715,144 @@
 	   This command, provided by <Decho.vim>, will comment out all
 	   Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()).
 
-	4. Then bring up vim and attempt a transfer.  A set of messages
-	   should appear concerning the steps that <netrw.vim> took in
-	   attempting to read/write your file over the network.  Please
-	   send that information to <netrw.vim>'s maintainer,
+	4. Then bring up vim and attempt a transfer or do browsing.  A set of
+	   messages should appear concerning the steps that <netrw.vim> took
+	   in attempting to read/write your file over the network.
 
+	   To save the file, use >
+		:wincmd j
+		:set bt=
+		:w! DBG
+<	   Please send that information to <netrw.vim>'s maintainer, >
 		NdrOchip at ScampbellPfamily.AbizM - NOSPAM
-
+<
 ==============================================================================
-11. History						*netrw-history* {{{1
+12. History						*netrw-history* {{{1
 
-	v98: May 02, 2006 * the "p" key didn't work properly when the browsing
-			    directory name had spaces in it.
-	v97: May 01, 2006 * exists("&acd") now used to determine if
-			    the 'acd' option exists
-			  * "obtain" now works again under Windows
+	v108: Jan 03, 2007 * included preview map (|netrw-p|), supporting
+			     remote browsing
+			   * netrw can now source remote files
+	      Jan 26, 2007 * Colton Jamieson noted that remote directory
+			     browsing did not support alternate port
+			     selection.  This feature has now been extended
+			     to apply to all remote browsing commands via ssh.
+			     (list, remove/delete, rename)
+	      Jan 31, 2007 * Luis Florit reported that @* was an invalid
+			     register.	The @* register is now only saved and
+			     restored if 'guioptions' contains "a".
+	      Feb 02, 2007 * Fixed a bug that cropped up when writing files
+			     via scp using cygwin
+	      Feb 08, 2007 * tree listing mode managed to stop working again;
+			     fixed again!
+	      Feb 15, 2007 * Guido Van Hoecke reported that netrw didn't
+			     handle browsing well with M$ ftp servers.	He even
+			     set up a temporary account for me to test with
+			     (thanks!).  Netrw now can browse M$ ftp servers.
+	v107: Oct 12, 2006 * bypassed the autowrite option
+	      Oct 24, 2006 * handles automatic decompression of *.gz and *.bz2
+			     files
+	      Nov 03, 2006 * Explore will highlight matching files when
+			     **/pattern is used (and if the |'hls'| option
+			     is set)
+	      Nov 09, 2006 * a debugging line, when enabled, was inadvertently
+			     bringing up help instead of simply reporting on
+			     list contents
+	      Nov 21, 2006 * tree listing improved (cursor remains put)
+	      Nov 27, 2006 * fixed b:netrw_curdir bug when repeated "i"s were
+			     pressed.
+	      Dec 15, 2006 * considerable qty of changes, mostly to share more
+			     code between local and remote browsing.  Includes
+			     support for tree-style listing for both remote
+			     and local browsing.
+	      Dec 15, 2006 * Included Peter Bengtsson's modifications to
+			     support the Amiga.
+	v106: Sep 21, 2006 * removed old v:version<700 code as netrw now
+			     requires vim 7.0
+			   * worked around a bug where register * was
+			     overwritten during local browsing
+	v104: Sep 05, 2006 * as suggested by Rodolfo Borges, :Explore and
+			     variants will position the cursor on the file
+			     just having been edited
+			   * changed default |g:netrw_sort_sequence| order
+			   * changed b, Nb to simply mb  (see |netrw-mb|)
+			   * changed B, NB to simply gb  (see |netrw-gb|)
+			   * tree listing style (see |g:netrw_liststyle|)
+			   * attempts to retain the alternate file
+	v103: Jul 26, 2006 * used Yakov Lerner's tip#1289 to improve netrw
+			     error message display
+			   * wide listings didn't handle files with backslashes
+			     in their names properly.  A symptom was an
+			     inability to open files.
+	      Aug 09, 2006 * included "t" mapping for opening tabbed windows,
+			    both for remote and local browsing
+			   * changed netrw_longlist to netrw_liststyle
+	      Aug 15, 2006 * fixed one of the NB maps
+	      Aug 22, 2006 * changed *Explore commands to use -nargs=* instead
+			     of -nargs=?.  Allows both -complete=dir _and_ the
+			     starstar arguments to work (-nargs=? seems to
+			     require one or the other).
+	      Aug 23, 2006 * copied all w:.. variables across splits to
+			     new windows
+	      Aug 25, 2006 * when g:netrw_browsex_viewer was '-'
+			     (see |g:netrw_browsex_viewer|) it wasn't causing
+			     netrwFileHandlers#Invoke() to be called as it
+			     was expected to.  (tnx Steve Dugaro)
+	      Aug 29, 2006 * changed NetBrowseX() to use "setlocal ... noswf"
+			     instead of "set ... noswf"  (tnx Benji Fisher)
+	      Aug 31, 2006 * tabs and fastbrowse<=1 didn't work together.
+	v102: Jun 15, 2006 * chgd netrwPlugin to call netrw#LocalBrowseCheck()
+			   * bugfix: g:netrw_keepdir==0 had stopped working
+	      Jul 06, 2006 * bugfix: NetOptionSave/Restore now saves/restores
+			     the unnamed register (|registers|)
+	      Jul 07, 2006 * |g:netrw_menu| support included
+	      Jul 13, 2006 * :Texplore command implemented
+	      Jul 17, 2006 * NetSplit and (Local|Net)BrowseChgDir() were both
+			     splitting windows.  This affected o, v, and
+			     g:netrw_browse_split.
+	      Jul 20, 2006 * works around wildignore setting (was causing
+			     netrw's local browser not to list wildignore'd
+			     files)
+	      Jul 24, 2006 * <leftmouse> acts as a <cr> for selecting a file
+			     <rightmouse> acts as a <del> for deleting a file
+	v100: May 14, 2006 * when using Windows and shell==cmd.exe, the
+			     default for g:netrw_ignorenetrc is now 1
+			   * bugfix: unwanted ^Ms now removed
+			     (affected shell==cmd.exe - Windows)
+			   * added Bookmarks and History to the menu
+			   * an error message about non-existing
+			     w:netrw_longlist was appearing during attempts to
+			     Explore (fixed)
+			   * g:netrw_shq now available to make netrw use
+			     specified style of quotes for commands
+	     May 29, 2006  * user NFH_*() functions were inadvertently being
+			     ignored
+			   * fixed a Windows non-cygwin ftp handling problem.
+			   * hiding pattern candidate separators included some
+			     characters it shouldn't have (tnx to Osei Poku)
+	     Jun 01, 2006  * for browsing, netrw was supposed to use "dir"
+			     instead of "ls -lF" when using
+			     ftp+non-cygwin+windows.  Fixed.
+			   * an inadvertently left-in-place debugging statement
+			     was preventing use of the "x" key with browsing.
+	     Jun 05, 2006  * g:netrw_nogx available to prevent making the gx
+			     map (see |g:netrw_nogx|)
+			   * bugfix, Explore woulnd't change directory
+			     properly (vim ., :Explore subdirname)
+	     Jun 06, 2006  * moved history to 2nd line in Netrw menu
+			   * fixed delete for unix-based systems
+	     Jun 07, 2006  * x key now works for windows-noncygwin-ftp
+	     Jun 08, 2006  * Explore */pat and **//pat now wraps
+	v99: May 09, 2006  * g:netrw_browse_split=3 for opening files in new
+			     tabs implemented.
+	     May 12, 2006  * deletes temporary file at end of NetRead()
+			   * visual mode based Obtain implemented
+			   * added -complete=dir to the various Explore
+			     commands
+	v98: May 02, 2006  * the "p" key didn't work properly when the browsing
+			     directory name had spaces in it.
+	v97: May 01, 2006  * exists("&acd") now used to determine if
+			     the 'acd' option exists
+			   * "obtain" now works again under Windows
 	v96: * bugfix - the |'acd'| option is not always defined but is
 	       now bypassed only when it is
 	v95: * bugfix - Hiding mode worked correctly (don't show any file
@@ -1532,7 +1907,7 @@
 	     * g:netrw_browsex_viewer implemented
 	     * Mikolaj Machowski pointed out that gnome-open is often
 	       executable under KDE systems, although it is effectively
-	       not functional.  NetBrowseX now looks for "kicker" as
+	       not functional.  NetBrowseX now looks for "kicker" as 
 	       a running process to determine if KDE is actually the
 	       really running.
 	     * Explorer's O functionality was inadvertently left out.
@@ -1590,7 +1965,7 @@
 	       in order to allow them to be used for motions
 	v65: * Browser functions now use NetOptionSave/Restore; in particular,
 	       netrw now works around the report setting
-	v64: * Bugfix - browsing a "/" directory (Unix) yielded buffers
+	v64: * Bugfix - browsing a "/" directory (Unix) yielded buffers 
 	       named "[Scratch]" instead of "/"
 	     * Bugfix - remote browsing with ftp was omitting the ./ and ../
 	v63: * netrw now takes advantage of autoload (and requires 7.0)
@@ -1732,7 +2107,7 @@
 
 
 ==============================================================================
-11. Credits						*netrw-credits* {{{1
+12. Credits						*netrw-credits* {{{1
 
 	Vim editor	by Bram Moolenaar (Thanks, Bram!)
 	dav		support by C Campbell
diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt
index b348849..3752637 100644
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt*  For Vim version 7.0.  Last change: 2006 Apr 24
+*pi_paren.txt*  For Vim version 7.1a.  Last change: 2006 Jun 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -43,7 +43,7 @@
 - What is visible in the window.
 - 100 lines above or below the cursor to avoid a long delay when there are
   closed folds.
-- 'synmaxcolumn' times 2 bytes before or after the cursor to avoid a delay
+- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
   in a long line with syntax highlighting.
 
 ==============================================================================
diff --git a/runtime/doc/pi_tar.txt b/runtime/doc/pi_tar.txt
index 9dd7469..51c96cc 100644
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,8 +1,8 @@
-*pi_tar.txt*	For Vim version 7.0.  Last change: 2006 May 02
+*pi_tar.txt*	For Vim version 7.1a.  Last change: 2006 Sep 29
 
-		       +====================+
-		       | Tar File Interface |
-		       +====================+
+       	       	       +====================+
+       	       	       | Tar File Interface |
+       	       	       +====================+
 
 Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
@@ -31,35 +31,37 @@
 
    These options are variables that one may change, typically in one's
    <.vimrc> file.
-			 Default
-   Variable		  Value   Explanation
+                         Default
+   Variable               Value   Explanation
    *g:tar_browseoptions*  "Ptf"   used to get a list of contents
-   *g:tar_readoptions*	  "OPxf"  used to extract a file from a tarball
-   *g:tar_cmd*		  "tar"   the name of the tar program
-   *g:tar_writeoptions*   "uf"	  used to update/replace a file
+   *g:tar_readoptions*    "OPxf"  used to extract a file from a tarball
+   *g:tar_cmd*            "tar"   the name of the tar program
+   *g:tar_writeoptions*   "uf"    used to update/replace a file
 
 
 ==============================================================================
 4. History						*tar-history*
 
+   v10 May 02, 2006 * now using "redraw then echo" to show messages, instead
+                      of "echo and prompt user"
    v9 May 02, 2006 * improved detection of masquerading as tar file
    v8 May 02, 2006 * allows editing of files that merely masquerade as tar
-		     files
+                     files
    v7 Mar 22, 2006 * work on making tar plugin work across network
       Mar 27, 2006 * g:tar_cmd now available for users to change the name
-		     of the tar program to be used.  By default, of course,
+                     of the tar program to be used.  By default, of course,
 		     its "tar".
    v6 Dec 21, 2005 * writing to files not in directories caused problems -
-		     fixed (pointed out by Christian Robinson)
+                     fixed (pointed out by Christian Robinson)
    v5 Nov 22, 2005 * report option workaround installed
    v3 Sep 16, 2005 * handles writing files in an archive back to the
-		     archive
+                     archive
       Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
       Oct 18, 2005 * handles writing to compressed archives
       Nov 03, 2005 * handles writing tarfiles across a network using
-		     netrw#NetWrite()
-   v2		   * converted to use Vim7's new autoload feature by
-		     Bram Moolenaar
+                     netrw#NetWrite()
+   v2              * converted to use Vim7's new autoload feature by
+                     Bram Moolenaar
    v1 (original)   * Michael Toren (see http://michael.toren.net/code/)
 
 ==============================================================================
diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt
index 1fefc7f..75eae34 100644
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -1,4 +1,4 @@
-*pi_vimball.txt*	For Vim version 7.0.  Last change: 2006 May 01
+*pi_vimball.txt*	For Vim version 7.1a.  Last change: 2007 Jan 03
 
 			       ----------------
 			       Vimball Archiver
@@ -13,10 +13,13 @@
 	   Use At-Your-Own-Risk!
 
 ==============================================================================
-1. Contents					*vimball* *vimball-contents*
+1. Contents				*vba* *vimball* *vimball-contents*
 
 	1. Contents......................................: |vimball-contents|
 	2. Vimball Manual................................: |vimball-manual|
+	   MkVimball.....................................: |:MkVimball|
+	   UseVimball....................................: |:UseVimball|
+	   RmVimball.....................................: |:RmVimball|
 	3. Vimball History...............................: |vimball-history|
 
 
@@ -24,19 +27,26 @@
 2. Vimball Manual					*vimball-manual*
 
 							*:MkVimball*
-		:[range]MkVimball[!] filename
+		:[range]MkVimball[!] filename [path]
 
-	This command takes lines holding a path to files to be included in
-	your vimball; as an example: >
+	The range is composed of lines holding paths to files to be included
+	in your new vimball.  As an example: >
 		plugin/something.vim
 		doc/something.txt
-<	using MkVimball on this range will create a file called "filename.vba"
-	which can be used by Vimball.vim to re-create these files.  If the
+<	using >
+		:[range]MkVimball filename
+<
+	on this range of lines will create a file called "filename.vba" which
+	can be used by Vimball.vim to re-create these files.  If the
 	"filename.vba" file already exists, then MkVimball will issue a
 	warning and not create the file.  Note that these paths are relative
 	to your .vim (vimfiles) directory, and the files should be in that
-	directory.  The vimball plugin uses the first |'runtimepath'|directory
-	that exists as a prefix; don't use absolute paths.
+	directory.  The vimball plugin normally uses the first |'runtimepath'|
+	directory that exists as a prefix; don't use absolute paths, unless
+	the user has specified such a path.
+							*g:vimball_home*
+	You may override the use of the |'runtimepath'| by specifying a
+	variable, g:vimball_home.
 
 	If you use the exclamation point (!), then MkVimball will create the
 	"filename.vba" file, overwriting it if it already exists.  This
@@ -52,22 +62,57 @@
 	file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
 	line.
 
-		:VimballList				*vimball-vimballlist*
+		:VimballList				*:VimballList*
 
 	This command will tell Vimball to list the files in the archive, along
 	with their lengths in lines.
 
+		:UseVimball [path]			*:UseVimball*
+
+	This command is contained within the vimball itself; it invokes the
+	vimball#Vimball() routine which is responsible for unpacking the
+	vimball.  One may choose to execute it by hand instead of sourcing
+	the vimball; one may also choose to specify a path for the
+	installation, thereby overriding the automatic choice of the first
+	existing directory on the |'runtimepath'|.
+
+		:RmVimball vimballfile [path]		*:RmVimball*
+
+	This command removes all files generated by the specified vimball
+	(but not any directories it may have made).  One may choose a path
+	for de-installation, too (see |'runtimepath'|); otherwise, the
+	default is the first existing directory on the |'runtimepath'|.
+	To implement this, a file (.VimballRecord) is made in that directory
+	containing a record of what files need to be removed for all vimballs
+	used thus far.
+
 
 ==============================================================================
 3. Vimball History					*vimball-history* {{{1
 
+	21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header
+	                    handling problem and it now changes \s to /s
+	20 : Nov 20, 2006 * substitute() calls have all had the 'e' flag
+	                    removed.
+	18 : Aug 01, 2006 * vimballs now use folding to easily display their
+	                    contents.
+			  * if a user has AsNeeded/somefile, then vimball
+			    will extract plugin/somefile to the AsNeeded/
+			    directory
+	17 : Jun 28, 2006 * changes all \s to /s internally for Windows
+	16 : Jun 15, 2006 * A. Mechylynk's idea to allow users to specify
+			    installation root paths implemented for
+			    UseVimball, MkVimball, and RmVimball.
+			  * RmVimball implemented
+	15 : Jun 13, 2006 * bugfix
+	14 : May 26, 2006 * bugfixes
 	13 : May 01, 2006 * exists("&acd") used to determine if the acd
 			    option exists
 	12 : May 01, 2006 * bugfix - the |'acd'| option is not always defined
 	11 : Apr 27, 2006 * VimballList would create missing subdirectories that
-			    the vimball specified were needed.	Fixed.
+			    the vimball specified were needed.  Fixed.
 	10 : Apr 27, 2006 * moved all setting saving/restoration to a pair of
-			    functions.	Included some more settings in them
+			    functions.  Included some more settings in them
 			    which frequently cause trouble.
 	9  : Apr 26, 2006 * various changes to support Windows prediliction
 			    for backslashes and spaces in file and directory
@@ -80,7 +125,7 @@
 			    only fires once, so the "Source this file..."
 			    message is now issued only once.
 	3  : Mar 20, 2006 * removed query, now requires sourcing to be
-			    extracted (:so %).	Message to that effect
+			    extracted (:so %).  Message to that effect
 			    included.
 			  * :VimballList  now shows files that would be
 			    extracted.
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index ce2dcd1..cedd911 100644
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt*	For Vim version 7.0.  Last change: 2006 May 01
+*pi_zip.txt*	For Vim version 7.1a.  Last change: 2006 Sep 29
 
 				+====================+
 				| Zip File Interface |
@@ -7,7 +7,7 @@
 Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
 Copyright: Copyright (C) 2005,2006 Charles E Campbell, Jr {{{1 *zip-copyright*
-	   Permission is hereby granted to use and distribute this code,
+           Permission is hereby granted to use and distribute this code,
 	   with or without modifications, provided that this copyright
 	   notice is copied with it. Like anything else that's free,
 	   zip.vim, zipPlugin.vim, and pi_zip.txt are provided *as is*
@@ -31,24 +31,34 @@
    also write to the file.  Currently, one may not make a new file in
    zip archives via the plugin.
 
+   The zip program supports one option: >
+   	g:zip_shq
+<  which by default is a single quote under Unix (') and a double quote
+   under Windows (").  If you'd rather have no quotes, simply set
+   g:zip_shq to the empty string (let g:zip_shq= "") in your <.vimrc>.
+
 ==============================================================================
 3. History					*zip-history*
+   v10 May 02, 2006 * now using "redraw then echo" to show messages, instead
+                      of "echo and prompt user"
+		    * g:zip_shq provided to allow for quoting control for the
+		      command being passed via :r! ... commands.
    v8 Apr 10, 2006 * Bram Moolenaar reported that he received an error message
-		     due to "Pattern not found: ^.*\%0c"; this was caused by
+                     due to "Pattern not found: ^.*\%0c"; this was caused by
 		     stridx finding a Name... at the beginning of the line;
 		     zip.vim tried 4,$s/^.*\%0c//, but that doesn't work.
 		     Fixed.
    v7 Mar 22, 2006 * escaped some characters that can cause filename handling
-		     problems.
+                     problems.
    v6 Dec 21, 2005 * writing to files not in directories caused problems -
-		     fixed (pointed out by Christian Robinson)
+                     fixed (pointed out by Christian Robinson)
    v5 Nov 22, 2005 * report option workaround installed
    v3 Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
    v2 Sep 16, 2005 * silenced some commands (avoiding hit-enter prompt)
-		   * began testing under Windows; works thus far
+                   * began testing under Windows; works thus far
 		   * filetype detection fixed
       Nov 03, 2005 * handles writing zipfiles across a network using
-		     netrw#NetWrite()
+                     netrw#NetWrite()
    v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
 
 ==============================================================================
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 36f9470..9f91281 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 7.0.  Last change: 2006 Apr 30
+*print.txt*     For Vim version 7.1a.  Last change: 2007 Apr 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -427,7 +427,7 @@
 								*E618* *E619*
 To use your own print character encoding when printing 8-bit character data
 you need to define your own PostScript font encoding vector.  Details on how
-to to define a font encoding vector is beyond the scope of this help file, but
+to define a font encoding vector is beyond the scope of this help file, but
 you can find details in the PostScript Language Reference Manual, 3rd Edition,
 published by Addison-Wesley and available in PDF form at
 http://www.adobe.com/.  The following describes what you need to do for VIM to
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index bdd2be5..9377d64 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.0.  Last change: 2006 Apr 30
+*quickref.txt*  For Vim version 7.1a.  Last change: 2006 Nov 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -783,7 +783,8 @@
 'number'	  'nu'	    print the line number in front of each line
 'numberwidth'	  'nuw'     number of columns used for the line number
 'omnifunc'	  'ofu'     function for filetype-specific completion
-'operatorfunc'	  'opfunc'  funtion to be called for |g@| operator
+'opendevice'	  'odev'    allow reading/writing devices on MS-Windows
+'operatorfunc'	  'opfunc'  function to be called for |g@| operator
 'osfiletype'	  'oft'     operating system-specific filetype information
 'paragraphs'	  'para'    nroff macros that separate paragraphs
 'paste'			    allow pasting text
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index 0de489a..159bd3c 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -1,4 +1,4 @@
-*recover.txt*   For Vim version 7.0.  Last change: 2006 Apr 24
+*recover.txt*   For Vim version 7.1a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt
index a149e15..a3f655f 100644
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -1,4 +1,4 @@
-*rileft.txt*    For Vim version 7.0.  Last change: 2006 Apr 24
+*rileft.txt*    For Vim version 7.1a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Avner Lottem
diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt
index c240a9b..d487d97 100644
--- a/runtime/doc/russian.txt
+++ b/runtime/doc/russian.txt
@@ -1,4 +1,4 @@
-*russian.txt*   For Vim version 7.0.  Last change: 2006 Apr 24
+*russian.txt*   For Vim version 7.1a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Vassily Ragosin
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index ea47050..de12c32 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt*      For Vim version 7.0.  Last change: 2006 Apr 24
+*sign.txt*      For Vim version 7.1a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt
index d77f4e8..170643a 100644
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt*   For Vim version 7.0.  Last change: 2006 Apr 30
+*sponsor.txt*   For Vim version 7.1a.  Last change: 2007 Jan 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -59,7 +59,7 @@
 HOW TO SEND MONEY						*send-money*
 
 Credit card	Through PayPal, see the PayPal site for information:
-			https://www.paypal.com
+			https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
 		The e-mail address for sending sponsorship money is:
 			donate@vim.org
 		The e-mail address for Vim registration is:
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 7431960..f69f0e6 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -253,6 +253,26 @@
 'gfw'	options.txt	/*'gfw'*
 'ghr'	options.txt	/*'ghr'*
 'go'	options.txt	/*'go'*
+'go-A'	options.txt	/*'go-A'*
+'go-F'	options.txt	/*'go-F'*
+'go-L'	options.txt	/*'go-L'*
+'go-M'	options.txt	/*'go-M'*
+'go-R'	options.txt	/*'go-R'*
+'go-T'	options.txt	/*'go-T'*
+'go-a'	options.txt	/*'go-a'*
+'go-b'	options.txt	/*'go-b'*
+'go-c'	options.txt	/*'go-c'*
+'go-e'	options.txt	/*'go-e'*
+'go-f'	options.txt	/*'go-f'*
+'go-g'	options.txt	/*'go-g'*
+'go-h'	options.txt	/*'go-h'*
+'go-i'	options.txt	/*'go-i'*
+'go-l'	options.txt	/*'go-l'*
+'go-m'	options.txt	/*'go-m'*
+'go-p'	options.txt	/*'go-p'*
+'go-r'	options.txt	/*'go-r'*
+'go-t'	options.txt	/*'go-t'*
+'go-v'	options.txt	/*'go-v'*
 'gp'	options.txt	/*'gp'*
 'gr'	vi_diff.txt	/*'gr'*
 'graphic'	vi_diff.txt	/*'graphic'*
@@ -528,6 +548,8 @@
 'nomousehide'	options.txt	/*'nomousehide'*
 'nonu'	options.txt	/*'nonu'*
 'nonumber'	options.txt	/*'nonumber'*
+'noodev'	options.txt	/*'noodev'*
+'noopendevice'	options.txt	/*'noopendevice'*
 'nopaste'	options.txt	/*'nopaste'*
 'nopi'	options.txt	/*'nopi'*
 'nopreserveindent'	options.txt	/*'nopreserveindent'*
@@ -629,11 +651,13 @@
 'number'	options.txt	/*'number'*
 'numberwidth'	options.txt	/*'numberwidth'*
 'nuw'	options.txt	/*'nuw'*
+'odev'	options.txt	/*'odev'*
 'oft'	options.txt	/*'oft'*
 'ofu'	options.txt	/*'ofu'*
 'omnifunc'	options.txt	/*'omnifunc'*
 'op'	vi_diff.txt	/*'op'*
 'open'	vi_diff.txt	/*'open'*
+'opendevice'	options.txt	/*'opendevice'*
 'operatorfunc'	options.txt	/*'operatorfunc'*
 'opfunc'	options.txt	/*'opfunc'*
 'optimize'	vi_diff.txt	/*'optimize'*
@@ -1283,6 +1307,7 @@
 -xrm	gui_x11.txt	/*-xrm*
 -y	starting.txt	/*-y*
 .	repeat.txt	/*.*
+...	eval.txt	/*...*
 .Xdefaults	gui_x11.txt	/*.Xdefaults*
 .aff	spell.txt	/*.aff*
 .dic	spell.txt	/*.dic*
@@ -1296,6 +1321,7 @@
 /<CR>	pattern.txt	/*\/<CR>*
 /[[.	pattern.txt	/*\/[[.*
 /[[=	pattern.txt	/*\/[[=*
+/[\n]	pattern.txt	/*\/[\\n]*
 /[]	pattern.txt	/*\/[]*
 /\	pattern.txt	/*\/\\*
 /\$	pattern.txt	/*\/\\$*
@@ -1672,6 +1698,7 @@
 :!cmd	various.txt	/*:!cmd*
 :!start	os_win32.txt	/*:!start*
 :#	various.txt	/*:#*
+:#!	various.txt	/*:#!*
 :$	cmdline.txt	/*:$*
 :%	cmdline.txt	/*:%*
 :&	change.txt	/*:&*
@@ -1707,8 +1734,20 @@
 :@	repeat.txt	/*:@*
 :@:	repeat.txt	/*:@:*
 :@@	repeat.txt	/*:@@*
+:AdaLines	ada.txt	/*:AdaLines*
+:AdaRainbow	ada.txt	/*:AdaRainbow*
+:AdaSpaces	ada.txt	/*:AdaSpaces*
+:AdaTagDir	ada.txt	/*:AdaTagDir*
+:AdaTagFile	ada.txt	/*:AdaTagFile*
+:AdaTypes	ada.txt	/*:AdaTypes*
 :CompilerSet	usr_41.txt	/*:CompilerSet*
+:DiffOrig	diff.txt	/*:DiffOrig*
 :Explore	pi_netrw.txt	/*:Explore*
+:GLVS	pi_getscript.txt	/*:GLVS*
+:GetLatestVimScripts_dat	pi_getscript.txt	/*:GetLatestVimScripts_dat*
+:GnatFind	ada.txt	/*:GnatFind*
+:GnatPretty	ada.txt	/*:GnatPretty*
+:GnatTags	ada.txt	/*:GnatTags*
 :Hexplore	pi_netrw.txt	/*:Hexplore*
 :Man	filetype.txt	/*:Man*
 :MkVimball	pi_vimball.txt	/*:MkVimball*
@@ -1718,9 +1757,13 @@
 :P	various.txt	/*:P*
 :Pexplore	pi_netrw.txt	/*:Pexplore*
 :Print	various.txt	/*:Print*
+:RmVimball	pi_vimball.txt	/*:RmVimball*
 :Sexplore	pi_netrw.txt	/*:Sexplore*
 :TOhtml	syntax.txt	/*:TOhtml*
+:Texplore	pi_netrw.txt	/*:Texplore*
+:UseVimball	pi_vimball.txt	/*:UseVimball*
 :Vexplore	pi_netrw.txt	/*:Vexplore*
+:VimballList	pi_vimball.txt	/*:VimballList*
 :X	editing.txt	/*:X*
 :XMLent	insert.txt	/*:XMLent*
 :XMLns	insert.txt	/*:XMLns*
@@ -1906,9 +1949,17 @@
 :comc	map.txt	/*:comc*
 :comclear	map.txt	/*:comclear*
 :command	map.txt	/*:command*
+:command-bang	map.txt	/*:command-bang*
+:command-bar	map.txt	/*:command-bar*
+:command-buffer	map.txt	/*:command-buffer*
+:command-complete	map.txt	/*:command-complete*
 :command-completion	map.txt	/*:command-completion*
 :command-completion-custom	map.txt	/*:command-completion-custom*
 :command-completion-customlist	map.txt	/*:command-completion-customlist*
+:command-count	map.txt	/*:command-count*
+:command-nargs	map.txt	/*:command-nargs*
+:command-range	map.txt	/*:command-range*
+:command-register	map.txt	/*:command-register*
 :command-verbose	map.txt	/*:command-verbose*
 :comment	eval.txt	/*:comment*
 :comp	quickfix.txt	/*:comp*
@@ -1992,6 +2043,7 @@
 :earlier	undo.txt	/*:earlier*
 :ec	eval.txt	/*:ec*
 :echo	eval.txt	/*:echo*
+:echo-redraw	eval.txt	/*:echo-redraw*
 :echoe	eval.txt	/*:echoe*
 :echoerr	eval.txt	/*:echoerr*
 :echoh	eval.txt	/*:echoh*
@@ -2186,12 +2238,12 @@
 :let	eval.txt	/*:let*
 :let+=	eval.txt	/*:let+=*
 :let-$	eval.txt	/*:let-$*
+:let-&	eval.txt	/*:let-&*
 :let-=	eval.txt	/*:let-=*
 :let-@	eval.txt	/*:let-@*
 :let-environment	eval.txt	/*:let-environment*
 :let-option	eval.txt	/*:let-option*
 :let-register	eval.txt	/*:let-register*
-:let-star	eval.txt	/*:let-star*
 :let-unpack	eval.txt	/*:let-unpack*
 :let.=	eval.txt	/*:let.=*
 :lex	quickfix.txt	/*:lex*
@@ -2708,6 +2760,7 @@
 :syn-sync-second	syntax.txt	/*:syn-sync-second*
 :syn-sync-third	syntax.txt	/*:syn-sync-third*
 :syn-transparent	syntax.txt	/*:syn-transparent*
+:sync	scroll.txt	/*:sync*
 :syncbind	scroll.txt	/*:syncbind*
 :syntax	syntax.txt	/*:syntax*
 :syntax-enable	syntax.txt	/*:syntax-enable*
@@ -3027,6 +3080,7 @@
 <cfile>	cmdline.txt	/*<cfile>*
 <character>	intro.txt	/*<character>*
 <count>	map.txt	/*<count>*
+<f-args>	map.txt	/*<f-args>*
 <k0>	term.txt	/*<k0>*
 <k1>	term.txt	/*<k1>*
 <k2>	term.txt	/*<k2>*
@@ -3086,7 +3140,9 @@
 @	repeat.txt	/*@*
 @/	change.txt	/*@\/*
 @:	repeat.txt	/*@:*
+@=	change.txt	/*@=*
 @@	repeat.txt	/*@@*
+@r	eval.txt	/*@r*
 A	insert.txt	/*A*
 ACL	editing.txt	/*ACL*
 ATTENTION	usr_11.txt	/*ATTENTION*
@@ -4017,6 +4073,11 @@
 E79	message.txt	/*E79*
 E790	undo.txt	/*E790*
 E791	mbyte.txt	/*E791*
+E792	gui.txt	/*E792*
+E793	diff.txt	/*E793*
+E794	eval.txt	/*E794*
+E795	eval.txt	/*E795*
+E796	editing.txt	/*E796*
 E80	message.txt	/*E80*
 E800	arabic.txt	/*E800*
 E81	map.txt	/*E81*
@@ -4079,7 +4140,10 @@
 GUI	gui.txt	/*GUI*
 GUI-X11	gui_x11.txt	/*GUI-X11*
 GUIEnter	autocmd.txt	/*GUIEnter*
-GetLatestVimScripts-copyright	getscript.txt	/*GetLatestVimScripts-copyright*
+GUIFailed	autocmd.txt	/*GUIFailed*
+GetLatestVimScripts	pi_getscript.txt	/*GetLatestVimScripts*
+GetLatestVimScripts-copyright	pi_getscript.txt	/*GetLatestVimScripts-copyright*
+GetLatestVimScripts_dat	pi_getscript.txt	/*GetLatestVimScripts_dat*
 Gnome	gui_x11.txt	/*Gnome*
 H	motion.txt	/*H*
 I	insert.txt	/*I*
@@ -4129,6 +4193,7 @@
 Normal	intro.txt	/*Normal*
 Normal-mode	intro.txt	/*Normal-mode*
 Nread	pi_netrw.txt	/*Nread*
+Nsource	pi_netrw.txt	/*Nsource*
 Nvi	intro.txt	/*Nvi*
 Nwrite	pi_netrw.txt	/*Nwrite*
 O	insert.txt	/*O*
@@ -4222,6 +4287,7 @@
 SessionLoadPost	autocmd.txt	/*SessionLoadPost*
 ShellCmdPost	autocmd.txt	/*ShellCmdPost*
 ShellFilterPost	autocmd.txt	/*ShellFilterPost*
+SourceCmd	autocmd.txt	/*SourceCmd*
 SourcePre	autocmd.txt	/*SourcePre*
 SpellFileMissing	autocmd.txt	/*SpellFileMissing*
 StdinReadPost	autocmd.txt	/*StdinReadPost*
@@ -4418,7 +4484,17 @@
 abbreviations	map.txt	/*abbreviations*
 abel.vim	syntax.txt	/*abel.vim*
 active-buffer	windows.txt	/*active-buffer*
-ada.vim	syntax.txt	/*ada.vim*
+ada#Create_Tags()	ada.txt	/*ada#Create_Tags()*
+ada#Jump_Tag()	ada.txt	/*ada#Jump_Tag()*
+ada#Listtags()	ada.txt	/*ada#Listtags()*
+ada#Switch_Syntax_Option()	ada.txt	/*ada#Switch_Syntax_Option()*
+ada#Word()	ada.txt	/*ada#Word()*
+ada-compiler	ada.txt	/*ada-compiler*
+ada-ctags	ada.txt	/*ada-ctags*
+ada-extra-plugins	ada.txt	/*ada-extra-plugins*
+ada-reference	ada.txt	/*ada-reference*
+ada.txt	ada.txt	/*ada.txt*
+ada.vim	ada.txt	/*ada.vim*
 add()	eval.txt	/*add()*
 add-filetype-plugin	usr_05.txt	/*add-filetype-plugin*
 add-global-plugin	usr_05.txt	/*add-global-plugin*
@@ -4437,6 +4513,7 @@
 added-6.2	version6.txt	/*added-6.2*
 added-6.3	version6.txt	/*added-6.3*
 added-6.4	version6.txt	/*added-6.4*
+added-7.1	version7.txt	/*added-7.1*
 added-BeOS	version5.txt	/*added-BeOS*
 added-Mac	version5.txt	/*added-Mac*
 added-VMS	version5.txt	/*added-VMS*
@@ -4650,6 +4727,7 @@
 c_CTRL-\_CTRL-G	intro.txt	/*c_CTRL-\\_CTRL-G*
 c_CTRL-\_CTRL-N	intro.txt	/*c_CTRL-\\_CTRL-N*
 c_CTRL-\_e	cmdline.txt	/*c_CTRL-\\_e*
+c_CTRL-]	cmdline.txt	/*c_CTRL-]*
 c_CTRL-^	cmdline.txt	/*c_CTRL-^*
 c_CTRL-_	cmdline.txt	/*c_CTRL-_*
 c_digraph	cmdline.txt	/*c_digraph*
@@ -4679,6 +4757,7 @@
 changed-6.2	version6.txt	/*changed-6.2*
 changed-6.3	version6.txt	/*changed-6.3*
 changed-6.4	version6.txt	/*changed-6.4*
+changed-7.1	version7.txt	/*changed-7.1*
 changelist	motion.txt	/*changelist*
 changelog.vim	syntax.txt	/*changelog.vim*
 changenr()	eval.txt	/*changenr()*
@@ -4729,10 +4808,15 @@
 compile-changes-5	version5.txt	/*compile-changes-5*
 compile-changes-6	version6.txt	/*compile-changes-6*
 compile-changes-7	version7.txt	/*compile-changes-7*
+compiler-compaqada	ada.txt	/*compiler-compaqada*
+compiler-decada	ada.txt	/*compiler-decada*
+compiler-gnat	ada.txt	/*compiler-gnat*
+compiler-hpada	ada.txt	/*compiler-hpada*
 compiler-manx	quickfix.txt	/*compiler-manx*
 compiler-pyunit	quickfix.txt	/*compiler-pyunit*
 compiler-select	quickfix.txt	/*compiler-select*
 compiler-tex	quickfix.txt	/*compiler-tex*
+compiler-vaxada	ada.txt	/*compiler-vaxada*
 compl-current	insert.txt	/*compl-current*
 compl-define	insert.txt	/*compl-define*
 compl-dictionary	insert.txt	/*compl-dictionary*
@@ -4916,6 +5000,7 @@
 debugger-support	debugger.txt	/*debugger-support*
 debugger.txt	debugger.txt	/*debugger.txt*
 dec-mouse	options.txt	/*dec-mouse*
+decada_members	ada.txt	/*decada_members*
 deepcopy()	eval.txt	/*deepcopy()*
 definition-search	tagsrch.txt	/*definition-search*
 definitions	intro.txt	/*definitions*
@@ -4952,6 +5037,7 @@
 diff-diffexpr	diff.txt	/*diff-diffexpr*
 diff-mode	diff.txt	/*diff-mode*
 diff-options	diff.txt	/*diff-options*
+diff-original-file	diff.txt	/*diff-original-file*
 diff-patchexpr	diff.txt	/*diff-patchexpr*
 diff.txt	diff.txt	/*diff.txt*
 diff_filler()	eval.txt	/*diff_filler()*
@@ -5203,6 +5289,7 @@
 fixed-6.2	version6.txt	/*fixed-6.2*
 fixed-6.3	version6.txt	/*fixed-6.3*
 fixed-6.4	version6.txt	/*fixed-6.4*
+fixed-7.1	version7.txt	/*fixed-7.1*
 flexwiki.vim	syntax.txt	/*flexwiki.vim*
 fname_diff-variable	eval.txt	/*fname_diff-variable*
 fname_in-variable	eval.txt	/*fname_in-variable*
@@ -5250,7 +5337,15 @@
 french-maillist	intro.txt	/*french-maillist*
 frombook	usr_01.txt	/*frombook*
 ft-abel-syntax	syntax.txt	/*ft-abel-syntax*
-ft-ada-syntax	syntax.txt	/*ft-ada-syntax*
+ft-ada-commands	ada.txt	/*ft-ada-commands*
+ft-ada-constants	ada.txt	/*ft-ada-constants*
+ft-ada-functions	ada.txt	/*ft-ada-functions*
+ft-ada-indent	ada.txt	/*ft-ada-indent*
+ft-ada-omni	ada.txt	/*ft-ada-omni*
+ft-ada-options	ada.txt	/*ft-ada-options*
+ft-ada-plugin	ada.txt	/*ft-ada-plugin*
+ft-ada-syntax	ada.txt	/*ft-ada-syntax*
+ft-ada-variables	ada.txt	/*ft-ada-variables*
 ft-ant-syntax	syntax.txt	/*ft-ant-syntax*
 ft-apache-syntax	syntax.txt	/*ft-apache-syntax*
 ft-asm-syntax	syntax.txt	/*ft-asm-syntax*
@@ -5395,18 +5490,60 @@
 g0	motion.txt	/*g0*
 g8	various.txt	/*g8*
 g:NetrwTopLvlMenu	pi_netrw.txt	/*g:NetrwTopLvlMenu*
+g:ada#Comment	ada.txt	/*g:ada#Comment*
+g:ada#Ctags_Kinds	ada.txt	/*g:ada#Ctags_Kinds*
+g:ada#DotWordRegex	ada.txt	/*g:ada#DotWordRegex*
+g:ada#Keywords	ada.txt	/*g:ada#Keywords*
+g:ada#WordRegex	ada.txt	/*g:ada#WordRegex*
+g:ada_abbrev	ada.txt	/*g:ada_abbrev*
+g:ada_all_tab_usage	ada.txt	/*g:ada_all_tab_usage*
+g:ada_begin_preproc	ada.txt	/*g:ada_begin_preproc*
+g:ada_default_compiler	ada.txt	/*g:ada_default_compiler*
+g:ada_extended_completion	ada.txt	/*g:ada_extended_completion*
+g:ada_extended_tagging	ada.txt	/*g:ada_extended_tagging*
+g:ada_folding	ada.txt	/*g:ada_folding*
+g:ada_gnat_extensions	ada.txt	/*g:ada_gnat_extensions*
+g:ada_line_errors	ada.txt	/*g:ada_line_errors*
+g:ada_no_tab_space_error	ada.txt	/*g:ada_no_tab_space_error*
+g:ada_no_trail_space_error	ada.txt	/*g:ada_no_trail_space_error*
+g:ada_omni_with_keywords	ada.txt	/*g:ada_omni_with_keywords*
+g:ada_rainbow_color	ada.txt	/*g:ada_rainbow_color*
+g:ada_space_errors	ada.txt	/*g:ada_space_errors*
+g:ada_standard_types	ada.txt	/*g:ada_standard_types*
+g:ada_with_gnat_project_files	ada.txt	/*g:ada_with_gnat_project_files*
+g:ada_withuse_ordinary	ada.txt	/*g:ada_withuse_ordinary*
+g:decada	ada.txt	/*g:decada*
+g:decada.Error_Format	ada.txt	/*g:decada.Error_Format*
+g:decada.Make()	ada.txt	/*g:decada.Make()*
+g:decada.Make_Command	ada.txt	/*g:decada.Make_Command*
+g:decada.Unit_Name()	ada.txt	/*g:decada.Unit_Name()*
+g:gnat	ada.txt	/*g:gnat*
+g:gnat.Error_Format	ada.txt	/*g:gnat.Error_Format*
+g:gnat.Find()	ada.txt	/*g:gnat.Find()*
+g:gnat.Find_Program	ada.txt	/*g:gnat.Find_Program*
+g:gnat.Make()	ada.txt	/*g:gnat.Make()*
+g:gnat.Make_Command	ada.txt	/*g:gnat.Make_Command*
+g:gnat.Pretty()	ada.txt	/*g:gnat.Pretty()*
+g:gnat.Pretty_Program	ada.txt	/*g:gnat.Pretty_Program*
+g:gnat.Project_File	ada.txt	/*g:gnat.Project_File*
+g:gnat.Set_Project_File()	ada.txt	/*g:gnat.Set_Project_File()*
+g:gnat.Tags()	ada.txt	/*g:gnat.Tags()*
+g:gnat.Tags_Command	ada.txt	/*g:gnat.Tags_Command*
 g:netrw_alto	pi_netrw.txt	/*g:netrw_alto*
 g:netrw_altv	pi_netrw.txt	/*g:netrw_altv*
 g:netrw_browse_split	pi_netrw.txt	/*g:netrw_browse_split*
 g:netrw_browsex_viewer	pi_netrw.txt	/*g:netrw_browsex_viewer*
 g:netrw_cygwin	pi_netrw.txt	/*g:netrw_cygwin*
 g:netrw_dav_cmd	pi_netrw.txt	/*g:netrw_dav_cmd*
+g:netrw_extracmd	pi_netrw.txt	/*g:netrw_extracmd*
 g:netrw_fastbrowse	pi_netrw.txt	/*g:netrw_fastbrowse*
 g:netrw_fetch_cmd	pi_netrw.txt	/*g:netrw_fetch_cmd*
 g:netrw_ftp	pi_netrw.txt	/*g:netrw_ftp*
 g:netrw_ftp_browse_reject	pi_netrw.txt	/*g:netrw_ftp_browse_reject*
 g:netrw_ftp_cmd	pi_netrw.txt	/*g:netrw_ftp_cmd*
 g:netrw_ftp_list_cmd	pi_netrw.txt	/*g:netrw_ftp_list_cmd*
+g:netrw_ftp_sizelist_cmd	pi_netrw.txt	/*g:netrw_ftp_sizelist_cmd*
+g:netrw_ftp_timelist_cmd	pi_netrw.txt	/*g:netrw_ftp_timelist_cmd*
 g:netrw_ftpmode	pi_netrw.txt	/*g:netrw_ftpmode*
 g:netrw_hide	pi_netrw.txt	/*g:netrw_hide*
 g:netrw_http_cmd	pi_netrw.txt	/*g:netrw_http_cmd*
@@ -5414,11 +5551,13 @@
 g:netrw_keepdir	pi_netrw.txt	/*g:netrw_keepdir*
 g:netrw_list_cmd	pi_netrw.txt	/*g:netrw_list_cmd*
 g:netrw_list_hide	pi_netrw.txt	/*g:netrw_list_hide*
+g:netrw_liststyle	pi_netrw.txt	/*g:netrw_liststyle*
 g:netrw_local_mkdir	pi_netrw.txt	/*g:netrw_local_mkdir*
 g:netrw_local_rmdir	pi_netrw.txt	/*g:netrw_local_rmdir*
-g:netrw_longlist	pi_netrw.txt	/*g:netrw_longlist*
 g:netrw_maxfilenamelen	pi_netrw.txt	/*g:netrw_maxfilenamelen*
+g:netrw_menu	pi_netrw.txt	/*g:netrw_menu*
 g:netrw_mkdir_cmd	pi_netrw.txt	/*g:netrw_mkdir_cmd*
+g:netrw_nogx	pi_netrw.txt	/*g:netrw_nogx*
 g:netrw_passwd	pi_netrw.txt	/*g:netrw_passwd*
 g:netrw_rcp_cmd	pi_netrw.txt	/*g:netrw_rcp_cmd*
 g:netrw_rm_cmd	pi_netrw.txt	/*g:netrw_rm_cmd*
@@ -5427,6 +5566,7 @@
 g:netrw_rsync_cmd	pi_netrw.txt	/*g:netrw_rsync_cmd*
 g:netrw_scp_cmd	pi_netrw.txt	/*g:netrw_scp_cmd*
 g:netrw_sftp_cmd	pi_netrw.txt	/*g:netrw_sftp_cmd*
+g:netrw_shq	pi_netrw.txt	/*g:netrw_shq*
 g:netrw_sort_by	pi_netrw.txt	/*g:netrw_sort_by*
 g:netrw_sort_direction	pi_netrw.txt	/*g:netrw_sort_direction*
 g:netrw_sort_sequence	pi_netrw.txt	/*g:netrw_sort_sequence*
@@ -5434,6 +5574,7 @@
 g:netrw_ssh_cmd	pi_netrw.txt	/*g:netrw_ssh_cmd*
 g:netrw_timefmt	pi_netrw.txt	/*g:netrw_timefmt*
 g:netrw_uid	pi_netrw.txt	/*g:netrw_uid*
+g:netrw_use_noswf	pi_netrw.txt	/*g:netrw_use_noswf*
 g:netrw_use_nt_rcp	pi_netrw.txt	/*g:netrw_use_nt_rcp*
 g:netrw_win95ftp	pi_netrw.txt	/*g:netrw_win95ftp*
 g:netrw_winsize	pi_netrw.txt	/*g:netrw_winsize*
@@ -5442,6 +5583,7 @@
 g:tar_readoptions	pi_tar.txt	/*g:tar_readoptions*
 g:tar_writeoptions	pi_tar.txt	/*g:tar_writeoptions*
 g:var	eval.txt	/*g:var*
+g:vimball_home	pi_vimball.txt	/*g:vimball_home*
 g;	motion.txt	/*g;*
 g<	message.txt	/*g<*
 g<Down>	motion.txt	/*g<Down>*
@@ -5496,20 +5638,19 @@
 getfsize()	eval.txt	/*getfsize()*
 getftime()	eval.txt	/*getftime()*
 getftype()	eval.txt	/*getftype()*
-getlatestvimscripts	getscript.txt	/*getlatestvimscripts*
-getlatestvimscripts-algorithm	getscript.txt	/*getlatestvimscripts-algorithm*
-getlatestvimscripts-autoinstall	getscript.txt	/*getlatestvimscripts-autoinstall*
-getlatestvimscripts-data	getscript.txt	/*getlatestvimscripts-data*
-getlatestvimscripts-history	getscript.txt	/*getlatestvimscripts-history*
-getlatestvimscripts-plugins	getscript.txt	/*getlatestvimscripts-plugins*
+getlatestvimscripts-install	pi_getscript.txt	/*getlatestvimscripts-install*
 getline()	eval.txt	/*getline()*
 getloclist()	eval.txt	/*getloclist()*
 getpos()	eval.txt	/*getpos()*
 getqflist()	eval.txt	/*getqflist()*
 getreg()	eval.txt	/*getreg()*
 getregtype()	eval.txt	/*getregtype()*
-getscript	getscript.txt	/*getscript*
-getscript.txt	getscript.txt	/*getscript.txt*
+getscript	pi_getscript.txt	/*getscript*
+getscript-autoinstall	pi_getscript.txt	/*getscript-autoinstall*
+getscript-data	pi_getscript.txt	/*getscript-data*
+getscript-history	pi_getscript.txt	/*getscript-history*
+getscript-plugins	pi_getscript.txt	/*getscript-plugins*
+getscript-start	pi_getscript.txt	/*getscript-start*
 gettabwinvar()	eval.txt	/*gettabwinvar()*
 getwinposx()	eval.txt	/*getwinposx()*
 getwinposy()	eval.txt	/*getwinposy()*
@@ -5526,14 +5667,24 @@
 global-local	options.txt	/*global-local*
 global-variable	eval.txt	/*global-variable*
 globpath()	eval.txt	/*globpath()*
-glvs	getscript.txt	/*glvs*
-glvs-alg	getscript.txt	/*glvs-alg*
-glvs-autoinstall	getscript.txt	/*glvs-autoinstall*
-glvs-contents	getscript.txt	/*glvs-contents*
-glvs-data	getscript.txt	/*glvs-data*
-glvs-hist	getscript.txt	/*glvs-hist*
-glvs-plugins	getscript.txt	/*glvs-plugins*
+glvs	pi_getscript.txt	/*glvs*
+glvs-alg	pi_getscript.txt	/*glvs-alg*
+glvs-algorithm	pi_getscript.txt	/*glvs-algorithm*
+glvs-autoinstall	pi_getscript.txt	/*glvs-autoinstall*
+glvs-contents	pi_getscript.txt	/*glvs-contents*
+glvs-copyright	pi_getscript.txt	/*glvs-copyright*
+glvs-data	pi_getscript.txt	/*glvs-data*
+glvs-dist-install	pi_getscript.txt	/*glvs-dist-install*
+glvs-hist	pi_getscript.txt	/*glvs-hist*
+glvs-install	pi_getscript.txt	/*glvs-install*
+glvs-options	pi_getscript.txt	/*glvs-options*
+glvs-plugins	pi_getscript.txt	/*glvs-plugins*
+glvs-usage	pi_getscript.txt	/*glvs-usage*
 gm	motion.txt	/*gm*
+gnat#Insert_Tags_Header()	ada.txt	/*gnat#Insert_Tags_Header()*
+gnat#New()	ada.txt	/*gnat#New()*
+gnat-xref	ada.txt	/*gnat-xref*
+gnat_members	ada.txt	/*gnat_members*
 gnome-session	gui_x11.txt	/*gnome-session*
 go	motion.txt	/*go*
 gp	change.txt	/*gp*
@@ -5621,7 +5772,6 @@
 gw	change.txt	/*gw*
 gwgw	change.txt	/*gwgw*
 gww	change.txt	/*gww*
-gx	pi_netrw.txt	/*gx*
 gzip	pi_gzip.txt	/*gzip*
 gzip-autocmd	pi_gzip.txt	/*gzip-autocmd*
 gzip-example	autocmd.txt	/*gzip-example*
@@ -5636,11 +5786,13 @@
 has-patch	eval.txt	/*has-patch*
 has_key()	eval.txt	/*has_key()*
 haskell.vim	syntax.txt	/*haskell.vim*
+haslocaldir()	eval.txt	/*haslocaldir()*
 hasmapto()	eval.txt	/*hasmapto()*
 hebrew	hebrew.txt	/*hebrew*
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
+help-summary	usr_02.txt	/*help-summary*
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
@@ -6162,6 +6314,9 @@
 mouse-overview	term.txt	/*mouse-overview*
 mouse-swap-buttons	term.txt	/*mouse-swap-buttons*
 mouse-using	term.txt	/*mouse-using*
+mouse_col-variable	eval.txt	/*mouse_col-variable*
+mouse_lnum-variable	eval.txt	/*mouse_lnum-variable*
+mouse_win-variable	eval.txt	/*mouse_win-variable*
 movement	intro.txt	/*movement*
 ms-dos	os_msdos.txt	/*ms-dos*
 msdos	os_msdos.txt	/*msdos*
@@ -6232,10 +6387,7 @@
 netreadfixup	pi_netrw.txt	/*netreadfixup*
 netrw	pi_netrw.txt	/*netrw*
 netrw--	pi_netrw.txt	/*netrw--*
-netrw-B	pi_netrw.txt	/*netrw-B*
 netrw-D	pi_netrw.txt	/*netrw-D*
-netrw-NB	pi_netrw.txt	/*netrw-NB*
-netrw-Nb	pi_netrw.txt	/*netrw-Nb*
 netrw-O	pi_netrw.txt	/*netrw-O*
 netrw-P	pi_netrw.txt	/*netrw-P*
 netrw-R	pi_netrw.txt	/*netrw-R*
@@ -6243,7 +6395,6 @@
 netrw-U	pi_netrw.txt	/*netrw-U*
 netrw-a	pi_netrw.txt	/*netrw-a*
 netrw-activate	pi_netrw.txt	/*netrw-activate*
-netrw-b	pi_netrw.txt	/*netrw-b*
 netrw-bookmark	pi_netrw.txt	/*netrw-bookmark*
 netrw-bookmarks	pi_netrw.txt	/*netrw-bookmarks*
 netrw-browse	pi_netrw.txt	/*netrw-browse*
@@ -6258,6 +6409,8 @@
 netrw-credits	pi_netrw.txt	/*netrw-credits*
 netrw-ctrl-h	pi_netrw.txt	/*netrw-ctrl-h*
 netrw-ctrl-l	pi_netrw.txt	/*netrw-ctrl-l*
+netrw-ctrl_h	pi_netrw.txt	/*netrw-ctrl_h*
+netrw-ctrl_l	pi_netrw.txt	/*netrw-ctrl_l*
 netrw-curdir	pi_netrw.txt	/*netrw-curdir*
 netrw-d	pi_netrw.txt	/*netrw-d*
 netrw-debug	pi_netrw.txt	/*netrw-debug*
@@ -6274,9 +6427,12 @@
 netrw-file	pi_netrw.txt	/*netrw-file*
 netrw-fixup	pi_netrw.txt	/*netrw-fixup*
 netrw-ftp	pi_netrw.txt	/*netrw-ftp*
+netrw-gb	pi_netrw.txt	/*netrw-gb*
+netrw-gx	pi_netrw.txt	/*netrw-gx*
 netrw-handler	pi_netrw.txt	/*netrw-handler*
 netrw-help	pi_netrw.txt	/*netrw-help*
 netrw-hexplore	pi_netrw.txt	/*netrw-hexplore*
+netrw-hiding	pi_netrw.txt	/*netrw-hiding*
 netrw-history	pi_netrw.txt	/*netrw-history*
 netrw-horiz	pi_netrw.txt	/*netrw-horiz*
 netrw-i	pi_netrw.txt	/*netrw-i*
@@ -6284,7 +6440,10 @@
 netrw-list	pi_netrw.txt	/*netrw-list*
 netrw-listbookmark	pi_netrw.txt	/*netrw-listbookmark*
 netrw-listhack	pi_netrw.txt	/*netrw-listhack*
+netrw-login	pi_netrw.txt	/*netrw-login*
 netrw-maps	pi_netrw.txt	/*netrw-maps*
+netrw-mb	pi_netrw.txt	/*netrw-mb*
+netrw-ml_get	pi_netrw.txt	/*netrw-ml_get*
 netrw-move	pi_netrw.txt	/*netrw-move*
 netrw-netrc	pi_netrw.txt	/*netrw-netrc*
 netrw-nexplore	pi_netrw.txt	/*netrw-nexplore*
@@ -6299,7 +6458,11 @@
 netrw-p4	pi_netrw.txt	/*netrw-p4*
 netrw-p5	pi_netrw.txt	/*netrw-p5*
 netrw-p6	pi_netrw.txt	/*netrw-p6*
+netrw-p7	pi_netrw.txt	/*netrw-p7*
+netrw-p8	pi_netrw.txt	/*netrw-p8*
+netrw-p9	pi_netrw.txt	/*netrw-p9*
 netrw-passwd	pi_netrw.txt	/*netrw-passwd*
+netrw-password	pi_netrw.txt	/*netrw-password*
 netrw-path	pi_netrw.txt	/*netrw-path*
 netrw-pexplore	pi_netrw.txt	/*netrw-pexplore*
 netrw-preview	pi_netrw.txt	/*netrw-preview*
@@ -6307,6 +6470,7 @@
 netrw-protocol	pi_netrw.txt	/*netrw-protocol*
 netrw-prvwin	pi_netrw.txt	/*netrw-prvwin*
 netrw-pscp	pi_netrw.txt	/*netrw-pscp*
+netrw-psftp	pi_netrw.txt	/*netrw-psftp*
 netrw-putty	pi_netrw.txt	/*netrw-putty*
 netrw-q	pi_netrw.txt	/*netrw-q*
 netrw-r	pi_netrw.txt	/*netrw-r*
@@ -6319,15 +6483,19 @@
 netrw-sexplore	pi_netrw.txt	/*netrw-sexplore*
 netrw-sort	pi_netrw.txt	/*netrw-sort*
 netrw-sortsequence	pi_netrw.txt	/*netrw-sortsequence*
+netrw-source	pi_netrw.txt	/*netrw-source*
 netrw-starpat	pi_netrw.txt	/*netrw-starpat*
 netrw-starstar	pi_netrw.txt	/*netrw-starstar*
 netrw-starstarpat	pi_netrw.txt	/*netrw-starstarpat*
 netrw-start	pi_netrw.txt	/*netrw-start*
+netrw-t	pi_netrw.txt	/*netrw-t*
+netrw-texplore	pi_netrw.txt	/*netrw-texplore*
 netrw-transparent	pi_netrw.txt	/*netrw-transparent*
 netrw-u	pi_netrw.txt	/*netrw-u*
 netrw-uidpass	pi_netrw.txt	/*netrw-uidpass*
 netrw-updir	pi_netrw.txt	/*netrw-updir*
 netrw-urls	pi_netrw.txt	/*netrw-urls*
+netrw-userpass	pi_netrw.txt	/*netrw-userpass*
 netrw-v	pi_netrw.txt	/*netrw-v*
 netrw-var	pi_netrw.txt	/*netrw-var*
 netrw-variables	pi_netrw.txt	/*netrw-variables*
@@ -6415,8 +6583,10 @@
 new-virtedit	version6.txt	/*new-virtedit*
 news	intro.txt	/*news*
 nextnonblank()	eval.txt	/*nextnonblank()*
+nice	todo.txt	/*nice*
 no-eval-feature	eval.txt	/*no-eval-feature*
 no_buffers_menu	gui.txt	/*no_buffers_menu*
+non-greedy	pattern.txt	/*non-greedy*
 normal-index	index.txt	/*normal-index*
 not-compatible	usr_01.txt	/*not-compatible*
 not-edited	editing.txt	/*not-edited*
@@ -6523,6 +6693,7 @@
 php.vim	syntax.txt	/*php.vim*
 php3.vim	syntax.txt	/*php3.vim*
 phtml.vim	syntax.txt	/*phtml.vim*
+pi_getscript.txt	pi_getscript.txt	/*pi_getscript.txt*
 pi_gzip.txt	pi_gzip.txt	/*pi_gzip.txt*
 pi_netrw.txt	pi_netrw.txt	/*pi_netrw.txt*
 pi_paren.txt	pi_paren.txt	/*pi_paren.txt*
@@ -6694,6 +6865,7 @@
 replacing-ex	insert.txt	/*replacing-ex*
 reselect-Visual	visual.txt	/*reselect-Visual*
 resolve()	eval.txt	/*resolve()*
+restore-cursor	usr_05.txt	/*restore-cursor*
 restore-position	tips.txt	/*restore-position*
 restricted-mode	starting.txt	/*restricted-mode*
 retab-example	change.txt	/*retab-example*
@@ -6761,8 +6933,6 @@
 s/\t	change.txt	/*s\/\\t*
 s/\u	change.txt	/*s\/\\u*
 s/\~	change.txt	/*s\/\\~*
-s:netrw_col	pi_netrw.txt	/*s:netrw_col*
-s:netrw_line	pi_netrw.txt	/*s:netrw_line*
 s:var	eval.txt	/*s:var*
 s<CR>	change.txt	/*s<CR>*
 sandbox	eval.txt	/*sandbox*
@@ -6775,6 +6945,7 @@
 script-here	if_perl.txt	/*script-here*
 script-local	map.txt	/*script-local*
 script-variable	eval.txt	/*script-variable*
+scriptnames-dictionary	eval.txt	/*scriptnames-dictionary*
 scriptout-changed	version4.txt	/*scriptout-changed*
 scroll-binding	scroll.txt	/*scroll-binding*
 scroll-cursor	scroll.txt	/*scroll-cursor*
@@ -6832,6 +7003,7 @@
 sh.vim	syntax.txt	/*sh.vim*
 shell-window	tips.txt	/*shell-window*
 shell_error-variable	eval.txt	/*shell_error-variable*
+shellescape()	eval.txt	/*shellescape()*
 shift	intro.txt	/*shift*
 shift-left-right	change.txt	/*shift-left-right*
 short-name-changed	version4.txt	/*short-name-changed*
@@ -7340,6 +7512,8 @@
 tex-error	syntax.txt	/*tex-error*
 tex-folding	syntax.txt	/*tex-folding*
 tex-math	syntax.txt	/*tex-math*
+tex-morecommands	syntax.txt	/*tex-morecommands*
+tex-package	syntax.txt	/*tex-package*
 tex-runon	syntax.txt	/*tex-runon*
 tex-slow	syntax.txt	/*tex-slow*
 tex-style	syntax.txt	/*tex-style*
@@ -7481,6 +7655,9 @@
 v:lang	eval.txt	/*v:lang*
 v:lc_time	eval.txt	/*v:lc_time*
 v:lnum	eval.txt	/*v:lnum*
+v:mouse_col	eval.txt	/*v:mouse_col*
+v:mouse_lnum	eval.txt	/*v:mouse_lnum*
+v:mouse_win	eval.txt	/*v:mouse_win*
 v:prevcount	eval.txt	/*v:prevcount*
 v:profiling	eval.txt	/*v:profiling*
 v:progname	eval.txt	/*v:progname*
@@ -7610,6 +7787,7 @@
 various-motions	motion.txt	/*various-motions*
 various.txt	various.txt	/*various.txt*
 vb.vim	syntax.txt	/*vb.vim*
+vba	pi_vimball.txt	/*vba*
 verbose	starting.txt	/*verbose*
 version-5.1	version5.txt	/*version-5.1*
 version-5.2	version5.txt	/*version-5.2*
@@ -7623,6 +7801,7 @@
 version-6.2	version6.txt	/*version-6.2*
 version-6.3	version6.txt	/*version-6.3*
 version-6.4	version6.txt	/*version-6.4*
+version-7.1	version7.txt	/*version-7.1*
 version-variable	eval.txt	/*version-variable*
 version4.txt	version4.txt	/*version4.txt*
 version5.txt	version5.txt	/*version5.txt*
@@ -7648,13 +7827,13 @@
 vim-script-intro	usr_41.txt	/*vim-script-intro*
 vim-variable	eval.txt	/*vim-variable*
 vim.vim	syntax.txt	/*vim.vim*
+vim7	version7.txt	/*vim7*
 vim:	options.txt	/*vim:*
 vimball	pi_vimball.txt	/*vimball*
 vimball-contents	pi_vimball.txt	/*vimball-contents*
 vimball-extract	pi_vimball.txt	/*vimball-extract*
 vimball-history	pi_vimball.txt	/*vimball-history*
 vimball-manual	pi_vimball.txt	/*vimball-manual*
-vimball-vimballlist	pi_vimball.txt	/*vimball-vimballlist*
 vimdev	intro.txt	/*vimdev*
 vimdiff	diff.txt	/*vimdiff*
 vimfiles	options.txt	/*vimfiles*
@@ -7709,6 +7888,7 @@
 white-space	pattern.txt	/*white-space*
 whitespace	pattern.txt	/*whitespace*
 wildcard	editing.txt	/*wildcard*
+wildcards	editing.txt	/*wildcards*
 win16-!start	gui_w16.txt	/*win16-!start*
 win16-clipboard	gui_w16.txt	/*win16-clipboard*
 win16-colors	gui_w16.txt	/*win16-colors*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 515ceae..41fca5f 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.0.  Last change: 2006 Apr 30
+*term.txt*      For Vim version 7.1a.  Last change: 2007 Feb 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -749,7 +749,7 @@
 which is editing another buffer, the Visual or Select mode is stopped.
 
 In Normal, Visual and Select mode clicking the right mouse button with the alt
-key pressed causes the Visual area to become blockwise.  When 'mousemodel is
+key pressed causes the Visual area to become blockwise.  When 'mousemodel' is
 "popup" the left button has to be used with the alt key.  Note that this won't
 work on systems where the window manager consumes the mouse events when the
 alt key is pressed (it may move the window).
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index 597664f..1abfba9 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt*      For Vim version 7.0.  Last change: 2006 Apr 30
+*tips.txt*      For Vim version 7.1a.  Last change: 2006 Jul 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -149,8 +149,8 @@
 sequences should go.
 
 Compare your xterm termcap entry (found in /etc/termcap) with your xterm
-terminfo entry (retrieved with /usr/5bin/infocmp -C xterm).  Both should
-contain entries similar to: >
+terminfo entry (retrieved with "infocmp -C xterm").  Both should contain
+entries similar to: >
 	:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:
 
 PS: If you find any difference, someone (your sysadmin?) should better check
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
index a1258b7..a8990c0 100644
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt*    For Vim version 7.0.  Last change: 2006 Apr 24
+*uganda.txt*    For Vim version 7.1a.  Last change: 2007 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -13,6 +13,7 @@
 
 	http://iccf-holland.org/
 	http://www.vim.org/iccf/
+	http://www.iccf.nl/
 
 You can also sponsor the development of Vim.  Vim sponsors can vote for
 features.  See |sponsor|.  The money goes to Uganda anyway.
@@ -211,21 +212,12 @@
 Check the ICCF web site for the latest information!  See |iccf| for the URL.
 
 
-USA:		The methods mentioned below can be used.  Alternatively, you
-		can send a check to the Nehemiah Group Outreach Society
-		(NGOS).  This will reduce banking costs and you can get an IRS
-		tax receipt.  The NGOS forwards the funds directly to the
-		Kibaale project in Uganda.  Checks must be made payable to
-		NGOS but please note on the check "donation Kibaale".  Mail
-		checks to:
-			NGOS
-			P.O. Box 50862
-			Indianapolis, IN 45250
-		Questions regarding the Nehemiah Group Outreach Society (NGOS)
-		should be directed to: Ross deMerchant, Executive Director -
-		r.demerchant AT sbcglobal DOT net.
-		For sponsoring a child contact KCF in Canada (see below) and
-		send the check to NGOS in Indianapolis.
+USA:		The methods mentioned below can be used.
+		Sending a check to the Nehemiah Group Outreach Society (NGOS)
+		is no longer possible, unfortunately. We are looking for
+		another way to get you an IRS tax receipt. 
+		For sponsoring a child contact KCF in Canada (see below). US
+		checks can be send to them to lower banking costs.
 
 Canada:		Contact Kibaale Children's Fund (KCF) in Surrey, Canada.  They
 		take care of the Canadian sponsors for the children in
@@ -264,7 +256,7 @@
 Credit Card:	You can use PayPal to send money with a Credit card.  This is
 		the most widely used Internet based payment system.  It's
 		really simple to use.  Use this link to find more info:
-		    https://www.paypal.com/affil/pal=Bram%40iccf-holland.org
+		    https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
 		The e-mail address for sending the money to is:
 		    Bram@iccf-holland.org
 		For amounts above 400 Euro ($500) sending a check is
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index fde879d..e1f6585 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.0.  Last change: 2006 Apr 30
+*undo.txt*      For Vim version 7.1a.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index 2b3dd78..e782754 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -1,4 +1,4 @@
-*usr_02.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_02.txt*	For Vim version 7.1a.  Last change: 2007 Feb 28
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -302,7 +302,7 @@
 
 The "U" command is a change by itself, which the "u" command undoes and CTRL-R
 redoes.  This might be a bit confusing.  Don't worry, with "u" and CTRL-R you
-can go to any of the situations you had.  More about that in section ||.
+can go to any of the situations you had.  More about that in section |32.1|.
 
 ==============================================================================
 *02.6*	Other editing commands
@@ -497,6 +497,66 @@
 
 	:help E37
 
+
+Summary: 					*help-summary*  >
+	:help
+<		Gives you very general help.  Scroll down to see a list of all
+		helpfiles, including those added locally (i.e. not distributed
+		with Vim). >
+	:help user-toc.txt
+<		Table of contents of the User Manual. >
+	:help :subject
+<		Ex-command "subject", for instance the following: >
+	:help :help
+<		Help on getting help. >
+	:help abc
+<		normal-mode command "abc". >
+	:help CTRL-B
+<		Control key <C-B> in Normal mode. >
+	:help i_abc
+	:help i_CTRL-B
+<		The same in Insert mode. >
+	:help v_abc
+	:help v_CTRL-B
+<		The same in Visual mode. >
+	:help c_abc
+	:help c_CTRL-B
+<		The same in Command-line mode. >
+	:help 'subject'
+<		Option 'subject'. >
+	:help subject()
+<		Function "subject". >
+	:help -subject
+<		Command-line option "-subject". >
+	:help +subject
+<		Compile-time feature "+subject'. >
+	:help EventName
+<		Autocommand event "EventName". >
+	:help digraphs.txt
+<		The top of the helpfile "digraph.txt".
+		Similarly for any other helpfile. >
+	:help pattern<Tab>
+<		Find a help tag starting with "pattern".  Repeat <Tab> for
+		others. >
+	:help pattern<Ctrl-D>
+<		See all possible help tag matches "pattern" at once. >
+	:helpgrep pattern
+<		Search the whole text of all help files for pattern "pattern".
+		Jumps to the first match.  Jump to other matches with: >
+	    :cn
+<			next match >
+	    :cprev
+	    :cN
+<			previous match >
+	    :cfirst
+	    :clast
+<			first or last match >
+	    :copen
+	    :cclose
+<			open/close the quickfix window; press <Enter> to jump
+			to the item under the cursor
+
+
 ==============================================================================
 
 Next chapter: |usr_03.txt|  Moving around
diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt
index 9f15540..b082f83 100644
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_03.txt*	For Vim version 7.1a.  Last change: 2006 Jun 21
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -606,7 +606,7 @@
 Vim enables you to place your own marks in the text.  The command "ma" marks
 the place under the cursor as mark a.  You can place 26 marks (a through z) in
 your text.  You can't see them, it's just a position that Vim remembers.
-   To go to a mark, use the command `{mark}, where "{mark} is the mark letter.
+   To go to a mark, use the command `{mark}, where {mark} is the mark letter.
 Thus to move to the a mark:
 >
 	`a
@@ -622,7 +622,7 @@
 
 	ms
 
-The move to the text you want to work on and put the e (end) mark there: >
+Then move to the text you want to work on and put the e (end) mark there: >
 
 	me
 
diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt
index cdb157e..20de736 100644
--- a/runtime/doc/usr_08.txt
+++ b/runtime/doc/usr_08.txt
@@ -1,4 +1,4 @@
-*usr_08.txt*	For Vim version 7.0.  Last change: 2006 Apr 30
+*usr_08.txt*	For Vim version 7.1a.  Last change: 2006 Jul 18
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -197,8 +197,8 @@
 MOVING BETWEEN WINDOWS
 
 Since you can split windows horizontally and vertically as much as you like,
-you can create any layout of windows.  Then you can use these commands to move
-between them:
+you can create almost any layout of windows.  Then you can use these commands
+to move between them:
 
 	CTRL-W h	move to the window on the left
 	CTRL-W j	move to the window below
@@ -242,7 +242,7 @@
 This uses the uppercase letter K.  What happens is that the window is moved to
 the very top.  You will notice that K is again used for moving upwards.
    When you have vertical splits, CTRL-W K will move the current window to the
-top and make it occupy the full with of the Vim window.  If this is your
+top and make it occupy the full width of the Vim window.  If this is your
 layout:
 
 	+-------------------------------------------+
diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt
index fcfbcb6..0c7a041 100644
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -1,4 +1,4 @@
-*usr_09.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_09.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt
index b094a72..3e7de4b 100644
--- a/runtime/doc/usr_10.txt
+++ b/runtime/doc/usr_10.txt
@@ -1,4 +1,4 @@
-*usr_10.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_10.txt*	For Vim version 7.1a.  Last change: 2006 Nov 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -183,8 +183,9 @@
 	Teacher Smith criticized Teacher Johnson today. ~
 
 Other flags include p (print), which causes the ":substitute" command to print
-out each line it changes.  The c (confirm) flag tells ":substitute" to ask you
-for confirmation before it performs each substitution.  Enter the following: >
+out the last line it changes.  The c (confirm) flag tells ":substitute" to ask
+you for confirmation before it performs each substitution.  Enter the
+following: >
 
 	:%s/Professor/Teacher/c
 
diff --git a/runtime/doc/usr_25.txt b/runtime/doc/usr_25.txt
index a1e887a..998cc1a 100644
--- a/runtime/doc/usr_25.txt
+++ b/runtime/doc/usr_25.txt
@@ -1,4 +1,4 @@
-*usr_25.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_25.txt*	For Vim version 7.1a.  Last change: 2006 Jun 21
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -122,7 +122,7 @@
 together.  A common mistake is to have a line with a space or Tab.  That's a
 blank line, but not an empty line.
 
-Vim is able format more than just plain text.  See |fo-table| for how to
+Vim is able to format more than just plain text.  See |fo-table| for how to
 change this.  See the 'joinspaces' option to change the number of spaces used
 after a full stop.
    It is possible to use an external program for formatting.  This is useful
diff --git a/runtime/doc/usr_26.txt b/runtime/doc/usr_26.txt
index ca78681..c215971 100644
--- a/runtime/doc/usr_26.txt
+++ b/runtime/doc/usr_26.txt
@@ -1,4 +1,4 @@
-*usr_26.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_26.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt
index b3a1d51..aa05560 100644
--- a/runtime/doc/usr_29.txt
+++ b/runtime/doc/usr_29.txt
@@ -1,4 +1,4 @@
-*usr_29.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_29.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_32.txt b/runtime/doc/usr_32.txt
index 055a5ad..4b243fb 100644
--- a/runtime/doc/usr_32.txt
+++ b/runtime/doc/usr_32.txt
@@ -1,4 +1,4 @@
-*usr_32.txt*	For Vim version 7.0.  Last change: 2006 Apr 30
+*usr_32.txt*	For Vim version 7.1a.  Last change: 2006 Apr 30
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_42.txt b/runtime/doc/usr_42.txt
index 5370a30..3b0cb04 100644
--- a/runtime/doc/usr_42.txt
+++ b/runtime/doc/usr_42.txt
@@ -1,4 +1,4 @@
-*usr_42.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_42.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt
index e5b0fa9..48b4b92 100644
--- a/runtime/doc/usr_44.txt
+++ b/runtime/doc/usr_44.txt
@@ -1,4 +1,4 @@
-*usr_44.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_44.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt
index 65aad26..7334b45 100644
--- a/runtime/doc/usr_90.txt
+++ b/runtime/doc/usr_90.txt
@@ -1,4 +1,4 @@
-*usr_90.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_90.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index 9fe133c..ff42aa9 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -1,4 +1,4 @@
-*usr_toc.txt*	For Vim version 7.0.  Last change: 2006 Apr 24
+*usr_toc.txt*	For Vim version 7.1a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index bc0628e..503cde4 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -1,4 +1,4 @@
-*version5.txt*  For Vim version 7.0.  Last change: 2006 Apr 24
+*version5.txt*  For Vim version 7.1a.  Last change: 2006 Nov 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1865,7 +1865,7 @@
 mentioned in the help.  But synID() returned wrong name.
 
 "gqG" in a file with one-word-per-line (e.g. a dictionary) was very slow and
-not interruptable.
+not interruptible.
 
 "gq" operator inserted screen lines in the wrong situation.  Now screen
 lines are inserted or deleted when this speeds up displaying.
@@ -2870,7 +2870,7 @@
 
 The shell syntax didn't contain a "syn sync maxlines" setting.  In a long file
 without recognizable items, syncing took so long it looked like Vim hangs.
-Added a maxlines setting, and made syncing interruptable.
+Added a maxlines setting, and made syncing interruptible.
 
 The "gs" command didn't flush output before waiting.
 
@@ -7578,7 +7578,7 @@
 
 optwin.vim gave an error when used in Vi compatible mode ('cpo' contains 'C').
 
-Tcl interpreter: "buffer" command didn't check for presense of an argument.
+Tcl interpreter: "buffer" command didn't check for presence of an argument.
 (Dave Bodenstab)
 
 dosinst.c: Added checks for too long file name.
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index 9dda577..9d33aa6 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -1,4 +1,4 @@
-*version6.txt*  For Vim version 7.0.  Last change: 2006 Apr 30
+*version6.txt*  For Vim version 7.1a.  Last change: 2006 Nov 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -11128,7 +11128,7 @@
 Files:	    runtime/doc/eval.txt
 
 Patch 6.2.187
-Problem:    Using Insure++ reveals a number of bugs.  (Dominuque Pelle)
+Problem:    Using Insure++ reveals a number of bugs.  (Dominique Pelle)
 Solution:   Initialize variables where needed.  Free allocated memory to avoid
 	    leaks.  Fix comparing tags to avoid reading past allocated memory.
 Files:	    src/buffer.c, src/diff.c, src/fileio.c, src/mark.c, src/misc1.c,
@@ -14406,7 +14406,7 @@
 Patch 6.3.075
 Problem:    After unloading another buffer, syntax highlighting in the current
 	    buffer may be wrong when it uses "containedin". (Eric Arnold)
-Solution:   Use "buf" intead of "curbuf" in syntax_clear().
+Solution:   Use "buf" instead of "curbuf" in syntax_clear().
 Files:	    src/syntax.c
 
 Patch 6.3.076
diff --git a/runtime/doc/vim2html.pl b/runtime/doc/vim2html.pl
index ddb1c46..d51f607 100644
--- a/runtime/doc/vim2html.pl
+++ b/runtime/doc/vim2html.pl
@@ -182,7 +182,6 @@
 }
 
 
-
 sub writeCSS
 {
 	open( CSS, ">vim-stylesheet.css"  ) || die "Couldn't write stylesheet: $!\n";
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index e588d95..ef4a0a7 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt*    For Vim version 7.0.  Last change: 2006 Apr 24
+*visual.txt*    For Vim version 7.1a.  Last change: 2006 Sep 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -175,7 +175,7 @@
 
 For moving the end of the block many commands can be used, but you cannot
 use Ex commands, commands that make changes or abandon the file.  Commands
-(starting with) ".pPiIaAO&", CTRL-^, "Z", CTRL-], CTRL-T, CTRL-R, CTRL-I
+(starting with) ".", "&", CTRL-^, "Z", CTRL-], CTRL-T, CTRL-R, CTRL-I
 and CTRL-O cause a beep and Visual mode continues.
 
 When switching to another window on the same buffer, the cursor position in
diff --git a/runtime/doc/xxd-it.1 b/runtime/doc/xxd-it.1
index 82f77cc..4129849 100755
--- a/runtime/doc/xxd-it.1
+++ b/runtime/doc/xxd-it.1
@@ -226,7 +226,7 @@
 \fI% xxd \-s \-0x30 file
 .PP
 .br
-Stampa 120 bytes come immagine esadecimale continua con 40 bytes per linea.
+Stampa 120 bytes come immagine esadecimale continua con 20 bytes per linea.
 .br
 \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
 
diff --git a/runtime/doc/xxd-pl.UTF-8.1 b/runtime/doc/xxd-pl.UTF-8.1
index 624de29..669ffc2 100644
--- a/runtime/doc/xxd-pl.UTF-8.1
+++ b/runtime/doc/xxd-pl.UTF-8.1
@@ -216,7 +216,7 @@
 \fI% xxd \-s \-0x30 plik
 .PP
 .br
-Wypisz 120 bajtów jako ciągły zrzut heksowy z 40 oktetami na linię.
+Wypisz 120 bajtów jako ciągły zrzut heksowy z 20 oktetami na linię.
 .br
 \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
 .br
diff --git a/runtime/doc/xxd-ru.UTF-8.1 b/runtime/doc/xxd-ru.UTF-8.1
index ce75f83..647845b 100644
--- a/runtime/doc/xxd-ru.UTF-8.1
+++ b/runtime/doc/xxd-ru.UTF-8.1
@@ -231,7 +231,7 @@
 .PP
 .br
 Вывести 120 байтов в виде непрерывного шестнадцатеричного представления
-по 40 октетов в строке:
+по 20 октетов в строке:
 .PP
 \fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
 .br
