updated for version 7.2a
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 978686a..80032e0 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.1.  Last change: 2007 Mar 27
+*autocmd.txt*   For Vim version 7.2a.  Last change: 2008 Jun 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -104,7 +104,7 @@
 triggered and the command executed, it will run in the context of the script
 it was defined in.  This matters if |<SID>| is used in a command.
 
-When executing the commands, the messages from one command overwrites a
+When executing the commands, the message from one command overwrites a
 previous message.  This is different from when executing the commands
 manually.  Mostly the screen will not scroll up, thus there is no hit-enter
 prompt.  When one command outputs two messages this can happen anyway.
@@ -334,7 +334,7 @@
 				list is renamed.
 				NOTE: When this autocommand is executed, the
 				current buffer "%" may be different from the
-				buffer being deleted "<afile>".
+				buffer being deleted "<afile>" and "<abuf>".
 							*BufEnter*
 BufEnter			After entering a buffer.  Useful for setting
 				options for a file type.  Also executed when
@@ -400,10 +400,15 @@
 							*BufWinEnter*
 BufWinEnter			After a buffer is displayed in a window.  This
 				can be when the buffer is loaded (after
-				processing the modelines), when a hidden
+				processing the modelines) or when a hidden
 				buffer is displayed in a window (and is no
-				longer hidden) or a buffer already visible in
-				a window is also displayed in another window.
+				longer hidden).
+				Does not happen for |:split| without
+				arguments, since you keep editing the same
+				buffer, or ":split" with a file that's already
+				open in a window.  But it does happen for
+				a ":split" with the name of the current
+				buffer, since it reloads that buffer.
 							*BufWinLeave*
 BufWinLeave			Before a buffer is removed from a window.
 				Not when it's still visible in another window.
@@ -677,7 +682,7 @@
 							*QuickFixCmdPost*
 QuickFixCmdPost			Like QuickFixCmdPre, but after a quickfix
 				command is run, before jumping to the first
-				location.
+				location.  See |QuickFixCmdPost-example|.
 							*RemoteReply*
 RemoteReply			When a reply from a Vim that functions as
 				server was received |server2client()|.  The
@@ -848,7 +853,7 @@
 
 
 The file name that the pattern is matched against is after expanding
-wildcards.  Thus is you issue this command: >
+wildcards.  Thus if you issue this command: >
 	:e $ROOTDIR/main.$EXT
 The argument is first expanded to: >
 	/usr/root/main.py
@@ -927,7 +932,7 @@
 				     " current buffer
     :au! * <buffer=33>		     " remove buffer-local autocommands for
 				     " buffer #33
-    :dobuf :au! CursorHold <buffer>  " remove autocmd for given event for all
+    :bufdo :au! CursorHold <buffer>  " remove autocmd for given event for all
 				     " buffers
     :au * <buffer>		     " list buffer-local autocommands for
 				     " current buffer
@@ -1031,8 +1036,9 @@
 			undefined group name, Vim gives you an error message.
 
 			After applying the autocommands the modelines are
-			processed, so that their overrule the settings from
-			autocommands, like what happens when editing a file.
+			processed, so that their settings overrule the
+			settings from autocommands, like what happens when
+			editing a file.
 
 						*:doautoa* *:doautoall*
 :doautoa[ll] [group] {event} [fname]
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index c1eed2c..24cf3fe 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.1.  Last change: 2007 Jan 07
+*change.txt*    For Vim version 7.2a.  Last change: 2008 Jun 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -229,16 +229,18 @@
 Replace mode" |mode-ins-repl|).
 
 						*cw* *cW*
-Special case: "cw" and "cW" work the same as "ce" and "cE" if the cursor is
-on a non-blank.  This is because Vim interprets "cw" as change-word, and a
-word does not include the following white space.  {Vi: "cw" when on a blank
-followed by other blanks changes only the first blank; this is probably a
-bug, because "dw" deletes all the blanks; use the 'w' flag in 'cpoptions' to
-make it work like Vi anyway}
+Special case: When the cursor is in a word, "cw" and "cW" do not include the
+white space after a word, they only change up to the end of the word.  This is
+because Vim interprets "cw" as change-word, and a word does not include the
+following white space.
+{Vi: "cw" when on a blank followed by other blanks changes only the first
+blank; this is probably a bug, because "dw" deletes all the blanks; use the
+'w' flag in 'cpoptions' to make it work like Vi anyway}
 
 If you prefer "cw" to include the space after a word, use this mapping: >
 	:map cw dwi
-<
+Or use "caw" (see |aw|).
+
 							*:c* *:ch* *:change*
 :{range}c[hange][!]	Replace lines of text with some different text.
 			Type a line containing only "." to stop replacing.
@@ -345,6 +347,10 @@
 g?g?							*g?g?* *g??*
 g??			Rot13 encode current line. {not in Vi}.
 
+To turn one line into title caps, make every first letter of a word
+uppercase: >
+	:s/\v<(.)(\w*)/\u\1\L\2/g
+
 
 Adding and subtracting ~
 							*CTRL-A*
@@ -474,7 +480,7 @@
 
 A filter is a program that accepts text at standard input, changes it in some
 way, and sends it to standard output.  You can use the commands below to send
-some text through a filter, so that it is replace by the filter output.
+some text through a filter, so that it is replaced by the filter output.
 Examples of filters are "sort", which sorts lines alphabetically, and
 "indent", which formats C program files (you need a version of indent that
 works like a filter; not all versions do).  The 'shell' option specifies the
@@ -661,9 +667,9 @@
 	{not in Vi}
 
 Note that there is no flag to change the "magicness" of the pattern.  A
-different command is used instead.  The reason is that the flags can only be
-found by skipping the pattern, and in order to skip the pattern the
-"magicness" must be known.  Catch 22!
+different command is used instead, or you can use |/\v| and friends.  The
+reason is that the flags can only be found by skipping the pattern, and in
+order to skip the pattern the "magicness" must be known.  Catch 22!
 
 If the {pattern} for the substitute command is empty, the command uses the
 pattern from the last substitute or ":global" command.  With the [r] flag, the
@@ -686,7 +692,9 @@
 pattern or replacement string.  Example: >
 	:s+/+//+
 
-For the definition of a pattern, see |pattern|.
+For the definition of a pattern, see |pattern|.  In Visual block mode, use
+|/\%V| in the pattern to have the substitute work in the block only.
+Otherwise it works on whole lines anyway.
 
 					*sub-replace-special* *:s\=*
 When the {string} starts with "\=" it is evaluated as an expression, see
@@ -1128,7 +1136,10 @@
 Contains the most recent search-pattern.  This is used for "n" and 'hlsearch'.
 It is writable with ":let", you can change it to have 'hlsearch' highlight
 other matches without actually searching.  You can't yank or delete into this
-register.  {not in Vi}
+register.  The search direction is available in |v:searchforward|.
+Note that the valued is restored when returning from a function
+|function-search-undo|.
+{not in Vi}
 
 							*@/*
 You can write to a register with a ":let" command |:let-@|.  Example: >
@@ -1253,9 +1264,11 @@
 paragraph) or set 'formatprg' to "par".
 
 							*format-comments*
-Vim can format comments in a special way.  Vim recognizes a comment by a
-specific string at the start of the line (ignoring white space).  Three types
-of comments can be used:
+An overview of comment formatting is in section |30.6| of the user manual.
+
+Vim can automatically insert and format comments in a special way.  Vim
+recognizes a comment by a specific string at the start of the line (ignoring
+white space).  Three types of comments can be used:
 
 - A comment string that repeats at the start of each line.  An example is the
   type of comment used in shell scripts, starting with "#".
@@ -1263,7 +1276,7 @@
   lines.  An example is this list with dashes.
 - Three-piece comments that have a start string, an end string, and optional
   lines in between.  The strings for the start, middle and end are different.
-  An example is the C-style comment:
+  An example is the C style comment:
 	/*
 	 * this is a C comment
 	 */
@@ -1289,23 +1302,24 @@
 
   e	End of a three-piece comment
 
-  l	Left adjust middle with start or end (default).  Only recognized when
-	used together with 's' or 'e'.
+  l	Left align. Used together with 's' or 'e', the leftmost character of
+	start or end will line up with the leftmost character from the middle.
+	This is the default and can be omitted. See below for more details.
 
-  r	Right adjust middle with start or end.  Only recognized when used
-	together with 's' or 'e'.
+  r	Right align. Same as above but rightmost instead of leftmost. See
+	below for more details.
 
-  O	Don't use this one for the "O" command.
+  O	Don't consider this comment for the "O" command.
 
   x	Allows three-piece comments to be ended by just typing the last
-	character of the end-comment string as the first character on a new
-	line, when the middle-comment string has already been inserted
-	automatically.  See below for more details.
+	character of the end-comment string as the first action on a new
+	line when the middle-comment string has been inserted automatically.
+	See below for more details.
 
   {digits}
-	When together with 's' or 'e': add extra indent for the middle part.
-	This can be used to left-align the middle part with the start or end
-	and then add an offset.
+	When together with 's' or 'e': add {digit} amount of offset to an
+	automatically inserted middle or end comment leader. The offset begins
+	from a left alignment. See below for more details.
 
   -{digits}
 	Like {digits} but reduce the indent.  This only works when there is
@@ -1334,12 +1348,42 @@
 
 Notice the use of the "x" flag in the above three-piece comment definition.
 When you hit Return in a C-comment, Vim will insert the middle comment leader
-for the new line, e.g. " * ".  To close this comment you just have to type "/"
+for the new line: " * ".  To close this comment you just have to type "/"
 before typing anything else on the new line.  This will replace the
-middle-comment leader with the end-comment leader, leaving just " */".  There
-is no need to hit BackSpace first.
+middle-comment leader with the end-comment leader and apply any specified
+alignment, leaving just " */".  There is no need to hit BackSpace first.
 
-Examples: >
+
+Here is an example of alignment flags at work to make a comment stand out
+(kind of looks like a 1 too). Consider comment string >
+	sr:/***,m:**,ex2:******/
+
+                                   /***
+                                     **<--right aligned from "r" flag
+                                     **
+offset 2 spaces from the "2" flag--->**
+                                   ******/
+In this case, the first comment was typed, then return was pressed 4 times,
+then "/" was pressed to end the comment.
+
+Here are some finer points of three part comments. There are three times when
+alignment and offset flags are taken into consideration: opening a new line
+after a start-comment, opening a new line before an end-comment, and
+automatically ending a three-piece comment.  The end alignment flag has a
+backwards perspective; the result is that the same alignment flag used with
+"s" and "e" will result in the same indent for the starting and ending pieces.
+Only one alignment per comment part is meant to be used, but an offset number
+will override the "r" and "l" flag.
+
+Enabling 'cindent' will override the alignment flags in many cases.
+Reindenting using a different method like |gq| or |=| will not consult
+alignment flags either. The same behaviour can be defined in those other
+formatting options. One consideration is that 'cindent' has additional options
+for context based indenting of comments but cannot replicate many three piece
+indent alignments.  However, 'indentexpr' is has the ability to work better
+with three piece comments.
+
+Other examples: >
    "b:*"	Includes lines starting with "*", but not if the "*" is
 		followed by a non-blank.  This avoids a pointer dereference
 		like "*str" to be recognized as a comment.
@@ -1350,17 +1394,6 @@
 "#include" is not recognized as a comment line.  But a line that starts with
 "# define" is recognized.  This is a compromise.
 
-Often the alignment can be changed from right alignment to a left alignment
-with an additional space.  For example, for Javadoc comments, this can be
-used (insert a backslash before the space when using ":set"): >
-	s1:/*,mb:*,ex:*/
-Note that an offset is included with start, so that the middle part is left
-aligned with the start and then an offset of one character added.  This makes
-it possible to left align the start and middle for this construction: >
-	/**
-	 * comment
-	 */
-
 {not available when compiled without the |+comments| feature}
 
 							*fo-table*
@@ -1391,7 +1424,7 @@
 n	When formatting text, recognize numbered lists.  This actually uses
 	the 'formatlistpat' option, thus any kind of list can be used.  The
 	indent of the text after the number is used for the next line.  The
-	default is to find a number, optionally be followed by '.', ':', ')',
+	default is to find a number, optionally followed by '.', ':', ')',
 	']' or '}'.  Note that 'autoindent' must be set too.  Doesn't work
 	well together with "2".
 	Example: >
@@ -1555,9 +1588,10 @@
 				:sort /.*\%10v/
 <			To sort on the first number in the line, no matter
 			what is in front of it: >
-				:sort /.*\ze\d/
-
-<			With [r] sorting is done on the matching {pattern}
+				:sort /.\{-}\ze\d/
+<			(Explanation: ".\{-}" matches any text, "\ze" sets the
+			end of the match and \d matches a digit.)
+			With [r] sorting is done on the matching {pattern}
 			instead of skipping past it as described above.
 			For example, to sort on only the first three letters
 			of each line: >
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
index ffc178d..0e83ec7 100644
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt*     For Vim version 7.1.  Last change: 2006 May 01
+*debug.txt*     For Vim version 7.2a.  Last change: 2006 May 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 10870f7..1adef60 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 7.1.  Last change: 2006 Oct 02
+*diff.txt*      For Vim version 7.2a.  Last change: 2006 Oct 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 126b98b..349df2f 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,7 +1,7 @@
-*eval.txt*      For Vim version 7.1.  Last change: 2008 May 28
+*eval.txt*	For Vim version 7.2a.  Last change: 2008 Jun 24
 
 
-		  VIM REFERENCE MANUAL    by Bram Moolenaar
+		  VIM REFERENCE MANUAL	  by Bram Moolenaar
 
 
 Expression evaluation			*expression* *expr* *E15* *eval*
@@ -9,7 +9,7 @@
 Using expressions is introduced in chapter 41 of the user manual |usr_41.txt|.
 
 Note: Expression evaluation can be disabled at compile time.  If this has been
-done, the features in this document are not available.  See |+eval| and
+done, the features in this document are not available.	See |+eval| and
 |no-eval-feature|.
 
 1.  Variables			|variables|
@@ -37,13 +37,17 @@
 
 1.1 Variable types ~
 							*E712*
-There are five types of variables:
+There are six types of variables:
 
-Number		A 32 bit signed number.
+Number		A 32 bit signed number.  |expr-number| *Number*
 		Examples:  -123  0x10  0177
 
+Float		A floating point number. |floating-point-format| *Float*
+		{only when compiled with the |+float| feature}
+		Examples: 123.456  1.15e-6  -1.1e3
+
 String		A NUL terminated string of 8-bit unsigned characters (bytes).
-		Examples: "ab\txx\"--"  'x-z''a,c'
+		|expr-string| Examples: "ab\txx\"--"  'x-z''a,c'
 
 Funcref		A reference to a function |Funcref|.
 		Example: function("strlen")
@@ -92,18 +96,26 @@
 <				*E745* *E728* *E703* *E729* *E730* *E731*
 List, Dictionary and Funcref types are not automatically converted.
 
-								*E706*
+							*E805* *E806* *E808*
+When mixing Number and Float the Number is converted to Float.	Otherwise
+there is no automatic conversion of Float.  You can use str2float() for String
+to Float, printf() for Float to String and float2nr() for Float to Number.
+
+						*E706* *sticky-type-checking*
 You will get an error if you try to change the type of a variable.  You need
 to |:unlet| it first to avoid this error.  String and Number are considered
-equivalent though.  Consider this sequence of commands: >
+equivalent though, as well are Float and Number.  Consider this sequence of
+commands: >
 	:let l = "string"
 	:let l = 44		" changes type from String to Number
-	:let l = [1, 2, 3]	" error!
+	:let l = [1, 2, 3]	" error!  l is still a Number
+	:let l = 4.4		" changes type from Number to Float
+	:let l = "string"	" error!
 
 
 1.2 Function references ~
 					*Funcref* *E695* *E718*
-A Funcref variable is obtained with the |function()| function.  It can be used
+A Funcref variable is obtained with the |function()| function.	It can be used
 in an expression in the place of a function name, before the parenthesis
 around the arguments, to invoke the function it refers to.  Example: >
 
@@ -137,7 +149,7 @@
 1.3 Lists ~
 							*List* *Lists* *E686*
 A List is an ordered sequence of items.  An item can be of any type.  Items
-can be accessed by their index number.  Items can be added and removed at any
+can be accessed by their index number.	Items can be added and removed at any
 position in the sequence.
 
 
@@ -148,7 +160,7 @@
 	:let mylist = [1, two, 3, "four"]
 	:let emptylist = []
 
-An item can be any expression.  Using a List for an item creates a
+An item can be any expression.	Using a List for an item creates a
 List of Lists: >
 	:let nestlist = [[11, 12], [21, 22], [31, 32]]
 
@@ -207,7 +219,7 @@
 	:echo mylist[2:8]		" result: [2, 3]
 
 NOTE: mylist[s:e] means using the variable "s:e" as index.  Watch out for
-using a single letter variable before the ":".  Insert a space when needed:
+using a single letter variable before the ":".	Insert a space when needed:
 mylist[s : e].
 
 
@@ -258,13 +270,13 @@
 <	0
 
 Thus comparing Lists is more strict than comparing numbers and strings.  You
-can compare simple values this way too by putting them in a string: >
+can compare simple values this way too by putting them in a list: >
 
 	:let a = 5
 	:let b = "5"
-	echo a == b
+	:echo a == b
 <	1 >
-	echo [a] == [b]
+	:echo [a] == [b]
 <	0
 
 
@@ -339,7 +351,7 @@
 If all you want to do is modify each item in the list then the |map()|
 function will be a simpler method than a for loop.
 
-Just like the |:let| command, |:for| also accepts a list of variables.  This
+Just like the |:let| command, |:for| also accepts a list of variables.	This
 requires the argument to be a list of lists. >
 	:for [lnum, col] in [[1, 3], [2, 8], [3, 0]]
 	:   call Doit(lnum, col)
@@ -396,10 +408,10 @@
 <							*E713* *E716* *E717*
 A key is always a String.  You can use a Number, it will be converted to a
 String automatically.  Thus the String '4' and the number 4 will find the same
-entry.  Note that the String '04' and the Number 04 are different, since the
+entry.	Note that the String '04' and the Number 04 are different, since the
 Number will be converted to the String '4'.
 
-A value can be any expression.  Using a Dictionary for a value creates a
+A value can be any expression.	Using a Dictionary for a value creates a
 nested Dictionary: >
 	:let nestdict = {1: {11: 'a', 12: 'b'}, 2: {21: 'c'}}
 
@@ -426,7 +438,7 @@
 
 Dictionary to List conversion ~
 
-You may want to loop over the entries in a dictionary.  For this you need to
+You may want to loop over the entries in a dictionary.	For this you need to
 turn the Dictionary into a List and pass it to |:for|.
 
 Most often you want to loop over the keys, using the |keys()| function: >
@@ -443,7 +455,7 @@
 	:endfor
 
 If you want both the key and the value use the |items()| function.  It returns
-a List in which each item is a  List with two items, the key and the value: >
+a List in which each item is a	List with two items, the key and the value: >
 	:for [key, value] in items(mydict)
 	:   echo key . ': ' . value
 	:endfor
@@ -493,7 +505,7 @@
 Dictionary function ~
 					*Dictionary-function* *self* *E725*
 When a function is defined with the "dict" attribute it can be used in a
-special way with a dictionary.  Example: >
+special way with a dictionary.	Example: >
 	:function Mylen() dict
 	:   return len(self.data)
 	:endfunction
@@ -517,7 +529,7 @@
 	:echo mydict.len()
 
 The function will then get a number and the value of dict.len is a |Funcref|
-that references this function.  The function can only be used through a
+that references this function.	The function can only be used through a
 |Funcref|.  It will automatically be deleted when there is no |Funcref|
 remaining that refers to it.
 
@@ -699,7 +711,7 @@
 Compare two expr5 expressions, resulting in a 0 if it evaluates to false, or 1
 if it evaluates to true.
 
-			*expr-==*  *expr-!=*  *expr->*   *expr->=*
+			*expr-==*  *expr-!=*  *expr->*	 *expr->=*
 			*expr-<*   *expr-<=*  *expr-=~*  *expr-!~*
 			*expr-==#* *expr-!=#* *expr->#*  *expr->=#*
 			*expr-<#*  *expr-<=#* *expr-=~#* *expr-!~#*
@@ -738,21 +750,21 @@
 equal" can be used.  Case is never ignored.
 
 When using "is" or "isnot" with a |List| this checks if the expressions are
-referring to the same |List| instance.  A copy of a |List| is different from
+referring to the same |List| instance.	A copy of a |List| is different from
 the original |List|.  When using "is" without a |List| it is equivalent to
 using "equal", using "isnot" equivalent to using "not equal".  Except that a
-different type means the values are different.  "4 == '4'" is true, "4 is '4'"
+different type means the values are different.	"4 == '4'" is true, "4 is '4'"
 is false.
 
 When comparing a String with a Number, the String is converted to a Number,
-and the comparison is done on Numbers.  This means that "0 == 'x'" is TRUE,
+and the comparison is done on Numbers.	This means that "0 == 'x'" is TRUE,
 because 'x' converted to a Number is zero.
 
 When comparing two Strings, this is done with strcmp() or stricmp().  This
 results in the mathematical difference (comparing byte values), not
 necessarily the alphabetical difference in the local language.
 
-When using the operators with a trailing '#", or the short version and
+When using the operators with a trailing '#', or the short version and
 'ignorecase' is off, the comparing is done with strcmp(): case matters.
 
 When using the operators with a trailing '?', or the short version and
@@ -792,11 +804,30 @@
 	"123" + "456" = 579
 	"123" . "456" = "123456"
 
-When the righthand side of '/' is zero, the result is 0x7fffffff.
+Since '.' has the same precedence as '+' and '-', you need to read: >
+	1 . 90 + 90.0
+As: >
+	(1 . 90) + 90.0
+That works, since the String "190" is automatically converted to the Number
+190, which can be added to the Float 90.0.  However: >
+	1 . 90 * 90.0
+Should be read as: >
+	1 . (90 * 90.0)
+Since '.' has lower precedence than '*'.  This does NOT work, since this
+attempts to concatenate a Float and a String.
+
+When dividing a Number by zero the result depends on the value:
+	  0 / 0  = -0x80000000	(like NaN for Float)
+	 >0 / 0  =  0x7fffffff	(like positive infinity)
+	 <0 / 0  = -0x7fffffff	(like negative infinity)
+	(before Vim 7.2 it was always 0x7fffffff)
+
 When the righthand side of '%' is zero, the result is 0.
 
 None of these work for |Funcref|s.
 
+. and % do not work for Float. *E804*
+
 
 expr7							*expr7*
 -----
@@ -810,7 +841,7 @@
 
 A String will be converted to a Number first.
 
-These three can be repeated and mixed.  Examples:
+These three can be repeated and mixed.	Examples:
 	!-1	    == 0
 	!!8	    == 1
 	--9	    == 9
@@ -835,7 +866,7 @@
 
 If expr8 is a |List| then it results the item at index expr1.  See |list-index|
 for possible index values.  If the index is out of range this results in an
-error.  Example: >
+error.	Example: >
 	:let item = mylist[-1]		" get last item
 
 Generally, if a |List| index is equal to or higher than the length of the
@@ -866,7 +897,7 @@
 	:let s = s[:-3]			" remove last two bytes
 
 If expr8 is a |List| this results in a new |List| with the items indicated by
-the indexes expr1a and expr1b.  This works like with a String, as explained
+the indexes expr1a and expr1b.	This works like with a String, as explained
 just above, except that indexes out of range cause an error.  Examples: >
 	:let l = mylist[:3]		" first four items
 	:let l = mylist[4:4]		" List with one item
@@ -909,6 +940,53 @@
 
 Decimal, Hexadecimal (starting with 0x or 0X), or Octal (starting with 0).
 
+						*floating-point-format*
+Floating point numbers can be written in two forms:
+
+	[-+]{N}.{M}
+	[-+]{N}.{M}e[-+]{exp}
+
+{N} and {M} are numbers.  Both {N} and {M} must be present and can only
+contain digits.
+[-+] means there is an optional plus or minus sign.
+{exp} is the exponent, power of 10.
+Only a decimal point is accepted, not a comma.	No matter what the current
+locale is.
+{only when compiled with the |+float| feature}
+
+Examples:
+	123.456
+	+0.0001
+	55.0
+	-0.123
+	1.234e03
+	1.0E-6
+	-3.1416e+88
+
+These are INVALID:
+	3.		empty {M}
+	1e40		missing .{M}
+
+Rationale:
+Before floating point was introduced, the text "123.456" was interpreted as
+the two numbers "123" and "456", both converted to a string and concatenated,
+resulting in the string "123456".  Since this was considered pointless, and we
+could not find it actually being used in Vim scripts, this backwards
+incompatibility was accepted in favor of being able to use the normal notation
+for floating point numbers.
+
+						*floating-point-precision*
+The precision and range of floating points numbers depends on what "double"
+means in the library Vim was compiled with.  There is no way to change this at
+runtime.
+
+The default for displaying a |Float| is to use 6 decimal places, like using
+printf("%g", f).  You can select something else when using the |printf()|
+function.  Example: >
+	:echo printf('%.15e', atan(1))
+<	7.853981633974483e-01
+
+
 
 string							*expr-string* *E114*
 ------
@@ -924,7 +1002,7 @@
 \x.	byte specified with one hex number (must be followed by non-hex char)
 \X..	same as \x..
 \X.	same as \x.
-\u....  character specified with up to 4 hex numbers, stored according to the
+\u....	character specified with up to 4 hex numbers, stored according to the
 	current value of 'encoding' (e.g., "\u02a4")
 \U....	same as \u....
 \b	backspace <BS>
@@ -950,11 +1028,11 @@
 
 Note that single quotes are used.
 
-This string is taken as it is.  No backslashes are removed or have a special
+This string is taken as it is.	No backslashes are removed or have a special
 meaning.  The only exception is that two quotes stand for one quote.
 
 Single quoted strings are useful for patterns, so that backslashes do not need
-to be doubled.  These two commands are equivalent: >
+to be doubled.	These two commands are equivalent: >
 	if a =~ "\\s*"
 	if a =~ '\s*'
 
@@ -980,7 +1058,7 @@
 
 The result is the contents of the named register, as a single string.
 Newlines are inserted where required.  To get the contents of the unnamed
-register use @" or @@.  See |registers| for an explanation of the available
+register use @" or @@.	See |registers| for an explanation of the available
 registers.
 
 When using the '=' register you get the expression itself, not what it
@@ -1047,7 +1125,7 @@
 |local-variable|     l:	  Local to a function.
 |script-variable|    s:	  Local to a |:source|'ed Vim script.
 |function-argument|  a:	  Function argument (only inside a function).
-|vim-variable|       v:	  Global, predefined by Vim.
+|vim-variable|	     v:	  Global, predefined by Vim.
 
 The scope name by itself can be used as a |Dictionary|.  For example, to
 delete all script-local variables: >
@@ -1068,8 +1146,8 @@
 		in this case.  This can be used to perform an action only when
 		the buffer has changed.  Example: >
 		    :if my_changedtick != b:changedtick
-		    :   let my_changedtick = b:changedtick
-		    :   call My_Update()
+		    :	let my_changedtick = b:changedtick
+		    :	call My_Update()
 		    :endif
 <
 						*window-variable* *w:var*
@@ -1083,7 +1161,7 @@
 
 						*global-variable* *g:var*
 Inside functions global variables are accessed with "g:".  Omitting this will
-access a variable local to a function.  But "g:" can also be used in any other
+access a variable local to a function.	But "g:" can also be used in any other
 place if you like.
 
 						*local-variable* *l:var*
@@ -1216,7 +1294,7 @@
 		   set before an autocommand event for a file read/write
 		   command is triggered.  There is a leading space to make it
 		   possible to append this variable directly after the
-		   read/write command.  Note: The "+cmd" argument isn't
+		   read/write command.	Note: The "+cmd" argument isn't
 		   included here, because it will be executed anyway.
 		2. When printing a PostScript file with ":hardcopy" this is
 		   the argument for the ":hardcopy" command.  This can be used
@@ -1230,7 +1308,7 @@
 
 					*v:count* *count-variable*
 v:count		The count given for the last Normal mode command.  Can be used
-		to get the count before a mapping.  Read-only.  Example: >
+		to get the count before a mapping.  Read-only.	Example: >
 	:map _x :<C-U>echo "the count is " . v:count<CR>
 <		Note: The <C-U> is required to remove the line range that you
 		get when typing ':' after a count.
@@ -1251,7 +1329,7 @@
 		See |multi-lang|.
 
 					*v:dying* *dying-variable*
-v:dying		Normally zero.  When a deadly signal is caught it's set to
+v:dying		Normally zero.	When a deadly signal is caught it's set to
 		one.  When multiple signals are caught the number increases.
 		Can be used in an autocommand to check if Vim didn't
 		terminate normally. {only works on Unix}
@@ -1321,7 +1399,7 @@
 			'diffexpr'	output of diff
 			'patchexpr'	resulting patched file
 		(*) When doing conversion for a write command (e.g., ":w
-		file") it will be equal to v:fname_in.  When doing conversion
+		file") it will be equal to v:fname_in.	When doing conversion
 		for a read command (e.g., ":e file") it will be a temporary
 		file and different from v:fname_in.
 
@@ -1423,7 +1501,7 @@
 <		Read-only.
 
 					*v:profiling* *profiling-variable*
-v:profiling	Normally zero.  Set to one after using ":profile start".
+v:profiling	Normally zero.	Set to one after using ":profile start".
 		See |profiling|.
 
 					*v:progname* *progname-variable*
@@ -1448,6 +1526,15 @@
 v:servername	The resulting registered |x11-clientserver| name if any.
 		Read-only.
 
+		
+v:searchforward			*v:searchforward* *searchforward-variable*
+		Search direction:  1 after a forward search, 0 after a
+		backward search.  It is reset to forward when directly setting
+		the last search pattern, see |quote/|.
+		Note that the value is restored when returning from a
+		function. |function-search-undo|.
+		Read-write.
+
 					*v:shell_error* *shell_error-variable*
 v:shell_error	Result of the last shell command.  When non-zero, the last
 		shell command had an error.  When zero, there was no problem.
@@ -1477,20 +1564,20 @@
 			'd'	Delete swapfile
 			'q'	Quit
 			'a'	Abort
-		The value should be a single-character string.  An empty value
+		The value should be a single-character string.	An empty value
 		results in the user being asked, as would happen when there is
 		no SwapExists autocommand.  The default is empty.
 
 					*v:swapcommand* *swapcommand-variable*
 v:swapcommand	Normal mode command to be executed after a file has been
 		opened.  Can be used for a |SwapExists| autocommand to have
-		another Vim open the file and jump to the right place.  For
+		another Vim open the file and jump to the right place.	For
 		example, when jumping to a tag the value is ":tag tagname\r".
 		For ":edit +cmd file" the value is ":cmd\r".
 
 				*v:termresponse* *termresponse-variable*
 v:termresponse	The escape sequence returned by the terminal for the |t_RV|
-		termcap entry.  It is set when Vim receives an escape sequence
+		termcap entry.	It is set when Vim receives an escape sequence
 		that starts with ESC [ or CSI and ends in a 'c', with only
 		digits, ';' and '.' in between.
 		When this option is set, the TermResponse autocommand event is
@@ -1510,7 +1597,7 @@
 
 					*v:throwpoint* *throwpoint-variable*
 v:throwpoint	The point where the exception most recently caught and not
-		finished was thrown.  Not set when commands are typed.  See
+		finished was thrown.  Not set when commands are typed.	See
 		also |v:exception| and |throw-variables|.
 		Example: >
 	:try
@@ -1521,7 +1608,7 @@
 <		Output: "Exception from test.vim, line 2"
 
 						*v:val* *val-variable*
-v:val		Value of the current item of a |List| or |Dictionary|.  Only
+v:val		Value of the current item of a |List| or |Dictionary|.	Only
 		valid while evaluating the expression used with |map()| and
 		|filter()|.  Read-only.
 
@@ -1548,6 +1635,7 @@
 
 USAGE				RESULT	DESCRIPTION	~
 
+abs( {expr})			Float or Number  absolute value of {expr}
 add( {list}, {item})		List	append {item} to |List| {list}
 append( {lnum}, {string})	Number	append {string} below line {lnum}
 append( {lnum}, {list})		Number	append lines {list} below line {lnum}
@@ -1555,9 +1643,10 @@
 argidx()			Number	current index in the argument list
 argv( {nr})			String	{nr} entry of the argument list
 argv( )				List	the argument list
+atan( {expr})			Float	arc tangent of {expr}
 browse( {save}, {title}, {initdir}, {default})
 				String	put up a file requester
-browsedir( {title}, {initdir})  String	put up a directory requester
+browsedir( {title}, {initdir})	String	put up a directory requester
 bufexists( {expr})		Number	TRUE if buffer {expr} exists
 buflisted( {expr})		Number	TRUE if buffer {expr} is listed
 bufloaded( {expr})		Number	TRUE if buffer {expr} is loaded
@@ -1568,17 +1657,19 @@
 byteidx( {expr}, {nr})		Number	byte index of {nr}'th char in {expr}
 call( {func}, {arglist} [, {dict}])
 				any	call {func} with arguments {arglist}
-changenr()			Number  current change number
+ceil( {expr})			Float	round {expr} up
+changenr()			Number	current change number
 char2nr( {expr})		Number	ASCII value of first char in {expr}
 cindent( {lnum})		Number	C indent for line {lnum}
 clearmatches()			None	clear all matches
 col( {expr})			Number	column nr of cursor or mark
-complete({startcol}, {matches})	String  set Insert mode completion
+complete({startcol}, {matches})	String	set Insert mode completion
 complete_add( {expr})		Number	add completion match
-complete_check()		Number  check for key typed during completion
+complete_check()		Number	check for key typed during completion
 confirm( {msg} [, {choices} [, {default} [, {type}]]])
 				Number	number of choice picked by user
 copy( {expr})			any	make a shallow copy of {expr}
+cos( {expr})			Float	cosine of {expr}
 count( {list}, {expr} [, {start} [, {ic}]])
 				Number	 count how many {expr} are in {list}
 cscope_connection( [{num} , {dbpath} [, {prepend}]])
@@ -1600,7 +1691,7 @@
 extend({expr1}, {expr2} [, {expr3}])
 				List/Dict insert items of {expr2} into {expr1}
 expand( {expr})			String	expand special keywords in {expr}
-feedkeys( {string} [, {mode}])	Number  add key sequence to typeahead buffer
+feedkeys( {string} [, {mode}])	Number	add key sequence to typeahead buffer
 filereadable( {file})		Number	TRUE if {file} is a readable file
 filewritable( {file})		Number	TRUE if {file} is a writable file
 filter( {expr}, {string})	List/Dict  remove items from {expr} where
@@ -1609,6 +1700,8 @@
 				String	find directory {name} in {path}
 findfile( {name}[, {path}[, {count}]])
 				String	find file {name} in {path}
+float2nr( {expr})		Number	convert Float {expr} to a Number
+floor( {expr})			Float	round {expr} down
 fnameescape( {fname})		String	escape special characters in {fname}
 fnamemodify( {fname}, {mods})	String	modify file name
 foldclosed( {lnum})		Number	first line of fold at {lnum} if closed
@@ -1687,6 +1780,7 @@
 line2byte( {lnum})		Number	byte count of line {lnum}
 lispindent( {lnum})		Number	Lisp indent for line {lnum}
 localtime()			Number	current time
+log10( {expr})			Float	logarithm of Float {expr} to base 10
 map( {expr}, {string})		List/Dict  change each item in {expr} to {expr}
 maparg( {name}[, {mode} [, {abbr}]])
 				String	rhs of mapping {name} in mode {mode}
@@ -1708,13 +1802,14 @@
 min({list})			Number	minimum value of items in {list}
 mkdir({name} [, {path} [, {prot}]])
 				Number	create directory {name}
-mode()				String	current editing mode
+mode( [expr])			String	current editing mode
 nextnonblank( {lnum})		Number	line nr of non-blank line >= {lnum}
 nr2char( {expr})		String	single char with ASCII value {expr}
 pathshorten( {expr})		String	shorten directory names in a path
+pow( {x}, {y})			Float	{x} to the power of {y}
 prevnonblank( {lnum})		Number	line nr of non-blank line <= {lnum}
-printf( {fmt}, {expr1}...)	String  format text
-pumvisible()			Number  whether popup menu is visible
+printf( {fmt}, {expr1}...)	String	format text
+pumvisible()			Number	whether popup menu is visible
 range( {expr} [, {max} [, {stride}]])
 				List	items from {expr} to {max}
 readfile({fname} [, {binary} [, {max}]])
@@ -1735,10 +1830,11 @@
 repeat( {expr}, {count})	String	repeat {expr} {count} times
 resolve( {filename})		String	get filename a shortcut points to
 reverse( {list})		List	reverse {list} in-place
+round( {expr})			Float	round off {expr}
 search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
 				Number	search for {pattern}
 searchdecl({name} [, {global} [, {thisblock}]])
-				Number  search for variable declaration
+				Number	search for variable declaration
 searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
 				Number	search for other end of start/end pair
 searchpairpos( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
@@ -1763,6 +1859,7 @@
 shellescape( {string})		String	escape {string} for use as shell
 					command argument
 simplify( {filename})		String	simplify filename as much as possible
+sin( {expr})			Float	sine of {expr}
 sort( {list} [, {func}])	List	sort {list}, using {func} to compare
 soundfold( {word})		String	sound-fold {word}
 spellbadword()			String	badly spelled word at cursor
@@ -1770,7 +1867,9 @@
 				List	spelling suggestions
 split( {expr} [, {pat} [, {keepempty}]])
 				List	make |List| from {pat} separated {expr}
-str2nr( {expr} [, {base}])	Number	convert string to number
+sqrt( {expr}			Float	squar root of {expr}
+str2float( {expr})		Float	convert String to Float
+str2nr( {expr} [, {base}])	Number	convert String to Number
 strftime( {format}[, {time}])	String	time in specified format
 stridx( {haystack}, {needle}[, {start}])
 				Number	index of {needle} in {haystack}
@@ -1788,19 +1887,20 @@
 synIDattr( {synID}, {what} [, {mode}])
 				String	attribute {what} of syntax ID {synID}
 synIDtrans( {synID})		Number	translated syntax ID of {synID}
-synstack({lnum}, {col})		List    stack of syntax IDs at {lnum} and {col}
+synstack({lnum}, {col})		List	stack of syntax IDs at {lnum} and {col}
 system( {expr} [, {input}])	String	output of shell command/filter {expr}
 tabpagebuflist( [{arg}])	List	list of buffer numbers in tab page
 tabpagenr( [{arg}])		Number	number of current or last tab page
 tabpagewinnr( {tabarg}[, {arg}])
 				Number	number of current window in tab page
 taglist( {expr})		List	list of tags matching {expr}
-tagfiles()			List    tags files used
+tagfiles()			List	tags files used
 tempname()			String	name for a temporary file
 tolower( {expr})		String	the String {expr} switched to lowercase
 toupper( {expr})		String	the String {expr} switched to uppercase
 tr( {src}, {fromstr}, {tostr})	String	translate chars of {src} in {fromstr}
 					to chars in {tostr}
+trunc( {expr}			Float	truncate Float {expr}
 type( {name})			Number	type of variable {name}
 values( {dict})			List	values in {dict}
 virtcol( {expr})		Number	screen column of cursor or mark
@@ -1817,6 +1917,20 @@
 writefile({list}, {fname} [, {binary}])
 				Number	write list of lines to file {fname}
 
+abs({expr})							*abs()*
+		Return the absolute value of {expr}.  When {expr} evaluates to
+		a |Float| abs() returns a |Float|.  When {expr} can be
+		converted to a |Number| abs() returns a |Number|.  Otherwise
+		abs() gives an error message and returns -1.
+		Examples: >
+			echo abs(1.456)
+<			1.456  >
+			echo abs(-5.456)
+<			5.456  >
+			echo abs(-4)
+<			4
+		{only available when compiled with the |+float| feature}
+
 add({list}, {expr})					*add()*
 		Append the item {expr} to |List| {list}.  Returns the
 		resulting |List|.  Examples: >
@@ -1834,7 +1948,7 @@
 		the current buffer.
 		{lnum} can be zero to insert a line before the first one.
 		Returns 1 for failure ({lnum} out of range or out of memory),
-		0 for success.  Example: >
+		0 for success.	Example: >
 			:let failed = append(line('$'), "# THE END")
 			:let failed = append(0, ["Chapter 1", "the beginning"])
 <
@@ -1852,13 +1966,24 @@
 		Example: >
 	:let i = 0
 	:while i < argc()
-	:  let f = escape(argv(i), '. ')
+	:  let f = escape(fnameescape(argv(i)), '.')
 	:  exe 'amenu Arg.' . f . ' :e ' . f . '<CR>'
 	:  let i = i + 1
 	:endwhile
 <		Without the {nr} argument a |List| with the whole |arglist| is
 		returned.
 
+atan({expr})						*atan()*
+		Return the principal value of the arc tangent of {expr}, in
+		the range [-pi/2, +pi/2] radians, as a |Float|.
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			:echo atan(100)
+<			1.560797 >
+			:echo atan(-4.01)
+<			-1.326405
+		{only available when compiled with the |+float| feature}
+
 							*browse()*
 browse({save}, {title}, {initdir}, {default})
 		Put up a file requester.  This only works when "has("browse")"
@@ -1892,12 +2017,15 @@
 		exactly.  The name can be:
 		- Relative to the current directory.
 		- A full path.
-		- The name of a buffer with 'filetype' set to "nofile".
+		- The name of a buffer with 'buftype' set to "nofile".
 		- A URL name.
 		Unlisted buffers will be found.
 		Note that help files are listed by their short name in the
 		output of |:buffers|, but bufexists() requires using their
 		long name to be able to find them.
+		bufexists() may report a buffer exists, but to use the name
+		with a |:buffer| command you may need to use |expand()|.  Esp
+		for MS-Windows 8.3 names in the form "c:\DOCUME~1"
 		Use "bufexists(0)" to test for the existence of an alternate
 		file name.
 							*buffer_exists()*
@@ -1919,7 +2047,7 @@
 		If {expr} is a Number, that buffer number's name is given.
 		Number zero is the alternate buffer for the current window.
 		If {expr} is a String, it is used as a |file-pattern| to match
-		with the buffer names.  This is always done like 'magic' is
+		with the buffer names.	This is always done like 'magic' is
 		set and 'cpoptions' is empty.  When there is more than one
 		match an empty string is returned.
 		"" or "%" can be used for the current buffer, "#" for the
@@ -1965,7 +2093,7 @@
 bufwinnr({expr})					*bufwinnr()*
 		The result is a Number, which is the number of the first
 		window associated with buffer {expr}.  For the use of {expr},
-		see |bufname()| above.  If buffer {expr} doesn't exist or
+		see |bufname()| above.	If buffer {expr} doesn't exist or
 		there is no such window, -1 is returned.  Example: >
 
 	echo "A window containing buffer 1 is " . (bufwinnr(1))
@@ -2010,6 +2138,19 @@
 		{dict} is for functions with the "dict" attribute.  It will be
 		used to set the local variable "self". |Dictionary-function|
 
+ceil({expr})							*ceil()*
+		Return the smallest integral value greater than or equal to
+		{expr} as a |Float| (round up).
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			echo ceil(1.456)
+<			2.0  >
+			echo ceil(-5.456)
+<			-5.0  >
+			echo ceil(4.0)
+<			4.0
+		{only available when compiled with the |+float| feature}
+
 changenr()						*changenr()*
 		Return the number of the most recent change.  This is the same
 		number as what is displayed with |:undolist| and can be used
@@ -2025,7 +2166,7 @@
 <		The current 'encoding' is used.  Example for "utf-8": >
 			char2nr("á")		returns 225
 			char2nr("á"[0])		returns 195
-<		nr2char() does the opposite.
+<		|nr2char()| does the opposite.
 
 cindent({lnum})						*cindent()*
 		Get the amount of indent for line {lnum} according the C
@@ -2050,7 +2191,7 @@
 			    returned)
 		Additionally {expr} can be [lnum, col]: a |List| with the line
 		and column number. Most useful when the column is "$", to get
-		the las column of a specific line.  When "lnum" or "col" is
+		the last column of a specific line.  When "lnum" or "col" is
 		out of range then col() returns zero.
 		To get the line number use |line()|.  To get both use
 		|getpos()|.
@@ -2061,7 +2202,7 @@
 			col("$")		length of cursor line plus one
 			col("'t")		column of mark t
 			col("'" . markname)	column of mark markname
-<		The first column is 1.  0 is returned for an error.
+<		The first column is 1.	0 is returned for an error.
 		For an uppercase mark the column may actually be in another
 		buffer.
 		For the cursor position, when 'virtualedit' is active, the
@@ -2108,7 +2249,7 @@
 		Returns 0 for failure (empty string or out of memory),
 		1 when the match was added, 2 when the match was already in
 		the list.
-		See |complete-functions| for an explanation of {expr}.  It is
+		See |complete-functions| for an explanation of {expr}.	It is
 		the same as one item in the list that 'omnifunc' would return.
 
 complete_check()				*complete_check()*
@@ -2144,7 +2285,7 @@
 		that is made if the user hits <CR>.  Use 1 to make the first
 		choice the default one.  Use 0 to not set a default.  If
 		{default} is omitted, 1 is used.
-		The optional {type} argument gives the type of dialog.  This
+		The optional {type} argument gives the type of dialog.	This
 		is only used for the icon of the Win32 GUI.  It can be one of
 		these values: "Error", "Question", "Info", "Warning" or
 		"Generic".  Only the first character is relevant.  When {type}
@@ -2163,20 +2304,31 @@
    :endif
 <		In a GUI dialog, buttons are used.  The layout of the buttons
 		depends on the 'v' flag in 'guioptions'.  If it is included,
-		the buttons are always put vertically.  Otherwise,  confirm()
+		the buttons are always put vertically.	Otherwise,  confirm()
 		tries to put the buttons in one horizontal line.  If they
 		don't fit, a vertical layout is used anyway.  For some systems
 		the horizontal layout is always used.
 
 							*copy()*
-copy({expr})	Make a copy of {expr}.  For Numbers and Strings this isn't
+copy({expr})	Make a copy of {expr}.	For Numbers and Strings this isn't
 		different from using {expr} directly.
 		When {expr} is a |List| a shallow copy is created.  This means
 		that the original |List| can be changed without changing the
-		copy, and vise versa.  But the items are identical, thus
-		changing an item changes the contents of both |Lists|.  Also
+		copy, and vice versa.  But the items are identical, thus
+		changing an item changes the contents of both |Lists|.	Also
 		see |deepcopy()|.
 
+cos({expr})						*cos()*
+		Return the cosine of {expr}, measured in radians, as a |Float|.
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			:echo cos(100)
+<			0.862319 >
+			:echo cos(-4.01)
+<			-0.646043
+		{only available when compiled with the |+float| feature}
+
+		
 count({comp}, {expr} [, {ic} [, {start}]])			*count()*
 		Return the number of times an item with value {expr} appears
 		in |List| or |Dictionary| {comp}.
@@ -2247,11 +2399,11 @@
 
 
 deepcopy({expr}[, {noref}])				*deepcopy()* *E698*
-		Make a copy of {expr}.  For Numbers and Strings this isn't
+		Make a copy of {expr}.	For Numbers and Strings this isn't
 		different from using {expr} directly.
 		When {expr} is a |List| a full copy is created.  This means
 		that the original |List| can be changed without changing the
-		copy, and vise versa.  When an item is a |List|, a copy for it
+		copy, and vice versa.  When an item is a |List|, a copy for it
 		is made, recursively.  Thus changing an item in the copy does
 		not change the contents of the original |List|.
 		When {noref} is omitted or zero a contained |List| or
@@ -2305,7 +2457,7 @@
 empty({expr})						*empty()*
 		Return the Number 1 if {expr} is empty, zero otherwise.
 		A |List| or |Dictionary| is empty when it does not have any
-		items.  A Number is empty when its value is zero.
+		items.	A Number is empty when its value is zero.
 		For a long |List| this is much faster then comparing the
 		length with zero.
 
@@ -2315,12 +2467,14 @@
 			:echo escape('c:\program files\vim', ' \')
 <		results in: >
 			c:\\program\ files\\vim
+<		Also see |shellescape()|.
 
-<							*eval()*
+							*eval()*
 eval({string})	Evaluate {string} and return the result.  Especially useful to
 		turn the result of |string()| back into the original value.
-		This works for Numbers, Strings and composites of them.
-		Also works for |Funcref|s that refer to existing functions.
+		This works for Numbers, Floats, Strings and composites of
+		them.  Also works for |Funcref|s that refer to existing
+		functions.
 
 eventhandler()						*eventhandler()*
 		Returns 1 when inside an event handler.  That is that Vim got
@@ -2336,10 +2490,10 @@
 		searchpath for programs.		*PATHEXT*
 		On MS-DOS and MS-Windows the ".exe", ".bat", etc. can
 		optionally be included.  Then the extensions in $PATHEXT are
-		tried.  Thus if "foo.exe" does not exist, "foo.exe.bat" can be
-		found.  If $PATHEXT is not set then ".exe;.com;.bat;.cmd" is
+		tried.	Thus if "foo.exe" does not exist, "foo.exe.bat" can be
+		found.	If $PATHEXT is not set then ".exe;.com;.bat;.cmd" is
 		used.  A dot by itself can be used in $PATHEXT to try using
-		the name without an extension.  When 'shell' looks like a
+		the name without an extension.	When 'shell' looks like a
 		Unix shell, then the name is also tried without adding an
 		extension.
 		On MS-DOS and MS-Windows it only checks if the file exists and
@@ -2366,7 +2520,7 @@
 					or user defined function (see
 					|user-functions|).
 			varname		internal variable (see
-					|internal-variables|).  Also works
+					|internal-variables|).	Also works
 					for |curly-braces-names|, |Dictionary|
 					entries, |List| items, etc.  Beware
 					that this may cause functions to be
@@ -2435,7 +2589,7 @@
 		characters.  [Note: in version 5.0 a space was used, which
 		caused problems when a file name contains a space]
 
-		If the expansion fails, the result is an empty string.  A name
+		If the expansion fails, the result is an empty string.	A name
 		for a non-existing file is not included.
 
 		When {expr} starts with '%', '#' or '<', the expansion is done
@@ -2494,9 +2648,9 @@
 <
 		Expand() can also be used to expand variables and environment
 		variables that are only known in a shell.  But this can be
-		slow, because a shell must be started.  See |expr-env-expand|.
+		slow, because a shell must be started.	See |expr-env-expand|.
 		The expanded variable is still handled like a list of file
-		names.  When an environment variable cannot be expanded, it is
+		names.	When an environment variable cannot be expanded, it is
 		left unchanged.  Thus ":echo expand('$FOOBAR')" results in
 		"$FOOBAR".
 
@@ -2515,7 +2669,7 @@
 		Examples: >
 			:echo sort(extend(mylist, [7, 5]))
 			:call extend(mylist, [2, 3], 1)
-<		Use |add()| to concatenate one item to a list.  To concatenate
+<		Use |add()| to concatenate one item to a list.	To concatenate
 		two lists into a new list use the + operator: >
 			:let newlist = [1, 2, 3] + [4, 5]
 <
@@ -2536,7 +2690,7 @@
 
 feedkeys({string} [, {mode}])				*feedkeys()*
 		Characters in {string} are queued for processing as if they
-		come from a mapping or were typed by the user.  They are added
+		come from a mapping or were typed by the user.	They are added
 		to the end of the typeahead buffer, thus if a mapping is still
 		being executed these characters come after them.
 		The function does not wait for processing of keys contained in
@@ -2568,7 +2722,7 @@
 filewritable({file})					*filewritable()*
 		The result is a Number, which is 1 when a file with the
 		name {file} exists, and can be written.  If {file} doesn't
-		exist, or is not writable, the result is 0.  If (file) is a
+		exist, or is not writable, the result is 0.  If {file} is a
 		directory, and we can write to it, the result is 2.
 
 
@@ -2621,13 +2775,47 @@
 <		Searches from the directory of the current file upwards until
 		it finds the file "tags.vim".
 
+float2nr({expr})					*float2nr()*
+		Convert {expr} to a Number by omitting the part after the
+		decimal point.
+		{expr} must evaluate to a |Float| or a Number.
+		When the value of {expr} is out of range for a |Number| the
+		result is truncated to 0x7fffffff or -0x7fffffff.  NaN results
+		in -0x80000000.
+		Examples: >
+			echo float2nr(3.95)
+<			3  >
+			echo float2nr(-23.45)
+<			-23  >
+			echo float2nr(1.0e100)
+<			2147483647  >
+			echo float2nr(-1.0e150)
+<			-2147483647  >
+			echo float2nr(1.0e-100)
+<			0
+		{only available when compiled with the |+float| feature}
+
+
+floor({expr})							*floor()*
+		Return the largest integral value less than or equal to
+		{expr} as a |Float| (round down).
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			echo floor(1.856)
+<			1.0  >
+			echo floor(-5.456)
+<			-6.0  >
+			echo floor(4.0)
+<			4.0
+		{only available when compiled with the |+float| feature}
+		
 fnameescape({string})					*fnameescape()*
-		Escape {string} for use as file name command argument.  All
+		Escape {string} for use as file name command argument.	All
 		characters that have a special meaning, such as '%' and '|'
 		are escaped with a backslash.
-		For most systems the characters escaped are "".  For systems
-		where a backslash appears in a filename, it depends on the
-		value of 'isfname'.
+		For most systems the characters escaped are
+		" \t\n*?[{`$\\%#'\"|!<".  For systems where a backslash
+		appears in a filename, it depends on the value of 'isfname'.
 		Example: >
 			:let fname = 'some str%nge|name'
 			:exe "edit " . fnameescape(fname)
@@ -2642,7 +2830,7 @@
 			:echo fnamemodify("main.c", ":p:h")
 <		results in: >
 			/home/mool/vim/vim/src
-<		Note: Environment variables and "~" don't work in {fname}, use
+<		Note: Environment variables don't work in {fname}, use
 		|expand()| first then.
 
 foldclosed({lnum})					*foldclosed()*
@@ -2657,7 +2845,7 @@
 
 foldlevel({lnum})					*foldlevel()*
 		The result is a Number, which is the foldlevel of line {lnum}
-		in the current buffer.  For nested folds the deepest level is
+		in the current buffer.	For nested folds the deepest level is
 		returned.  If there is no fold at line {lnum}, zero is
 		returned.  It doesn't matter if the folds are open or closed.
 		When used while updating folds (from 'foldexpr') -1 is
@@ -2672,7 +2860,7 @@
 		|v:foldstart|, |v:foldend| and |v:folddashes| variables.
 		The returned string looks like this: >
 			+-- 45 lines: abcdef
-<		The number of dashes depends on the foldlevel.  The "45" is
+<		The number of dashes depends on the foldlevel.	The "45" is
 		the number of lines in the fold.  "abcdef" is the text in the
 		first non-blank line of the fold.  Leading white space, "//"
 		or "/*" and the text from the 'foldmarker' and 'commentstring'
@@ -2690,7 +2878,7 @@
 		{not available when compiled without the |+folding| feature}
 
 							*foreground()*
-foreground()	Move the Vim window to the foreground.  Useful when sent from
+foreground()	Move the Vim window to the foreground.	Useful when sent from
 		a client to a Vim server. |remote_send()|
 		On Win32 systems this might not work, the OS does not always
 		allow a window to bring itself to the foreground.  Use
@@ -2793,7 +2981,7 @@
 		|v:mouse_lnum| and |v:mouse_win|.  This example positions the
 		mouse as it would normally happen: >
 			let c = getchar()
-		  	if c == "\<LeftMouse>" && v:mouse_win > 0
+			if c == "\<LeftMouse>" && v:mouse_win > 0
 			  exe v:mouse_win . "wincmd w"
 			  exe v:mouse_lnum
 			  exe "normal " . v:mouse_col . "|"
@@ -2831,7 +3019,7 @@
 			64	mouse quadruple click
 			128	Macintosh only: command
 		Only the modifiers that have not been included in the
-		character itself are obtained.  Thus Shift-a results in "A"
+		character itself are obtained.	Thus Shift-a results in "A"
 		with no modifier.
 
 getcmdline()						*getcmdline()*
@@ -3058,7 +3246,7 @@
 
 							*getwinposy()*
 getwinposy()	The result is a Number, which is the Y coordinate in pixels of
-		the top of the GUI Vim window.  The result will be -1 if the
+		the top of the GUI Vim window.	The result will be -1 if the
 		information is not available.
 
 getwinvar({winnr}, {varname})				*getwinvar()*
@@ -3073,6 +3261,8 @@
 		The result is a String.
 		When there are several matches, they are separated by <NL>
 		characters.
+		The 'wildignore' option applies: Names matching one of the
+		patterns in 'wildignore' will be skipped.
 		If the expansion fails, the result is an empty string.
 		A name for a non-existing file is not included.
 
@@ -3081,7 +3271,7 @@
 			:let tagfiles = glob("`find . -name tags -print`")
 			:let &tags = substitute(tagfiles, "\n", ",", "g")
 <		The result of the program inside the backticks should be one
-		item per line.  Spaces inside an item are allowed.
+		item per line.	Spaces inside an item are allowed.
 
 		See |expand()| for expanding special Vim variables.  See
 		|system()| for getting the raw output of an external command.
@@ -3119,7 +3309,7 @@
 
 haslocaldir()						*haslocaldir()*
 		The result is a Number, which is 1 when the current
-                window has set a local path via |:lcd|, and 0 otherwise.
+		window has set a local path via |:lcd|, and 0 otherwise.
 
 hasmapto({what} [, {mode} [, {abbr}]])			*hasmapto()*
 		The result is a Number, which is 1 if there is a mapping that
@@ -3142,7 +3332,7 @@
 		When {mode} is omitted, "nvo" is used.
 
 		This function is useful to check if a mapping already exists
-		to a function in a Vim script.  Example: >
+		to a function in a Vim script.	Example: >
 			:if !hasmapto('\ABCdoit')
 			:   map <Leader>d \ABCdoit
 			:endif
@@ -3154,7 +3344,7 @@
 		one of:					*hist-names*
 			"cmd"	 or ":"	  command line history
 			"search" or "/"   search pattern history
-			"expr"   or "="   typed expression history
+			"expr"	 or "="   typed expression history
 			"input"  or "@"	  input line history
 		If {item} does already exist in the history, it will be
 		shifted to become the newest entry.
@@ -3171,7 +3361,7 @@
 		for the possible values of {history}.
 
 		If the parameter {item} is given as String, this is seen
-		as regular expression.  All entries matching that expression
+		as regular expression.	All entries matching that expression
 		will be removed from the history (if there are any).
 		Upper/lowercase must match, unless "\c" is used |/\c|.
 		If {item} is a Number, it will be interpreted as index, see
@@ -3235,7 +3425,7 @@
 		with name {name}.  When the highlight group doesn't exist,
 		zero is returned.
 		This can be used to retrieve information about the highlight
-		group.  For example, to get the background color of the
+		group.	For example, to get the background color of the
 		"Comment" group: >
 	:echo synIDattr(synIDtrans(hlID("Comment")), "bg")
 <							*highlightID()*
@@ -3292,7 +3482,7 @@
 		prompt to start a new line.
 		The highlighting set with |:echohl| is used for the prompt.
 		The input is entered just like a command-line, with the same
-		editing commands and mappings.  There is a separate history
+		editing commands and mappings.	There is a separate history
 		for lines typed for input().
 		Example: >
 			:if input("Coffee or beer? ") == "beer"
@@ -3305,9 +3495,9 @@
 
 <		The optional {completion} argument specifies the type of
 		completion supported for the input.  Without it completion is
-		not performed.  The supported completion types are the same as
+		not performed.	The supported completion types are the same as
 		that can be supplied to a user-defined command using the
-		"-complete=" argument.  Refer to |:command-completion| for
+		"-complete=" argument.	Refer to |:command-completion| for
 		more information.  Example: >
 			let fname = input("File: ", "", "file")
 <
@@ -3348,12 +3538,12 @@
 		displayed, one string per line.  The user will be prompted to
 		enter a number, which is returned.
 		The user can also select an item by clicking on it with the
-		mouse.  For the first string 0 is returned.  When clicking
+		mouse.	For the first string 0 is returned.  When clicking
 		above the first item a negative number is returned.  When
 		clicking on the prompt one more than the length of {textlist}
 		is returned.
 		Make sure {textlist} has less then 'lines' entries, otherwise
-		it won't work.  It's a good idea to put the entry number at
+		it won't work.	It's a good idea to put the entry number at
 		the start of the string.  And put a prompt in the first item.
 		Example: >
 			let color = inputlist(['Select color:', '1. red',
@@ -3387,7 +3577,7 @@
 insert({list}, {item} [, {idx}])			*insert()*
 		Insert {item} at the start of |List| {list}.
 		If {idx} is specified insert {item} before the item with index
-		{idx}.  If {idx} is zero it goes before the first item, just
+		{idx}.	If {idx} is zero it goes before the first item, just
 		like omitting {idx}.  A negative {idx} is also possible, see
 		|list-index|.  -1 inserts just before the last item.
 		Returns the resulting |List|.  Examples: >
@@ -3483,7 +3673,7 @@
 		it's then freed when the DLL is unloaded.
 
 		WARNING: If the function returns a non-valid pointer, Vim may
-		crash!  This also happens if the function returns a number,
+		crash!	This also happens if the function returns a number,
 		because Vim thinks it's a pointer.
 		For Win32 systems, {libname} should be the filename of the DLL
 		without the ".DLL" suffix.  A full path is only required if
@@ -3494,7 +3684,6 @@
 		feature is present}
 		Examples: >
 			:echo libcall("libc.so", "getenv", "HOME")
-			:echo libcallnr("/usr/lib/libc.so", "getpid", "")
 <
 							*libcallnr()*
 libcallnr({libname}, {funcname}, {argument})
@@ -3502,7 +3691,8 @@
 		int instead of a string.
 		{only in Win32 on some Unix versions, when the |+libcall|
 		feature is present}
-		Example (not very useful...): >
+		Examples: >
+			:echo libcallnr("/usr/lib/libc.so", "getpid", "")
 			:call libcallnr("libc.so", "printf", "Hello World!\n")
 			:call libcallnr("libc.so", "sleep", 10)
 <
@@ -3530,7 +3720,7 @@
 <							*last-position-jump*
 		This autocommand jumps to the last known position in a file
 		just after opening it, if the '" mark is set: >
-	:au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif
+	:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
 
 line2byte({lnum})					*line2byte()*
 		Return the byte count from the start of the buffer for line
@@ -3558,6 +3748,16 @@
 		1970.  See also |strftime()| and |getftime()|.
 
 
+log10({expr})						*log10()*
+		Return the logarithm of Float {expr} to base 10 as a |Float|.
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			:echo log10(1000)
+<			3.0 >
+			:echo log10(0.01)
+<			-2.0
+		{only available when compiled with the |+float| feature}
+		
 map({expr}, {string})					*map()*
 		{expr} must be a |List| or a |Dictionary|.
 		Replace each item in {expr} with the result of evaluating
@@ -3615,7 +3815,7 @@
 		A match happens with a mapping that starts with {name} and
 		with a mapping which is equal to the start of {name}.
 
-			matches mapping "a"     "ab"    "abc" ~
+			matches mapping "a"	"ab"	"abc" ~
 		   mapcheck("a")	yes	yes	 yes
 		   mapcheck("abc")	yes	yes	 yes
 		   mapcheck("ax")	yes	no	 no
@@ -3642,7 +3842,7 @@
 		When {expr} is a |List| then this returns the index of the
 		first item where {pat} matches.  Each item is used as a
 		String, |Lists| and |Dictionaries| are used as echoed.
-		Otherwise, {expr} is used as a String.  The result is a
+		Otherwise, {expr} is used as a String.	The result is a
 		Number, which gives the index (byte offset) in {expr} where
 		{pat} matches.
 		A match at the first character or |List| item returns zero.
@@ -3652,7 +3852,7 @@
 			:echo match([1, 'x'], '\a')	" results in 1
 <		See |string-match| for how {pat} is used.
 								*strpbrk()*
-		Vim doesn't have a strpbrk() function.  But you can do: >
+		Vim doesn't have a strpbrk() function.	But you can do: >
 			:let sepidx = match(line, '[.,;: \t]')
 <								*strcasestr()*
 		Vim doesn't have a strcasestr() function.  But you can add
@@ -3689,7 +3889,7 @@
 
 		See |pattern| for the patterns that are accepted.
 		The 'ignorecase' option is used to set the ignore-caseness of
-		the pattern.  'smartcase' is NOT used.  The matching is always
+		the pattern.  'smartcase' is NOT used.	The matching is always
 		done like 'magic' is set and 'cpoptions' is empty.
 
 					*matchadd()* *E798* *E799* *E801*
@@ -3700,7 +3900,7 @@
 		match using |matchdelete()|.
 
 		The optional {priority} argument assigns a priority to the
-		match.  A match with a high priority will have its
+		match.	A match with a high priority will have its
 		highlighting overrule that of a match with a lower priority.
 		A priority is specified as an integer (negative numbers are no
 		exception).  If the {priority} argument is not specified, the
@@ -3728,7 +3928,7 @@
 			:call matchdelete(m)
 
 <		A list of matches defined by |matchadd()| and |:match| are
-		available from |getmatches()|.  All matches can be deleted in
+		available from |getmatches()|.	All matches can be deleted in
 		one operation by |clearmatches()|.
 
 matcharg({nr})							*matcharg()*
@@ -3745,7 +3945,7 @@
 
 matchdelete({id})			       *matchdelete()* *E802* *E803*
 		Deletes a match with ID {id} previously defined by |matchadd()|
-		or one of the |:match| commands.  Returns 0 if succesfull,
+		or one of the |:match| commands.  Returns 0 if successful,
 		otherwise -1.  See example for |matchadd()|.  All matches can
 		be deleted in one operation by |clearmatches()|.
 
@@ -3779,7 +3979,7 @@
 		When there is no match an empty list is returned.
 
 matchstr({expr}, {pat}[, {start}[, {count}]])			*matchstr()*
-		Same as match(), but return the matched string.  Example: >
+		Same as |match()|, but return the matched string.  Example: >
 			:echo matchstr("testing", "ing")
 <		results in "ing".
 		When there is no match "" is returned.
@@ -3810,15 +4010,21 @@
 		necessary.  Otherwise it must be "".
 		If {prot} is given it is used to set the protection bits of
 		the new directory.  The default is 0755 (rwxr-xr-x: r/w for
-		the user readable for others).  Use 0700 to make it unreadable
+		the user readable for others).	Use 0700 to make it unreadable
 		for others.
 		This function is not available in the |sandbox|.
 		Not available on all systems.  To check use: >
 			:if exists("*mkdir")
 <
 							*mode()*
-mode()		Return a string that indicates the current mode:
+mode([expr])	Return a string that indicates the current mode.
+		If [expr] is supplied and it evaluates to a non-zero number or
+		a non-empty string, then the full mode is returned, otherwise
+		only the first letter is returned.  Note that " " and "0" are
+		also non-empty strings.
+
 			n	Normal
+			no	Operator-pending
 			v	Visual by character
 			V	Visual by line
 			CTRL-V	Visual blockwise
@@ -3826,11 +4032,19 @@
 			S	Select by line
 			CTRL-S	Select blockwise
 			i	Insert
-			R	Replace
+			R	Replace |R|
+			Rv	Virtual Replace |gR|
 			c	Command-line
+			cv	Vim Ex mode |gQ|
+			ce	Normal Ex mode |Q|
 			r	Hit-enter prompt
-		This is useful in the 'statusline' option.  In most other
-		places it always returns "c" or "n".
+			rm	The -- more -- prompt
+			r?	A |:confirm| query of some sort
+			!	Shell or external command is executing
+		This is useful in the 'statusline' option or when used
+		with |remote_expr()| In most other places it always returns
+		"c" or "n".
+		Also see |visualmode()|.
 
 nextnonblank({lnum})					*nextnonblank()*
 		Return the line number of the first line at or below {lnum}
@@ -3854,7 +4068,8 @@
 
 							*getpid()*
 getpid()	Return a Number which is the process ID of the Vim process.
-		On Unix this is a unique number.  On MS-DOS it's always zero.
+		On Unix and MS-Windows this is a unique number, until Vim
+		exits.	On MS-DOS it's always zero.
 
 							*getpos()*
 getpos({expr})	Get the position for {expr}.  For possible values of {expr}
@@ -3884,6 +4099,18 @@
 <			~/.v/a/myfile.vim ~
 		It doesn't matter if the path exists or not.
 
+pow({x}, {y})						*pow()*
+		Return the power of {x} to the exponent {y} as a |Float|.
+		{x} and {y} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			:echo pow(3, 3)
+<			27.0 >
+			:echo pow(2, 16)
+<			65536.0 >
+			:echo pow(32, 0.20)
+<			2.0
+		{only available when compiled with the |+float| feature}
+		
 prevnonblank({lnum})					*prevnonblank()*
 		Return the line number of the first line at or above {lnum}
 		that is not blank.  Example: >
@@ -3903,15 +4130,20 @@
 		Often used items are:
 		  %s	string
 		  %6s	string right-aligned in 6 bytes
-		  %.9s  string truncated to 9 bytes
-		  %c    single byte
-		  %d    decimal number
-		  %5d   decimal number padded with spaces to 5 characters
-		  %x    hex number
-		  %04x  hex number padded with zeros to at least 4 characters
-		  %X    hex number using upper case letters
-		  %o    octal number
-		  %%    the % character itself
+		  %.9s	string truncated to 9 bytes
+		  %c	single byte
+		  %d	decimal number
+		  %5d	decimal number padded with spaces to 5 characters
+		  %x	hex number
+		  %04x	hex number padded with zeros to at least 4 characters
+		  %X	hex number using upper case letters
+		  %o	octal number
+		  %f	floating point number in the form 123.456
+		  %e	floating point number in the form 1.234e3
+		  %E	floating point number in the form 1.234E3
+		  %g	floating point number, as %f or %e depending on value
+		  %G	floating point number, as %f or %E depending on value
+		  %%	the % character itself
 
 		Conversion specifications start with '%' and end with the
 		conversion type.  All other characters are copied unchanged to
@@ -3952,7 +4184,7 @@
 			      number produced by a signed conversion (d).
 
 		    +	      A sign must always be placed before a number
-			      produced by a signed conversion.  A + overrides
+			      produced by a signed conversion.	A + overrides
 			      a space if both are used.
 
 		field-width
@@ -3969,6 +4201,8 @@
 			This gives the minimum number of digits to appear for
 			d, o, x, and X conversions, or the maximum number of
 			bytes to be printed from a string for s conversions.
+			For floating point it is the number of digits after
+			the decimal point.
 
 		type
 			A character that specifies the type of conversion to
@@ -3976,7 +4210,7 @@
 
 		A field width or precision, or both, may be indicated by an
 		asterisk '*' instead of a digit string.  In this case, a
-		Number argument supplies the field width or precision.  A
+		Number argument supplies the field width or precision.	A
 		negative field width is treated as a left adjustment flag
 		followed by a positive field width; a negative precision is
 		treated as though it were missing.  Example: >
@@ -3986,7 +4220,8 @@
 
 		The conversion specifiers and their meanings are:
 
-		doxX    The Number argument is converted to signed decimal
+				*printf-d* *printf-o* *printf-x* *printf-X*
+		doxX	The Number argument is converted to signed decimal
 			(d), unsigned octal (o), or unsigned hexadecimal (x
 			and X) notation.  The letters "abcdef" are used for
 			x conversions; the letters "ABCDEF" are used for X
@@ -4000,18 +4235,50 @@
 			a conversion is wider than the field width, the field
 			is expanded to contain the conversion result.
 
+							*printf-c*
 		c	The Number argument is converted to a byte, and the
 			resulting character is written.
 
+							*printf-s*
 		s	The text of the String argument is used.  If a
 			precision is specified, no more bytes than the number
 			specified are used.
 
+							*printf-f* *E807*
+		f	The Float argument is converted into a string of the 
+			form 123.456.  The precision specifies the number of
+			digits after the decimal point.  When the precision is
+			zero the decimal point is omitted.  When the precision
+			is not specified 6 is used.  A really big number
+			(out of range or dividing by zero) results in "inf".
+			"0.0 / 0.0" results in "nan".
+			Example: >
+				echo printf("%.2f", 12.115)
+<				12.12
+			Note that roundoff depends on the system libraries.
+			Use |round()| when in doubt.
+
+							*printf-e* *printf-E*
+		e E	The Float argument is converted into a string of the
+			form 1.234e+03 or 1.234E+03 when using 'E'.  The
+			precision specifies the number of digits after the
+			decimal point, like with 'f'.
+
+							*printf-g* *printf-G*
+		g G	The Float argument is converted like with 'f' if the
+			value is between 0.001 (inclusive) and 10000000.0
+			(exclusive).  Otherwise 'e' is used for 'g' and 'E'
+			for 'G'.  When no precision is specified superfluous
+			zeroes and '+' signs are removed, except for the zero
+			immediately after the decimal point.  Thus 10000000.0
+			results in 1.0e7.
+
+							*printf-%*
 		%	A '%' is written.  No argument is converted.  The
 			complete conversion specification is "%%".
 
 		Each argument can be Number or String and is converted
-		automatically to fit the conversion specifier.  Any other
+		automatically to fit the conversion specifier.	Any other
 		argument type results in an error message.
 
 							*E766* *E767*
@@ -4105,7 +4372,7 @@
 
 							*remote_expr()* *E449*
 remote_expr({server}, {string} [, {idvar}])
-		Send the {string} to {server}.  The string is sent as an
+		Send the {string} to {server}.	The string is sent as an
 		expression and the result is returned after evaluation.
 		The result must be a String or a |List|.  A |List| is turned
 		into a String by joining the items with a line break in
@@ -4140,7 +4407,7 @@
 remote_peek({serverid} [, {retvar}])		*remote_peek()*
 		Returns a positive number if there are available strings
 		from {serverid}.  Copies any reply string into the variable
-		{retvar} if specified.  {retvar} must be a string with the
+		{retvar} if specified.	{retvar} must be a string with the
 		name of a variable.
 		Returns zero if none are available.
 		Returns -1 if something is wrong.
@@ -4162,7 +4429,7 @@
 <
 							*remote_send()* *E241*
 remote_send({server}, {string} [, {idvar}])
-		Send the {string} to {server}.  The string is sent as input
+		Send the {string} to {server}.	The string is sent as input
 		keys and the function returns immediately.  At the Vim server
 		the keys are not mapped |:map|.
 		If {idvar} is present, it is taken as the name of a variable
@@ -4213,7 +4480,7 @@
 			:let separator = repeat('-', 80)
 <		When {count} is zero or negative the result is empty.
 		When {expr} is a |List| the result is {expr} concatenated
-		{count} times.  Example: >
+		{count} times.	Example: >
 			:let longlist = repeat(['a', 'b'], 3)
 <		Results in ['a', 'b', 'a', 'b', 'a', 'b'].
 
@@ -4232,18 +4499,33 @@
 		path name) and also keeps a trailing path separator.
 
 							*reverse()*
-reverse({list})	Reverse the order of items in {list} in-place.  Returns
+reverse({list})	Reverse the order of items in {list} in-place.	Returns
 		{list}.
 		If you want a list to remain unmodified make a copy first: >
 			:let revlist = reverse(copy(mylist))
 
+round({expr})							*round()*
+		Round off {expr} to a the nearest integral value and return it
+		as a |Float|.  If {expr} lies halfway between two integral
+		values, then use the larger one (away from zero).
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			echo round(0.456)
+<			0.0  >
+			echo round(4.5)
+<			5.0 >
+			echo round(-4.5)
+<			-5.0
+		{only available when compiled with the |+float| feature}
+		
+		
 search({pattern} [, {flags} [, {stopline} [, {timeout}]]])	*search()*
 		Search for regexp pattern {pattern}.  The search starts at the
 		cursor position (you can use |cursor()| to set it).
 
 		{flags} is a String, which can contain these character flags:
 		'b'	search backward instead of forward
-		'c'     accept a match at the cursor position
+		'c'	accept a match at the cursor position
 		'e'	move to the End of the match
 		'n'	do Not move the cursor
 		'p'	return number of matching sub-pattern (see below)
@@ -4268,7 +4550,7 @@
 		A zero value is equal to not giving the argument.
 
 		When the {timeout} argument is given the search stops when
-		more than this many milli seconds have passed.  Thus when
+		more than this many milli seconds have passed.	Thus when
 		{timeout} is 500 the search stops after half a second.
 		The value must not be negative.  A zero value is like not
 		giving the argument.
@@ -4295,7 +4577,7 @@
 		    :  normal G$
 		    :  let flags = "w"
 		    :  while search("foo", flags) > 0
-		    :    s/foo/bar/g
+		    :	 s/foo/bar/g
 		    :	 let flags = "W"
 		    :  endwhile
 		    :  update		    " write the file if modified
@@ -4358,9 +4640,11 @@
 		{flags} 'b', 'c', 'n', 's', 'w' and 'W' are used like with
 		|search()|.  Additionally:
 		'r'	Repeat until no more matches found; will find the
-			outer pair
-		'm'	return number of Matches instead of line number with
+			outer pair.  Implies the 'W' flag.
+		'm'	Return number of matches instead of line number with
 			the match; will be > 1 when 'r' is used.
+		Note: it's nearly always a good idea to use the 'W' flag, to
+		avoid wrapping around the end of the file.
 
 		When a match for {start}, {middle} or {end} is found, the
 		{skip} expression is evaluated with the cursor positioned on
@@ -4386,7 +4670,7 @@
 <		When starting at the "if 2", with the cursor on the "i", and
 		searching forwards, the "endif 2" is found.  When starting on
 		the character just before the "if 2", the "endif 1" will be
-		found.  That's because the "if 2" will be found first, and
+		found.	That's because the "if 2" will be found first, and
 		then this is considered to be a nested if/endif from "if 2" to
 		"endif 2".
 		When searching backwards and {end} is more than one character,
@@ -4479,7 +4763,7 @@
 
 setcmdpos({pos})					*setcmdpos()*
 		Set the cursor position in the command line to byte position
-		{pos}.  The first position is 1.
+		{pos}.	The first position is 1.
 		Use |getcmdpos()| to obtain the current position.
 		Only works while editing the command line, thus you must use
 		|c_CTRL-\_e|, |c_CTRL-R_=| or |c_CTRL-R_CTRL-R| with '='.  For
@@ -4492,15 +4776,15 @@
 		Returns 0 when successful, 1 when not editing the command
 		line.
 
-setline({lnum}, {line})					*setline()*
-		Set line {lnum} of the current buffer to {line}.
+setline({lnum}, {text})					*setline()*
+		Set line {lnum} of the current buffer to {text}.
 		{lnum} is used like with |getline()|.
-		When {lnum} is just below the last line the {line} will be
+		When {lnum} is just below the last line the {text} will be
 		added as a new line.
 		If this succeeds, 0 is returned.  If this fails (most likely
 		because {lnum} is invalid) 1 is returned.  Example: >
 			:call setline(5, strftime("%c"))
-<		When {line} is a |List| then line {lnum} and following lines
+<		When {text} is a |List| then line {lnum} and following lines
 		will be set to the items in the list.  Example: >
 			:call setline(5, ['aaa', 'bbb', 'ccc'])
 <		This is equivalent to: >
@@ -4519,7 +4803,7 @@
 
 setmatches({list})					*setmatches()*
 		Restores a list of matches saved by |getmatches()|.  Returns 0
-		if succesfull, otherwise -1.  All current matches are cleared
+		if successful, otherwise -1.  All current matches are cleared
 		before the list is restored.  See example for |getmatches()|.
 
 							*setpos()*
@@ -4531,7 +4815,7 @@
 		{list} must be a |List| with four numbers:
 		    [bufnum, lnum, col, off]
 
-		"bufnum" is the buffer number.  Zero can be used for the
+		"bufnum" is the buffer number.	Zero can be used for the
 		current buffer.  Setting the cursor is only possible for
 		the current buffer.  To set a mark in another buffer you can
 		use the |bufnr()| function to turn a file name into a buffer
@@ -4562,9 +4846,9 @@
 		item can contain the following entries:
 
 		    bufnr	buffer number; must be the number of a valid
-		    		buffer
+				buffer
 		    filename	name of a file; only used when "bufnr" is not
-		    		present or it is invalid.
+				present or it is invalid.
 		    lnum	line number in the file
 		    pattern	search pattern used to locate the error
 		    col		column number
@@ -4688,6 +4972,17 @@
 		links before simplifying the path name, use |resolve()|.
 
 
+sin({expr})						*sin()*
+		Return the sine of {expr}, measured in radians, as a |Float|.
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			:echo sin(100)
+<			-0.506366 >
+			:echo sin(-4.01)
+<			0.763301
+		{only available when compiled with the |+float| feature}
+		
+
 sort({list} [, {func}])					*sort()* *E702*
 		Sort the items in {list} in-place.  Returns {list}.  If you
 		want a list to remain unmodified make a copy first: >
@@ -4710,7 +5005,7 @@
 							*soundfold()*
 soundfold({word})
 		Return the sound-folded equivalent of {word}.  Uses the first
-		language in 'spellang' for the current window that supports
+		language in 'spelllang' for the current window that supports
 		soundfolding.  'spell' must be set.  When no sound folding is
 		possible the {word} is returned unmodified.
 		This can be used for making spelling suggestions.  Note that
@@ -4788,6 +5083,34 @@
 <		The opposite function is |join()|.
 
 
+sqrt({expr})						*sqrt()*
+		Return the non-negative square root of Float {expr} as a
+		|Float|.
+		{expr} must evaluate to a |Float| or a |Number|.  When {expr}
+		is negative the result is NaN (Not a Number).
+		Examples: >
+			:echo sqrt(100)
+<			10.0 >
+			:echo sqrt(-4.01)
+<			nan
+		{only available when compiled with the |+float| feature}
+		
+
+str2float( {expr})					*str2float()*
+		Convert String {expr} to a Float.  This mostly works the same
+		as when using a floating point number in an expression, see
+		|floating-point-format|.  But it's a bit more permissive.
+		E.g., "1e40" is accepted, while in an expression you need to
+		write "1.0e40".
+		Text after the number is silently ignored.
+		The decimal point is always '.', no matter what the locale is
+		set to.  A comma ends the number: "12,345.67" is converted to
+		12.0.  You can strip out thousands separators with
+		|substitute()|: >
+			let f = str2float(substitute(text, ',', '', 'g'))
+<		{only available when compiled with the |+float| feature}
+
+
 str2nr( {expr} [, {base}])				*str2nr()*
 		Convert string {expr} to a number.
 		{base} is the conversion base, it can be 8, 10 or 16.
@@ -4839,11 +5162,12 @@
 
 							*string()*
 string({expr})	Return {expr} converted to a String.  If {expr} is a Number,
-		String or a composition of them, then the result can be parsed
-		back with |eval()|.
+		Float, String or a composition of them, then the result can be
+		parsed back with |eval()|.
 			{expr} type	result ~
 			String		'string'
 			Number		123
+			Float		123.123456 or 1.123456e8
 			Funcref		function('name')
 			List		[item, item]
 			Dictionary	{key: value, key: value}
@@ -4872,7 +5196,7 @@
 			strpart("abcdefg", 3, 2)    == "de"
 			strpart("abcdefg", -2, 4)   == "ab"
 			strpart("abcdefg", 5, 4)    == "fg"
-			strpart("abcdefg", 3)       == "defg"
+			strpart("abcdefg", 3)	    == "defg"
 <		Note: To get the first character, {start} must be 0.  For
 		example, to get three bytes under and after the cursor: >
 			strpart(getline("."), col(".") - 1, 3)
@@ -4922,7 +5246,7 @@
 		See |string-match| for how {pat} is used.
 		And a "~" in {sub} is not replaced with the previous {sub}.
 		Note that some codes in {sub} have a special meaning
-		|sub-replace-special|.  For example, to replace something with
+		|sub-replace-special|.	For example, to replace something with
 		"\n" (two characters), use "\\\\n" or '\\n'.
 		When {pat} does not match in {expr}, {expr} is returned
 		unmodified.
@@ -4944,7 +5268,7 @@
 		line.  'synmaxcol' applies, in a longer line zero is returned.
 
 		When {trans} is non-zero, transparent items are reduced to the
-		item that they reveal.  This is useful when wanting to know
+		item that they reveal.	This is useful when wanting to know
 		the effective color.  When {trans} is zero, the transparent
 		item is returned.  This is useful when wanting to know which
 		syntax item is effective (e.g. inside parens).
@@ -4959,7 +5283,7 @@
 		syntax ID {synID}.  This can be used to obtain information
 		about a syntax item.
 		{mode} can be "gui", "cterm" or "term", to get the attributes
-		for that mode.  When {mode} is omitted, or an invalid value is
+		for that mode.	When {mode} is omitted, or an invalid value is
 		used, the attributes for the currently active highlighting are
 		used (GUI, cterm or term).
 		Use synIDtrans() to follow linked highlight groups.
@@ -5118,7 +5442,7 @@
 
 tempname()					*tempname()* *temp-file-name*
 		The result is a String, which is the name of a file that
-		doesn't exist.  It can be used for a temporary file.  The name
+		doesn't exist.	It can be used for a temporary file.  The name
 		is different for at least 26 consecutive calls.  Example: >
 			:let tmpfile = tempname()
 			:exe "redir > " . tmpfile
@@ -5153,6 +5477,19 @@
 			echo tr("<blob>", "<>", "{}")
 <		returns "{blob}"
 
+trunc({expr})							*trunc()*
+		Return the largest integral value with magnituted less than or
+		equal to {expr} as a |Float| (truncate towards zero).
+		{expr} must evaluate to a |Float| or a |Number|.
+		Examples: >
+			echo trunc(1.456)
+<			1.0  >
+			echo trunc(-5.456)
+<			-5.0  >
+			echo trunc(4.0)
+<			4.0
+		{only available when compiled with the |+float| feature}
+		
 							*type()*
 type({expr})	The result is a Number, depending on the type of {expr}:
 			Number:	    0
@@ -5160,15 +5497,17 @@
 			Funcref:    2
 			List:	    3
 			Dictionary: 4
+			Float:	    5
 		To avoid the magic numbers it should be used this way: >
 			:if type(myvar) == type(0)
 			:if type(myvar) == type("")
 			:if type(myvar) == type(function("tr"))
 			:if type(myvar) == type([])
 			:if type(myvar) == type({})
+			:if type(myvar) == type(0.0)
 
 values({dict})						*values()*
-		Return a |List| with all the values of {dict}.  The |List| is
+		Return a |List| with all the values of {dict}.	The |List| is
 		in arbitrary order.
 
 
@@ -5199,8 +5538,8 @@
 		Examples: >
   virtcol(".")	   with text "foo^Lbar", with cursor on the "^L", returns 5
   virtcol("$")	   with text "foo^Lbar", returns 9
-  virtcol("'t")    with text "    there", with 't at 'h', returns 6
-<		The first column is 1.  0 is returned for an error.
+  virtcol("'t")    with text "	  there", with 't at 'h', returns 6
+<		The first column is 1.	0 is returned for an error.
 		A more advanced example that echoes the maximum length of
 		all lines: >
 		    echo max(map(range(1, line('$')), "virtcol([v:val, '$'])"))
@@ -5218,10 +5557,12 @@
 <		This enters the same Visual mode as before.  It is also useful
 		in scripts if you wish to act differently depending on the
 		Visual mode that was used.
+		If Visual mode is active, use |mode()| to get the Visual mode
+		(e.g., in a |:vmap|).
 
-		If an expression is supplied that results in a non-zero number
-		or a non-empty string, then the Visual mode will be cleared
-		and the old value is returned.  Note that " " and "0" are also
+		If [expr] is supplied and it evaluates to a non-zero number or
+		a non-empty string, then the Visual mode will be cleared and
+		the old value is returned.  Note that " " and "0" are also
 		non-empty strings, thus cause the mode to be cleared.
 
 							*winbufnr()*
@@ -5247,7 +5588,7 @@
 <
 							*winline()*
 winline()	The result is a Number, which is the screen line of the cursor
-		in the window.  This is counting screen lines from the top of
+		in the window.	This is counting screen lines from the top of
 		the window.  The first line is one.
 		If the cursor was moved the view on the file will be updated
 		first, this may cause a scroll.
@@ -5394,6 +5735,7 @@
 			read/write/filter commands
 find_in_path		Compiled with support for include file searches
 			|+find_in_path|.
+float			Compiled with support for |Float|.
 fname_case		Case in file names matters (for Amiga, MS-DOS, and
 			Windows this is not present).
 folding			Compiled with |folding| support.
@@ -5404,6 +5746,7 @@
 gui_athena		Compiled with Athena GUI.
 gui_gtk			Compiled with GTK+ GUI (any version).
 gui_gtk2		Compiled with GTK+ 2 GUI (gui_gtk is also defined).
+gui_gnome		Compiled with Gnome support (gui_gtk is also defined).
 gui_mac			Compiled with Macintosh GUI.
 gui_motif		Compiled with Motif GUI.
 gui_photon		Compiled with Photon GUI.
@@ -5435,6 +5778,7 @@
 mouse_gpm		Compiled with support for gpm (Linux console mouse)
 mouse_netterm		Compiled with support for netterm mouse.
 mouse_pterm		Compiled with support for qnx pterm mouse.
+mouse_sysmouse		Compiled with support for sysmouse (*BSD console mouse)
 mouse_xterm		Compiled with support for xterm mouse.
 multi_byte		Compiled with support for editing Korean et al.
 multi_byte_ime		Compiled with support for IME input method.
@@ -5587,9 +5931,9 @@
 			{name} can also be a |Dictionary| entry that is a
 			|Funcref|: >
 				:function dict.init(arg)
-<			"dict" must be an existing dictionary.  The entry
+<			"dict" must be an existing dictionary.	The entry
 			"init" is added if it didn't exist yet.  Otherwise [!]
-			is required to overwrite an existing function.  The
+			is required to overwrite an existing function.	The
 			result is a |Funcref| to a numbered function.  The
 			function can only be used with a |Funcref| and will be
 			deleted if there are no more references to it.
@@ -5613,12 +5957,15 @@
 			abort as soon as an error is detected.
 
 			When the [dict] argument is added, the function must
-			be invoked through an entry in a |Dictionary|.  The
+			be invoked through an entry in a |Dictionary|.	The
 			local variable "self" will then be set to the
 			dictionary.  See |Dictionary-function|.
 
+						*function-search-undo*
 			The last used search pattern and the redo command "."
-			will not be changed by the function.
+			will not be changed by the function.  This also
+			implies that the effect of |:nohlsearch| is undone
+			when the function returns.
 
 					*:endf* *:endfunction* *E126* *E193*
 :endf[unction]		The end of a function definition.  Must be on a line
@@ -5629,7 +5976,7 @@
 			{name} can also be a |Dictionary| entry that is a
 			|Funcref|: >
 				:delfunc dict.init
-<			This will remove the "init" entry from "dict".  The
+<			This will remove the "init" entry from "dict".	The
 			function is deleted if there are no more references to
 			it.
 							*:retu* *:return* *E133*
@@ -5649,7 +5996,7 @@
 			returns at the outermost ":endtry".
 
 						*function-argument* *a:var*
-An argument can be defined by giving its name.  In the function this can then
+An argument can be defined by giving its name.	In the function this can then
 be used as "a:name" ("a:" for argument).
 					*a:0* *a:1* *a:000* *E740* *...*
 Up to 20 arguments can be given, separated by commas.  After the named
@@ -5721,7 +6068,7 @@
 		itself, the function is executed for each line in the range,
 		with the cursor in the first column of that line.  The cursor
 		is left at the last line (possibly moved by the last function
-		call).  The arguments are re-evaluated for each line.  Thus
+		call).	The arguments are re-evaluated for each line.  Thus
 		this works:
 						*function-range-example*  >
 	:function Mynumber(arg)
@@ -5766,7 +6113,7 @@
 
 The autocommand is useful if you have a plugin that is a long Vim script file.
 You can define the autocommand and quickly quit the script with |:finish|.
-That makes Vim startup faster.  The autocommand should then load the same file
+That makes Vim startup faster.	The autocommand should then load the same file
 again, setting a variable to skip the |:finish| command.
 
 Use the FuncUndefined autocommand event with a pattern that matches the
@@ -5827,7 +6174,7 @@
 And you will get an error message every time.
 
 Also note that if you have two script files, and one calls a function in the
-other and vise versa, before the used function is defined, it won't work.
+other and vice versa, before the used function is defined, it won't work.
 Avoid using the autoload functionality at the toplevel.
 
 Hint: If you distribute a bunch of scripts you can pack them together with the
@@ -5848,7 +6195,7 @@
 "adjective" was set to "quiet", then it would be to "my_quiet_variable".
 
 One application for this is to create a set of variables governed by an option
-value.  For example, the statement >
+value.	For example, the statement >
 	echo my_{&background}_message
 
 would output the contents of "my_dark_message" or "my_light_message" depending
@@ -5888,8 +6235,11 @@
 			{expr1}.  {var-name} must refer to a list and {idx}
 			must be a valid index in that list.  For nested list
 			the index can be repeated.
-			This cannot be used to add an item to a list.
-
+			This cannot be used to add an item to a |List|.
+			This cannot be used to set a byte in a String.	You
+			can do that like this: >
+				:let var = var[0:2] . 'X' . var[4:]
+<
 							*E711* *E719*
 :let {var-name}[{idx1}:{idx2}] = {expr1}		*E708* *E709* *E710*
 			Set a sequence of items in a |List| to the result of
@@ -5931,7 +6281,7 @@
 			that would match everywhere.
 
 :let @{reg-name} .= {expr1}
-			Append {expr1} to register {reg-name}.  If the
+			Append {expr1} to register {reg-name}.	If the
 			register was empty it's like setting it to {expr1}.
 
 :let &{option-name} = {expr1}			*:let-option* *:let-&*
@@ -6006,7 +6356,7 @@
 			Like above, but append/add/subtract the value for each
 			|List| item.
 							*E106*
-:let {var-name}	..	List the value of variable {var-name}.  Multiple
+:let {var-name}	..	List the value of variable {var-name}.	Multiple
 			variable names may be given.  Special names recognized
 			here:				*E738*
 			  g:	global variables
@@ -6150,7 +6500,7 @@
 				:for item in copy(mylist)
 <			When not making a copy, Vim stores a reference to the
 			next item in the list, before executing the commands
-			with the current item.  Thus the current item can be
+			with the current item.	Thus the current item can be
 			removed without effect.  Removing any later item means
 			it will not be found.  Thus the following example
 			works (an inefficient way to make a list empty): >
@@ -6356,7 +6706,7 @@
 			message in the |message-history|.  When used in a
 			script or function the line number will be added.
 			Spaces are placed between the arguments as with the
-			:echo command.  When used inside a try conditional,
+			:echo command.	When used inside a try conditional,
 			the message is raised as an error exception instead
 			(see |try-echoerr|).
 			Example: >
@@ -6368,7 +6718,7 @@
 							*:exe* *:execute*
 :exe[cute] {expr1} ..	Executes the string that results from the evaluation
 			of {expr1} as an Ex command.  Multiple arguments are
-			concatenated, with a space in between.  {expr1} is
+			concatenated, with a space in between.	{expr1} is
 			used as the processed command, command line editing
 			keys are not recognized.
 			Cannot be followed by a comment.
@@ -6386,6 +6736,11 @@
 		:execute "normal ixxx\<Esc>"
 <			This has an <Esc> character, see |expr-string|.
 
+			Be careful to correctly escape special characters in
+			file names.  The |fnameescape()| function can be used
+			for this.  Example: >
+		:execute "e " . fnameescape(filename)
+<
 			Note: The executed string may be any command-line, but
 			you cannot start or end a "while", "for" or "if"
 			command.  Thus this is illegal: >
@@ -6428,21 +6783,21 @@
 clauses and the finally clause is called a try block. >
 
      :try
-     :  ...
-     :  ...				TRY BLOCK
-     :  ...
+     :	...
+     :	...				TRY BLOCK
+     :	...
      :catch /{pattern}/
-     :  ...
-     :  ...				CATCH CLAUSE
-     :  ...
+     :	...
+     :	...				CATCH CLAUSE
+     :	...
      :catch /{pattern}/
-     :  ...
-     :  ...				CATCH CLAUSE
-     :  ...
+     :	...
+     :	...				CATCH CLAUSE
+     :	...
      :finally
-     :  ...
-     :  ...				FINALLY CLAUSE
-     :  ...
+     :	...
+     :	...				FINALLY CLAUSE
+     :	...
      :endtry
 
 The try conditional allows to watch code for exceptions and to take the
@@ -6467,14 +6822,14 @@
 the ":endtry" are not executed and the exception might be caught elsewhere,
 see |try-nesting|.
    When during execution of a catch clause another exception is thrown, the
-remaining lines in that catch clause are not executed.  The new exception is
+remaining lines in that catch clause are not executed.	The new exception is
 not matched against the patterns in any of the ":catch" commands of the same
 try conditional and none of its catch clauses is taken.  If there is, however,
 a finally clause, it is executed, and the exception pends during its
 execution.  The commands following the ":endtry" are not executed.  The new
 exception might, however, be caught elsewhere, see |try-nesting|.
    When during execution of the finally clause (if present) an exception is
-thrown, the remaining lines in the finally clause are skipped.  If the finally
+thrown, the remaining lines in the finally clause are skipped.	If the finally
 clause has been taken because of an exception from the try block or one of the
 catch clauses, the original (pending) exception is discarded.  The commands
 following the ":endtry" are not executed, and the exception from the finally
@@ -6508,7 +6863,7 @@
 of its catch clauses or its finally clause, the outer try conditional is
 checked according to the rules above.  If the inner try conditional is in the
 try block of the outer try conditional, its catch clauses are checked, but
-otherwise only the finally clause is executed.  It does not matter for
+otherwise only the finally clause is executed.	It does not matter for
 nesting, whether the inner try conditional is directly contained in the outer
 one, or whether the outer one sources a script or calls a function containing
 the inner try conditional.
@@ -6571,7 +6926,7 @@
 however displays "in Bar" and throws 4711.
 
 Any other command that takes an expression as argument might also be
-abandoned by an (uncaught) exception during the expression evaluation.  The
+abandoned by an (uncaught) exception during the expression evaluation.	The
 exception is then propagated to the caller of the command.
    Example: >
 
@@ -6748,20 +7103,20 @@
 
 This code displays
 
-	Vim(echoerr):Vim:E492: Not an editor command:   asdf ~
+	Vim(echoerr):Vim:E492: Not an editor command:	asdf ~
 
 
 CLEANUP CODE						*try-finally*
 
 Scripts often change global settings and restore them at their end.  If the
 user however interrupts the script by pressing CTRL-C, the settings remain in
-an inconsistent state.  The same may happen to you in the development phase of
+an inconsistent state.	The same may happen to you in the development phase of
 a script when an error occurs or you explicitly throw an exception without
 catching it.  You can solve these problems by using a try conditional with
 a finally clause for restoring the settings.  Its execution is guaranteed on
 normal control flow, on error, on an explicit ":throw", and on interrupt.
 (Note that errors and interrupts from inside the try conditional are converted
-to exceptions.  When not caught, they terminate the script after the finally
+to exceptions.	When not caught, they terminate the script after the finally
 clause has been executed.)
 Example: >
 
@@ -6819,7 +7174,7 @@
 	:echo Foo() "returned by Foo"
 
 This displays "cleanup" and "4711 returned by Foo".  You don't need to add an
-extra ":return" in the finally clause.  (Above all, this would override the
+extra ":return" in the finally clause.	(Above all, this would override the
 return value.)
 
 							*except-from-finally*
@@ -6863,7 +7218,7 @@
 	Vim:{errmsg}
 
 {cmdname} is the name of the command that failed; the second form is used when
-the command name is not known.  {errmsg} is the error message usually produced
+the command name is not known.	{errmsg} is the error message usually produced
 when the error occurs outside try conditionals.  It always begins with
 a capital "E", followed by a two or three-digit error number, a colon, and
 a space.
@@ -6968,7 +7323,7 @@
 CATCHING INTERRUPTS					*catch-interrupt*
 
 When there are active try conditionals, an interrupt (CTRL-C) is converted to
-the exception "Vim:Interrupt".  You can catch it like every exception.  The
+the exception "Vim:Interrupt".	You can catch it like every exception.	The
 script is not terminated, then.
    Example: >
 
@@ -7002,7 +7357,7 @@
 	:endwhile
 
 You can interrupt a task here by pressing CTRL-C; the script then asks for
-a new command.  If you press CTRL-C at the prompt, the script is terminated.
+a new command.	If you press CTRL-C at the prompt, the script is terminated.
 
 For testing what happens when CTRL-C would be pressed on a specific line in
 your script, use the debug mode and execute the |>quit| or |>interrupt|
@@ -7159,7 +7514,7 @@
 autocommands.  Exceptions from that sequence will be catchable by the caller
 of the command.
    Example:  For the ":write" command, the caller cannot know whether the file
-had actually been written when the exception occurred.  You need to tell it in
+had actually been written when the exception occurred.	You need to tell it in
 some way. >
 
 	:if !exists("cnt")
@@ -7255,7 +7610,7 @@
 	:
 	:function! Write(file)
 	:  try
-	:    execute "write" a:file
+	:    execute "write" fnameescape(a:file)
 	:  catch /^Vim(write):/
 	:    throw "EXCEPT:IO(" . getcwd() . ", " . a:file . "):WRITEERR"
 	:  endtry
@@ -7307,8 +7662,8 @@
 
 This problem has been solved by converting errors to exceptions and using
 immediate abortion (if not suppressed by ":silent!") only when a try
-conditional is active.  This is no restriction since an (error) exception can
-be caught only from an active try conditional.  If you want an immediate
+conditional is active.	This is no restriction since an (error) exception can
+be caught only from an active try conditional.	If you want an immediate
 termination without catching the error, just use a try conditional without
 catch clause.  (You can cause cleanup code being executed before termination
 by specifying a finally clause.)
@@ -7323,8 +7678,8 @@
 script on error.  You get the immediate abortion on error and can catch the
 error in the new script.  If however the sourced script suppresses error
 messages by using the ":silent!" command (checking for errors by testing
-|v:errmsg| if appropriate), its execution path is not changed.  The error is
-not converted to an exception.  (See |:silent|.)  So the only remaining cause
+|v:errmsg| if appropriate), its execution path is not changed.	The error is
+not converted to an exception.	(See |:silent|.)  So the only remaining cause
 where this happens is for scripts that don't care about errors and produce
 error messages.  You probably won't want to use such code from your new
 scripts.
@@ -7476,18 +7831,18 @@
     silent scriptnames
     redir END
     
-    " Split the output into lines and parse each line.  Add an entry to the
+    " Split the output into lines and parse each line.	Add an entry to the
     " "scripts" dictionary.
     let scripts = {}
     for line in split(scriptnames_output, "\n")
       " Only do non-blank lines.
       if line =~ '\S'
 	" Get the first number in the line.
-        let nr = matchstr(line, '\d\+')
+	let nr = matchstr(line, '\d\+')
 	" Get the file name, remove the script number " 123: ".
-        let name = substitute(line, '.\+:\s*', '', '')
+	let name = substitute(line, '.\+:\s*', '', '')
 	" Add an item to the Dictionary
-        let scripts[nr] = name
+	let scripts[nr] = name
       endif
     endfor
     unlet scriptnames_output
@@ -7518,7 +7873,7 @@
 The 'foldexpr', 'includeexpr', 'indentexpr', 'statusline' and 'foldtext'
 options are evaluated in a sandbox.  This means that you are protected from
 these expressions having nasty side effects.  This gives some safety for when
-these options are set from a modeline.  It is also used when the command from
+these options are set from a modeline.	It is also used when the command from
 a tags file is executed and for CTRL-R = in the command line.
 The sandbox is also used for the |:sandbox| command.
 
@@ -7556,7 +7911,7 @@
 In a few situations it is not allowed to change the text in the buffer, jump
 to another window and some other things that might confuse or break what Vim
 is currently doing.  This mostly applies to things that happen when Vim is
-actually doing something else.  For example, evaluating the 'balloonexpr' may
+actually doing something else.	For example, evaluating the 'balloonexpr' may
 happen any moment the mouse cursor is resting at some position.
 
 This is not allowed when the textlock is active:
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index fd71db9..c814093 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt*      For Vim version 7.1.  Last change: 2007 May 11
+*fold.txt*      For Vim version 7.2a.  Last change: 2007 May 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 9ff6177..457d2cc 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt*   For Vim version 7.1.  Last change: 2006 Jul 12
+*gui_x11.txt*   For Vim version 7.2a.  Last change: 2007 Dec 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -426,7 +426,7 @@
 - The session file is stored to a separate directory (usually $HOME/.gnome2).
 - 'sessionoptions' is ignored, and a hardcoded set of appropriate flags is
   used instead: >
-	blank,curdir,folds,globals,help,options,winsize
+	blank,curdir,folds,globals,help,options,tabpages,winsize
 - The internal variable |v:this_session| is not changed when storing the
   session.  Also, it is restored to its old value when logging in again.
 
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 5bc8800..5cad2bf 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.1.  Last change: 2006 Nov 07
+*help.txt*	For Vim version 7.2a.  Last change: 2008 Jun 21
 
 			VIM - main help file
 									 k
@@ -143,7 +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
+|ft_ada.txt|	Ada (the programming language) support
 |hangulin.txt|	Hangul (Korean) input mode
 |rileft.txt|	right-to-left editing mode
 
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index c02d97e..7448062 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 7.1.  Last change: 2005 Mar 29
+*if_cscop.txt*  For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Andy Kahn
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index 2dfe257..c381a63 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.1.  Last change: 2006 Apr 30
+*if_ruby.txt*   For Vim version 7.2a.  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 c2b7947..956895d 100644
--- a/runtime/doc/if_sniff.txt
+++ b/runtime/doc/if_sniff.txt
@@ -1,4 +1,4 @@
-*if_sniff.txt*	For Vim version 7.1.  Last change: 2005 Mar 29
+*if_sniff.txt*	For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL
diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt
index fd95459..344592b 100644
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt*    For Vim version 7.1.  Last change: 2006 Mar 06
+*if_tcl.txt*    For Vim version 7.2a.  Last change: 2006 Mar 06
 
 
 		  VIM REFERENCE MANUAL    by Ingo Wilken
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 121dec1..4eabcf7 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.1.  Last change: 2006 Aug 11
+*mbyte.txt*     For Vim version 7.2a.  Last change: 2008 Jun 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -235,7 +235,7 @@
 ==============================================================================
 3.  Encoding				*mbyte-encoding*
 
-Vim uses the 'encoding' option to specify how characters identified and
+Vim uses the 'encoding' option to specify how characters are identified and
 encoded when they are used inside Vim.  This applies to all the places where
 text is used, including buffers (files loaded into memory), registers and
 variables.
@@ -351,6 +351,8 @@
 u   ucs2be	same as ucs-2 (big endian)
 u   ucs-2be	same as ucs-2 (big endian)
 u   ucs-4be	same as ucs-4 (big endian)
+u   utf-32	same as ucs-4
+u   utf-32le	same as ucs-4le
     default     stands for the default value of 'encoding', depends on the
 		environment
 
@@ -966,11 +968,11 @@
     - Active Input Method Manager (Global IME)
 	http://msdn.microsoft.com/workshop/misc/AIMM/aimm.asp
 
-    Support Global IME is a experimental feature.
+    Support for Global IME is an experimental feature.
 
 NOTE: For IME to work you must make sure the input locales of your language
 are added to your system.  The exact location of this depends on the version
-of Windows you use.  For example, on my W2P box:
+of Windows you use.  For example, on my Windows 2000 box:
 1. Control Panel
 2. Regional Options
 3. Input Locales Tab
@@ -1295,7 +1297,7 @@
   characters, as hex numbers.
 - ":set encoding=utf-8 fileencodings=" forces using UTF-8 for all files.  The
   default is to use the current locale for 'encoding' and set 'fileencodings'
-  to automatically the encoding of a file.
+  to automatically detect the encoding of a file.
 
 
 STARTING VIM
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index a7302e9..cdeb4f9 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.1.  Last change: 2006 Dec 07
+*motion.txt*    For Vim version 7.2a.  Last change: 2008 May 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -366,9 +366,11 @@
 
 							*e*
 e			Forward to the end of word [count] |inclusive|.
+			Does not stop in an empty line.
 
 							*E*
 E			Forward to the end of WORD [count] |inclusive|.
+			Does not stop in an empty line.
 
 <S-Left>	or					*<S-Left>* *b*
 b			[count] words backward.  |exclusive| motion.
@@ -465,9 +467,9 @@
 							*paragraph*
 A paragraph begins after each empty line, and also at each of a set of
 paragraph macros, specified by the pairs of characters in the 'paragraphs'
-option.  The default is "IPLPPPQPP LIpplpipbp", which corresponds to the
-macros ".IP", ".LP", etc.  (These are nroff macros, so the dot must be in the
-first column).  A section boundary is also a paragraph boundary.
+option.  The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp", which corresponds to
+the macros ".IP", ".LP", etc.  (These are nroff macros, so the dot must be in
+the first column).  A section boundary is also a paragraph boundary.
 Note that a blank line (only containing white space) is NOT a paragraph
 boundary.
 Also note that this does not include a '{' or '}' in the first column.  When
@@ -809,10 +811,6 @@
 buffer list.  If you remove the file from the buffer list, all its marks are
 lost.  If you delete a line that contains a mark, that mark is erased.
 
-To delete a mark: Create a new line, position the mark there, delete the line.
-E.g.: "o<Esc>mxdd".  This does change the file though.  Using "u" won't work,
-it also restores marks.
-
 Lowercase marks can be used in combination with operators.  For example: "d't"
 deletes the lines from the cursor position to mark 't'.  Hint: Use mark 't' for
 Top, 'b' for Bottom, etc..  Lowercase marks are restored when using undo and
@@ -1173,13 +1171,15 @@
 					cursor is on the # or no ([{
 					following)
 			For other items the matchit plugin can be used, see
-			|matchit-install|.
+			|matchit-install|.  This plugin also helps to skip
+			matches in comments.
 
 			When 'cpoptions' contains "M" |cpo-M| backslashes
 			before parens and braces are ignored.  Without "M" the
 			number of backslashes matters: an even number doesn't
 			match with an odd number.  Thus in "( \) )" and "\( (
 			\)" the first and last parenthesis match.
+
 			When the '%' character is not present in 'cpoptions'
 			|cpo-%|, parens and braces inside double quotes are
 			ignored, unless the number of parens/braces in a line
@@ -1188,8 +1188,13 @@
 			are also ignored (parens and braces inside single
 			quotes).  Note that this works fine for C, but not for
 			Perl, where single quotes are used for strings.
-			No count is allowed ({count}% jumps to a line {count}
-			percentage down the file |N%|).  Using '%' on
+
+			Nothing special is done for matches in comments.  You
+			can either use the matchit plugin |matchit-install| or
+			put quotes around matches.
+
+			No count is allowed, {count}% jumps to a line {count}
+			percentage down the file |N%|.  Using '%' on
 			#if/#else/#endif makes the movement linewise.
 
 						*[(*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 568228c..568dab6 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.1.  Last change: 2008 Feb 24
+*options.txt*	For Vim version 7.2a.  Last change: 2008 Jun 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -111,19 +111,31 @@
 When 'verbose' is non-zero, displaying an option value will also tell where it
 was last set.  Example: >
 	:verbose set shiftwidth cindent?
-	  shiftwidth=4
-		  Last set from modeline
-	  cindent
-		  Last set from /usr/local/share/vim/vim60/ftplugin/c.vim
-This is only done when specific option values are requested, not for ":set
-all" or ":set" without an argument.
-When the option was set by hand there is no "Last set" message.  There is only
-one value for all local options with the same name.  Thus the message applies
-to the option name, not necessarily its value.
+<	  shiftwidth=4 ~
+		  Last set from modeline ~
+	  cindent ~
+		  Last set from /usr/local/share/vim/vim60/ftplugin/c.vim ~
+This is only done when specific option values are requested, not for ":verbose
+set all" or ":verbose set" without an argument.
+When the option was set by hand there is no "Last set" message.
 When the option was set while executing a function, user command or
 autocommand, the script in which it was defined is reported.
 Note that an option may also have been set as a side effect of setting
 'compatible'.
+A few special texts:
+	Last set from modeline ~
+		Option was set in a |modeline|.
+	Last set from --cmd argument ~
+		Option was set with command line argument |--cmd| or +.
+	Last set from -c argument ~
+		Option was set with command line argument |-c|, +, |-S| or
+		|-q|.
+	Last set from environment variable ~
+		Option was set from an environment variable, $VIMINIT,
+		$GVIMINIT or $EXINIT.
+	Last set from error handler ~
+		Option was cleared when evaluating it resulted in an error.
+
 {not available when compiled without the +eval feature}
 
 							*:set-termcap* *E522*
@@ -265,7 +277,10 @@
 			Without argument: Display all local option's local
 			values which are different from the default.
 			When displaying a specific local option, show the
-			local value.  For a global option the global value is
+			local value.  For a global/local boolean option, when
+			the global value is being used, "--" is displayed
+			before the option name.
+			For a global option the global value is
 			shown (but that might change in the future).
 			{not in Vi}
 
@@ -797,7 +812,7 @@
 
 	When 'background' is set Vim will adjust the default color groups for
 	the new value.  But the colors used for syntax highlighting will not
-	change.
+	change.					*g:colors_name*
 	When a color scheme is loaded (the "colors_name" variable is set)
 	setting 'background' will cause the color scheme to be reloaded.  If
 	the color scheme adjusts to the value of 'background' this will work.
@@ -1148,9 +1163,11 @@
 						*'browsedir'* *'bsdir'*
 'browsedir' 'bsdir'	string	(default: "last")
 			global
-			{not in Vi} {only for Motif and Win32 GUI}
+			{not in Vi} {only for Motif, Athena, GTK, Mac and
+			Win32 GUI}
 	Which directory to use for the file browser:
-	   last		Use same directory as with last file browser.
+	   last		Use same directory as with last file browser, where a
+	   		file was opened or saved.
 	   buffer	Use the directory of the related buffer.
 	   current	Use the current directory.
 	   {path}	Use the specified directory
@@ -1343,7 +1360,7 @@
 			{not in Vi}
 			{not available when compiled without the |+cindent|
 			feature}
-	Enables automatic C program indenting  See 'cinkeys' to set the keys
+	Enables automatic C program indenting.  See 'cinkeys' to set the keys
 	that trigger reindenting in insert mode and 'cinoptions' to set your
 	preferred indent style.
 	If 'indentexpr' is not empty, it overrules 'cindent'.
@@ -1711,7 +1728,8 @@
 	tabs followed by spaces as required (unless |'expandtab'| is enabled,
 	in which case only spaces are used).  Enabling this option makes the
 	new line copy whatever characters were used for indenting on the
-	existing line.  If the new indent is greater than on the existing
+	existing line.  'expandtab' has no effect on these characters, a Tab
+	remains a Tab.  If the new indent is greater than on the existing
 	line, the remaining space is filled in the normal manner.
 	NOTE: 'copyindent' is reset when 'compatible' is set.
 	Also see 'preserveindent'.
@@ -2423,8 +2441,8 @@
 			global or local to buffer |global-local|
 			{not in Vi}
 	External program to use for "=" command.  When this option is empty
-	the internal formatting functions are used ('lisp', 'cindent' or
-	'indentexpr').
+	the internal formatting functions are used; either 'lisp', 'cindent'
+	or 'indentexpr'.
 	Environment variables are expanded |:set_env|.  See |option-backslash|
 	about including spaces and backslashes.
 	This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -3362,7 +3380,7 @@
 		'guitablabel' can be used to change the text in the labels.
 		When 'e' is missing a non-GUI tab pages line may be used.
 		The GUI tabs are only supported on some systems, currently
-		GTK, Motif and MS-Windows.
+		GTK, Motif, Mac OS/X and MS-Windows.
 								*'go-f'*
 	  'f'	Foreground: Don't use fork() to detach the GUI from the shell
 		where it was started.  Use this for programs that wait for the
@@ -3618,7 +3636,7 @@
 	When you get bored looking at the highlighted matches, you can turn it
 	off with |:nohlsearch|.  As soon as you use a search command, the
 	highlighting comes back.
-	'redrawtime' specifies the maximum time spend on finding matches.
+	'redrawtime' specifies the maximum time spent on finding matches.
 	When the search pattern can match an end-of-line, Vim will try to
 	highlight all of the matched text.  However, this depends on where the
 	search starts.  This will be the first line in the window or the first
@@ -3917,12 +3935,13 @@
 			local to buffer
 			{not in Vi}
 	When doing keyword completion in insert mode |ins-completion|, and
-	'ignorecase' is also on, the case of the match is adjusted.  If the
-	typed text contains a lowercase letter where the match has an upper
-	case letter, the completed part is made lowercase.  If the typed text
-	has no lowercase letters and the match has a lowercase letter where
-	the typed text has an uppercase letter, and there is a letter before
-	it, the completed part is made uppercase.
+	'ignorecase' is also on, the case of the match is adjusted depending
+	on the typed text.  If the typed text contains a lowercase letter
+	where the match has an upper case letter, the completed part is made
+	lowercase.  If the typed text has no lowercase letters and the match
+	has a lowercase letter where the typed text has an uppercase letter,
+	and there is a letter before it, the completed part is made uppercase.
+	With 'noinfercase' the match is used as-is.
 
 			*'insertmode'* *'im'* *'noinsertmode'* *'noim'*
 'insertmode' 'im'	boolean	(default off)
@@ -3967,6 +3986,10 @@
 	Multi-byte characters 256 and above are always included, only the
 	characters up to 255 are specified with this option.
 	For UTF-8 the characters 0xa0 to 0xff are included as well.
+	Think twice before adding white space to this option.  Although a
+	space may appear inside a file name, the effect will be that Vim
+	doesn't know where a file name starts or ends when doing completion.
+	It most likely works better without a space in 'isfname'.
 
 	Note that on systems using a backslash as path separator, Vim tries to
 	do its best to make it work as you would expect.  That is a bit
@@ -3993,7 +4016,7 @@
 	are included.  Normally these are the characters a to z and A to Z,
 	plus accented characters.  To include '@' itself use "@-@".  Examples:
 		"@,^a-z"	All alphabetic characters, excluding lower
-				case letters.
+				case ASCII letters.
 		"a-z,A-Z,@-@"	All letters plus the '@' character.
 	A comma can be included by using it where a character number is
 	expected.  Example:
@@ -4617,8 +4640,9 @@
 			global
 			{not in Vi}
 	Enable the use of the mouse.  Only works for certain terminals
-	(xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, and Linux console
-	with gpm).  For using the mouse in the GUI, see |gui-mouse|.
+	(xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
+	sysmouse and Linux console with gpm).  For using the mouse in the
+	GUI, see |gui-mouse|.
 	The mouse can be enabled for different modes:
 		n	Normal mode
 		v	Visual mode
@@ -4948,6 +4972,7 @@
 	Note that typing <F10> in paste mode inserts "<F10>", since in paste
 	mode everything is inserted literally, except the 'pastetoggle' key
 	sequence.
+	When the value has several bytes 'ttimeoutlen' applies.
 
 						*'pex'* *'patchexpr'*
 'patchexpr' 'pex'	string	(default "")
@@ -5054,6 +5079,8 @@
 	enabled, in which case only spaces are used).  Enabling this option
 	means the indent will preserve as many existing characters as possible
 	for indenting, and only add additional tabs or spaces as required.
+	'expandtab' does not apply to the preserved white space, a Tab remains
+	a Tab.
 	NOTE: When using ">>" multiple times the resulting indent is a mix of
 	tabs and spaces.  You might not like this.
 	NOTE: 'preserveindent' is reset when 'compatible' is set.
@@ -5894,6 +5921,9 @@
 	pattern (if there is one) as possible matches.  Thus, if you have
 	matched a C function, you can see a template for what arguments are
 	required (coding style permitting).
+	Note that this doesn't work well together with having "longest" in
+	'completeopt', because the completion from the search pattern may not
+	match the typed text.
 
 				 *'showmatch'* *'sm'* *'noshowmatch'* *'nosm'*
 'showmatch' 'sm'	boolean	(default off)
@@ -6478,6 +6508,8 @@
 	   split	If included, split the current window before loading
 			a buffer.  Otherwise: do not split, use current window.
 			Supported in |quickfix| commands that display errors.
+	   newtab	Like "split", but open a new tab page.  Overrules
+	   		"split" when both are present.
 
 						*'synmaxcol'* *'smc'*
 'synmaxcol' 'smc'	number	(default 3000)
@@ -6602,7 +6634,7 @@
 
 	Linear searching is done anyway, for one file, when Vim finds a line
 	at the start of the file indicating that it's not sorted: >
-   !_TAG_FILE_SORTED	0	/some command/
+   !_TAG_FILE_SORTED	0	/some comment/
 <	[The whitespace before and after the '0' must be a single <Tab>]
 
 	When a binary search was done and no match was found in any of the
@@ -7089,7 +7121,7 @@
 	"xterm", when the terminal name doesn't start with "xterm", but it can
 	handle xterm mouse codes.
 	The "xterm2" value will be set if the xterm version is reported to be
-	95 of higher.  This only works when compiled with the |+termresponse|
+	95 or higher.  This only works when compiled with the |+termresponse|
 	feature and if |t_RV| is set to the escape sequence to request the
 	xterm version number.  Otherwise "xterm2" must be set explicitly.
 	If you do not want 'ttymouse' to be set to "xterm2" automatically, set
@@ -7424,6 +7456,7 @@
 			{not in Vi}
 	Character you have to type to start wildcard expansion in the
 	command-line, as specified with 'wildmode'.
+	More info here: |cmdline-completion|.
 	The character is not recognized when used inside a macro.  See
 	'wildcharm' for that.
 	Although 'wc' is a number option, you can set it to a special key: >
@@ -7441,7 +7474,7 @@
 	you'll never actually type 'wildcharm', just use it in mappings that
 	automatically invoke completion mode, e.g.: >
 		:set wcm=<C-Z>
-		:cmap ss so $vim/sessions/*.vim<C-Z>
+		:cnoremap ss so $vim/sessions/*.vim<C-Z>
 <	Then after typing :ss you can use CTRL-P & CTRL-N.
 
 						*'wildignore'* *'wig'*
@@ -7536,6 +7569,7 @@
 <	List all matches without completing, then each full match >
 		:set wildmode=longest,list
 <	Complete longest common string, then list alternatives.
+	More info here: |cmdline-completion|.
 
 						*'wildoptions'* *'wop'*
 'wildoptions' 'wop'	string	(default "")
@@ -7596,13 +7630,17 @@
 			feature}
 	Minimal number of lines for the current window.  This is not a hard
 	minimum, Vim will use fewer lines if there is not enough room.  If the
-	current window is smaller, its size is increased, at the cost of the
-	height of other windows.  Set it to 999 to make the current window
-	always fill the screen (although this has the drawback that ":all"
-	will create only two windows).  Set it to a small number for normal
-	editing.
-	Minimum value is 1.
-	The height is not adjusted after one of the commands to change the
+	focus goes to a window that is smaller, its size is increased, at the
+	cost of the height of other windows.
+	Set 'winheight' to a small number for normal editing.
+	Set it to 999 to make the current window fill most of the screen.
+	Other windows will be only 'winminheight' high.  This has the drawback
+	that ":all" will create only two windows.  To avoid "vim -o 1 2 3 4"
+	to create only two windows, set the option after startup is done,
+	using the |VimEnter| event: >
+		au VimEnter * set winheight=999
+<	Minimum value is 1.
+	The height is not adjusted after one of the commands that change the
 	height of the current window.
 	'winheight' applies to the current window.  Use 'winminheight' to set
 	the minimal height for other windows.
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index 1e0251b..9c7c0dc 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt*    For Vim version 7.1.  Last change: 2005 Mar 29
+*os_390.txt*    For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Ralf Schandl
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index d0cc780..7c88f9e 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt*    For Vim version 7.1.  Last change: 2006 Apr 30
+*os_mac.txt*    For Vim version 7.2a.  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 c222e9a..6aa8072 100644
--- a/runtime/doc/os_msdos.txt
+++ b/runtime/doc/os_msdos.txt
@@ -1,4 +1,4 @@
-*os_msdos.txt*  For Vim version 7.1.  Last change: 2005 Mar 29
+*os_msdos.txt*  For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index e880aef..68a0299 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,93 +1,99 @@
-*pi_netrw.txt*  For Vim version 7.1.  Last change: 2007 May 08
+*pi_netrw.txt*  For Vim version 7.2a.  Last change: 2008 Jun 21
 
 	    -----------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell, Jr.
 	    -----------------------------------------------------
 
 
-*dav*           *http*          *network*       *Nwrite*   *netrw-file*
-*fetch*         *netrw*         *Nread*         *rcp*      *scp*
-*ftp*           *netrw.vim*     *Nsource*       *rsync*    *sftp*
+*dav*    *ftp*    *netrw-file*  *Nread*    *rcp*    *scp*
+*davs*   *http*   *netrw.vim*   *Nsource*  *rsync*  *sftp*
+*fetch*  *netrw*  *network*     *Nwrite*
 
 ==============================================================================
-1. Contents						*netrw-contents*
+1. Contents						*netrw-contents* {{{1
 
 1.  Contents.............................................|netrw-contents|
 2.  Starting With Netrw..................................|netrw-start|
 3.  Netrw Reference......................................|netrw-ref|
-      CONTROLLING EXTERNAL APPLICATIONS..................|netrw-externapp|
+      EXTERNAL APPLICATIONS AND PROTOCOLS................|netrw-externapp|
       READING............................................|netrw-read|
       WRITING............................................|netrw-write|
       DIRECTORY LISTING..................................|netrw-dirlist|
       CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
-      VARIABLES..........................................|netrw-variables|
+      VARIABLES AND SETTINGS.............................|netrw-variables|
       PATHS..............................................|netrw-path|
 4.  Network-Oriented File Transfer.......................|netrw-xfer|
       NETRC..............................................|netrw-netrc|
       PASSWORD...........................................|netrw-passwd|
 5.  Activation...........................................|netrw-activate|
-6.  Transparent File Transfer............................|netrw-transparent|
+6.  Transparent File Editing.............................|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|
-      Netrw Browser Variables............................|netrw-browse-var|
-      Introduction To Directory Browsing.................|netrw-browse-intro|
-      Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
-      Directory Exploring Commands.......................|netrw-explore|
-      Refreshing The Listing.............................|netrw-ctrl-l|
-      Going Up...........................................|netrw--|
+9.  Browsing.............................................|netrw-browse|
+      Introduction To Browsing...........................|netrw-intro-browse|
+      Quick Reference: Maps..............................|netrw-browse-maps|
+      Quick Reference: Commands..........................|netrw-browse-cmds|
+      Bookmarking A Directory............................|netrw-mb|
       Browsing...........................................|netrw-cr|
-      Obtaining A File...................................|netrw-O|
-      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|
+      Browsing With A Vertically Split Window............|netrw-v|
+      Change Listing Style...............................|netrw-i|
+      Changing To A Bookmarked Directory.................|netrw-gb|
       Changing To A Predecessor Directory................|netrw-u|
       Changing To A Successor Directory..................|netrw-U|
       Customizing Browsing With A User Function..........|netrw-x|
+      Deleting Files Or Directories......................|netrw-D|
+      Directory Exploring Commands.......................|netrw-explore|
+      Exploring With Stars and Patterns..................|netrw-star|
+      Displaying Information About File..................|netrw-qf|
+      Edit File Or Directory Hiding List.................|netrw-ctrl-h|
+      Editing The Sorting Sequence.......................|netrw-S|
+      Going Up...........................................|netrw--|
+      Hiding Files Or Directories........................|netrw-a|
+      Improving Browsing.................................|netrw-ssh-hack|
+      Listing Bookmarks And History......................|netrw-qb|
+      Making A New Directory.............................|netrw-d|
       Making The Browsing Directory The Current Directory|netrw-c|
-      Bookmarking A Directory............................|netrw-mb|
-      Changing To A Bookmarked Directory.................|netrw-gb|
-      Listing Bookmarks And History......................|netrw-q|
-      Improving Directory Browsing.......................|netrw-listhack| }}}1
+      Marking Files......................................|netrw-mf|
+      Marking Files By Regular Expression................|netrw-mr|
+      Marked Files: Arbitrary Command....................|netrw-mx|
+      Marked Files: Compression And Decompression........|netrw-mz|
+      Marked Files: Copying..............................|netrw-mc|
+      Marked Files: Diff.................................|netrw-md|
+      Marked Files: Editing..............................|netrw-me|
+      Marked Files: Grep.................................|netrw-mg|
+      Marked Files: Hiding and Unhiding by Suffix........|netrw-mh|
+      Marked Files: Moving...............................|netrw-mm|
+      Marked Files: Printing.............................|netrw-mp|
+      Marked Files: Sourcing.............................|netrw-ms|
+      Marked Files: Tagging..............................|netrw-mT|
+      Marked Files: Setting the Target Directory.........|netrw-mt|
+      Marked Files: Unmarking............................|netrw-mu|
+      Netrw Browser Variables............................|netrw-browser-var|
+      Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
+      Netrw Settings.....................................|netrw-settings|
+      Obtaining A File...................................|netrw-O|
+      Preview Window.....................................|netrw-p|
+      Previous Window....................................|netrw-P|
+      Refreshing The Listing.............................|netrw-ctrl-l|
+      Renaming Files Or Directories......................|netrw-move|
+      Reversing Sorting Order............................|netrw-r|
+      Selecting Sorting Style............................|netrw-s|
 10. Problems and Fixes...................................|netrw-problems|
-11. Debugging............................................|netrw-debug|
+11. Debugging Netrw Itself...............................|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
-<
-You can avoid loading this plugin by setting the "loaded_netrw" variable
-in your <.vimrc> file: >
-
-	:let loaded_netrw = 1
-
 {Vi does not have any of this}
 
 ==============================================================================
-2. Starting With Netrw						*netrw-start*
+2. Starting With Netrw					*netrw-start* {{{1
 
-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|) >
+Netrw makes reading files, writing files, browsing over a network, and
+browsing locally 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
@@ -96,14 +102,13 @@
 
 Netrw supports "transparent" editing of files on other machines using urls
 (see |netrw-transparent|). As an example of this, let's assume you have an
-account on some other machine; try >
+account on some other machine; if you can use scp, try: >
 
 	vim scp://hostname/path/to/file
 <
-if you have an ssh connection.  Want to make ssh/scp easier to use? Check
-out |netrw-listhack|!
+Want to make ssh/scp easier to use? Check out |netrw-ssh-hack|!
 
-What if you have ftp, not ssh/scp?  That's easy, too; try >
+So, what if you have ftp, not ssh/scp?  That's easy, too; try >
 
 	vim ftp://hostname/path/to/file
 <
@@ -117,7 +122,7 @@
 	...
 	default          login USERID password "PASSWORD"
 <
-Now about browsing -- ie. when you just want to look around before editing a
+Now about browsing -- when you just want to look around before editing a
 file.  For browsing on your current host, just "edit" a directory: >
 
 	vim .
@@ -131,28 +136,49 @@
 <
 See |netrw-browse| for more!
 
-There's more protocols supported than scp and ftp, too: see the next
-section, |netrw-externapp|.
+There are more protocols supported by netrw just than scp and ftp, too: see the
+next section, |netrw-externapp|, for how to use these external applications.
+
+If you want to use plugins, but for some reason don't wish to use netrw, then
+you need to avoid loading both the plugin and the autoload portions of netrw.
+You may do so by placing the following two lines in your <.vimrc>: >
+
+	:let g:loaded_netrw       = 1
+	:let g:loaded_netrwPlugin = 1
+<
 
 ==============================================================================
-3. Netrw Reference						*netrw-ref*
+3. Netrw Reference					*netrw-ref* {{{1
 
-CONTROLLING EXTERNAL APPLICATIONS			*netrw-externapp*
+   Netrw supports several protocols in addition to scp and ftp mentioned
+   in |netrw-start|.  These include dav, fetch, http,... well, just look
+   at the list in |netrw-externapp|.  Each protocol is associated with a
+   variable which holds the default command supporting that protocol.
+
+EXTERNAL APPLICATIONS AND PROTOCOLS			*netrw-externapp* {{{2
 
 	Protocol  Variable	    Default Value
 	--------  ----------------  -------------
 	   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*  = "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
+	  http:   *g:netrw_http_cmd*  = "curl -o"     if     curl  is available
+	  http:    g:netrw_http_cmd   = "wget -q -O"  elseif wget  is available
+          http:    g:netrw_http_cmd   = "fetch -o"    elseif fetch is available
 	   rcp:    *g:netrw_rcp_cmd*  = "rcp"
 	 rsync:  *g:netrw_rsync_cmd*  = "rsync -a"
 	   scp:    *g:netrw_scp_cmd*  = "scp -q"
 	  sftp:   *g:netrw_sftp_cmd*  = "sftp"
 
-READING						*netrw-read* *netrw-nread*
+READING						*netrw-read* *netrw-nread* {{{2
+
+	Generally, one may just use the url notation with a normal editing
+	command, such as >
+
+		:e ftp://[user@]machine/path
+<
+	Netrw also provides the Nread command:
+
 	:Nread ?					give help
 	:Nread "machine:path"				uses rcp
 	:Nread "machine path"				uses ftp w/ <.netrc>
@@ -166,7 +192,15 @@
 	:Nread "scp://[user@]machine[[:#]port]/path"	uses scp
 	:Nread "sftp://[user@]machine/path"		uses sftp
 
-WRITING						*netrw-write* *netrw-nwrite*
+WRITING					*netrw-write* *netrw-nwrite* {{{2
+
+	One may just use the url notation with a normal file writing
+	command, such as >
+
+		:w ftp://[user@]machine/path
+<
+	Netrw also provides the Nwrite command:
+
 	:Nwrite ?					give help
 	:Nwrite "machine:path"				uses rcp
 	:Nwrite "machine path"				uses ftp w/ <.netrc>
@@ -179,7 +213,15 @@
 	:Nwrite "sftp://[user@]machine/path"		uses sftp
 	http: not supported!
 
-SOURCING					*netrw-source*
+SOURCING					*netrw-source* {{{2
+
+	One may just use the url notation with the normal file sourcing
+	command, such as >
+
+		:so ftp://[user@]machine/path
+<
+	Netrw also provides the Nsource command:
+
 	:Nsource ?					give help
 	:Nsource "dav://machine[:port]/path"		uses cadaver
 	:Nsource "fetch://[user@]machine/path"		uses fetch
@@ -190,30 +232,48 @@
 	:Nsource "scp://[user@]machine[[:#]port]/path"	uses scp
 	:Nsource "sftp://[user@]machine/path"		uses sftp
 
-DIRECTORY LISTING					*netrw-dirlist*
+DIRECTORY LISTING					*netrw-dirlist* {{{2
+
+	One may browse a directory to get a listing by simply attempting to
+	edit the directory: >
+
+		:e scp://[user]@hostname/path/
+		:e ftp://[user]@hostname/path/
+<
+	For remote directories (ie. those using scp or ftp), that trailing
+	"/" is necessary (it tells netrw that its to treat it as a directory
+	to browse instead of a file to download).
+
+	However, the Nread command can also be used to accomplish this:
+
 	:Nread [protocol]://[user]@hostname/path/
 
-						*netrw-login* *netrw-password*
- CHANGING USERID AND PASSWORD			*netrw-chgup* *netrw-userpass*
+					*netrw-login* *netrw-password*
+CHANGING USERID AND PASSWORD		*netrw-chgup* *netrw-userpass* {{{2
 
 	Attempts to use ftp will prompt you for a user-id and a password.
 	These will be saved in global variables g:netrw_uid and
-	g:netrw_passwd; subsequent uses of ftp will re-use those two items to
+	s:netrw_passwd; subsequent uses of ftp will re-use those two items to
 	simplify the further use of ftp.  However, if you need to use a
 	different user id and/or password, you'll want to call NetUserPass()
 	first.  To work around the need to enter passwords, check if your ftp
 	supports a <.netrc> file in your home directory.  Also see
 	|netrw-passwd| (and if you're using ssh/scp hoping to figure out how
-	to not need to use passwords, look at |netrw-listhack|).
+	to not need to use passwords, look at |netrw-ssh-hack|).
 
 	:NetUserPass [uid [password]]		-- prompts as needed
 	:call NetUserPass()			-- prompts for uid and password
 	:call NetUserPass("uid")		-- prompts for password
 	:call NetUserPass("uid","password")	-- sets global uid and password
 
-VARIABLES						*netrw-variables*
+NETRW VARIABLES AND SETTINGS				*netrw-variables* {{{2
+(also see: |netrw-browser-var| |netrw-protocol| |netrw-settings| |netrw-var|)
 
-(also see: |netrw-browse-var| |netrw-protocol| |netrw-settings| |netrw-var|)
+Netrw provides a lot of variables which allow you to customize netrw to your
+preferences.  One way to look at them is via the command :NetrwSettings (see
+|netrw-settings|) which will display your current netrw settings.  Most such
+settings are described below, in |netrw-browser-options|, and in
+|netrw-externapp|:
 
  *b:netrw_lastfile*	last file Network-read/written retained on a per-buffer
 			basis		(supports plain :Nw )
@@ -236,8 +296,8 @@
 
  *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)
+			   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
@@ -246,7 +306,13 @@
 			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
+ *s:netrw_passwd*	(ftp) password,     retained on a per-session basis
+
+ *g:netrw_preview*	=0 (default) preview window shown in a horizontally
+                           split window
+			=1 preview window shown in a vertically split window.
+			Also affects the "previous window" (see |netrw-P|) in
+			the same way.
 
  *g:netrw_shq*		= "'" for Unix/Linux systems (ie. a single quote)
 			= "'" for Windows + cygwin systems (ie. a single quote)
@@ -258,6 +324,9 @@
  *g:netrw_scpport*      = "-P" : option to use to set port for scp
  *g:netrw_sshport*      = "-p" : option to use to set port for ssh
 
+  *g:netrw_silent*	=0 : transfers done normally
+			=1 : transfers done silently
+
  *g:netrw_use_errorwindow* =1 : messages from netrw will use a separate one
                                 line window.  This window provides reliable
 				delivery of messages. (default)
@@ -279,7 +348,7 @@
  *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)
 
-PATHS								*netrw-path*
+PATHS							*netrw-path* {{{2
 
 Paths to files are generally user-directory relative for most protocols.
 It is possible that some protocol will make paths relative to some
@@ -288,7 +357,7 @@
 	example:  vim scp://user@host/somefile
 	example:  vim scp://user@host/subdir1/subdir2/somefile
 <
-where "somefile" is the "user"'s home directory.  If you wish to get a
+where "somefile" is in the "user"'s home directory.  If you wish to get a
 file using root-relative paths, use the full path:
 >
 	example:  vim scp://user@host//somefile
@@ -296,7 +365,7 @@
 <
 
 ==============================================================================
-4. Network-Oriented File Transfer				*netrw-xfer*
+4. Network-Oriented File Transfer			*netrw-xfer* {{{1
 
 Network-oriented file transfer under Vim is implemented by a VimL-based script
 (<netrw.vim>) using plugin techniques.  It currently supports both reading and
@@ -312,7 +381,7 @@
 	ex. vim ftp://hostname/path/to/file
 <
 The characters preceding the colon specify the protocol to use; in the
-example, its ftp.  The <netrw.vim> script then formulates a command or a
+example, it's ftp.  The <netrw.vim> script then formulates a command or a
 series of commands (typically ftp) which it issues to an external program
 (ftp, scp, etc) which does the actual file transfer/protocol.  Files are read
 from/written to a temporary file (under Unix/Linux, /tmp/...) which the
@@ -364,6 +433,10 @@
   |  dav://host/path                |                            | cadaver    |
   |  :Nread dav://host/path         | :Nwrite dav://host/path    | cadaver    |
   +---------------------------------+----------------------------+------------+
+  | DAV + SSL:                      |                            |            |
+  |  davs://host/path               |                            | cadaver    |
+  |  :Nread davs://host/path        | :Nwrite davs://host/path   | cadaver    |
+  +---------------------------------+----------------------------+------------+
   | FETCH:                          |                            |            |
   |  fetch://[user@]host/path       |                            |            |
   |  fetch://[user@]host:http/path  |  Not Available             | fetch      |
@@ -419,6 +492,10 @@
 
 NETRC							*netrw-netrc*
 
+The <.netrc> file, typically located in your home directory, contains lines
+therein which map a hostname (machine name) to the user id and password you
+prefer to use with it.
+
 The typical syntax for lines in a <.netrc> file is given as shown below.
 Ftp under Unix usually supports <.netrc>; ftp under Windows usually doesn't.
 >
@@ -433,7 +510,7 @@
 	Since this file contains passwords, make very sure nobody else can
 	read this file!  Most programs will refuse to use a .netrc that is
 	readable for others.  Don't forget that the system administrator can
-	still read the file!
+	still read the file!  Ie. for Linux/Unix: chmod 600 .netrc
 
 
 PASSWORD						*netrw-passwd*
@@ -444,17 +521,19 @@
 
 Unfortunately there doesn't appear to be a way for netrw to feed a password to
 scp.  Thus every transfer via scp will require re-entry of the password.
-However, |netrw-listhack| can help with this problem.
+However, |netrw-ssh-hack| can help with this problem.
 
 
 ==============================================================================
-5. Activation						*netrw-activate*
+5. Activation						*netrw-activate* {{{1
 
 Network-oriented file transfers are available by default whenever Vim's
-|'nocompatible'| mode is enabled.  The <netrw.vim> file resides in your
-system's vim-plugin directory and is sourced automatically whenever you bring
-up vim.  I suggest that, at a minimum, you have at least the following in your
-<.vimrc> customization file: >
+|'nocompatible'| mode is enabled.  Netrw's script files reside in your
+system's plugin, autoload, and syntax directories; just the
+plugin/netrwPlugin.vim script is sourced automatically whenever you bring up
+vim.  The main script in autoload/netrw.vim is only loaded when you actually
+use netrw.  I suggest that, at a minimum, you have at least the following in
+your <.vimrc> customization file: >
 
 	set nocp
 	if version >= 600
@@ -463,11 +542,12 @@
 <
 
 ==============================================================================
-6. Transparent File Transfer				*netrw-transparent*
+6. Transparent File Editing			*netrw-transparent* {{{1
 
 Transparent file transfers occur whenever a regular file read or write
-(invoked via an |:autocmd| for |BufReadCmd| or |BufWriteCmd| events) is made.
-Thus one may use files across networks just as simply as if they were local. >
+(invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
+events) is made.  Thus one may read, write, or source  files across networks
+just as easily as if they were local files! >
 
 	vim ftp://[user@]machine/path
 	...
@@ -478,10 +558,10 @@
 
 
 ==============================================================================
-7. Ex Commands						*netrw-ex*
+7. Ex Commands						*netrw-ex* {{{1
 
 The usual read/write commands are supported.  There are also a few
-additional commands available.  Often you won't need to use Nw or
+additional commands available.  Often you won't need to use Nwrite or
 Nread as shown in |netrw-transparent| (ie. simply use >
   :e url
   :r url
@@ -489,20 +569,20 @@
 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
+:[range]Nw[rite]	Write the specified lines to the current
 		file as specified in b:netrw_lastfile.
 
-:[range]Nw {netfile} [{netfile}]...
+:[range]Nw[rite] {netfile} [{netfile}]...
 		Write the specified lines to the {netfile}.
 
-:Nread		Read the specified lines into the current
+:Nr[ead]		Read the specified lines into the current
 		buffer from the file specified in
 		b:netrw_lastfile.
 
-:Nread {netfile} {netfile}...
+:Nr[ead] {netfile} {netfile}...
 		Read the {netfile} after the current line.
 
-:Nsource {netfile}
+:Ns[ource] {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) >
@@ -511,31 +591,33 @@
 		 --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.
+		If g:netrw_uid and s:netrw_passwd don't exist,
+		this function will query the user for them.
 
 :call NetUserPass("userid")
-		This call will set the b:netrw_uid and, if
+		This call will set the g:netrw_uid and, if
 		the password doesn't exist, will query the user for it.
 
 :call NetUserPass("userid","passwd")
-		This call will set both the b:netrw_uid and b:netrw_passwd.
+		This call will set both the g:netrw_uid and s:netrw_passwd.
 		The user-id and password are used by ftp transfers.  One may
-		effectively remove the user-id and password by using ""
-		strings.
+		effectively remove the user-id and password by using empty
+		strings (ie. "").
 
 :NetrwSettings  This command is described in |netrw-settings| -- used to
                 display netrw settings and change netrw behavior.
 
 
 ==============================================================================
-8. Variables and Options			*netrw-options* *netrw-var*
+8. Variables and Options		*netrw-options* *netrw-var* {{{1
+
+(if you're interested in the netrw browser settings, see: |netrw-browser-var|)
 
 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:
-(also see:
-|netrw-settings| |netrw-browse-var| |netrw-protocol| |netrw-settings|) >
+affect <netrw.vim>'s file transfer behavior.  These variables typically may be
+set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
+
+>
 
                         -------------
                         Netrw Options
@@ -584,7 +666,7 @@
 	g:netrw_fname		Holds filename being accessed >
 	------------------------------------------------------------
 <
-								*netrw-protocol*
+							*netrw-protocol*
 
 Netrw supports a number of protocols.  These protocols are invoked using the
 variables listed below, and may be modified by the user.
@@ -706,445 +788,274 @@
 >
 
 ==============================================================================
-9. Directory Browsing	*netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
+9. Browsing		*netrw-browsing* *netrw-browse* *netrw-help* {{{1
+   			*netrw-browser*  *netrw-dir*    *netrw-list*
 
-MAPS								*netrw-maps*
-     <F1>.............Help.......................................|netrw-help|
-     <cr>.............Browsing...................................|netrw-cr|
-     <del>............Deleting Files or Directories..............|netrw-delete|
-     -................Going Up...................................|netrw--|
-     a................Hiding Files or Directories................|netrw-a|
-     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................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|
-     q................Listing Bookmarks and History..............|netrw-q|
-     r................Reversing Sorting Order....................|netrw-r|
-     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|
-     x................Customizing Browsing.......................|netrw-x|
+INTRODUCTION TO BROWSING			*netrw-intro-browse* {{{2
+	(Quick References: |netrw-quickmaps| |netrw-quickcoms|)
 
-    COMMANDS						*netrw-explore-cmds*
-     :Explore[!]  [dir] Explore directory of current file........|netrw-explore|
-     :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|
+Netrw supports the browsing of directories on your local system and on remote
+hosts; browsing includes listing files and directories, entering directories,
+editing files therein, deleting files/directories, making new directories,
+moving (renaming) files and directories, copying files and directories, etc.
+One may mark files and execute any system command on them!  The Netrw browser
+generally implements the previous explorer's maps and commands for remote
+directories, although details (such as pertinent global variable names)
+necessarily differ.  To browse a directory, simply "edit" it! >
 
-QUICK REFERENCE COMMANDS TABLE				*netrw-browse-cmds*
->
-        -------	-----------
-	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|
-	   -	Makes Netrw go up one directory |netrw--|
-	   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)
-	   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	Cycle between thin, long, wide, and tree listings|netrw-i|
-	 <c-l>	Causes Netrw to refresh the directory listing |netrw-ctrl-l|
-	   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
-		 window.  A vertical split is used. |netrw-v|
-	   x	Apply a function to a file. (special browsers) |netrw-x|
-
-NETRW BROWSER VARIABLES					*netrw-browse-var*
->
-   ---				-----------
-   Var				Explanation
-   ---				-----------
-< *g:netrw_alto*		change from above splitting to below splitting
-				by setting this variable (see |netrw-o|)
-				 default: =&sb           (see |'sb'|)
-
-  *g:netrw_altv*		change from left splitting to right splitting
-				by setting this variable (see |netrw-v|)
-				 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  
-				=3: open file in new tab
-
-  *g:netrw_browsex_viewer*	specify user's preference for a viewer: >
-					"kfmclient exec"
-					"gnome-open"
-<				If >
-					"-"
-<				is used, then netrwFileHandler() will look for
-				a script/function to handle the given
-				extension.  (see |netrw_filehandler|).
-
-  *g:netrw_fastbrowse*		=0: slow speed browsing, never re-use
-				    directory listings; always obtain
-				    directory listings.
-				=1: medium speed browsing, re-use directory
-				    listings only when remote browsing.
-				    (default value)
-				=2: fast browsing, only obtains directory
-				    listings when the directory hasn't been
-				    seen before (or |netrw-ctrl-l| is used).
-				Fast browsing retains old directory listing
-				buffers so that they don't need to be
-				re-acquired.  This feature is especially
-				important for remote browsing.  However, if
-				a file is introduced or deleted into or from
-				such directories, the old directory buffer
-				becomes out-of-date.  One may always refresh
-				such a directory listing with |netrw-ctrl-l|.
-				This option gives the choice of the trade-off
-				between accuracy and speed to the user.
-
-  *g:netrw_ftp_browse_reject*	ftp can produce a number of errors and warnings
-				that can show up as "directories" and "files"
-				in the listing.  This pattern is used to
-				remove such embedded messages.  By default its
-				value is:
-				 '^total\s\+\d\+$\|
-				 ^Trying\s\+\d\+.*$\|
-				 ^KERBEROS_V\d rejected\|
-				 ^Security extensions not\|
-				 No such file\|
-				 : connect to address [0-9a-fA-F:]*
-				 : No route to host$'
-
-  *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"
-
-
-  *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
-				   the browsing directory.
-				=0 keep the current directory the same as the
-				   browsing directory.
-				The current browsing directory is contained in
-				b:netrw_curdir (also see |netrw-c|)
-
-  *g:netrw_list_cmd*		command for listing remote directories
-				 default: (if ssh is executable)
-				          "ssh HOSTNAME ls -FLa"
-
-  *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: ""
-
-  *g:netrw_local_mkdir*		command for making a local directory
-				 default: "mkdir"
-
-  *g:netrw_local_rmdir*		remove directory command (rmdir)
-				 default: "rmdir"
-
-  *g:netrw_maxfilenamelen*	=32 by default, selected so as to make long
-				    listings fit on 80 column displays.
-				If your screen is wider, and you have file
-				or directory names longer than 32 bytes,
-				you may set this option to keep listings
-				columnar.
-
-  *g:netrw_mkdir_cmd*		command for making a remote directory
-				 default: "ssh USEPORT HOSTNAME mkdir"
-
-  *g:netrw_rm_cmd*		command for removing files
-				 default: "ssh USEPORT HOSTNAME rm"
-
-  *g:netrw_rmdir_cmd*		command for removing directories
-				 default: "ssh USEPORT HOSTNAME rmdir"
-
-  *g:netrw_rmf_cmd*		 command for removing softlinks
-				 default: "ssh USEPORT HOSTNAME rm -f"
-
-  *g:netrw_sort_by*		sort by "name", "time", or "size"
-				 default: "name"
-
-  *g:netrw_sort_direction*	sorting direction: "normal" or "reverse"
-				 default: "normal"
-
-  *g:netrw_sort_sequence*	when sorting by name, first sort by the
-				comma-separated pattern sequence
-				 default: '[\/]$,*,\.bak$,\.o$,\.h$,
-				           \.info$,\.swp$,\.obj$'
-
-  *g:netrw_ssh_cmd*		One may specify an executable command
-				to use instead of ssh for remote actions
-				such as listing, file removal, etc.
-				 default: ssh
-
-  *g:netrw_ssh_browse_reject*	ssh can sometimes produce unwanted lines,
-				messages, banners, and whatnot that one doesn't
-				want masquerading as "directories" and "files".
-				Use this pattern to remove such embedded
-				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"
-
-  *g:netrw_winsize*		specify initial size of new o/v windows
-				 default: ""
-
-  *g:NetrwTopLvlMenu*		This variable specifies the top level
-				menu name; by default, its "Netrw.".  If
-				you wish to change this, do so in your
-				.vimrc.
-
-INTRODUCTION TO DIRECTORY BROWSING			*netrw-browse-intro*
-
-Netrw supports the browsing of directories on the local system and on remote
-hosts, including listing files and directories, entering directories, editing
-files therein, deleting files/directories, making new directories, and moving
-(renaming) files and directories.  The Netrw browser generally implements the
-previous explorer maps and commands for remote directories, although details
-(such as pertinent global variable names) necessarily differ.
+	vim /your/directory/
+	vim .
+	vim c:\your\directory\
+<
+(Related topics: |netrw-cr|  |netrw-o|  |netrw-p| |netrw-P| |netrw-t|
+                 |netrw-mf|  |netrw-mx| |netrw-D| |netrw-R| |netrw-v| )
 
 The Netrw remote file and directory browser handles two protocols: ssh and
-ftp.  The protocol in the url, if it is ftp, will cause netrw to use ftp
-in its remote browsing.  Any other protocol will be used for file transfers,
-but otherwise the ssh protocol will be used to do remote directory browsing.
+ftp.  The protocol in the url, if it is ftp, will cause netrw also to use ftp
+in its remote browsing.  Specifying any other protocol will cause it to be
+used for file transfers; but the ssh protocol will be used to do remote
+browsing.
 
-To use Netrw's remote directory browser, simply attempt to read a "file" with a
-trailing slash and it will be interpreted as a request to list a directory:
-
+To use Netrw's remote directory browser, simply attempt to read a "file" with
+a trailing slash and it will be interpreted as a request to list a directory:
+>
 	vim [protocol]://[user@]hostname/path/
-
-For local directories, the trailing slash is not required.
-
-If you'd like to avoid entering the password in for remote directory listings
-with ssh or scp, see |netrw-listhack|.
-
-
-NETRW BROWSING AND OPTION INCOMPATIBILITIES		*netrw-incompatible*
-
-Netrw will not work properly with >
-
-	:set acd
-	:set fo=...ta...
 <
-If either of these options are present when browsing is attempted, netrw
-will change them by using noacd and removing the ta suboptions from the
-|'formatoptions'|.
+where [protocol] is typically scp or ftp.  As an example, try: >
 
-			*netrw-explore*  *netrw-pexplore* *netrw-texplore*
-			*netrw-hexplore* *netrw-sexplore* *netrw-nexplore*
-			*netrw-vexplore*
-DIRECTORY EXPLORING COMMANDS 
+	vim ftp://ftp.home.vim.org/pub/vim/
+<
+For local directories, the trailing slash is not required.  Again, because its
+easy to miss: to browse remote directories, the url must terminate with a
+slash!
 
-     :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*
-     :Texplore     [dir]... Tab              & Explore              *:Texplore*
+If you'd like to avoid entering the password repeatedly for remote directory
+listings with ssh or scp, see |netrw-ssh-hack|.  To avoid password entry with
+ftp, see |netrw-netrc| (if your ftp supports it).
 
-     Used with :Explore **/pattern : (also see |netrw-starstar|)
-     :Nexplore............. go to next matching file                *:Nexplore*
-     :Pexplore............. go to previous matching file            *:Pexplore*
+There are several things you can do to affect the browser's display of files:
 
-:Explore  will open the local-directory browser on the current file's
-          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
-	  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
+	* To change the listing style, press the "i" key (|netrw-i|).
+	  Currently there are four styles: thin, long, wide, and tree.
 
-By default, these commands use the current file's directory.  However, one
-may explicitly provide a directory (path) to use.
+	* To hide files (don't want to see those xyz~ files anymore?) see
+	  |netrw-ctrl-h|.
 
-							*netrw-starstar*
-When Explore, Sexplore, Hexplore, or Vexplore are used with a **/filepat,
-such as:
+	* Press s to sort files by name, time, or size.
+
+See |netrw-browse-cmds| for all the things you can do with netrw!
+
+
+QUICK HELP						*netrw-quickhelp* {{{2
+                       (Use ctrl-] to select a topic)~
+	Intro to Browsing...............................|netrw-intro-browse|
+	  Quick Reference: Maps.........................|netrw-quickmap|
+	  Quick Reference: Commands.....................|netrw-browse-cmds|
+	Hiding
+	  Edit hiding list..............................|netrw-ctrl-h|
+	  Hiding Files or Directories...................|netrw-a|
+	  Hiding/Unhiding by suffix.....................|netrw-mh|
+	  Hiding  dot-files.............................|netrw-gh|
+	Listing Style
+	  Select listing style (thin/long/wide/tree)....|netrw-i|
+	  Associated setting variable...................|g:netrw_liststyle|
+	  Shell command used to perform listing.........|g:netrw_list_cmd|
+	  Quick file info...............................|netrw-qf|
+	Sorted by
+	  Select sorting style (name/time/size).........|netrw-s|
+	  Editing the sorting sequence..................|netrw-S|
+	  Associated setting variable...................|g:netrw_sort_sequence|
+	  Reverse sorting order.........................|netrw-r|
+
+
+				*netrw-quickmap* *netrw-quickmaps*
+QUICK REFERENCE: MAPS				*netrw-browse-maps* {{{2
 >
-	:Explore **/filename_pattern
+	  ---			-----------------			----
+	  Map			Quick Explanation			Link
+	  ---			-----------------			----
+<	 <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|
+	   -	Makes Netrw go up one directory                      |netrw--|
+	   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)
+	   c	Make browsing directory the current directory        |netrw-c|
+	   d	Make a directory                                     |netrw-d|
+	   D	Attempt to remove the file(s)/directory(ies)         |netrw-D|
+	   gb	Go to previous bookmarked directory                  |netrw-gb|
+	   gh	Quick hide/unhide of dot-files                       |netrw-gh|
+	   gi	Display information on file                          |netrw-qf|
+	 <c-h>	Edit file hiding list                             |netrw-ctrl-h|
+	   i	Cycle between thin, long, wide, and tree listings    |netrw-i|
+	 <c-l>	Causes Netrw to refresh the directory listing     |netrw-ctrl-l|
+	   mb	Bookmark current directory                           |netrw-mb|
+	   mc	Copy marked files to marked-file target directory    |netrw-mc|
+	   md	Apply diff to marked files (up to 3)                 |netrw-md|
+	   me	Place marked files on arg list and edit them         |netrw-me|
+	   mf	Mark a file                                          |netrw-mf|
+	   mh	Toggle marked file suffices' presence on hiding list |netrw-mh|
+	   mm	Move marked files to marked-file target directory    |netrw-mm|
+	   mp	Print marked files                                   |netrw-mp|
+	   mr	Mark files satisfying a |regexp|                     |netrw-mr|
+	   mt	Current browsing directory becomes markfile target   |netrw-mt|
+	   mT	Apply ctags to marked files                          |netrw-mT|
+	   mu	Unmark all marked files                              |netrw-mu|
+	   mx	Apply arbitrary shell command to marked files        |netrw-mx|
+	   mz	Compress/decompress marked files                     |netrw-mz|
+	   o	Enter the file/directory under the cursor in a new   |netrw-o|
+	   	browser window.  A horizontal split is used.
+	   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-qb|
+	   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   |netrw-v|
+	   	browser window.  A vertical split is used.
+	   x	View file with an associated program                 |netrw-x|
+
+	<leftmouse>	(gvim only) selects word under mouse as if a <cr>
+			had been pressed (ie. edit file, change directory)
+	<middlemouse>	(gvim only) same as P selecting word under mouse;
+			see |netrw-P|
+	<rightmouse>	(gvim only) delete file/directory using word under
+			mouse
+	<2-leftmouse>	(gvim only) when:
+	                 * in a netrw-selected file, AND
+		         * |g:netrw_retmap| == 1     AND
+		         * the user doesn't already have a <2-leftmouse> mapping
+			   defined before netrw is autoloaded,
+			then a double clicked leftmouse button will return
+			to the netrw browser window.
+	<s-leftmouse>	(gvim only) like mf, will mark files
+
+				*netrw-quickcom* *netrw-quickcoms*
+QUICK REFERENCE: COMMANDS	*netrw-explore-cmds* *netrw-browse-cmds* {{{2
+     :NetrwClean[!] ...........................................|netrw-clean|
+     :NetrwSettings ...........................................|netrw-settings|
+     :Explore[!]  [dir] Explore directory of current file......|netrw-explore|
+     :Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
+     :Nexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
+     :Pexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
+     :Rexplore          Return to Explorer.....................|netrw-explore|
+     :Sexplore[!] [dir] Split & Explore directory .............|netrw-explore|
+     :Texplore[!] [dir] Tab & Explore..........................|netrw-explore|
+     :Vexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
+
+BOOKMARKING A DIRECTORY	*netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
+One may easily "bookmark" a directory by using >
+
+	{cnt}mb
 <
-netrw will attempt to find a file in the current directory or any subdirectory
-which matches the filename pattern.  Internally, it produces a list of files
-which match the pattern and their paths; to that extent it resembles the Unix
-operation:
->
-	find $(pwd) -name "$1" -exec "echo" "{}" ";" 2> /dev/null
-<
-The directory display is updated to show the subdirectory containing a
-matching file.  One may then proceed to the next (or previous) matching files'
-directories by using Nexplore or Pexplore, respectively.  If your console or
-gui produces recognizable shift-up or shift-down sequences, then you'll likely
-find using shift-downarrow and shift-uparrow convenient.  They're mapped by
-netrw:
-
-	<s-down>  == Nexplore, and
-	<s-up>    == Pexplore.
-
-As an example, consider
->
-	:Explore **/*.c
-	:Nexplore
-	:Nexplore
-	:Pexplore
-<
-The status line will show, on the right hand side of the status line, a
-message like "Match 3 of 20".
-
-							*netrw-starpat*
-When Explore, Sexplore, Hexplore, or Vexplore are used with a */pattern,
-such as:
->
-	:Explore */pattern
-<
-netrw will use |:vimgrep| to find files which contain the given pattern.
-Like what happens with |netrw-starstar|, a list of files which contain
-matches to the given pattern is generated.  The cursor will then jump
-to the first file with the given pattern; |:Nexplore|, |:Pexplore|, and
-the shifted-down and -up arrows work with the list to move to the next
-or previous files in that list.
-
-						*netrw-starstarpat*
-When Explore, Sexplore, Hexplore, or Vexplore are used with a **//pattern,
-such as:
->
-	:Explore **//pattern
-<
-then Explore will use |:vimgrep| to find files like |netrw-starpat|;
-however, Explore will also search subdirectories as well as the current
-directory.
+Any count may be used.  One may use viminfo's "!" option (|'viminfo'|) to
+retain bookmarks between vim sessions.  See |netrw-gb| for how to return
+to a bookmark and |netrw-qb| for how to list them.
 
 
-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
-refresh a local directory by using ":e .".
-
-
-GOING UP						*netrw--*
-
-To go up a directory, press "-" or press the <cr> when atop the ../ directory
-entry in the listing.
-
-Netrw will use the command in |g:netrw_list_cmd| to perform the directory
-listing operation after changing HOSTNAME to the host specified by the
-user-provided url.  By default netrw provides the command as:
-
-	ssh HOSTNAME ls -FLa
-
-where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
-read.  Naturally, the user may override this command with whatever is
-preferred.  The NetList function which implements remote directory browsing
-expects that directories will be flagged by a trailing slash.
-
-
-BROWSING							*netrw-cr*
+BROWSING						*netrw-cr* {{{2
 
 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.  
 
-  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.
+  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 sequential 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 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.
+cause the opening of files to be done in a new window or tab instead of the
+default.  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*
+When using the gui (gvim) one may select a file by pressing the <leftmouse>
+button.  In addtion, if
 
-When browsing a remote directory, one may obtain a file under the cursor (ie.
-get a copy on your local machine, but not edit it) by pressing the O key.
-Only ftp and scp are supported for this operation (but since these two are
-available for browsing, that shouldn't be a problem).  The status bar
-will then show, on its right hand side, a message like "Obtaining filename".
-The statusline will be restored after the transfer is complete.
+ *|g:netrw_retmap| == 1      AND   (its default value is 0)
+ * in a netrw-selected file, AND
+ * the user doesn't already have a <2-leftmouse> mapping defined before
+   netrw is loaded
 
-Netrw can also "obtain" a file using the local browser.  Netrw's display
-of a directory is not necessarily the same as Vim's "current directory",
-unless |g:netrw_keepdir| is set to 0 in the user's <.vimrc>.  One may select
-a file using the local browser (by putting the cursor on it) and pressing
-"O" will then "obtain" the file; ie. copy it to Vim's current directory.
+then a doubly-clicked leftmouse button will return to the netrw browser
+window.
 
-Related topics:
- * To see what the current directory is, use |:pwd|
- * To make the currently browsed directory the current directory, see |netrw-c|
- * To automatically make the currently browsed directory the current
-   directory, see |g:netrw_keepdir|.
+Netrw attempts to speed up browsing, especially for remote browsing where one
+may have to enter passwords, by keeping and re-using previously obtained
+directory listing buffers.  The |g:netrw_fastbrowse| variable is used to
+control this behavior; one may have slow browsing (no buffer re-use), medium
+speed browsing (re-use directory buffer listings only for remote directories),
+and fast browsing (re-use directory buffer listings as often as possible).
+The price for such re-use is that when changes are made (such as new files
+are introduced into a directory), the listing may become out-of-date.  One may
+always refresh directory listing buffers by pressing ctrl-L (see
+|netrw-ctrl-l|).
 
 
-CHANGE LISTING STYLE						*netrw-i*
+Related topics: |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
+Associated setting variables: |g:netrw_browse_split|      |g:netrw_fastbrowse|
+                              |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
+			      |g:netrw_ftp_timelist_cmd|  |g:netrw_ssh_cmd|
+			      |g:netrw_ssh_browse_reject| |g:netrw_use_noswf|
+
+
+BROWSING WITH A HORIZONTALLY SPLIT WINDOW	*netrw-o* *netrw-horiz* {{{2
+
+Normally one enters a file or directory using the <cr>.  However, the "o" map
+allows one to open a new window to hold the new directory listing or file.  A
+horizontal split is used.  (for vertical splitting, see |netrw-v|)
+
+Normally, the o key splits the window horizontally with the new window and
+cursor at the top.  To change to splitting the window horizontally with the
+new window and cursor at the bottom, have
+
+	let g:netrw_alto = 1
+
+in your <.vimrc>.  (also see |netrw-t| |netrw-v|)
+
+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.
+
+Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
+
+
+BROWSING WITH A NEW TAB				*netrw-t* {{{2
+
+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|)
+
+
+BROWSING WITH A VERTICALLY SPLIT WINDOW			*netrw-v* {{{2
+
+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|)
+
+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.
+
+Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
+
+CHANGE LISTING STYLE					*netrw-i* {{{2
 
 The "i" map cycles between the thin, long, wide, and tree listing formats.
 
@@ -1168,201 +1079,50 @@
 hence, using "v" or "o" on a subdirectory will only show the same buffer,
 twice.
 
-
-MAKING A NEW DIRECTORY						*netrw-d*
-
-With the "d" map one may make a new directory either remotely (which depends
-on the global variable g:netrw_mkdir_cmd) or locally (which depends on the
-global variable g:netrw_local_mkdir).  Netrw will issue a request for the new
-directory's name.  A bare <CR> at that point will abort the making of the
-directory.  Attempts to make a local directory that already exists (as either
-a file or a directory) will be detected, reported on, and ignored.
+Associated setting variables: |g:netrw_liststyle| |g:netrw_maxfilenamelen|
+                              |g:netrw_timefmt|   |g:netrw_list_cmd|
 
 
-DELETING FILES OR DIRECTORIES		*netrw-delete* *netrw-D* *netrw-del*
+CHANGING TO A BOOKMARKED DIRECTORY			*netrw-gb*  {{{2
 
-Deleting/removing files and directories involves moving the cursor to the
-file/directory to be deleted and pressing "D".  Directories must be empty
-first before they can be successfully removed.  If the directory is a softlink
-to a directory, then netrw will make two requests to remove the directory
-before succeeding.  Netrw will ask for confirmation before doing the
-removal(s).  You may select a range of lines with the "V" command (visual
-selection), and then pressing "D".
+To change directory back to a bookmarked directory, use
 
-The g:netrw_rm_cmd, g:netrw_rmf_cmd, and g:netrw_rmdir_cmd variables are used
-to control the attempts to remove files and directories.  The g:netrw_rm_cmd
-is used with files, and its default value is:
+	{cnt}gb
 
-	g:netrw_rm_cmd: ssh HOSTNAME rm
-
-The g:netrw_rmdir_cmd variable is used to support the removal of directories.
-Its default value is:
-
-	g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
-
-If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
-to remove it again using the g:netrw_rmf_cmd variable.  Its default value is:
-
-	g:netrw_rmf_cmd: ssh HOSTNAME rm -f
+Any count may be used to reference any of the bookmarks.  See |netrw-mb| on
+how to bookmark a directory and |netrw-qb| on how to list bookmarks.
 
 
-RENAMING FILES OR DIRECTORIES		*netrw-move* *netrw-rename* *netrw-R*
-
-Renaming/moving files and directories involves moving the cursor to the
-file/directory to be moved (renamed) and pressing "R".  You will then be
-queried for where you want the file/directory to be moved.  You may select a
-range of lines with the "V" command (visual selection), and then pressing "R".
-
-The g:netrw_rename_cmd variable is used to implement renaming.  By default its
-value is:
-
-	ssh HOSTNAME mv
-
-One may rename a block of files and directories by selecting them with
-the V (|linewise-visual|).
-
-
-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
-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
-file/directory hiding list.  The hiding list consists of one or more patterns
-delimited by commas.  Files and/or directories satisfying these patterns will
-either be hidden (ie. not shown) or be the only ones displayed (see
-|netrw-a|).
-
-
-BROWSING WITH A HORIZONTALLY SPLIT WINDOW		*netrw-o* *netrw-horiz*
-
-Normally one enters a file or directory using the <cr>.  However, the "o" map
-allows one to open a new window to hold the new directory listing or file.  A
-horizontal split is used.  (for vertical splitting, see |netrw-v|)
-
-Normally, the o key splits the window horizontally with the new window and
-cursor at the top.  To change to splitting the window horizontally with the
-new window and cursor at the bottom, have
-
-	let g:netrw_alto = 1
-
-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 by using the "p" key when the cursor is atop the
-desired filename to be previewed.
-
-
-PREVIOUS WINDOW					*netrw-P* *netrw-prvwin*
-
-To edit a file or directory in the previously used window (see :he |CTRL-W_P|),
-press a "P".  If there's only one window, then the one window will be
-horizontally split (above/below splitting is controlled by |g:netrw_alto|,
-and its initial size is controlled by |g:netrw_winsize|).
-
-If there's more than one window, the previous window will be re-used on
-the selected file/directory.  If the previous window's associated buffer
-has been modified, and there's only one window with that buffer, then
-the user will be asked if s/he wishes to save the buffer first (yes,
-no, or cancel).
-
-
-SELECTING SORTING STYLE				*netrw-s* *netrw-sort*
-
-One may select the sorting style by name, time, or (file) size.  The "s" map
-allows one to circulate amongst the three choices; the directory listing will
-automatically be refreshed to reflect the selected style.
-
-
-EDITING THE SORTING SEQUENCE		*netrw-S* *netrw-sortsequence*
-
-When "Sorted by" is name, one may specify priority via the sorting sequence
-(g:netrw_sort_sequence).  The sorting sequence typically prioritizes the
-name-listing by suffix, although any pattern will do.  Patterns are delimited
-by commas.  The default sorting sequence is:
->
-	[\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$
-<
-The lone * is where all filenames not covered by one of the other patterns
-will end up.  One may change the sorting sequence by modifying the
-g:netrw_sort_sequence variable (either manually or in your <.vimrc>) or by
-using the "S" map.
-
-
-REVERSING SORTING ORDER			*netrw-r* *netrw-reverse*
-
-One may toggle between normal and reverse sorting order by pressing the
-"r" key.
-
-
-CHANGING TO A PREDECESSOR DIRECTORY		*netrw-u* *netrw-updir*
+CHANGING TO A PREDECESSOR DIRECTORY	*netrw-u* *netrw-updir* {{{2
 
 Every time you change to a new directory (new for the current session),
 netrw will save the directory in a recently-visited directory history
-list (unless g:netrw_dirhistmax is zero; by default, its ten).  With the
+list (unless g:netrw_dirhistmax is zero; by default, it's ten).  With the
 "u" map, one can change to an earlier directory (predecessor).  To do
 the opposite, see |netrw-U|.
 
 
-CHANGING TO A SUCCESSOR DIRECTORY		*netrw-U* *netrw-downdir*
+CHANGING TO A SUCCESSOR DIRECTORY		*netrw-U* *netrw-downdir* {{{2
 
 With the "U" map, one can change to a later directory (successor).
 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|)
+q map to list both the bookmarks and history. (see |netrw-qb|)
+
+
+NETRW CLEAN					*netrw-clean* *:NetrwClean*
+
+With :NetrwClean one may easily remove netrw from one's home directory;
+more precisely, from the first directory on your |'runtimepath'|.
+
+With :NetrwClean!, netrw will remove netrw from all directories on your
+|'runtimepath'|.
+
+With either form of the command, netrw will first ask for confirmation
+that the removal is in fact what you want to do.  If netrw doesn't have
+permission to remove a file, it will issue an error message.
 
 						*netrw-gx*
-CUSTOMIZING BROWSING WITH A USER FUNCTION	*netrw-x* *netrw-handler*
+CUSTOMIZING BROWSING WITH A USER FUNCTION	*netrw-x* *netrw-handler* {{{2
 						(also see |netrw_filehandler|)
 
 Certain files, such as html, gif, jpeg, (word/office) doc, etc, files, are
@@ -1387,7 +1147,8 @@
 
   * 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.
+  * for KDE (with kfmclient)   : kfmclient is used.
+  * for Mac OS X               : open is used.
   * otherwise the netrwFileHandler plugin is used.
 
 The file's suffix is used by these various approaches to determine an
@@ -1431,49 +1192,246 @@
 		NdrOchip at ScampbellPfamily.AbizM - NOSPAM
 with a request.
 
+Associated setting variable: |g:netrw_browsex_viewer|
 
-MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-c* *netrw-curdir*
+							*netrw-curdir*
+DELETING FILES OR DIRECTORIES	*netrw-delete* *netrw-D* *netrw-del* {{{2
 
-By default, |g:netrw_keepdir| is 1.  This setting means that the current
-directory will not track the browsing directory.
+If files have not been marked with |netrw-mf|:   (local marked file list)
 
-Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
-track netrw's browsing directory.
+    Deleting/removing files and directories involves moving the cursor to the
+    file/directory to be deleted and pressing "D".  Directories must be empty
+    first before they can be successfully removed.  If the directory is a
+    softlink to a directory, then netrw will make two requests to remove the
+    directory before succeeding.  Netrw will ask for confirmation before doing
+    the removal(s).  You may select a range of lines with the "V" command
+    (visual selection), and then pressing "D".
 
-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 netrw's current browsing
-directory.
+If files have been marked with |netrw-mf|:   (local marked file list)
+
+    Marked files (and empty directories) will be deleted; again, you'll be
+    asked to confirm the deletion before it actually takes place.
+
+The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
+used to control the attempts to remove files and directories.  The
+g:netrw_rm_cmd is used with files, and its default value is:
+
+	g:netrw_rm_cmd: ssh HOSTNAME rm
+
+The g:netrw_rmdir_cmd variable is used to support the removal of directories.
+Its default value is:
+
+	g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
+
+If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
+to remove it again using the g:netrw_rmf_cmd variable.  Its default value is:
+
+	g:netrw_rmf_cmd: ssh HOSTNAME rm -f
+
+Associated setting variable: |g:netrw_local_rmdir| |g:netrw_rm_cmd|
+                             |g:netrw_rmdir_cmd|   |g:netrw_ssh_cmd|
 
 
-BOOKMARKING A DIRECTORY		*netrw-mb* *netrw-bookmark* *netrw-bookmarks*
-One may easily "bookmark" a directory by using >
+*netrw-explore*  *netrw-hexplore* *netrw-nexplore* *netrw-pexplore*
+*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore*
+DIRECTORY EXPLORATION COMMANDS  {{{2
 
-	{cnt}mb
+     :Explore[!]   [dir]... Explore directory of current file       *:Explore*
+     :Hexplore[!]  [dir]... Horizontal Split & Explore              *:Hexplore*
+     :Rexplore          ... Return to Explorer                      *:Rexplore*
+     :Sexplore[!]  [dir]... Split&Explore directory of current file *:Sexplore*
+     :Texplore     [dir]... Tab              & Explore              *:Texplore*
+     :Vexplore[!]  [dir]... Vertical   Split & Explore              *:Vexplore*
+
+     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
+	  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
+	  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.
+
+The |g:netrw_winsize| variable also is used, if specified by the user, to
+size Hexplore and Vexplore windows.
+
+:Rexplore  This command is a little different from the others.  When one
+           edits a file, for example by pressing <cr> when atop a file in
+	   a netrw browser window, :Rexplore will return the display to
+	   that of the last netrw browser window.  Its a command version
+	   of <2-leftmouse> (which is only available under gvim and
+	   cooperative terms).
+
+
+*netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat*
+EXPLORING WITH STARS AND PATTERNS
+
+When Explore, Sexplore, Hexplore, or Vexplore are used with one of the
+following four styles, Explore generates a list of files which satisfy
+the request. >
+
+    */filepat	files in current directory which satisfy filepat
+    **/filepat	files in current directory or below which satisfy the
+    		file pattern
+    *//pattern	files in the current directory which contain the
+    		pattern (vimgrep is used)
+    **//pattern	files in the current directory or below which contain
+    		the pattern (vimgrep is used)
 <
-Any count may be used.  One may use viminfo's "!" option to retain bookmarks
-between vim sessions.  See |netrw-gb| for how to return to a bookmark and
-|netrw-q| for how to list them.
+The cursor will be placed on the first file in the list.  One may then
+continue to go to subsequent files on that list via |:Nexplore| or to
+preceding files on that list with |:Pexplore|.  Explore will update the
+directory and place the cursor appropriately.
+
+A plain >
+	:Explore
+will clear the explore list.
+
+If your console or gui produces recognizable shift-up or shift-down sequences,
+then you'll likely find using shift-downarrow and shift-uparrow convenient.
+They're mapped by netrw:
+
+	<s-down>  == Nexplore, and
+	<s-up>    == Pexplore.
+
+As an example, consider
+>
+	:Explore */*.c
+	:Nexplore
+	:Nexplore
+	:Pexplore
+<
+The status line will show, on the right hand side of the status line, a
+message like "Match 3 of 20".
+
+Associated setting variables: |g:netrw_keepdir|      |g:netrw_browse_split|
+                              |g:netrw_fastbrowse|   |g:netrw_ftp_browse_reject|
+			      |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
+			      |g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
+			      |g:netrw_liststyle|
 
 
-CHANGING TO A BOOKMARKED DIRECTORY			*netrw-gb* 
+DISPLAYING INFORMATION ABOUT FILE				*netrw-qf* {{{2
 
-To change directory back to a bookmarked directory, use
-
-	{cnt}gb
-
-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.
+With the cursor atop a filename, pressing "qf" will reveal the file's size
+and last modification timestamp.  Currently this capability is only available
+for local files.
 
 
-LISTING BOOKMARKS AND HISTORY			*netrw-q* *netrw-listbookmark*
+EDIT FILE OR DIRECTORY HIDING LIST	*netrw-ctrl-h* *netrw-edithide* {{{2
 
-Pressing "q" will list the bookmarked directories and directory traversal
-history (query). (see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
+The "<ctrl-h>" map brings up a requestor allowing the user to change the
+file/directory hiding list contained in |g:netrw_list_hide|.  The hiding list
+consists of one or more patterns delimited by commas.  Files and/or
+directories satisfying these patterns will either be hidden (ie. not shown) or
+be the only ones displayed (see |netrw-a|).
+
+The "gh" mapping (see |netrw-gh|) quickly alternates between the usual
+hiding list and the hiding of files or directories that begin with ".".
+
+Associated setting variables: |g:netrw_hide| |g:netrw_list_hide|
+Associated topics: |netrw-a| |netrw-gh| |netrw-mh|
 
 
-IMPROVING DIRECTORY BROWSING				*netrw-listhack*
+EDITING THE SORTING SEQUENCE		*netrw-S* *netrw-sortsequence* {{{2
+
+When "Sorted by" is name, one may specify priority via the sorting sequence
+(g:netrw_sort_sequence).  The sorting sequence typically prioritizes the
+name-listing by suffix, although any pattern will do.  Patterns are delimited
+by commas.  The default sorting sequence is (all one line):
+>
+	'[\/]$,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,
+	\.swp$,\.bak$,\~$'
+<
+The lone * is where all filenames not covered by one of the other patterns
+will end up.  One may change the sorting sequence by modifying the
+g:netrw_sort_sequence variable (either manually or in your <.vimrc>) or by
+using the "S" map.
+
+Related topics:              |netrw-s|
+Associated setting variable: |g:netrw_sort_sequence|
+
+
+GOING UP							*netrw--* {{{2
+
+To go up a directory, press "-" or press the <cr> when atop the ../ directory
+entry in the listing.
+
+Netrw will use the command in |g:netrw_list_cmd| to perform the directory
+listing operation after changing HOSTNAME to the host specified by the
+user-provided url.  By default netrw provides the command as:
+
+	ssh HOSTNAME ls -FLa
+
+where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
+read.  Naturally, the user may override this command with whatever is
+preferred.  The NetList function which implements remote browsing
+expects that directories will be flagged by a trailing slash.
+
+
+HIDING FILES OR DIRECTORIES			*netrw-a* *netrw-hiding* {{{2
+
+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.
+
+If no files have been marked via |netrw-mf|:
+
+The "a" map allows the user to cycle through the three hiding modes.
+
+The |g:netrw_list_hide| variable holds a comma delimited list of patterns
+based on regular expressions (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 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 mode (normal/hiding/show) you
+want!
+
+If files have been marked using |netrw-mf|, then this command will:
+
+  if showing all files or non-hidden files:
+   modify the g:netrw_list_hide list by appending the marked files to it
+   and showing only non-hidden files.
+
+  else if showing hidden files only:
+   modify the g:netrw_list_hide list by removing the marked files from it
+   and showing only non-hidden files.
+  endif
+
+					*netrw-gh* *netrw-hide*
+As a quick shortcut, one may press >
+	gh
+to toggle between hiding files which begin with a period (dot) and not hiding
+them.
+
+Associated setting variable: |g:netrw_list_hide|
+Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
+
+IMPROVING BROWSING			*netrw-listhack* *netrw-ssh-hack* {{{2
 
 Especially with the remote directory browser, constantly entering the password
 is tedious.
@@ -1502,8 +1460,534 @@
 For Windows, folks on the vim mailing list have mentioned that Pageant helps
 with avoiding the constant need to enter the password.
 
+Kingston Fung wrote about another way to avoid constantly needing to enter
+passwords:
 
-NETRW SETTINGS						*netrw-settings*
+    In order to avoid the need to type in the password for scp each time, you
+    provide a hack in the docs to set up a non password ssh account. I found a
+    better way to do that: I can use a regular ssh account which uses a
+    password to access the material without the need to key-in the password
+    each time. It's good for security and convenience. I tried ssh public key
+    authorization + ssh-agent, implementing this, and it works! Here are two
+    links with instructions:
+
+    http://www.ibm.com/developerworks/library/l-keyc2/
+    http://sial.org/howto/openssh/publickey-auth/
+
+
+LISTING BOOKMARKS AND HISTORY		*netrw-qb* *netrw-listbookmark* {{{2
+
+Pressing "qb" (query bookmarks) will list the bookmarked directories and
+directory traversal history (query).
+
+(see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
+
+
+MAKING A NEW DIRECTORY					*netrw-d* {{{2
+
+With the "d" map one may make a new directory either remotely (which depends
+on the global variable g:netrw_mkdir_cmd) or locally (which depends on the
+global variable g:netrw_local_mkdir).  Netrw will issue a request for the new
+directory's name.  A bare <CR> at that point will abort the making of the
+directory.  Attempts to make a local directory that already exists (as either
+a file or a directory) will be detected, reported on, and ignored.
+
+Currently, making a directory via ftp is not supported.
+
+Associated setting variable: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
+
+
+MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-c* {{{2
+
+By default, |g:netrw_keepdir| is 1.  This setting means that the current
+directory will not track the browsing directory.
+
+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 netrw's current browsing
+directory.
+
+Associated setting variable: |g:netrw_keepdir|
+
+MARKING FILES							*netrw-mf* {{{2
+	(also see |netrw-mr|)
+
+One may mark files with the cursor atop a filename and then pressing "mf".
+With gvim, one may also mark files with <s-leftmouse>.  The following netrw
+maps make use of marked files:
+
+    |netrw-a|	Hide marked files/directories
+    |netrw-D|	Delete marked files/directories
+    |netrw-mc|	Copy marked files to target
+    |netrw-md|	Apply vimdiff to marked files
+    |netrw-me|	Edit marked files
+    |netrw-mg|	Apply vimgrep to marked files
+    |netrw-mm|	Move marked files
+    |netrw-mp|	Print marked files
+    |netrw-mt|	Set target for |netrw-mm| and |netrw-mc|
+    |netrw-mT|	Generate tags using marked files
+    |netrw-mx|	Apply shell command to marked files
+    |netrw-mz|	Compress/Decompress marked files
+    |netrw-O|	Obtain marked files
+    |netrw-R|	Rename marked files
+
+One may unmark files one at a time the same way one marks them; ie. place
+the cursor atop a marked file and press "mf".  This process also works
+with <s-leftmouse> using gvim.  One may unmark all files by pressing
+"mu" (see |netrw-mu|).
+
+*markfilelist* *global_markfilelist* *local_markfilelist*
+All marked files are entered onto the global marked file list; there is only
+one such list.  In addition, every netrw buffer also has its own local marked
+file list; since netrw buffers are associated with specific directories, this
+means that each directory has its own local marked file list.  The various
+commands which operate on marked files use one or the other of the marked file
+lists.
+
+
+MARKING FILES BY REGULAR EXPRESSION				*netrw-mr* {{{2
+	(also see |netrw-mf|)
+
+One may also mark files by pressing "mr"; netrw will then issue a prompt,
+"Enter regexp: ".  You may then enter a regular expression such as \.c$ .
+All files in the current directory will then be marked.  Note that the
+regular expressions are vim-style |regexp| ones, not shell ones.  So
+entering *.c probably isn't what you want!
+
+
+MARKED FILES: ARBITRARY COMMAND				*netrw-mx* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the local marked-file list)
+
+Upon activation of the "mx" map, netrw will query the user for some (external)
+command to be applied to all marked files.  All "%"s in the command will be
+substituted with the name of each marked file in turn.  If no "%"s are in the
+command, then the command will be followed by a space and a marked filename.
+
+
+MARKED FILES: COMPRESSION AND DECOMPRESSION		*netrw-mz* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the local marked file list)
+
+If any marked files are compressed,   then "mz" will decompress them.
+If any marked files are decompressed, then "mz" will compress them
+using the command specified by |g:netrw_compress|; by default,
+that's "gzip".
+
+For decompression, netrw provides a |Dictionary| of suffices and their
+associated decompressing utilities; see |g:netrw_decompress|.
+
+Associated setting variables: |g:netrw_compress| |g:netrw_decompress|
+
+MARKED FILES: COPYING						*netrw-mc* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (Uses the global marked file list)
+
+Select a target directory with mt (|netrw-mt|).  Then change directory,
+select file(s) (see |netrw-mf|), and press "mc".
+
+Associated setting variable: |g:netrw_localcopycmd| |g:netrw_ssh_cmd|
+
+MARKED FILES: DIFF						*netrw-md* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the global marked file list)
+
+Use |vimdiff| to visualize difference between selected files (two or
+three may be selected for this).  Uses the global marked file list.
+
+MARKED FILES: EDITING						*netrw-me* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the global marked file list)
+
+This command will place the marked files on the |arglist| and commence
+editing them.  One may return the to explorer window with |:Rexplore|.
+
+MARKED FILES: GREP						*netrw-mg* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the global marked file list)
+
+This command will apply |:vimgrep| to the marked files.  The command will ask
+for the requested pattern; one may enter: >
+	/pattern/[g][j]
+	! /pattern/[g][j]
+	pattern
+<
+MARKED FILES: HIDING AND UNHIDING BY SUFFIX			*netrw-mh* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the local marked file list)
+
+This command extracts the suffices of the marked files and toggles their
+presence on the hiding list.  Please note that marking the same suffix
+this way multiple times will result in the suffix's presence being toggled
+for each file (so an even quantity of marked files having the same suffix
+is the same as not having bothered to select them at all).
+
+Related topics: |netrw-a| |g:netrw_list_hide|
+
+MARKED FILES: MOVING						*netrw-mm* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the global marked file list)
+
+Select a target directory with mT (|netrw-mt|).  Then change directory,
+select file(s) (see |netrw-mf|), and press "mm".
+
+Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
+
+MARKED FILES: PRINTING						*netrw-mp* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the local marked file list)
+
+Netrw will apply the |:hardcopy| command to marked files.  What it does
+is open each file in a one-line window, execute hardcopy, then close the
+one-line window.
+
+
+MARKED FILES: SOURCING						*netrw-ms* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the local marked file list)
+
+Netrw will source the marked files (using vim's |:source| command)
+
+
+MARKED FILES: TAGGING						*netrw-mT* {{{2
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the global marked file list)
+
+The "mt" mapping will apply the command in g:netrw_ctags (by default, its
+"ctags") to marked files.  For remote browsing, in order to create a tags file
+netrw will use ssh (see |g:netrw_ssh_cmd|), and so ssh must be available for
+this to work on remote systems.  For your local system, see |ctags| on how to
+get a version.  I myself use hdrtags, currently available at
+http://mysite.verizon.net/astronaut/src/index.html , and have >
+
+	let g:netrw_ctags= "hdrtag"
+<
+in my <.vimrc>.
+
+When a remote set of files are tagged, the resulting tags file is "obtained";
+ie. a copy is transferred to the local system's directory.  The local tags
+file is then modified so that one may use it through the network.  The
+modification is concerns the names of the files in the tags; each filename is
+preceded by the netrw-compatible url used to obtain it.  When one subsequently
+uses one of the go to tag actions (|tags|), the url will be used by netrw to
+edit the desired file and go to the tag.
+
+Associated setting variables: |g:netrw_ssh_cmd|
+
+
+MARKED FILES: SETTING THE TARGET DIRECTORY			*netrw-mt* {{{2
+     (See |netrw-mf| and |netrw-mr| for how to mark files)
+
+Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
+
+  * if the cursor is atop a file name, then the netrw window's currently
+    displayed directory is used for the copy/move-to target.
+
+  * also, if the cursor is in the banner, then the netrw window's currently
+    displayed directory is used for the copy/move-to target.
+
+  * however, if the cursor is atop a directory name, then that directory is
+    used for the copy/move-to target
+
+There is only one copy/move-to target per vim session; ie. the target is a
+script variable (see |s:var|) and is shared between all netrw windows (in an
+instance of vim).
+
+MARKED FILES: UNMARKING						*netrw-mu* {{{2
+     (See |netrw-mf| and |netrw-mr| for how to mark files)
+
+The "mu" mapping will unmark all currently marked files.
+
+
+NETRW BROWSER VARIABLES		*netrw-browser-options* *netrw-browser-var* {{{2
+
+(if you're interestd in the netrw file transfer settings, see |netrw-options|)
+
+The <netrw.vim> browser provides settings in the form of variables which
+you may modify; by placing these settings in your <.vimrc>, you may customize
+your browsing preferences.  (see also: |netrw-settings|)
+>
+   ---				-----------
+   Var				Explanation
+   ---				-----------
+< *g:netrw_alto*		change from above splitting to below splitting
+				by setting this variable (see |netrw-o|)
+				 default: =&sb           (see |'sb'|)
+
+  *g:netrw_altv*		change from left splitting to right splitting
+				by setting this variable (see |netrw-v|)
+				 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  
+				=3: open file in new tab
+				=4: act like "P" (ie. open previous window)
+
+  *g:netrw_browsex_viewer*	specify user's preference for a viewer: >
+					"kfmclient exec"
+					"gnome-open"
+<				If >
+					"-"
+<				is used, then netrwFileHandler() will look for
+				a script/function to handle the given
+				extension.  (see |netrw_filehandler|).
+
+  *g:netrw_cd_escape*		="[]#*$%'\" ?`!&();<>\\"
+  				This option is used to escape directory names
+				before changing directory to them.
+
+  *g:netrw_compress*		="gzip"
+				    Will compress marked files with this
+				    command
+
+  *g:netrw_decompress*		= { ".gz" : "gunzip" ,
+				    ".bz2" : "bunzip2" ,
+				    ".zip" : "unzip" ,
+				    ".tar" : "tar -xf"}
+				  A dictionary mapping suffices to
+				  decompression programs.
+
+  *g:netrw_fastbrowse*		=0: slow speed directory browsing;
+				    never re-uses directory listings,
+				    always obtains directory listings.
+				=1: medium speed directory browsing;
+				    re-use directory listings only
+				    when remote directory browsing.
+				    (default value)
+				=2: fast directory browsing;
+				    only obtains directory listings when the
+				    directory hasn't been seen before
+				    (or |netrw-ctrl-l| is used).
+
+				Fast browsing retains old directory listing
+				buffers so that they don't need to be
+				re-acquired.  This feature is especially
+				important for remote browsing.  However, if
+				a file is introduced or deleted into or from
+				such directories, the old directory buffer
+				becomes out-of-date.  One may always refresh
+				such a directory listing with |netrw-ctrl-l|.
+				This option gives the user the choice of
+				trading off accuracy (ie. up-to-date listing)
+				versus speed.
+
+  *g:netrw_fname_escape*	=' ?&;%'
+  				Used on filenames before remote reading/writing
+
+  *g:netrw_ftp_browse_reject*	ftp can produce a number of errors and warnings
+				that can show up as "directories" and "files"
+				in the listing.  This pattern is used to
+				remove such embedded messages.  By default its
+				value is:
+				 '^total\s\+\d\+$\|
+				 ^Trying\s\+\d\+.*$\|
+				 ^KERBEROS_V\d rejected\|
+				 ^Security extensions not\|
+				 No such file\|
+				 : connect to address [0-9a-fA-F:]*
+				 : No route to host$'
+
+  *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"
+
+
+  *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_glob_escape*		='[]*?`{~$'
+  				These characters in directory names are
+				escaped before applying glob()
+
+  *g:netrw_hide*		if true, the hiding list is used
+				 default: =0
+
+  *g:netrw_keepdir*		=1 (default) keep current directory immune from
+				   the browsing directory.
+				=0 keep the current directory the same as the
+				   browsing directory.
+				The current browsing directory is contained in
+				b:netrw_curdir (also see |netrw-c|)
+
+  *g:netrw_list_cmd*		command for listing remote directories
+				 default: (if ssh is executable)
+				          "ssh HOSTNAME ls -FLa"
+
+  *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
+				Patterns are regular expressions (see |regexp|)
+				Example: let g:netrw_list_hide= '.*\.swp$'
+				 default: ""
+
+  *g:netrw_localcopycmd*	="cp" Linux/Unix/MacOS/Cygwin
+  				="copy" Windows
+				Copies marked files (|netrw-mf|) to target
+				directory (|netrw-mt|, |netrw-mc|)
+
+  *g:netrw_localmovecmd*	="mv" Linux/Unix/MacOS/Cygwin
+  				="move" Windows
+				Moves marked files (|netrw-mf|) to target
+				directory (|netrw-mt|, |netrw-mm|)
+
+  *g:netrw_local_mkdir*		command for making a local directory
+				 default: "mkdir"
+
+  *g:netrw_local_rmdir*		remove directory command (rmdir)
+				 default: "rmdir"
+
+  *g:netrw_maxfilenamelen*	=32 by default, selected so as to make long
+				    listings fit on 80 column displays.
+				If your screen is wider, and you have file
+				or directory names longer than 32 bytes,
+				you may set this option to keep listings
+				columnar.
+
+  *g:netrw_mkdir_cmd*		command for making a remote directory
+				 default: "ssh USEPORT HOSTNAME mkdir"
+
+  *g:netrw_retmap*		if it exists and is set to one, then
+				<2-leftmouse> will be mapped for easy
+				return to the netrw browser window.
+				(example: click once to select and open
+				a file, double-click to return)
+				  default: =0
+
+  *g:netrw_rm_cmd*		command for removing files
+				 default: "ssh USEPORT HOSTNAME rm"
+
+  *g:netrw_rmdir_cmd*		command for removing directories
+				 default: "ssh USEPORT HOSTNAME rmdir"
+
+  *g:netrw_rmf_cmd*		 command for removing softlinks
+				 default: "ssh USEPORT HOSTNAME rm -f"
+
+  *g:netrw_sort_by*		sort by "name", "time", or "size"
+				 default: "name"
+
+  *g:netrw_sort_direction*	sorting direction: "normal" or "reverse"
+				 default: "normal"
+
+  *g:netrw_sort_sequence*	when sorting by name, first sort by the
+				comma-separated pattern sequence
+				 default: '[\/]$,*,\.bak$,\.o$,\.h$,
+				           \.info$,\.swp$,\.obj$'
+
+  *g:netrw_special_syntax*	If true, then certain files will be shown
+  				in special syntax in the browser:
+
+					netrwBak     : *.bak
+					netrwCompress: *.gz *.bz2 *.Z *.zip
+					netrwData    : *.dat
+					netrwHdr     : *.h
+					netrwLib     : *.a *.so *.lib *.dll
+					netrwMakefile: [mM]akefile *.mak
+					netrwObj     : *.o *.obj
+					netrwTags    : tags ANmenu ANtags
+					netrwTilde   : *~ 
+					netrwTmp     : tmp* *tmp
+
+				These syntax highlighting groups are linked
+				to Folded or DiffChange by default
+				(see |hl-Folded| and |hl-DiffChange|), but
+				one may put lines like >
+					hi link netrwCompress Visual
+<				into one's <.vimrc> to use one's own
+				preferences.
+
+  *g:netrw_ssh_cmd*		One may specify an executable command
+				to use instead of ssh for remote actions
+				such as listing, file removal, etc.
+				 default: ssh
+
+  *g:netrw_ssh_browse_reject*	ssh can sometimes produce unwanted lines,
+				messages, banners, and whatnot that one doesn't
+				want masquerading as "directories" and "files".
+				Use this pattern to remove such embedded
+				messages.  By default its value is:
+					 '^total\s\+\d\+$'
+
+
+  *g:netrw_tmpfile_escape*	=' &;'
+  				escape() is applied to all temporary files
+				to escape these characters.
+
+  *g:netrw_timefmt*		specify format string to vim's strftime().
+				The default, "%c", is "the preferred date
+				and time representation for the current
+				locale" according to my manpage entry for
+				strftime(); however, not all are satisfied
+				with it.  Some alternatives:
+				 "%a %d %b %Y %T",
+				 " %a %Y-%m-%d  %I-%M-%S %p"
+				 default: "%c"
+
+  *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_winsize*		specify initial size of new windows made with
+				"o" (see |netrw-o|), "v" (see |netrw-v|),
+				|:Hexplore| or |:Vexplore|.
+				 default: ""
+
+  *g:netrw_xstrlen*		Controls how netrw computes a string
+  				including multi-byte characters' string
+				length. (thanks to N Weibull, T Mechelynck)
+				=0: uses Vim's built-in strlen()
+				=1: number of codepoints (Latin + a combining
+				    circumflex is two codepoints)  (DEFAULT)
+				=2: number of spacing codepoints (Latin a +
+				    combining circumflex is one spacing 
+				    codepoint; a hard tab is one; wide and
+				    narrow CJK are one each; etc.)
+				=3: virtual length (counting tabs as anything
+				    between 1 and |'tabstop'|, wide CJJK as 2
+				    rather than 1, Arabic alif as zero when
+				    immediately preceded by lam, one
+				    otherwise, etc)
+
+  *g:NetrwTopLvlMenu*		This variable specifies the top level
+				menu name; by default, it's "Netrw.".  If
+				you wish to change this, do so in your
+				.vimrc.
+
+NETRW BROWSING AND OPTION INCOMPATIBILITIES	*netrw-incompatible* {{{2
+
+Netrw has been designed to handle user options by saving them, setting the
+options to something that's compatible with netrw's needs, and then restoring
+them.  However, the autochdir option: >
+	:set acd
+is problematical.  Autochdir sets the current directory to that containing the
+file you edit; this apparently also applies to directories.  In other words,
+autochdir sets the current directory to that containing the "file" (even if
+that "file" is itself a directory).
+
+NETRW SETTINGS						*netrw-settings* {{{2
 
 With the NetrwSettings.vim plugin, >
 	:NetrwSettings
@@ -1512,11 +1996,121 @@
 settings therein will be used.  One may also press "?" on any of the lines for
 help on what each of the variables do.
 
-(also see: |netrw-browse-var| |netrw-protocol| |netrw-var| |netrw-variables|)
+(also see: |netrw-browser-var| |netrw-protocol| |netrw-var| |netrw-variables|)
 
 
 ==============================================================================
-10. Problems and Fixes						*netrw-problems*
+OBTAINING A FILE					*netrw-O* {{{2
+
+If there are no marked files:
+
+    When browsing a remote directory, one may obtain a file under the cursor
+    (ie.  get a copy on your local machine, but not edit it) by pressing the O
+    key.
+
+If there are marked files:
+
+    The marked files will be obtained (ie. a copy will be transferred to your
+    local machine, but not set up for editing).
+
+Only ftp and scp are supported for this operation (but since these two are
+available for browsing, that shouldn't be a problem).  The status bar will
+then show, on its right hand side, a message like "Obtaining filename".  The
+statusline will be restored after the transfer is complete.
+
+Netrw can also "obtain" a file using the local browser.  Netrw's display
+of a directory is not necessarily the same as Vim's "current directory",
+unless |g:netrw_keepdir| is set to 0 in the user's <.vimrc>.  One may select
+a file using the local browser (by putting the cursor on it) and pressing
+"O" will then "obtain" the file; ie. copy it to Vim's current directory.
+
+Related topics:
+ * To see what the current directory is, use |:pwd|
+ * To make the currently browsed directory the current directory, see |netrw-c|
+ * To automatically make the currently browsed directory the current
+   directory, see |g:netrw_keepdir|.
+
+
+PREVIEW WINDOW				*netrw-p* *netrw-preview* {{{2
+
+One may use a preview window by using the "p" key when the cursor is atop the
+desired filename to be previewed.  The display will then split to show both
+the browser (where the cursor will remain) and the file (see |:pedit|).
+By default, the split will be taken horizontally; one may use vertical
+splitting if one has set |g:netrw_preview| first.
+
+
+PREVIOUS WINDOW				*netrw-P* *netrw-prvwin* {{{2
+
+To edit a file or directory in the previously used (last accessed) window (see
+:he |CTRL-W_p|), press a "P".  If there's only one window, then the one window
+will be horizontally split (above/below splitting is controlled by
+|g:netrw_alto|, and its initial size is controlled by |g:netrw_winsize|).
+
+If there's more than one window, the previous window will be re-used on
+the selected file/directory.  If the previous window's associated buffer
+has been modified, and there's only one window with that buffer, then
+the user will be asked if s/he wishes to save the buffer first (yes,
+no, or cancel).
+
+
+REFRESHING THE LISTING			*netrw-ctrl-l* *netrw-ctrl_l* {{{2
+
+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
+refresh a local directory by using ":e .".
+
+
+RENAMING FILES OR DIRECTORIES	*netrw-move* *netrw-rename* *netrw-R* {{{2
+
+If there are no marked files: (see |netrw-mf|)
+
+    Renaming/moving files and directories involves moving the cursor to the
+    file/directory to be moved (renamed) and pressing "R".  You will then be
+    queried for where you want the file/directory to be moved.  You may select
+    a range of lines with the "V" command (visual selection), and then
+    pressing "R".
+
+If there are marked files:  (see |netrw-mf|)
+
+    Marked files will be renamed (moved).  You will be queried as above in
+    order to specify where you want the file/directory to be moved.
+
+    WARNING:~
+
+    Note that moving files is a dangerous operation; copies are safer.  That's
+    because a "move" for remote files is actually a copy + delete -- and if
+    the copy fails and the delete does not, you may lose the file.
+
+The g:netrw_rename_cmd variable is used to implement renaming.  By default its
+value is:
+
+	ssh HOSTNAME mv
+
+One may rename a block of files and directories by selecting them with
+the V (|linewise-visual|).
+
+
+REVERSING SORTING ORDER		*netrw-r* *netrw-reverse* {{{2
+
+One may toggle between normal and reverse sorting order by pressing the
+"r" key.
+
+Related topics:              |netrw-s|
+Associated setting variable: |g:netrw_sort_direction|
+
+
+SELECTING SORTING STYLE			*netrw-s* *netrw-sort* {{{2
+
+One may select the sorting style by name, time, or (file) size.  The "s" map
+allows one to circulate amongst the three choices; the directory listing will
+automatically be refreshed to reflect the selected style.
+
+Related topics:               |netrw-r| |netrw-S|
+Associated setting variables: |g:netrw_sort_by| |g:netrw_sort_sequence|
+
+
+10. Problems and Fixes					*netrw-problems* {{{1
 
 	(This section is likely to grow as I get feedback)
 	(also see |netrw-debug|)
@@ -1568,9 +2162,11 @@
 								*netrw-p4*
 	P4. I would like long listings to be the default.
 
-			let g:netrw_liststyle= 1
+		Put the following statement into your |.vimrc|: >
 
-		Check out |netrw-browse-var| for more customizations that
+			let g:netrw_liststyle= 1
+<
+		Check out |netrw-browser-var| for more customizations that
 		you can set.
 
 								*netrw-p5*
@@ -1579,15 +2175,18 @@
 		Does your system's strftime() accept the "%c" to yield dates
 		such as "Sun Apr 27 11:49:23 1997"?  If not, do a "man strftime"
 		and find out what option should be used.  Then put it into
-		your <.vimrc>:
-			let g:netrw_timefmt= "%X"  (where X is the option)
+		your |.vimrc|: >
 
+			let g:netrw_timefmt= "%X"  (where X is the option)
+<
 								*netrw-p6*
 	P6. I want my current directory to track my browsing.
 	    How do I do that?
 
+	    Put the following line in your |.vimrc|:
+>
 		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!
@@ -1652,9 +2251,9 @@
 			  {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)
+			  system thinks it's a tag)
+			- Make sure it's at the top of the listbox (click it,
+			  then click "Up" if it's not)
 		If using the Norton Commander style, you just have to hit <F4>
 		to edit a file in a local copy of gvim.
 
@@ -1663,16 +2262,24 @@
   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': >
+		How to use a private key with 'pscp': >
+
 			http://www.tartarus.org/~simon/puttydoc/Chapter5.html
 			5.2.4 Using public key authentication with PSCP 
 <
+		(Ben Schmidt) I find the ssh included with cwRsync is
+		brilliant, and install cwRsync or cwRsyncServer on most
+		Windows systems I come across these days. I guess COPSSH,
+		packed by the same person, is probably even better for use as
+		just ssh on Windows, and probably includes sftp, etc. which I
+		suspect the cwRsync doesn't, though it might
+
 		(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|
+		|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
@@ -1688,52 +2295,77 @@
 		in your <.vimrc>: >
 			let g:netrw_use_noswf= 0
 <
+								*netrw-p10*
+	P10. I'm being pestered with "[something] is a directory" and
+	     "Press ENTER or type command to continue" prompts...
+
+		The "[something] is a directory" prompt is issued by Vim,
+		not by netrw, and there appears to be no way to work around
+		it.  Coupled with the default cmdheight of 1, this message
+		causes the "Press ENTER..." prompt.  So:  read |hit-enter|;
+		I also suggest that you set your |'cmdheight'| to 2 (or more) in
+		your <.vimrc> file.
+
+								*netrw-p11*
+	P11. I want to have two windows; a thin one on the left and my editing
+	     window on the right.  How can I do this?
+
+		* Put the following line in your <.vimrc>:
+			let g:netrw_altv = 1
+		* Edit the current directory:  :e .
+		* Select some file, press v
+		* Resize the windows as you wish (see |CTRL-W_<| and
+		  |CTRL-W_>|).  If you're using gvim, you can drag
+		  the separating bar with your mouse.
+		* When you want a new file, use  ctrl-w h  to go back to the
+		  netrw browser, select a file, then press P  (see |CTRL-W_h|
+		  and |netrw-P|).  If you're using gvim, you can press
+		  <leftmouse> in the browser window and then press the
+		  <middlemouse> to select the file.
 
 ==============================================================================
-11. Debugging						*netrw-debug*
+11. Debugging Netrw Itself				*netrw-debug* {{{1
 
 The <netrw.vim> script is typically available as:
 >
-	/usr/local/share/vim/vim6x/plugin/netrw.vim
+	/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
+	/usr/local/share/vim/vim6x/autoload/netrw.vim
 < -or- >
-	/usr/local/share/vim/vim7x/plugin/netrw.vim
+	/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
+	/usr/local/share/vim/vim7x/autoload/netrw.vim
 <
 which is loaded automatically at startup (assuming :set nocp).
 
 	1. Get the <Decho.vim> script, available as:
 
-	     http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_scripts
-	     as "Decho, a vimL debugging aid"
+	     http://mysite.verizon.net/astronaut/vim/index.html#DECHO
 	   or
 	     http://vim.sourceforge.net/scripts/script.php?script_id=120
 
-	   and put it into your local plugin directory.
+	  It now comes as a "vimball"; if you're using vim 7.0 or earlier,
+	  you'll need to update vimball, too.  See
+	     http://mysite.verizon.net/astronaut/vim/index.html#VIMBALL
 
-	2. <Decho.vim> itself needs the <cecutil.vim> script, so you'll need
-	   to put it into your .vim/plugin, too.  You may obtain it from:
-
-		http://mysite.verizon.net/astronaut/vim/index.html#VimFuncs
-		as "DrC's Utilities"
-
-	3. Edit the <netrw.vim> file by typing:
+	2. Edit the <netrw.vim> file by typing: >
 
 		vim netrw.vim
 		:DechoOn
 		:wq
-
-	   To restore to normal non-debugging behavior, edit <netrw.vim>
-	   by typing
+<
+	   To restore to normal non-debugging behavior, re-edit <netrw.vim>
+	   and type >
 
 		vim netrw.vim
 		:DechoOff
 		:wq
-
+<
 	   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 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.
+	3. Then bring up vim and attempt to evoke the problem by doing a
+	   transfer or doing some browsing.  A set of messages should appear
+	   concerning the steps that <netrw.vim> took in attempting to
+	   read/write your file over the network in a separate tab.
 
 	   To save the file, use >
 		:wincmd j
@@ -1745,15 +2377,218 @@
 ==============================================================================
 12. History						*netrw-history* {{{1
 
+	v125: Apr 07, 2008 * (Cristian Rigamonti) CR provides a patch; he
+			     noted that gx was failing since its call to
+			     netrw#NetBrowseX() wasn't updated to
+			     netrw#NetrwBrowseX().
+			   * (Stanis Trendelenburg) ST provides a patch to
+			     supports davs: (dav + ssl)
+			   * (Rick Choi) noted that directory names comprised
+			     of three digits were not being displayed by
+			     the internal browser.  Fixed.
+			   * (Erik Falor) provided a patch to handle problems
+			     with changing directory and |'acd'| option.
+			   * (James Vega, Teemu Likonen) noted that netrw
+			     wasn't handling multi-byte filenames/directories
+			     correctly.  Fixed.
+			   * (Rick) found problem with g:netrw_maxfilenamelen
+			     being overridden.
+			   * (James Vega) pointed out that netrw was
+			     misidentifying all files in a symbolically linked
+			     directory as being symbolically linked
+			     themselves.  This particular problem was fixed;
+			     however, there are now situations where
+			     symbolically linked files will not be detected.
+			     Really need an internal vim function to do this
+			     identification.
+	      Apr 17, 2008 * When g:netrw_keepdir==0, current directory
+	                     doesn't necessarily equal b:netrw_curdir
+			     initially.  Problem is due to the patch directly
+			     above.
+			   * Fixed qf to handle case where b:netrw_curdir
+			     isn't the same as the current directory under
+			     linux/macosx.
+			   * New: |netrw-mg| (apply vimgrep to marked files)
+	      May 05, 2008 * (Rick) pointed out that a "setlocal ts=32" was
+			     interfering with g:netrw_maxfilenamelen
+	      May 05, 2008 * (James Vega) a file inside a linked directory
+			     was showing up as a symbolic link itself.
+	      May 22, 2008 * symbolic links, fifos, and sockets are now
+	                     indicated by a trailing @, |, or =, respectively.
+	      Jun 06, 2008 * Removed numerous bugs from the marked file
+			     move and copy.  Tested these changes under
+			     Unix only thus far.
+			   * :Rexplore returns to the screen position in the
+			     netrw listing from whence the file was edited
+	v124: Apr 02, 2008 * (Adrian Rollett) change the line supporting the
+			    "x" action for mac to use g:netrw_shq
+	v123: Feb 27, 2008 * Marked files now keeps a "global" marked file
+			     list.  The global marked file list is used to
+			     support tag processing and vimdiff'ing
+			     (|netrw-md| |netrw-mt|)
+			   * Been insuring that mm and mc works with various
+			     combinations of local and remote directories
+			   * (Stefan Bittner) http://.../ should always have
+			     filetype "html" -- fixed.
+			   * (Stefan Bittner) a "?" in a http://.../ request
+			     wasn't being handled correctly.  Fixed by
+			     removing ? from default |g:netrw_tmpfile_escape|.
+			   * (Nico Weber) % codes in http://.../ requests
+			     weren't being handled correctly.  Fixed by
+			     including % in default |g:netrw_fname_escape|.
+			   * (Stefan Bittner) attempts to update Buffers.Refresh
+			     were failing because locale use changed the menu
+			     names.  I implemented a workaround.
+	v122: Feb 12, 2008 * bugfix - first sorting sequence match now has
+			     priority
+	      Feb 14, 2008 * bugfix - sorting sequence was effectively ignoring
+			     sequencing priority of anything following '*'
+			   * toggling a marked file was showing incorrect list
+			     (list was correct, but displayed matches weren't)
+			   * |g:netrw_special_syntax| implemented
+	v121: Feb 11, 2008 * Bram M reported that :e file ... :e . would not
+			     retain the alternate file.  Fixed -- I hope!
+			   * bugfix -- apparently v120 broke an explicit
+			     :Explore dirname
+	v120: Jan 21, 2008 * |netrw-mt| changed to allow for target selection
+	                     based on whether or not word under cursor is a
+			     directory or file, or if cursor is in banner
+			     area.
+			   * |netrw-mh| included (hiding by marked-file suffix)
+			   * functions moved about a bit (improved
+			     categorization)
+			   * executable files now displayed with trailing (*)
+			   * symbolically linked files now displayed with
+			     trailing (@)
+			   * Somewhen, s:NetrwMarkFileMove() got damaged.  Its
+			     now restored (missing an endif, for example).
+			   * |netrw-mu| implemented (unmarking marked files)
+			   * many bugs have been removed from the marked file
+			     system (tnx to Mark S. for feedback)
+			   * |netrw-ms| implemented (sourcing marked files)
+			   * fixed use of P with tree listing style
+			   * multiple tree listing now supported
+			   * ./ suppressed
+			   * changed q -> qb (query bookmarks)
+			   * implemented |netrw-qf|
+			   * Explore now has four special list-generation
+			     modes: */filepat **/filepat
+			           *//pattern **//pattern
+			   * gh (|netrw-gh|) is a shortcut for toggling the
+			     hiding of files and directories beginning with a
+			     dot
+	v119: Jan 10, 2008 * When g:netrw_keepdir is false,
+			     NetrwOptionsRestore() had a problem
+			     (Bill McCarthy)
+	      Jan 11, 2008 * Netrw now shows symbolic links with a trailing
+	                     "@" and special highlighting.
+	      Jan 15, 2008 * Changed g:netrw_noretmap -> |g:netrw_retmap|.
+	                     Changed: disabled by default at Bram's
+			     preference.
+	v118: Jan 02, 2008 * Fixed a problem with Windows;
+			     :Explore c:/path/ would not work,
+			     but :Explore c:/path would.
+			   * Fixed a bug in s:NetrwOptionRestore() - lcd's
+			     argument wasn't being properly escaped so it
+			     wouldn't handle spaces in directory names.
+			     (Gary Johnson)
+	v117: Jan 02, 2008 * Fixed a problem with P; had to include
+			     a b:netrw_curdir bypass (Bram Moolenaar)
+	v116: Nov 27, 2007 * netrw#LocalBrowseCheck() has &ft=="netrw"
+			     check to prevent doing a directory listing
+			     (was getting unexpected directory refreshes
+			     in the middle of some function calls)
+			   * NetrwOptionRestore moved after e! filename
+			     in order to retain user options for editing
+			     in s:NetrwBrowseChgDir()
+	      Dec 12, 2007 * Bug fix -- netrw does a better job of retaining
+	                     user options when editing files under the aegis
+			     of the browser
+	v115: Oct 04, 2007 * Erik Remmelzwaal pointed out that the use of
+			     shellslash in s:GetTempfile() was incorrect
+	      Oct 11, 2007 * Tracked down and eliminated a bug with editing
+			     remote *.tar.gz and *.tar.bz2 files
+	      Oct 11, 2007 * g:netrw_localmovecmd wasn't being initialized
+			     properly, and g:netrw_localcopycmd was being
+			     overwritten.
+	      Oct 12, 2007 * Placed all :Rexplore and <2-leftmouse> setup
+			     in a new support function (s:SetRexDir()).
+	      Oct 15, 2007 * new: g:netrw_browse_split == 4; means <cr>
+			     based selection will use previous window
+	      Oct 20, 2007 * also checks on |'shellxquote'| to set g:netrw_shq
+	      Oct 24, 2007 * Explore handles path/**/filename
+	      Oct 27, 2007 * sourcing remote files often didn't work with ftp,
+	                     turns out that b:netrw_method was undefined, so
+			     s:SaveBufVars and s:RestoreBufVars() fixed it.
+	v114: Sep 28, 2007 * mT, the map that invokes tags, has been improved
+			     to support use of remote tags files.
+	      Oct 02, 2007 * changed Netrw menu to use more submenus
+	v113: Sep 07, 2007 * worked out why the cursor position wasn't being
+			     saved and restored as intended after doing such
+			     things as deleting and renaming files.
+	      Sep 11, 2007 * Fixed bug which effectively disabled <c-l> and
+			     <c-h> maps
+	      Sep 18, 2007 * there used to be one NetrwOptionRestore() call at
+			     the end of the s:NetrwBrowseChgDir() function;
+			     they're now at the end of every if..elseif..else
+			     block.  The edit-a-file one is not quite at the end
+			     of its block; instead, its just before the edit.
+			     Restores user options, then this new placement
+			     allows ftplugins, autocmds, etc to change settings
+			     (ex. ftplugin/cpp.vim sets cindent).
+	      Sep 19, 2007 * changed all strlen() calls to use s:Strlen(), a
+			     function which handles utf-8 wide characters
+			     correctly.
+	      Sep 20, 2007 * (Nico Weber) the "x" command has been extended
+			     to Mac's OS/X (macunix); it now uses open to
+			     handle |netrw-x| browsing with special files.
+	      Sep 22, 2007 * Added g:netrw_noretmap to netrw at Tony M's
+			     request.
+			   * Included path to NetrwRemoteRmFile()
+	v112: Aug 18, 2007 * added mx (|netrw-mx|) for executing arbitrary
+			     commands on marked files
+	      Aug 22, 2007 * more option save/restore work for
+			     s:NetrwBrowseChgDir(); s:NetrwOptionSave()
+			     and s:NetrwOptionRestore() now take a parameter
+			     specifying the type of variables to be used for
+			     saving and restoring (either "w:" or "s:")
+	      Sep 04, 2007 * added the :NetrwClean[!] command
+	v111: Jul 25, 2007 * using Windows but not using Cygwin, netrw does a
+			     "file bufname" where the bufname uses /s
+			     instead of \s; Vim "fixes" it by changing the
+			     bufname to use \s anyway.  This meant that
+			     NetrwGetBuffer() didn't find the appropriately
+			     named buffer, and so would generate a new
+			     buffer listing; hence the cursor would appear
+			     to have been moved when doing a preview.
+			   * added <2-leftmouse> map to return to netrw's
+			     browser display
+	      Aug 16, 2007 * added the mark-file system, including
+			     maps for mf mp mt mz and mu.  Modifications
+			     made to maps for a D O and R to support
+			     marked files.
+	v110: May 10, 2007 * added [ and ] maps to NetrwTreeListing
+	      May 25, 2007 * |g:netrw_preview| included
+	      May 29, 2007 * modifed netrw#NetBrowseX to consistently use
+			    |g:netrw_shq| instead of hardcoded quotes,
+			     and modified the snippet that sets up redir
+			     so Windows machines use "nul" instead of
+			     "/dev/null".
+	      Jun 01, 2007 * fixed bug -- NetGetBuffer() wasn't always
+			     recognizing a buffer name match when it should,
+			     thus resulting in [Scratch] buffers.
+	      Jun 04, 2007 * Gary Johnson found a bugfix for the "c" mapping
+			     when the directory is to be made current but
+			     the name contains spaces.
 	v109: Mar 26, 2007 * if a directory name includes a "$" character,
 			     Explore() will use expand() in an attempt to
 			     decipher the name.
 	      May 07, 2007 * g:netrw_use_errorwindow now allows one to
-	                     have error messages go to a reliable window
+			     have error messages go to a reliable window
 			     or to use a less reliable but recallable 
 			     echoerr method
 	      May 07, 2007 * g:netrw_scpport and g:netrw_sshport support
-	                     use of -P and -p, respectively, to set port
+			     use of -P and -p, respectively, to set port
 			     for scp/ssh.
 	v108: Jan 03, 2007 * included preview map (|netrw-p|), supporting
 			     remote browsing
@@ -1879,257 +2714,319 @@
 	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
-	       matching any of the g:netrw_hide patterns), but
-	       showing mode was showing only those files that didn't
-	       match any of the g:netrw_hide patterns.  Instead, it now
-	       shows all files that match any of the g:netrw_hide patterns
-	       (the difference between a logical and and logical or).
-	v94: * bugfix - a Decho() had a missing quote; only affects things
-	       when debugging was enabled.
-	v93: * bugfix - removed FocusGained event from causing a slow-browser
-	       refresh for Windows
-	v92: * :Explore **//pattern implemented  (**/filepattern already taken)
-	v91: * :Explore */pattern implemented
-	     * |'acd'| option bypassed
-	v90: * mark ', as suggested by Yegappan Lakshmanan, used to help
-	       guarantee entry into the jump list when appropriate.
-	     * <s-down> and <s-up> are no longer defined until a
-	       :Explore **/pattern  is used (if the user already has a map
-	       for them).  They will be defined for new browser windows
-	       from that point forward.
-	v89: * A <s-down>, <s-up>, :Nexplore, or a :Pexplore without having
-	       first done an :Explore **/pattern (see |netrw-starstar|) caused
-	       a lot of unhelpful error messages to appear
-	v88: * moved DrChip.Netrw menu to Netrw.  Now has priority 80 by
-	       default.  g:NetrwTopLvlMenu == "Netrw" and can be changed
-	       by the user to suit.  The priority is g:NetrwMenuPriority.
-	     * Changed filetype for browser displays from netrwlist to netrw.
-	v87: * bug fix -- menus were partially disappearing
-	v85: * bug fix -- missing an endif
-	     * bug fix -- handles spaces in names and directories when using
-	       ftp-based browsing
-	v83: * disabled stop-acd handling; the change in directory handling
-	       may allow acd to be used again.  Awaiting feedback.
-	     * D was refusing to delete remote files/directories in wide
-	       listing mode.
-	v81: * FocusGained also used to refresh/wipe local browser directory
-	       buffers
-	     * (bugfix) netrw was leaving [Scratch] buffers behind when the
-	       user had the "hidden" option set.  The 'hidden' option is
-	       now bypassed.
-	v80: * ShellCmdPost event used in conjunction with g:netrw_fastbrowse
-	       to refresh/wipe local browser directory buffers.
-	v79: * directories are now displayed with nowrap
-	     * (bugfix) if the column width was smaller than the largest
-	       file's name, then netrw would hang when using wide-listing
-	       mode - fixed
-	     * g:netrw_fastbrowse introduced
-	v78: * progress has been made on allowing spaces inside directory
-	       names for remote work (reading, writing, browsing).  (scp)
-	v77: * Mikolaj Machowski fixed a bug in a substitute command
-	     * 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 
-	       a running process to determine if KDE is actually the
-	       really running.
-	     * Explorer's O functionality was inadvertently left out.
-	       Netrw now does the same thing, but with the "P" key.
-	     * added g:netrw_browse_split option
-	     * fixed a bug where the directory contained a "." but
-	       the file didn't (was treating the dirname from "."
-	       onwards as a suffix)
-	v76: * "directory is missing" error message now restores echo
-	       highlighting
-	v75: * file://... now conforms to RFC2396 (thanks to S. Zacchiroli)
-	     * if the binary option is set, then NetWrite() will only write
-	       the whole file (line numbers don't make sense with this).
-	       Supports writing of tar and zip files.
-	v74: * bugfix (vim, then :Explore) now works
-	     * ctrl-L keeps cursor at same screen location (both local and
-	       remote browsing)
-	     * netrw now can read remote zip and tar files
-	     * Obtain now uses WinXP ftp+.netrc successfully
-	v73: * bugfix -- scp://host/path/file was getting named incorrectly
-	     * netrw detects use of earlier-than-7.0 version of vim and issues
-	       a pertinent error message.
-	     * netrwSettings.vim is now uses autoloading.  Only
-	       <netrwPlugin.vim> is needed as a pure plugin
-	       (ie. always loaded).
-	v72: * bugfix -- formerly, one could prevent the loading of netrw
-	       by "let g:loaded_netrw=1"; when autoloading became supported,
-	       this feature was lost.  It is now restored.
-	v71: * bugfix -- made some "set nomodifiable"s into setlocal variants
-	       (allows :e somenewfile  to be modifiable as usual)
-	     * NetrwSettings calls a netrw function, thereby assuring that
-	       netrw has loaded.  However, if netrw does not load for whatever
-	       reason, then NetrwSettings will now issue a warning message.
-	     * For what reason I don't recall, when wget and fetch are both
-	       not present, and an attempt to read a http://... url is made,
-	       netrw exited.  It now only returns.
-	     * When ch=1, on the second and subsequent uses of browsing Netrw
-	       would issue a blank line to clear the echo'd messages.  This
-	       caused an annoying "Hit-Enter" prompt; now a blank line message
-	       is echo'd only if &ch>1.
-	v70: * when using |netrw-O|, the "Obtaining filename" message is now
-	       shown using |hl-User9|.  If User9 has not been defined, netrw
-	       will define it.
-	v69: * Bugfix: win95/98 machines were experiencing a
-	       "E121: Undefined variable: g:netrw_win95ftp" message
-	v68: * double-click-leftmouse selects word under mouse
-	v67: * Passwords which contain blanks will now be surrounded by
-	       double-quotes automatically (Yongwei)
-	v66: * Netrw now seems to work with a few more Windows situations
-	     * O now obtains a file: remote browsing file -> local copy,
-	       locally browsing file -> current directory (see :pwd)
-	     * i now cycles between thin, long, and wide listing styles
-	     * NB and Nb are maps that are always available; corresponding
-	       B and b maps are only available when not using wide listing
-	       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 
-	       named "[Scratch]" instead of "/"
-	     * Bugfix - remote browsing with ftp was omitting the ./ and ../
-	v63: * netrw now takes advantage of autoload (and requires 7.0)
-	     * Bugfix - using r (to reverse sort) working again
-	v62: * Bugfix - spaces allowed again in directory names with
-	       g:netrw_keepdir=0.  In fact, I've tested netrw (again)
-	       with most ANSI punctuation marks for directory names.
-	     * Bugfix - NetrwSettings gave errors when g:netrw_silent
-	       had not be set.
-	v61: * document upgrade -- netrw variable-based settings all should
-	       have tags.  Supports NetrwSettings command.
-	     * several important variables are window-oriented.  Netrw has
-	       to transfer these across a window split.  See s:BufWinVars()
-	       and s:UseBufWinVars().
-	v60: * when using the i map to switch between long and short listings,
-	       netrw will now keep cursor on same line
-	     * "Match # of #" now uses status line
-	     * :Explore **/*.c  will now work from a non-netrw-browser window
-	     * :Explore **/patterns can now be run in separate browser windows
-	     * active banner (hit <cr> will cause various things to happen)
-	v59: * bugfix -- another keepalt work-around installed (for vim6.3)
-	     * "Match # of #" for Explore **/pattern matches
-	v58: * Explore and relatives can now handle **/somefilepattern (v7)
-	     * Nexplore and Pexplore introduced (v7).  shift-down and shift-up
-	       cursor keys will invoke Nexplore and Pexplore, respectively.
-	     * bug fixed with o and v
-	     * autochdir only worked around for vim when it has been
-	       compiled with either |+netbeans_intg| or |+sun_workshop|
-	     * Under Windows, all directories and files were being preceded
-	       with a "/" when local browsing.  Fixed.
-	     * When: syntax highlighting is off, laststatus=2, and remote
-	       browsing is used, sometimes the laststatus highlighting
-	       bleeds into the entire display.  Work around - do an extra
-	       redraw in that case.
-	     * Bugfix: when g:netrw_keepdir=0, due to re-use of buffers,
-	       netrw didn't change the directory when it should've
-	     * Bugfix: D and R commands work again
-	v57: * Explore and relatives can now handle RO files
-	     * reverse sort restored with vim7's sort command
-	     * g:netrw_keepdir now being used to keep the current directory
-	       unchanged as intended (sense change)
-	     * vim 6.3 still supported
-	v56: * LocalBrowse now saves autochdir setting, unsets it, and
-	       restores it before returning.
-	     * using vim's rename() instead of system + local_rename variable
-	     * avoids changing directory when g:netrw_keepdir is false
-	v55: * -bar used with :Explore :Sexplore etc to allow multiple
-	       commands to be separated by |s
-	     * browser listings now use the "nowrap" option
-	     * browser: some unuseful error messages now suppressed
-	v54: * For backwards compatibility, Explore and Sexplore have been
-	       implemented.  In addition, Hexplore and Vexplore commands
-	       are available, too.
-	     * <amatch> used instead of <afile> in the transparency
-	       support (BufReadCmd, FileReadCmd, FileWriteCmd)
-	     * ***netrw*** prepended to various error messages netrw may emit
-	     * g:netrw_port used instead of b:netrw_port for scp
-	     * any leading [:#] is removed from port numbers
-	v53: * backslashes as well as slashes placed in various patterns
-	       (ex. g:netrw_sort_sequence) to better support Windows
-	v52: * nonumber'ing now set for browsing buffers
-	     * when the hiding list hid all files, error messages ensued. Fixed
-	     * when browsing, swf is set, but directory is not set, when netrw
-	       was attempting to restore options, vim wanted to save a swapfile
-	       to a local directory using an url-style path.  Fixed
-	v51: * cygwin detection now automated (using windows and &shell is bash)
-	     * customizable browser "file" rejection patterns
-	     * directory history
-	     * :[range]w url  now supported (ie. netrw has a FileWriteCmd event)
-	     * error messages have a "Press <cr> to continue" to allow them
-	       to be seen
-	     * directory browser displays no longer bother the swapfile
-	     * u/U commands to go up and down the history stack
-	     * history stack may be saved with viminfo with its "!" option
-	     * bugfixes associated with unwanted [No Files] entries
-	v50: * directories now displayed using buftype=nofile; should keep the
-	       directory names as-is
-	     * attempts to remove empty "[No File]" buffers leftover
-	       from :file ..name.. commands
-	     * bugfix: a "caps-lock" editing difficulty left in v49 was fixed
-	     * syntax highlighting for "Showing:" the hiding list included
-	     * bookmarks can now be retained if "!" is in the viminfo option
-	v49: * will use ftp for http://.../ browsing v48:
-	     * One may use ftp to do remote host file browsing
-	     * (windows and !cygwin) remote browsing with ftp can now use
-	       the "dir" command internally to provide listings
-	     * g:netrw_keepdir now allows one to keep the initial current
-	       directory as the current directory (normally the local file
-	       browser makes the currently viewed directory the current
-	       directory)
-	     * g:netrw_alto and g:netrw_altv now support alternate placement
-	       of windows started with o or v
-	     * Nread ? and Nwrite ?  now uses echomsg (instead of echo) so
-	       :messages can repeat showing the help
-	     * bugfix: avoids problems with partial matches of directory names
-	       to prior buffers with longer names
-	     * one can suppress error messages with g:netrw_quiet ctrl-h used
-	     * instead of <Leader>h for editing hiding list one may edit the
-	     * sorting sequence with the S map now allows confirmation of
-	     * deletion with [y(es) n(o) a(ll) q(uit)] the "x" map now handles
-	     * special file viewing with:
-	       (windows) rundll32 url.dll (gnome)   gnome-open (kde)
-	       kfmclient If none of these are on the executable path, then
-	       netrwFileHandlers.vim is used.
-	     * directory bookmarking during both local and remote browsing
-	       implemented
-	     * one may view all, use the hiding list to suppress, or use the
-	       hiding list to show-only remote and local file/directory
-	       listings
-	     * improved unusual file and directory name handling preview
-	     * window support
-	v47: * now handles local directory browsing.
-	v46: * now handles remote directory browsing
-	     * g:netrw_silent (if 1) will cause all transfers to be silent
-	v45: * made the [user@]hostname:path form a bit more restrictive to
-	       better handle errors in using protocols (e.g. scp:usr@host:file
-	       was being recognized as an rcp request) v44: * changed from
-	       "rsync -a" to just "rsync"
-	     * somehow an editing error messed up the test to recognize
-	       use of the fetch method for NetRead.
-	     * more debugging statements included
-	v43: * moved "Explanation" comments to <pi_netrw.txt> help file as
-	       "Network Reference" (|netrw-ref|)
-	     * <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
-	     * removed superfluous NetRestorePosn() calls
-	v42: * now does BufReadPre and BufReadPost events on file:///* and
-	       file://localhost/* v41: * installed file:///* and
-	       file://localhost/* handling v40: * prevents redraw when a
-	       protocol error occurs so that the user may see it v39: * sftp
-	       support v38: * Now uses NetRestorePosn() calls with
-	       Nread/Nwrite commands
-	     * Temporary files now removed via bwipe! instead of bwipe
-	       (thanks to Dave Roberts) v37: * Claar's modifications which
-	       test if ftp is successful, otherwise give an error message
-	     * After a read, the alternate file was pointing to the temp file.
-	       The temp file buffer is now wiped out.
-	     * removed silent from transfer methods so user can see what's
-	       happening
+	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 matching any of the g:netrw_hide
+			     patterns), but showing mode was showing only those
+			     files that didn't match any of the g:netrw_hide
+			     patterns.  Instead, it now shows all files that
+			     match any of the g:netrw_hide patterns (the
+			     difference between a logical and and logical or).
+	v94:		   * bugfix - a Decho() had a missing quote; only
+			     affects things when debugging was enabled.
+	v93:		   * bugfix - removed FocusGained event from causing a
+			     slow-browser refresh for Windows
+	v92:		   * :Explore **//pattern implemented
+			      (**/filepattern was already taken)
+	v91:		   * :Explore */pattern implemented
+			   * |'acd'| option bypassed
+	v90:		   * mark ', as suggested by Yegappan Lakshmanan, used
+			     to help guarantee entry into the jump list when
+			     appropriate.
+			   * <s-down> and <s-up> are no longer defined until a
+			     :Explore **/pattern  is used (if the user already
+			     has a map for them).  They will be defined for new
+			     browser windows from that point forward.
+	v89:		   * A <s-down>, <s-up>, :Nexplore, or a :Pexplore
+			     without having first done an :Explore **/pattern
+			     (see |netrw-starstar|) caused
+			     a lot of unhelpful error messages to appear
+	v88:		   * moved DrChip.Netrw menu to Netrw.  Now has
+			     priority 80 by default.
+			     g:NetrwTopLvlMenu == "Netrw" and can be changed
+			     by the user to suit.  The priority is given by
+			     g:NetrwMenuPriority.
+			   * Changed filetype for browser displays from
+			     netrwlist to netrw.
+	v87:		   * bug fix -- menus were partially disappearing
+	v85:		   * bug fix -- missing an endif
+			   * bug fix -- handles spaces in names and directories
+			     when using ftp-based browsing
+	v83:		   * disabled stop-acd handling; the change in directory
+			     handling may allow acd to be used again.
+			   * D was refusing to delete remote files/directories
+			     in wide listing mode.
+	v81:		   * FocusGained also used to refresh/wipe local browser
+			     directory buffers
+			   * (bugfix) netrw was leaving [Scratch] buffers behind
+			     when the user had the "hidden" option set.  The
+			     'hidden' option is now bypassed.
+	v80:		   * ShellCmdPost event used in conjunction with
+			     g:netrw_fastbrowse to refresh/wipe local browser
+			     directory buffers.
+	v79:		   * directories are now displayed with nowrap
+			   * (bugfix) if the column width was smaller than the
+			     largest file's name, then netrw would hang when
+			     using wide-listing mode - fixed
+			   * g:netrw_fastbrowse introduced
+	v78:		   * progress has been made on allowing spaces inside
+			     directory names for remote work (reading, writing,
+			     browsing).  (scp)
+	v77:		   * Mikolaj Machowski fixed a bug in a substitute cmd
+			   * 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 a running process to determine if
+			     KDE is actually running.
+			   * Explorer's O functionality was inadvertently left
+			     out.  Netrw now does the same thing, but with the
+			     "P" key.
+			   * added g:netrw_browse_split option
+			   * fixed a bug where the directory contained a "." but
+			     the file didn't (was treating the dirname from "."
+			     onwards as a suffix)
+	v76:		   * "directory is missing" error message now restores
+			      echo highlighting
+	v75:		   * file://... now conforms to RFC2396 (thanks to
+			     S. Zacchiroli)
+			   * if the binary option is set, then NetWrite() will
+			     only write the whole file (line numbers don't make
+			     sense with this).  Supports writing of tar and zip
+			     files.
+	v74:		   * bugfix (vim, then :Explore) now works
+			   * ctrl-L keeps cursor at same screen location (both
+			     local and remote browsing)
+			   * netrw now can read remote zip and tar files
+			   * Obtain now uses WinXP ftp+.netrc successfully
+	v73:		   * bugfix -- scp://host/path/file was getting named
+			     incorrectly
+			   * netrw detects use of earlier-than-7.0 version of
+			     vim and issues a pertinent error message.
+			   * netrwSettings.vim is now uses autoloading.  Only
+			     <netrwPlugin.vim> is needed as a pure plugin
+			     (ie. always loaded).
+	v72:		   * bugfix -- formerly, one could prevent the loading
+			     of netrw by "let g:loaded_netrw=1"; when
+			     autoloading became supported, this feature was
+			     lost.  It is now restored.
+	v71:		   * bugfix -- made some "set nomodifiable"s into
+			     setlocal variants (allows :e somenewfile  to be
+			     modifiable as usual)
+			   * NetrwSettings calls a netrw function, thereby
+			     assuring that netrw has loaded.  However, if netrw
+			     does not load for whatever reason, then
+			     NetrwSettings will now issue a warning message.
+			   * For what reason I don't recall, when wget and fetch
+			     are both not present, and an attempt to read a
+			     http://... url is made, netrw exited.  It now only
+			     returns.
+			   * When ch=1, on the second and subsequent uses of
+			     browsing Netrw would issue a blank line to clear
+			     the echo'd messages.  This caused an annoying
+			     "Hit-Enter" prompt; now a blank line message
+			     is echo'd only if &ch>1.
+	v70:		   * when using |netrw-O|, the "Obtaining filename"
+			     message is now shown using |hl-User9|.  If User9
+			     has not been defined, netrw itself will define it.
+	v69:		   * Bugfix: win95/98 machines were experiencing a
+			     "E121: Undefined variable: g:netrw_win95ftp"
+			     message
+	v68:		   * double-click-leftmouse selects word under mouse
+	v67:		   * Passwords which contain blanks will now be
+			     surrounded by double-quotes automatically (Yongwei)
+	v66:		   * Netrw now seems to work with a few more Windows
+			     situations
+			   * O now obtains a file: remote browsing
+			     file -> local copy, locally browsing
+			     file -> current directory (see :pwd)
+			   * i now cycles between thin, long, and wide listing
+			     styles
+			   * NB and Nb are maps that are always available;
+			     corresponding B and b maps are only available when
+			     not using wide listing 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 named "[Scratch]" instead of "/"
+			   * Bugfix - remote browsing with ftp was omitting
+			     the ./ and ../
+	v63:		   * netrw now takes advantage of autoload (needs 7.0)
+			   * Bugfix - using r (to reverse sort) working again
+	v62:		   * Bugfix - spaces allowed again in directory names
+			     with g:netrw_keepdir=0.  In fact, I've tested netrw
+			     with most ANSI punctuation marks for directory
+			     names.
+			   * Bugfix - NetrwSettings gave errors when
+			     g:netrw_silent had not be set.
+	v61:		   * Document upgrade -- netrw variable-based settings
+			     all should have tags.  Supports NetrwSettings cmd.
+			   * Several important variables are window-oriented.
+			     Netrw has to transfer these across a window split.
+			     See s:BufWinVars() and s:UseBufWinVars().
+	v60:		   * When using the i map to switch between long and
+			     short listings, netrw will now keep cursor on same
+			     line
+			   * "Match # of #" now uses status line
+			   * :Explore **/*.c  will now work from a
+			     non-netrw-browser window
+			   * :Explore **/patterns can now be run in separate
+			     browser windows
+			   * active banner (hit <cr> will cause various things
+			     to happen)
+	v59:		   * bugfix -- another keepalt work-around installed
+			     (for vim6.3)
+			   * "Match # of #" for Explore **/pattern matches
+	v58:		   * Explore and relatives can now handle
+			     **/somefilepattern (v7)
+			   * Nexplore and Pexplore introduced (v7).  shift-down
+			     and shift-up cursor keys will invoke Nexplore and
+			     Pexplore, respectively.
+			   * bug fixed with o and v
+			   * autochdir only worked around for vim when it has
+			     been compiled with either
+			     |+netbeans_intg| or |+sun_workshop|
+			   * Under Windows, all directories and files were
+			     being preceded with a "/" when local browsing.
+			     Fixed.
+			   * When: syntax highlighting is off, laststatus=2, and
+			     remote browsing is used, sometimes the laststatus
+			     highlighting bleeds into the entire display.  Work
+			     around - do an extra redraw in that case.
+			   * Bugfix: when g:netrw_keepdir=0, due to re-use of
+			     buffers, netrw didn't change the directory when it
+			     should've
+			   * Bugfix: D and R commands work again
+	v57:		   * Explore and relatives can now handle RO files
+			   * reverse sort restored with vim7's sort command
+			   * g:netrw_keepdir now being used to keep the current
+			     directory unchanged as intended (sense change)
+			   * vim 6.3 still supported
+	v56:		   * LocalBrowse now saves autochdir setting, unsets it,
+			     and restores it before returning.
+			   * using vim's rename() instead of system +
+			     local_rename variable
+			   * avoids changing directory when g:netrw_keepdir is
+			     false
+	v55:		   * -bar used with :Explore :Sexplore etc to allow
+			     multiple commands to be separated by |s
+			   * browser listings now use the "nowrap" option
+			   * browser: some unuseful error messages now
+			     suppressed
+	v54:		   * For backwards compatibility, Explore and Sexplore
+			     have been implemented.  In addition, Hexplore and
+			     Vexplore commands are available, too.
+			   * <amatch> used instead of <afile> in the
+			     transparency support (BufReadCmd, FileReadCmd,
+			     FileWriteCmd)
+			   * ***netrw*** prepended to various error messages
+			     netrw may emit
+			   * g:netrw_port used instead of b:netrw_port for scp
+			   * any leading [:#] is removed from port numbers
+	v53:		   * backslashes as well as slashes placed in various
+			     patterns (ex. g:netrw_sort_sequence) to better
+			     support Windows
+	v52:		   * nonumber'ing now set for browsing buffers
+			   * when the hiding list hid all files, error messages
+			     ensued. Fixed
+			   * when browsing, swf is set, but directory is not
+			     set, when netrw was attempting to restore options,
+			     vim wanted to save a swapfile to a local directory
+			     using an url-style path.  Fixed
+	v51:		   * cygwin detection now automated
+			     (using windows and &shell is bash)
+			   * customizable browser "file" rejection patterns
+			   * directory history
+			   * :[range]w url  now supported (ie. netrw uses a
+			     FileWriteCmd event)
+			   * error messages have a "Press <cr> to continue" to
+			     allow them to be seen
+			   * directory browser displays no longer bother the
+			     swapfile
+			   * u/U commands to go up and down the history stack
+			   * history stack may be saved with viminfo with it's
+			     "!" option
+			   * bugfixes associated with unwanted [No Files]
+			     entries
+	v50:		   * directories now displayed using buftype=nofile;
+			     should keep the directory names as-is
+			   * attempts to remove empty "[No File]" buffers
+			     leftover from :file ..name.. commands
+			   * bugfix: a "caps-lock" editing difficulty left in
+			     v49 was fixed
+			   * syntax highlighting for "Showing:" the hiding list
+			     included
+			   * bookmarks can now be retained if "!" is in the
+			     viminfo option
+	v49:		   * will use ftp for http://.../ browsing
+	v48:		   * One may use ftp to do remote host file browsing
+			   * (windows and !cygwin) remote browsing with ftp can
+			     now use the "dir" command internally to provide
+			     listings
+			   * g:netrw_keepdir now allows one to keep the initial
+			     current directory as the current directory
+			     (normally the local file browser makes the
+			     currently viewed directory the current directory)
+			   * g:netrw_alto and g:netrw_altv now support
+			     alternate placement of windows started with o or v
+			   * Nread ? and Nwrite ?  now uses echomsg (instead of
+			     echo) so :messages can repeat showing the help
+			   * bugfix: avoids problems with partial matches of
+			     directory names to prior buffers with longer names
+			   * one can suppress error messages with g:netrw_quiet
+			     ctrl-h used
+			   * instead of <Leader>h for editing hiding list one
+			     may edit the sorting sequence with the S map, which
+			     now allows confirmation of deletion with
+			     [y(es) n(o) a(ll) q(uit)]
+			   * the "x" map now handles special file viewing with:
+			     (windows) rundll32 url.dll (gnome) gnome-open (kde)
+			     kfmclient If none of these are on the executable
+			     path, then netrwFileHandlers.vim is used.
+			   * directory bookmarking during both local and remote
+			     browsing implemented
+			   * one may view all, use the hiding list to suppress,
+			     or use the hiding list to show-only remote and
+			     local file/directory listings
+			   * improved unusual file and directory name handling
+			     preview window support
+	v47:		   * now handles local browsing.
+	v46:		   * now handles remote browsing
+			   * g:netrw_silent (if 1) will cause all transfers to
+			     be silent
+	v45:		   * made the [user@]hostname:path form a bit more
+			     restrictive to better handle errors in using
+			     protocols (e.g. scp:usr@host:file was being
+			     recognized as an rcp request)
+	v44:		   * changed from "rsync -a" to just "rsync"
+			   * somehow an editing error messed up the test to
+			     recognize use of the fetch method for NetRead.
+			   * more debugging statements included
+	v43:		   * moved "Explanation" comments to <pi_netrw.txt> help
+			     file as "Network Reference" (|netrw-ref|)
+			   * <netrw.vim> now uses Dfunc() Decho() and Dret() for
+			     debugging
+			   * removed superfluous NetRestorePosn() calls
+	v42:		   * now does BufReadPre and BufReadPost events on
+			     file:///* and file://localhost/*
+	v41:		   * installed file:///* and file://localhost/* handling
+	v40:		   * prevents redraw when a protocol error occurs so
+			     that the user may see it
+	v39:		   * sftp support
+	v38:		   * Now uses NetRestorePosn() calls with Nread/Nwrite
+			     commands
+			   * Temporary files now removed via bwipe! instead of
+			     bwipe (thanks to Dave Roberts)
+	v37:		   * Claar's modifications which test if ftp is
+			     successful, otherwise give an error message
+			   * After a read, the alternate file was pointing to
+			     the temp file.  The temp file buffer is now wiped
+			     out.
+			   * removed silent from transfer methods so user can
+			     see what's happening
 
 
 ==============================================================================
@@ -2157,4 +3054,5 @@
 	                           operation
 
 ==============================================================================
+Modelines: {{{1
  vim:tw=78:ts=8:ft=help:norl:fdm=marker
diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt
index 53239f7..8105327 100644
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt*  For Vim version 7.1.  Last change: 2006 Jun 14
+*pi_paren.txt*  For Vim version 7.2a.  Last change: 2008 Jun 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -15,6 +15,7 @@
 The plugin installs CursorMoved, CursorMovedI and WinEnter autocommands to
 redefine the match highlighting.
 
+					*:NoMatchParen* *:DoMatchParen*
 To disable the plugin after it was loaded use this command: >
 
 	:NoMatchParen
@@ -46,5 +47,11 @@
 - 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
   in a long line with syntax highlighting.
 
+
+If you would like the |%| command to work better, the matchit plugin can be
+used, see |matchit-install|.  This plugin also helps to skip matches in
+comments.  This is unrelated to the matchparen highlighting, they use a
+different mechanism.
+
 ==============================================================================
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/quotes.txt b/runtime/doc/quotes.txt
index 2c5f13b..07b2126 100644
--- a/runtime/doc/quotes.txt
+++ b/runtime/doc/quotes.txt
@@ -1,4 +1,4 @@
-*quotes.txt*    For Vim version 7.1.  Last change: 2006 Apr 24
+*quotes.txt*    For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index 063a0d5..578c801 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -1,4 +1,4 @@
-*recover.txt*   For Vim version 7.1.  Last change: 2006 Apr 24
+*recover.txt*   For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt
index efe80c1..d270740 100644
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -1,4 +1,4 @@
-*rileft.txt*    For Vim version 7.1.  Last change: 2006 Apr 24
+*rileft.txt*    For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Avner Lottem
diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt
index 6887bc6..dabca42 100644
--- a/runtime/doc/russian.txt
+++ b/runtime/doc/russian.txt
@@ -1,4 +1,4 @@
-*russian.txt*   For Vim version 7.1.  Last change: 2006 Apr 24
+*russian.txt*   For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Vassily Ragosin
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index b926136..5434279 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt*      For Vim version 7.1.  Last change: 2006 Apr 24
+*sign.txt*      For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 7393006..4f94fe5 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -702,8 +702,10 @@
 'qe'	options.txt	/*'qe'*
 'quote	motion.txt	/*'quote*
 'quoteescape'	options.txt	/*'quoteescape'*
+'rdt'	options.txt	/*'rdt'*
 'readonly'	options.txt	/*'readonly'*
 'redraw'	vi_diff.txt	/*'redraw'*
+'redrawtime'	options.txt	/*'redrawtime'*
 'remap'	options.txt	/*'remap'*
 'report'	options.txt	/*'report'*
 'restorescreen'	options.txt	/*'restorescreen'*
@@ -1114,6 +1116,7 @@
 +feature-list	various.txt	/*+feature-list*
 +file_in_path	various.txt	/*+file_in_path*
 +find_in_path	various.txt	/*+find_in_path*
++float	various.txt	/*+float*
 +folding	various.txt	/*+folding*
 +footer	various.txt	/*+footer*
 +fork	various.txt	/*+fork*
@@ -1138,6 +1141,7 @@
 +mouse_gpm	various.txt	/*+mouse_gpm*
 +mouse_netterm	various.txt	/*+mouse_netterm*
 +mouse_pterm	various.txt	/*+mouse_pterm*
++mouse_sysmouse	various.txt	/*+mouse_sysmouse*
 +mouse_xterm	various.txt	/*+mouse_xterm*
 +mouseshape	various.txt	/*+mouseshape*
 +multi_byte	various.txt	/*+multi_byte*
@@ -1227,6 +1231,7 @@
 --servername	remote.txt	/*--servername*
 --socketid	starting.txt	/*--socketid*
 --version	starting.txt	/*--version*
+--windowid	starting.txt	/*--windowid*
 -A	starting.txt	/*-A*
 -C	starting.txt	/*-C*
 -D	starting.txt	/*-D*
@@ -1317,6 +1322,7 @@
 /	pattern.txt	/*\/*
 /$	pattern.txt	/*\/$*
 /.	pattern.txt	/*\/.*
+//	version7.txt	/*\/\/*
 //;	pattern.txt	/*\/\/;*
 /<CR>	pattern.txt	/*\/<CR>*
 /[[.	pattern.txt	/*\/[[.*
@@ -1734,29 +1740,33 @@
 :@	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*
+:AdaLines	ft_ada.txt	/*:AdaLines*
+:AdaRainbow	ft_ada.txt	/*:AdaRainbow*
+:AdaSpaces	ft_ada.txt	/*:AdaSpaces*
+:AdaTagDir	ft_ada.txt	/*:AdaTagDir*
+:AdaTagFile	ft_ada.txt	/*:AdaTagFile*
+:AdaTypes	ft_ada.txt	/*:AdaTypes*
 :CompilerSet	usr_41.txt	/*:CompilerSet*
 :DiffOrig	diff.txt	/*:DiffOrig*
+:DoMatchParen	pi_paren.txt	/*:DoMatchParen*
 :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*
+:GnatFind	ft_ada.txt	/*:GnatFind*
+:GnatPretty	ft_ada.txt	/*:GnatPretty*
+:GnatTags	ft_ada.txt	/*:GnatTags*
 :Hexplore	pi_netrw.txt	/*:Hexplore*
 :Man	filetype.txt	/*:Man*
 :MkVimball	pi_vimball.txt	/*:MkVimball*
 :N	editing.txt	/*:N*
+:NetrwClean	pi_netrw.txt	/*:NetrwClean*
 :Nexplore	pi_netrw.txt	/*:Nexplore*
 :Next	editing.txt	/*:Next*
+:NoMatchParen	pi_paren.txt	/*:NoMatchParen*
 :P	various.txt	/*:P*
 :Pexplore	pi_netrw.txt	/*:Pexplore*
 :Print	various.txt	/*:Print*
+:Rexplore	pi_netrw.txt	/*:Rexplore*
 :RmVimball	pi_vimball.txt	/*:RmVimball*
 :Sexplore	pi_netrw.txt	/*:Sexplore*
 :TOhtml	syntax.txt	/*:TOhtml*
@@ -2153,6 +2163,7 @@
 :highlight-link	syntax.txt	/*:highlight-link*
 :highlight-normal	syntax.txt	/*:highlight-normal*
 :highlight-verbose	syntax.txt	/*:highlight-verbose*
+:his	cmdline.txt	/*:his*
 :history	cmdline.txt	/*:history*
 :history-indexing	cmdline.txt	/*:history-indexing*
 :i	insert.txt	/*:i*
@@ -4079,8 +4090,18 @@
 E795	eval.txt	/*E795*
 E796	editing.txt	/*E796*
 E797	spell.txt	/*E797*
+E798	eval.txt	/*E798*
+E799	eval.txt	/*E799*
 E80	message.txt	/*E80*
 E800	arabic.txt	/*E800*
+E801	eval.txt	/*E801*
+E802	eval.txt	/*E802*
+E803	eval.txt	/*E803*
+E804	eval.txt	/*E804*
+E805	eval.txt	/*E805*
+E806	eval.txt	/*E806*
+E807	eval.txt	/*E807*
+E808	eval.txt	/*E808*
 E81	map.txt	/*E81*
 E82	message.txt	/*E82*
 E83	message.txt	/*E83*
@@ -4129,6 +4150,7 @@
 FilterReadPre	autocmd.txt	/*FilterReadPre*
 FilterWritePost	autocmd.txt	/*FilterWritePost*
 FilterWritePre	autocmd.txt	/*FilterWritePre*
+Float	eval.txt	/*Float*
 FocusGained	autocmd.txt	/*FocusGained*
 FocusLost	autocmd.txt	/*FocusLost*
 Folding	fold.txt	/*Folding*
@@ -4161,6 +4183,7 @@
 K	various.txt	/*K*
 KDE	gui_x11.txt	/*KDE*
 KVim	gui_x11.txt	/*KVim*
+Kibaale	uganda.txt	/*Kibaale*
 Korean	mbyte.txt	/*Korean*
 L	motion.txt	/*L*
 Linux-backspace	options.txt	/*Linux-backspace*
@@ -4195,6 +4218,7 @@
 Normal-mode	intro.txt	/*Normal-mode*
 Nread	pi_netrw.txt	/*Nread*
 Nsource	pi_netrw.txt	/*Nsource*
+Number	eval.txt	/*Number*
 Nvi	intro.txt	/*Nvi*
 Nwrite	pi_netrw.txt	/*Nwrite*
 O	insert.txt	/*O*
@@ -4266,6 +4290,7 @@
 Q_wi	quickref.txt	/*Q_wi*
 Q_wq	quickref.txt	/*Q_wq*
 QuickFixCmdPost	autocmd.txt	/*QuickFixCmdPost*
+QuickFixCmdPost-example	quickfix.txt	/*QuickFixCmdPost-example*
 QuickFixCmdPre	autocmd.txt	/*QuickFixCmdPre*
 Quickfix	quickfix.txt	/*Quickfix*
 R	change.txt	/*R*
@@ -4279,7 +4304,7 @@
 Russian	russian.txt	/*Russian*
 S	change.txt	/*S*
 SHELL	starting.txt	/*SHELL*
-SQLSetType	sql.txt	/*SQLSetType*
+SQLSetType	ft_sql.txt	/*SQLSetType*
 Select	visual.txt	/*Select*
 Select-mode	visual.txt	/*Select-mode*
 Select-mode-mapping	visual.txt	/*Select-mode-mapping*
@@ -4298,7 +4323,7 @@
 T	motion.txt	/*T*
 TCL	if_tcl.txt	/*TCL*
 TERM	starting.txt	/*TERM*
-TSQL	sql.txt	/*TSQL*
+TSQL	ft_sql.txt	/*TSQL*
 TTpro-telnet	syntax.txt	/*TTpro-telnet*
 Tab	intro.txt	/*Tab*
 TabEnter	autocmd.txt	/*TabEnter*
@@ -4306,7 +4331,7 @@
 Tcl	if_tcl.txt	/*Tcl*
 TermChanged	autocmd.txt	/*TermChanged*
 TermResponse	autocmd.txt	/*TermResponse*
-Transact-SQL	sql.txt	/*Transact-SQL*
+Transact-SQL	ft_sql.txt	/*Transact-SQL*
 U	undo.txt	/*U*
 UTF-8	mbyte.txt	/*UTF-8*
 UTF8-xterm	mbyte.txt	/*UTF8-xterm*
@@ -4484,18 +4509,18 @@
 abandon	editing.txt	/*abandon*
 abbreviations	map.txt	/*abbreviations*
 abel.vim	syntax.txt	/*abel.vim*
+abs()	eval.txt	/*abs()*
 active-buffer	windows.txt	/*active-buffer*
-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*
+ada#Create_Tags()	ft_ada.txt	/*ada#Create_Tags()*
+ada#Jump_Tag()	ft_ada.txt	/*ada#Jump_Tag()*
+ada#Listtags()	ft_ada.txt	/*ada#Listtags()*
+ada#Switch_Syntax_Option()	ft_ada.txt	/*ada#Switch_Syntax_Option()*
+ada#Word()	ft_ada.txt	/*ada#Word()*
+ada-compiler	ft_ada.txt	/*ada-compiler*
+ada-ctags	ft_ada.txt	/*ada-ctags*
+ada-extra-plugins	ft_ada.txt	/*ada-extra-plugins*
+ada-reference	ft_ada.txt	/*ada-reference*
+ada.vim	ft_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*
@@ -4515,6 +4540,7 @@
 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-7.2	version7.txt	/*added-7.2*
 added-BeOS	version5.txt	/*added-BeOS*
 added-Mac	version5.txt	/*added-Mac*
 added-VMS	version5.txt	/*added-VMS*
@@ -4551,6 +4577,7 @@
 asm68k	syntax.txt	/*asm68k*
 asmh8300.vim	syntax.txt	/*asmh8300.vim*
 at	motion.txt	/*at*
+atan()	eval.txt	/*atan()*
 athena-intellimouse	gui.txt	/*athena-intellimouse*
 attr-list	syntax.txt	/*attr-list*
 author	intro.txt	/*author*
@@ -4742,6 +4769,7 @@
 catch-order	eval.txt	/*catch-order*
 catch-text	eval.txt	/*catch-text*
 cc	change.txt	/*cc*
+ceil()	eval.txt	/*ceil()*
 ch.vim	syntax.txt	/*ch.vim*
 change-list-jumps	motion.txt	/*change-list-jumps*
 change-tabs	change.txt	/*change-tabs*
@@ -4759,6 +4787,7 @@
 changed-6.3	version6.txt	/*changed-6.3*
 changed-6.4	version6.txt	/*changed-6.4*
 changed-7.1	version7.txt	/*changed-7.1*
+changed-7.2	version7.txt	/*changed-7.2*
 changelist	motion.txt	/*changelist*
 changelog.vim	syntax.txt	/*changelog.vim*
 changenr()	eval.txt	/*changenr()*
@@ -4771,12 +4800,14 @@
 characterwise-visual	visual.txt	/*characterwise-visual*
 charconvert_from-variable	eval.txt	/*charconvert_from-variable*
 charconvert_to-variable	eval.txt	/*charconvert_to-variable*
+charity	uganda.txt	/*charity*
 charset	mbyte.txt	/*charset*
 charset-conversion	mbyte.txt	/*charset-conversion*
 chill.vim	syntax.txt	/*chill.vim*
 cindent()	eval.txt	/*cindent()*
 cinkeys-format	indent.txt	/*cinkeys-format*
 cinoptions-values	indent.txt	/*cinoptions-values*
+clearmatches()	eval.txt	/*clearmatches()*
 client-server	remote.txt	/*client-server*
 clientserver	remote.txt	/*clientserver*
 clipboard	gui.txt	/*clipboard*
@@ -4809,16 +4840,17 @@
 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-compaqada	ft_ada.txt	/*compiler-compaqada*
+compiler-decada	ft_ada.txt	/*compiler-decada*
 compiler-gcc	quickfix.txt	/*compiler-gcc*
-compiler-gnat	ada.txt	/*compiler-gnat*
-compiler-hpada	ada.txt	/*compiler-hpada*
+compiler-gnat	ft_ada.txt	/*compiler-gnat*
+compiler-hpada	ft_ada.txt	/*compiler-hpada*
 compiler-manx	quickfix.txt	/*compiler-manx*
+compiler-perl	quickfix.txt	/*compiler-perl*
 compiler-pyunit	quickfix.txt	/*compiler-pyunit*
 compiler-select	quickfix.txt	/*compiler-select*
 compiler-tex	quickfix.txt	/*compiler-tex*
-compiler-vaxada	ada.txt	/*compiler-vaxada*
+compiler-vaxada	ft_ada.txt	/*compiler-vaxada*
 compl-current	insert.txt	/*compl-current*
 compl-define	insert.txt	/*compl-define*
 compl-dictionary	insert.txt	/*compl-dictionary*
@@ -4855,6 +4887,7 @@
 copy-move	change.txt	/*copy-move*
 copying	uganda.txt	/*copying*
 copyright	uganda.txt	/*copyright*
+cos()	eval.txt	/*cos()*
 count	intro.txt	/*count*
 count()	eval.txt	/*count()*
 count-bytes	tips.txt	/*count-bytes*
@@ -4983,6 +5016,7 @@
 dap	motion.txt	/*dap*
 das	motion.txt	/*das*
 dav	pi_netrw.txt	/*dav*
+davs	pi_netrw.txt	/*davs*
 daw	motion.txt	/*daw*
 dd	change.txt	/*dd*
 debug-gcc	debug.txt	/*debug-gcc*
@@ -5002,7 +5036,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*
+decada_members	ft_ada.txt	/*decada_members*
 deepcopy()	eval.txt	/*deepcopy()*
 definition-search	tagsrch.txt	/*definition-search*
 definitions	intro.txt	/*definitions*
@@ -5132,6 +5166,7 @@
 errorformat-multi-line	quickfix.txt	/*errorformat-multi-line*
 errorformat-separate-filename	quickfix.txt	/*errorformat-separate-filename*
 errorformats	quickfix.txt	/*errorformats*
+errors	message.txt	/*errors*
 escape	intro.txt	/*escape*
 escape()	eval.txt	/*escape()*
 escape-bar	version4.txt	/*escape-bar*
@@ -5292,11 +5327,17 @@
 fixed-6.3	version6.txt	/*fixed-6.3*
 fixed-6.4	version6.txt	/*fixed-6.4*
 fixed-7.1	version7.txt	/*fixed-7.1*
+fixed-7.2	version7.txt	/*fixed-7.2*
 flexwiki.vim	syntax.txt	/*flexwiki.vim*
+float2nr()	eval.txt	/*float2nr()*
+floating-point-format	eval.txt	/*floating-point-format*
+floating-point-precision	eval.txt	/*floating-point-precision*
+floor()	eval.txt	/*floor()*
 fname_diff-variable	eval.txt	/*fname_diff-variable*
 fname_in-variable	eval.txt	/*fname_in-variable*
 fname_new-variable	eval.txt	/*fname_new-variable*
 fname_out-variable	eval.txt	/*fname_out-variable*
+fnameescape()	eval.txt	/*fnameescape()*
 fnamemodify()	eval.txt	/*fnamemodify()*
 fo-table	change.txt	/*fo-table*
 fold-behavior	fold.txt	/*fold-behavior*
@@ -5336,18 +5377,17 @@
 formatting	change.txt	/*formatting*
 formfeed	intro.txt	/*formfeed*
 fortran.vim	syntax.txt	/*fortran.vim*
-french-maillist	intro.txt	/*french-maillist*
 frombook	usr_01.txt	/*frombook*
 ft-abel-syntax	syntax.txt	/*ft-abel-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-ada-commands	ft_ada.txt	/*ft-ada-commands*
+ft-ada-constants	ft_ada.txt	/*ft-ada-constants*
+ft-ada-functions	ft_ada.txt	/*ft-ada-functions*
+ft-ada-indent	ft_ada.txt	/*ft-ada-indent*
+ft-ada-omni	ft_ada.txt	/*ft-ada-omni*
+ft-ada-options	ft_ada.txt	/*ft-ada-options*
+ft-ada-plugin	ft_ada.txt	/*ft-ada-plugin*
+ft-ada-syntax	ft_ada.txt	/*ft-ada-syntax*
+ft-ada-variables	ft_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*
@@ -5384,6 +5424,7 @@
 ft-fortran-plugin	filetype.txt	/*ft-fortran-plugin*
 ft-fortran-syntax	syntax.txt	/*ft-fortran-syntax*
 ft-fvwm-syntax	syntax.txt	/*ft-fvwm-syntax*
+ft-gitcommit-plugin	filetype.txt	/*ft-gitcommit-plugin*
 ft-groff-syntax	syntax.txt	/*ft-groff-syntax*
 ft-gsp-syntax	syntax.txt	/*ft-gsp-syntax*
 ft-haskell-syntax	syntax.txt	/*ft-haskell-syntax*
@@ -5417,6 +5458,7 @@
 ft-ocaml-syntax	syntax.txt	/*ft-ocaml-syntax*
 ft-papp-syntax	syntax.txt	/*ft-papp-syntax*
 ft-pascal-syntax	syntax.txt	/*ft-pascal-syntax*
+ft-pdf-plugin	filetype.txt	/*ft-pdf-plugin*
 ft-perl-syntax	syntax.txt	/*ft-perl-syntax*
 ft-php-omni	insert.txt	/*ft-php-omni*
 ft-php-syntax	syntax.txt	/*ft-php-syntax*
@@ -5456,6 +5498,7 @@
 ft-tf-syntax	syntax.txt	/*ft-tf-syntax*
 ft-vb-syntax	syntax.txt	/*ft-vb-syntax*
 ft-verilog-indent	indent.txt	/*ft-verilog-indent*
+ft-vhdl-indent	indent.txt	/*ft-vhdl-indent*
 ft-vim-indent	indent.txt	/*ft-vim-indent*
 ft-vim-syntax	syntax.txt	/*ft-vim-syntax*
 ft-xf86conf-syntax	syntax.txt	/*ft-xf86conf-syntax*
@@ -5463,6 +5506,8 @@
 ft-xml-omni	insert.txt	/*ft-xml-omni*
 ft-xml-syntax	syntax.txt	/*ft-xml-syntax*
 ft-xpm-syntax	syntax.txt	/*ft-xpm-syntax*
+ft_ada.txt	ft_ada.txt	/*ft_ada.txt*
+ft_sql.txt	ft_sql.txt	/*ft_sql.txt*
 ftdetect	filetype.txt	/*ftdetect*
 ftp	pi_netrw.txt	/*ftp*
 ftplugin	usr_41.txt	/*ftplugin*
@@ -5476,6 +5521,7 @@
 function-key	intro.txt	/*function-key*
 function-list	usr_41.txt	/*function-list*
 function-range-example	eval.txt	/*function-range-example*
+function-search-undo	eval.txt	/*function-search-undo*
 function_key	intro.txt	/*function_key*
 functions	eval.txt	/*functions*
 fvwm.vim	syntax.txt	/*fvwm.vim*
@@ -5493,54 +5539,59 @@
 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:ada#Comment	ft_ada.txt	/*g:ada#Comment*
+g:ada#Ctags_Kinds	ft_ada.txt	/*g:ada#Ctags_Kinds*
+g:ada#DotWordRegex	ft_ada.txt	/*g:ada#DotWordRegex*
+g:ada#Keywords	ft_ada.txt	/*g:ada#Keywords*
+g:ada#WordRegex	ft_ada.txt	/*g:ada#WordRegex*
+g:ada_abbrev	ft_ada.txt	/*g:ada_abbrev*
+g:ada_all_tab_usage	ft_ada.txt	/*g:ada_all_tab_usage*
+g:ada_begin_preproc	ft_ada.txt	/*g:ada_begin_preproc*
+g:ada_default_compiler	ft_ada.txt	/*g:ada_default_compiler*
+g:ada_extended_completion	ft_ada.txt	/*g:ada_extended_completion*
+g:ada_extended_tagging	ft_ada.txt	/*g:ada_extended_tagging*
+g:ada_folding	ft_ada.txt	/*g:ada_folding*
+g:ada_gnat_extensions	ft_ada.txt	/*g:ada_gnat_extensions*
+g:ada_line_errors	ft_ada.txt	/*g:ada_line_errors*
+g:ada_no_tab_space_error	ft_ada.txt	/*g:ada_no_tab_space_error*
+g:ada_no_trail_space_error	ft_ada.txt	/*g:ada_no_trail_space_error*
+g:ada_omni_with_keywords	ft_ada.txt	/*g:ada_omni_with_keywords*
+g:ada_rainbow_color	ft_ada.txt	/*g:ada_rainbow_color*
+g:ada_space_errors	ft_ada.txt	/*g:ada_space_errors*
+g:ada_standard_types	ft_ada.txt	/*g:ada_standard_types*
+g:ada_with_gnat_project_files	ft_ada.txt	/*g:ada_with_gnat_project_files*
+g:ada_withuse_ordinary	ft_ada.txt	/*g:ada_withuse_ordinary*
+g:colors_name	options.txt	/*g:colors_name*
+g:decada	ft_ada.txt	/*g:decada*
+g:decada.Error_Format	ft_ada.txt	/*g:decada.Error_Format*
+g:decada.Make()	ft_ada.txt	/*g:decada.Make()*
+g:decada.Make_Command	ft_ada.txt	/*g:decada.Make_Command*
+g:decada.Unit_Name()	ft_ada.txt	/*g:decada.Unit_Name()*
+g:gnat	ft_ada.txt	/*g:gnat*
+g:gnat.Error_Format	ft_ada.txt	/*g:gnat.Error_Format*
+g:gnat.Find()	ft_ada.txt	/*g:gnat.Find()*
+g:gnat.Find_Program	ft_ada.txt	/*g:gnat.Find_Program*
+g:gnat.Make()	ft_ada.txt	/*g:gnat.Make()*
+g:gnat.Make_Command	ft_ada.txt	/*g:gnat.Make_Command*
+g:gnat.Pretty()	ft_ada.txt	/*g:gnat.Pretty()*
+g:gnat.Pretty_Program	ft_ada.txt	/*g:gnat.Pretty_Program*
+g:gnat.Project_File	ft_ada.txt	/*g:gnat.Project_File*
+g:gnat.Set_Project_File()	ft_ada.txt	/*g:gnat.Set_Project_File()*
+g:gnat.Tags()	ft_ada.txt	/*g:gnat.Tags()*
+g:gnat.Tags_Command	ft_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_cd_escape	pi_netrw.txt	/*g:netrw_cd_escape*
+g:netrw_compress	pi_netrw.txt	/*g:netrw_compress*
 g:netrw_cygwin	pi_netrw.txt	/*g:netrw_cygwin*
 g:netrw_dav_cmd	pi_netrw.txt	/*g:netrw_dav_cmd*
+g:netrw_decompress	pi_netrw.txt	/*g:netrw_decompress*
 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_fname_escape	pi_netrw.txt	/*g:netrw_fname_escape*
 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*
@@ -5548,6 +5599,7 @@
 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_glob_escape	pi_netrw.txt	/*g:netrw_glob_escape*
 g:netrw_hide	pi_netrw.txt	/*g:netrw_hide*
 g:netrw_http_cmd	pi_netrw.txt	/*g:netrw_http_cmd*
 g:netrw_ignorenetrc	pi_netrw.txt	/*g:netrw_ignorenetrc*
@@ -5557,12 +5609,15 @@
 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_localcopycmd	pi_netrw.txt	/*g:netrw_localcopycmd*
+g:netrw_localmovecmd	pi_netrw.txt	/*g:netrw_localmovecmd*
 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_preview	pi_netrw.txt	/*g:netrw_preview*
 g:netrw_rcp_cmd	pi_netrw.txt	/*g:netrw_rcp_cmd*
+g:netrw_retmap	pi_netrw.txt	/*g:netrw_retmap*
 g:netrw_rm_cmd	pi_netrw.txt	/*g:netrw_rm_cmd*
 g:netrw_rmdir_cmd	pi_netrw.txt	/*g:netrw_rmdir_cmd*
 g:netrw_rmf_cmd	pi_netrw.txt	/*g:netrw_rmf_cmd*
@@ -5571,25 +5626,39 @@
 g:netrw_scpport	pi_netrw.txt	/*g:netrw_scpport*
 g:netrw_sftp_cmd	pi_netrw.txt	/*g:netrw_sftp_cmd*
 g:netrw_shq	pi_netrw.txt	/*g:netrw_shq*
+g:netrw_silent	pi_netrw.txt	/*g:netrw_silent*
 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*
+g:netrw_special_syntax	pi_netrw.txt	/*g:netrw_special_syntax*
 g:netrw_ssh_browse_reject	pi_netrw.txt	/*g:netrw_ssh_browse_reject*
 g:netrw_ssh_cmd	pi_netrw.txt	/*g:netrw_ssh_cmd*
 g:netrw_sshport	pi_netrw.txt	/*g:netrw_sshport*
 g:netrw_timefmt	pi_netrw.txt	/*g:netrw_timefmt*
+g:netrw_tmpfile_escape	pi_netrw.txt	/*g:netrw_tmpfile_escape*
 g:netrw_uid	pi_netrw.txt	/*g:netrw_uid*
 g:netrw_use_errorwindow	pi_netrw.txt	/*g:netrw_use_errorwindow*
 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*
+g:netrw_xstrlen	pi_netrw.txt	/*g:netrw_xstrlen*
 g:tar_browseoptions	pi_tar.txt	/*g:tar_browseoptions*
 g:tar_cmd	pi_tar.txt	/*g:tar_cmd*
+g:tar_nomax	pi_tar.txt	/*g:tar_nomax*
 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:vimball_mkdir	pi_vimball.txt	/*g:vimball_mkdir*
+g:vimball_path_escape	pi_vimball.txt	/*g:vimball_path_escape*
+g:vimsyn_embed	syntax.txt	/*g:vimsyn_embed*
+g:vimsyn_folding	syntax.txt	/*g:vimsyn_folding*
+g:vimsyn_maxlines	syntax.txt	/*g:vimsyn_maxlines*
+g:vimsyn_minlines	syntax.txt	/*g:vimsyn_minlines*
+g:vimsyn_noerror	syntax.txt	/*g:vimsyn_noerror*
+g:zip_nomax	pi_zip.txt	/*g:zip_nomax*
+g:zip_shq	pi_zip.txt	/*g:zip_shq*
 g:zip_unzipcmd	pi_zip.txt	/*g:zip_unzipcmd*
 g:zip_zipcmd	pi_zip.txt	/*g:zip_zipcmd*
 g;	motion.txt	/*g;*
@@ -5649,6 +5718,8 @@
 getlatestvimscripts-install	pi_getscript.txt	/*getlatestvimscripts-install*
 getline()	eval.txt	/*getline()*
 getloclist()	eval.txt	/*getloclist()*
+getmatches()	eval.txt	/*getmatches()*
+getpid()	eval.txt	/*getpid()*
 getpos()	eval.txt	/*getpos()*
 getqflist()	eval.txt	/*getqflist()*
 getreg()	eval.txt	/*getreg()*
@@ -5674,6 +5745,7 @@
 global-ime	mbyte.txt	/*global-ime*
 global-local	options.txt	/*global-local*
 global-variable	eval.txt	/*global-variable*
+global_markfilelist	pi_netrw.txt	/*global_markfilelist*
 globpath()	eval.txt	/*globpath()*
 glvs	pi_getscript.txt	/*glvs*
 glvs-alg	pi_getscript.txt	/*glvs-alg*
@@ -5689,10 +5761,10 @@
 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*
+gnat#Insert_Tags_Header()	ft_ada.txt	/*gnat#Insert_Tags_Header()*
+gnat#New()	ft_ada.txt	/*gnat#New()*
+gnat-xref	ft_ada.txt	/*gnat-xref*
+gnat_members	ft_ada.txt	/*gnat_members*
 gnome-session	gui_x11.txt	/*gnome-session*
 go	motion.txt	/*go*
 gp	change.txt	/*gp*
@@ -5752,6 +5824,7 @@
 gui-w32-printing	gui_w32.txt	/*gui-w32-printing*
 gui-w32-start	gui_w32.txt	/*gui-w32-start*
 gui-w32-various	gui_w32.txt	/*gui-w32-various*
+gui-w32-windowid	gui_w32.txt	/*gui-w32-windowid*
 gui-w32s	gui_w32.txt	/*gui-w32s*
 gui-win32-maximized	gui_w32.txt	/*gui-win32-maximized*
 gui-x11	gui_x11.txt	/*gui-x11*
@@ -5828,7 +5901,6 @@
 highlight-term	syntax.txt	/*highlight-term*
 highlightID()	eval.txt	/*highlightID()*
 highlight_exists()	eval.txt	/*highlight_exists()*
-his	cmdline.txt	/*his*
 hist-names	eval.txt	/*hist-names*
 histadd()	eval.txt	/*histadd()*
 histdel()	eval.txt	/*histdel()*
@@ -6062,7 +6134,7 @@
 index.txt	index.txt	/*index.txt*
 info-message	starting.txt	/*info-message*
 inform.vim	syntax.txt	/*inform.vim*
-informix	sql.txt	/*informix*
+informix	ft_sql.txt	/*informix*
 initialization	starting.txt	/*initialization*
 input()	eval.txt	/*input()*
 inputdialog()	eval.txt	/*inputdialog()*
@@ -6191,11 +6263,13 @@
 local-options	options.txt	/*local-options*
 local-variable	eval.txt	/*local-variable*
 local-variables	eval.txt	/*local-variables*
+local_markfilelist	pi_netrw.txt	/*local_markfilelist*
 locale	mbyte.txt	/*locale*
 locale-name	mbyte.txt	/*locale-name*
 localtime()	eval.txt	/*localtime()*
 location-list	quickfix.txt	/*location-list*
 location-list-window	quickfix.txt	/*location-list-window*
+log10()	eval.txt	/*log10()*
 long-lines	version5.txt	/*long-lines*
 lowercase	change.txt	/*lowercase*
 lpc.vim	syntax.txt	/*lpc.vim*
@@ -6260,11 +6334,14 @@
 mapping	map.txt	/*mapping*
 mark	motion.txt	/*mark*
 mark-motions	motion.txt	/*mark-motions*
+markfilelist	pi_netrw.txt	/*markfilelist*
 masm.vim	syntax.txt	/*masm.vim*
 match()	eval.txt	/*match()*
 match-highlight	pattern.txt	/*match-highlight*
 match-parens	tips.txt	/*match-parens*
+matchadd()	eval.txt	/*matchadd()*
 matcharg()	eval.txt	/*matcharg()*
+matchdelete()	eval.txt	/*matchdelete()*
 matchend()	eval.txt	/*matchend()*
 matchit-install	usr_05.txt	/*matchit-install*
 matchlist()	eval.txt	/*matchlist()*
@@ -6355,7 +6432,7 @@
 multilang-scripts	mlang.txt	/*multilang-scripts*
 myfiletypefile	syntax.txt	/*myfiletypefile*
 myscriptsfile	syntax.txt	/*myscriptsfile*
-mysql	sql.txt	/*mysql*
+mysql	ft_sql.txt	/*mysql*
 mysyntaxfile	syntax.txt	/*mysyntaxfile*
 mysyntaxfile-add	syntax.txt	/*mysyntaxfile-add*
 mysyntaxfile-replace	syntax.txt	/*mysyntaxfile-replace*
@@ -6376,14 +6453,17 @@
 nb-events	netbeans.txt	/*nb-events*
 nb-functions	netbeans.txt	/*nb-functions*
 nb-messages	netbeans.txt	/*nb-messages*
+nb-protocol_errors	netbeans.txt	/*nb-protocol_errors*
 nb-special	netbeans.txt	/*nb-special*
 nb-terms	netbeans.txt	/*nb-terms*
 ncf.vim	syntax.txt	/*ncf.vim*
 netbeans	netbeans.txt	/*netbeans*
-netbeans-commands	netbeans.txt	/*netbeans-commands*
 netbeans-configure	netbeans.txt	/*netbeans-configure*
+netbeans-debugging	netbeans.txt	/*netbeans-debugging*
 netbeans-download	netbeans.txt	/*netbeans-download*
+netbeans-integration	netbeans.txt	/*netbeans-integration*
 netbeans-intro	netbeans.txt	/*netbeans-intro*
+netbeans-key	netbeans.txt	/*netbeans-key*
 netbeans-keybindings	netbeans.txt	/*netbeans-keybindings*
 netbeans-messages	netbeans.txt	/*netbeans-messages*
 netbeans-preparation	netbeans.txt	/*netbeans-preparation*
@@ -6408,17 +6488,20 @@
 netrw-bookmarks	pi_netrw.txt	/*netrw-bookmarks*
 netrw-browse	pi_netrw.txt	/*netrw-browse*
 netrw-browse-cmds	pi_netrw.txt	/*netrw-browse-cmds*
-netrw-browse-intro	pi_netrw.txt	/*netrw-browse-intro*
-netrw-browse-var	pi_netrw.txt	/*netrw-browse-var*
+netrw-browse-maps	pi_netrw.txt	/*netrw-browse-maps*
+netrw-browser	pi_netrw.txt	/*netrw-browser*
+netrw-browser-options	pi_netrw.txt	/*netrw-browser-options*
+netrw-browser-var	pi_netrw.txt	/*netrw-browser-var*
+netrw-browsing	pi_netrw.txt	/*netrw-browsing*
 netrw-c	pi_netrw.txt	/*netrw-c*
 netrw-cadaver	pi_netrw.txt	/*netrw-cadaver*
 netrw-chgup	pi_netrw.txt	/*netrw-chgup*
+netrw-clean	pi_netrw.txt	/*netrw-clean*
 netrw-contents	pi_netrw.txt	/*netrw-contents*
 netrw-cr	pi_netrw.txt	/*netrw-cr*
 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*
@@ -6437,23 +6520,40 @@
 netrw-fixup	pi_netrw.txt	/*netrw-fixup*
 netrw-ftp	pi_netrw.txt	/*netrw-ftp*
 netrw-gb	pi_netrw.txt	/*netrw-gb*
+netrw-gh	pi_netrw.txt	/*netrw-gh*
 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-hide	pi_netrw.txt	/*netrw-hide*
 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*
 netrw-incompatible	pi_netrw.txt	/*netrw-incompatible*
+netrw-intro-browse	pi_netrw.txt	/*netrw-intro-browse*
 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-mT	pi_netrw.txt	/*netrw-mT*
 netrw-mb	pi_netrw.txt	/*netrw-mb*
+netrw-mc	pi_netrw.txt	/*netrw-mc*
+netrw-md	pi_netrw.txt	/*netrw-md*
+netrw-me	pi_netrw.txt	/*netrw-me*
+netrw-mf	pi_netrw.txt	/*netrw-mf*
+netrw-mg	pi_netrw.txt	/*netrw-mg*
+netrw-mh	pi_netrw.txt	/*netrw-mh*
 netrw-ml_get	pi_netrw.txt	/*netrw-ml_get*
+netrw-mm	pi_netrw.txt	/*netrw-mm*
 netrw-move	pi_netrw.txt	/*netrw-move*
+netrw-mp	pi_netrw.txt	/*netrw-mp*
+netrw-mr	pi_netrw.txt	/*netrw-mr*
+netrw-ms	pi_netrw.txt	/*netrw-ms*
+netrw-mt	pi_netrw.txt	/*netrw-mt*
+netrw-mu	pi_netrw.txt	/*netrw-mu*
+netrw-mx	pi_netrw.txt	/*netrw-mx*
+netrw-mz	pi_netrw.txt	/*netrw-mz*
 netrw-netrc	pi_netrw.txt	/*netrw-netrc*
 netrw-nexplore	pi_netrw.txt	/*netrw-nexplore*
 netrw-nread	pi_netrw.txt	/*netrw-nread*
@@ -6462,6 +6562,8 @@
 netrw-options	pi_netrw.txt	/*netrw-options*
 netrw-p	pi_netrw.txt	/*netrw-p*
 netrw-p1	pi_netrw.txt	/*netrw-p1*
+netrw-p10	pi_netrw.txt	/*netrw-p10*
+netrw-p11	pi_netrw.txt	/*netrw-p11*
 netrw-p2	pi_netrw.txt	/*netrw-p2*
 netrw-p3	pi_netrw.txt	/*netrw-p3*
 netrw-p4	pi_netrw.txt	/*netrw-p4*
@@ -6481,18 +6583,27 @@
 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-qb	pi_netrw.txt	/*netrw-qb*
+netrw-qf	pi_netrw.txt	/*netrw-qf*
+netrw-quickcom	pi_netrw.txt	/*netrw-quickcom*
+netrw-quickcoms	pi_netrw.txt	/*netrw-quickcoms*
+netrw-quickhelp	pi_netrw.txt	/*netrw-quickhelp*
+netrw-quickmap	pi_netrw.txt	/*netrw-quickmap*
+netrw-quickmaps	pi_netrw.txt	/*netrw-quickmaps*
 netrw-r	pi_netrw.txt	/*netrw-r*
 netrw-read	pi_netrw.txt	/*netrw-read*
 netrw-ref	pi_netrw.txt	/*netrw-ref*
 netrw-rename	pi_netrw.txt	/*netrw-rename*
 netrw-reverse	pi_netrw.txt	/*netrw-reverse*
+netrw-rexplore	pi_netrw.txt	/*netrw-rexplore*
 netrw-s	pi_netrw.txt	/*netrw-s*
 netrw-settings	pi_netrw.txt	/*netrw-settings*
 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-ssh-hack	pi_netrw.txt	/*netrw-ssh-hack*
+netrw-star	pi_netrw.txt	/*netrw-star*
 netrw-starpat	pi_netrw.txt	/*netrw-starpat*
 netrw-starstar	pi_netrw.txt	/*netrw-starstar*
 netrw-starstarpat	pi_netrw.txt	/*netrw-starstarpat*
@@ -6622,17 +6733,19 @@
 ole-registration	if_ole.txt	/*ole-registration*
 ole-sendkeys	if_ole.txt	/*ole-sendkeys*
 ole-setforeground	if_ole.txt	/*ole-setforeground*
-omni-sql-completion	sql.txt	/*omni-sql-completion*
+omap-info	map.txt	/*omap-info*
+omni-sql-completion	ft_sql.txt	/*omni-sql-completion*
 online-help	various.txt	/*online-help*
 opening-window	windows.txt	/*opening-window*
 operator	motion.txt	/*operator*
+operator-variable	eval.txt	/*operator-variable*
 option-backslash	options.txt	/*option-backslash*
 option-list	quickref.txt	/*option-list*
 option-summary	options.txt	/*option-summary*
 options	options.txt	/*options*
 options-changed	version5.txt	/*options-changed*
 options.txt	options.txt	/*options.txt*
-oracle	sql.txt	/*oracle*
+oracle	ft_sql.txt	/*oracle*
 os2	os_os2.txt	/*os2*
 os2ansi	os_os2.txt	/*os2ansi*
 os390	os_390.txt	/*os390*
@@ -6711,7 +6824,7 @@
 pi_vimball.txt	pi_vimball.txt	/*pi_vimball.txt*
 pi_zip.txt	pi_zip.txt	/*pi_zip.txt*
 plaintex.vim	syntax.txt	/*plaintex.vim*
-plsql	sql.txt	/*plsql*
+plsql	ft_sql.txt	/*plsql*
 plugin	usr_05.txt	/*plugin*
 plugin-details	filetype.txt	/*plugin-details*
 plugin-filetype	usr_41.txt	/*plugin-filetype*
@@ -6728,13 +6841,14 @@
 posix	vi_diff.txt	/*posix*
 posix-compliance	vi_diff.txt	/*posix-compliance*
 posix-screen-size	vi_diff.txt	/*posix-screen-size*
-postgres	sql.txt	/*postgres*
+postgres	ft_sql.txt	/*postgres*
 postscr.vim	syntax.txt	/*postscr.vim*
 postscript-cjk-printing	print.txt	/*postscript-cjk-printing*
 postscript-print-encoding	print.txt	/*postscript-print-encoding*
 postscript-print-trouble	print.txt	/*postscript-print-trouble*
 postscript-print-util	print.txt	/*postscript-print-util*
 postscript-printing	print.txt	/*postscript-printing*
+pow()	eval.txt	/*pow()*
 ppwiz.vim	syntax.txt	/*ppwiz.vim*
 press-enter	message.txt	/*press-enter*
 press-return	message.txt	/*press-return*
@@ -6745,6 +6859,18 @@
 print-options	print.txt	/*print-options*
 print.txt	print.txt	/*print.txt*
 printf()	eval.txt	/*printf()*
+printf-%	eval.txt	/*printf-%*
+printf-E	eval.txt	/*printf-E*
+printf-G	eval.txt	/*printf-G*
+printf-X	eval.txt	/*printf-X*
+printf-c	eval.txt	/*printf-c*
+printf-d	eval.txt	/*printf-d*
+printf-e	eval.txt	/*printf-e*
+printf-f	eval.txt	/*printf-f*
+printf-g	eval.txt	/*printf-g*
+printf-o	eval.txt	/*printf-o*
+printf-s	eval.txt	/*printf-s*
+printf-x	eval.txt	/*printf-x*
 printing	print.txt	/*printing*
 printing-formfeed	print.txt	/*printing-formfeed*
 profile	repeat.txt	/*profile*
@@ -6752,7 +6878,7 @@
 profiling-variable	eval.txt	/*profiling-variable*
 progname-variable	eval.txt	/*progname-variable*
 progress.vim	syntax.txt	/*progress.vim*
-psql	sql.txt	/*psql*
+psql	ft_sql.txt	/*psql*
 ptcap.vim	syntax.txt	/*ptcap.vim*
 pterm-mouse	options.txt	/*pterm-mouse*
 pumvisible()	eval.txt	/*pumvisible()*
@@ -6790,6 +6916,7 @@
 quickfix-error-lists	quickfix.txt	/*quickfix-error-lists*
 quickfix-gcc	quickfix.txt	/*quickfix-gcc*
 quickfix-manx	quickfix.txt	/*quickfix-manx*
+quickfix-perl	quickfix.txt	/*quickfix-perl*
 quickfix-valid	quickfix.txt	/*quickfix-valid*
 quickfix-window	quickfix.txt	/*quickfix-window*
 quickfix.txt	quickfix.txt	/*quickfix.txt*
@@ -6901,6 +7028,7 @@
 riscos-shell	os_risc.txt	/*riscos-shell*
 riscos-temp-files	os_risc.txt	/*riscos-temp-files*
 rot13	change.txt	/*rot13*
+round()	eval.txt	/*round()*
 rsync	pi_netrw.txt	/*rsync*
 ruby	if_ruby.txt	/*ruby*
 ruby-buffer	if_ruby.txt	/*ruby-buffer*
@@ -6943,6 +7071,7 @@
 s/\t	change.txt	/*s\/\\t*
 s/\u	change.txt	/*s\/\\u*
 s/\~	change.txt	/*s\/\\~*
+s:netrw_passwd	pi_netrw.txt	/*s:netrw_passwd*
 s:var	eval.txt	/*s:var*
 s<CR>	change.txt	/*s<CR>*
 sandbox	eval.txt	/*sandbox*
@@ -6980,6 +7109,7 @@
 search-range	pattern.txt	/*search-range*
 search-replace	change.txt	/*search-replace*
 searchdecl()	eval.txt	/*searchdecl()*
+searchforward-variable	eval.txt	/*searchforward-variable*
 searchpair()	eval.txt	/*searchpair()*
 searchpairpos()	eval.txt	/*searchpairpos()*
 searchpos()	eval.txt	/*searchpos()*
@@ -7000,6 +7130,7 @@
 setcmdpos()	eval.txt	/*setcmdpos()*
 setline()	eval.txt	/*setline()*
 setloclist()	eval.txt	/*setloclist()*
+setmatches()	eval.txt	/*setmatches()*
 setpos()	eval.txt	/*setpos()*
 setqflist()	eval.txt	/*setqflist()*
 setreg()	eval.txt	/*setreg()*
@@ -7026,6 +7157,7 @@
 simple-change	change.txt	/*simple-change*
 simplify()	eval.txt	/*simplify()*
 simulated-command	vi_diff.txt	/*simulated-command*
+sin()	eval.txt	/*sin()*
 single-repeat	repeat.txt	/*single-repeat*
 skeleton	autocmd.txt	/*skeleton*
 slow-fast-terminal	term.txt	/*slow-fast-terminal*
@@ -7035,6 +7167,7 @@
 sniff-commands	if_sniff.txt	/*sniff-commands*
 sniff-compiling	if_sniff.txt	/*sniff-compiling*
 sniff-intro	if_sniff.txt	/*sniff-intro*
+socket-interface	netbeans.txt	/*socket-interface*
 sort()	eval.txt	/*sort()*
 sorting	change.txt	/*sorting*
 soundfold()	eval.txt	/*soundfold()*
@@ -7147,34 +7280,34 @@
 sponsor.txt	sponsor.txt	/*sponsor.txt*
 spoon	os_unix.txt	/*spoon*
 spup.vim	syntax.txt	/*spup.vim*
-sql-adding-dialects	sql.txt	/*sql-adding-dialects*
-sql-completion	sql.txt	/*sql-completion*
-sql-completion-columns	sql.txt	/*sql-completion-columns*
-sql-completion-customization	sql.txt	/*sql-completion-customization*
-sql-completion-dynamic	sql.txt	/*sql-completion-dynamic*
-sql-completion-filetypes	sql.txt	/*sql-completion-filetypes*
-sql-completion-maps	sql.txt	/*sql-completion-maps*
-sql-completion-procedures	sql.txt	/*sql-completion-procedures*
-sql-completion-static	sql.txt	/*sql-completion-static*
-sql-completion-tables	sql.txt	/*sql-completion-tables*
-sql-completion-tutorial	sql.txt	/*sql-completion-tutorial*
-sql-completion-views	sql.txt	/*sql-completion-views*
-sql-dialects	sql.txt	/*sql-dialects*
-sql-macros	sql.txt	/*sql-macros*
-sql-matchit	sql.txt	/*sql-matchit*
-sql-navigation	sql.txt	/*sql-navigation*
-sql-object-motions	sql.txt	/*sql-object-motions*
-sql-predefined-objects	sql.txt	/*sql-predefined-objects*
-sql-type-default	sql.txt	/*sql-type-default*
-sql-types	sql.txt	/*sql-types*
-sql.txt	sql.txt	/*sql.txt*
+sql-adding-dialects	ft_sql.txt	/*sql-adding-dialects*
+sql-completion	ft_sql.txt	/*sql-completion*
+sql-completion-columns	ft_sql.txt	/*sql-completion-columns*
+sql-completion-customization	ft_sql.txt	/*sql-completion-customization*
+sql-completion-dynamic	ft_sql.txt	/*sql-completion-dynamic*
+sql-completion-filetypes	ft_sql.txt	/*sql-completion-filetypes*
+sql-completion-maps	ft_sql.txt	/*sql-completion-maps*
+sql-completion-procedures	ft_sql.txt	/*sql-completion-procedures*
+sql-completion-static	ft_sql.txt	/*sql-completion-static*
+sql-completion-tables	ft_sql.txt	/*sql-completion-tables*
+sql-completion-tutorial	ft_sql.txt	/*sql-completion-tutorial*
+sql-completion-views	ft_sql.txt	/*sql-completion-views*
+sql-dialects	ft_sql.txt	/*sql-dialects*
+sql-macros	ft_sql.txt	/*sql-macros*
+sql-matchit	ft_sql.txt	/*sql-matchit*
+sql-navigation	ft_sql.txt	/*sql-navigation*
+sql-object-motions	ft_sql.txt	/*sql-object-motions*
+sql-predefined-objects	ft_sql.txt	/*sql-predefined-objects*
+sql-type-default	ft_sql.txt	/*sql-type-default*
+sql-types	ft_sql.txt	/*sql-types*
 sql.vim	syntax.txt	/*sql.vim*
-sqlanywhere	sql.txt	/*sqlanywhere*
+sqlanywhere	ft_sql.txt	/*sqlanywhere*
 sqlanywhere.vim	syntax.txt	/*sqlanywhere.vim*
 sqlinformix.vim	syntax.txt	/*sqlinformix.vim*
-sqlj	sql.txt	/*sqlj*
-sqlserver	sql.txt	/*sqlserver*
-sqlsettype	sql.txt	/*sqlsettype*
+sqlj	ft_sql.txt	/*sqlj*
+sqlserver	ft_sql.txt	/*sqlserver*
+sqlsettype	ft_sql.txt	/*sqlsettype*
+sqrt()	eval.txt	/*sqrt()*
 sscanf	eval.txt	/*sscanf*
 standard-plugin	usr_05.txt	/*standard-plugin*
 standard-plugin-list	help.txt	/*standard-plugin-list*
@@ -7192,6 +7325,8 @@
 static-tag	tagsrch.txt	/*static-tag*
 status-line	windows.txt	/*status-line*
 statusmsg-variable	eval.txt	/*statusmsg-variable*
+sticky-type-checking	eval.txt	/*sticky-type-checking*
+str2float()	eval.txt	/*str2float()*
 str2nr()	eval.txt	/*str2nr()*
 strcasestr()	eval.txt	/*strcasestr()*
 strchr()	eval.txt	/*strchr()*
@@ -7229,7 +7364,7 @@
 swapcommand-variable	eval.txt	/*swapcommand-variable*
 swapfile-changed	version4.txt	/*swapfile-changed*
 swapname-variable	eval.txt	/*swapname-variable*
-sybase	sql.txt	/*sybase*
+sybase	ft_sql.txt	/*sybase*
 syn-sync-grouphere	syntax.txt	/*syn-sync-grouphere*
 syn-sync-groupthere	syntax.txt	/*syn-sync-groupthere*
 syn-sync-linecont	syntax.txt	/*syn-sync-linecont*
@@ -7244,6 +7379,7 @@
 synload-4	syntax.txt	/*synload-4*
 synload-5	syntax.txt	/*synload-5*
 synload-6	syntax.txt	/*synload-6*
+synstack()	eval.txt	/*synstack()*
 syntax	syntax.txt	/*syntax*
 syntax-highlighting	syntax.txt	/*syntax-highlighting*
 syntax-loading	syntax.txt	/*syntax-loading*
@@ -7251,6 +7387,7 @@
 syntax.txt	syntax.txt	/*syntax.txt*
 syntax_cmd	syntax.txt	/*syntax_cmd*
 sys-file-list	help.txt	/*sys-file-list*
+sysmouse	term.txt	/*sysmouse*
 system()	eval.txt	/*system()*
 system-vimrc	starting.txt	/*system-vimrc*
 s~	change.txt	/*s~*
@@ -7523,6 +7660,7 @@
 tex-folding	syntax.txt	/*tex-folding*
 tex-math	syntax.txt	/*tex-math*
 tex-morecommands	syntax.txt	/*tex-morecommands*
+tex-nospell	syntax.txt	/*tex-nospell*
 tex-package	syntax.txt	/*tex-package*
 tex-runon	syntax.txt	/*tex-runon*
 tex-slow	syntax.txt	/*tex-slow*
@@ -7551,6 +7689,7 @@
 toupper()	eval.txt	/*toupper()*
 tr()	eval.txt	/*tr()*
 trojan-horse	starting.txt	/*trojan-horse*
+trunc()	eval.txt	/*trunc()*
 try-conditionals	eval.txt	/*try-conditionals*
 try-echoerr	eval.txt	/*try-echoerr*
 try-finally	eval.txt	/*try-finally*
@@ -7668,11 +7807,13 @@
 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:operator	eval.txt	/*v:operator*
 v:prevcount	eval.txt	/*v:prevcount*
 v:profiling	eval.txt	/*v:profiling*
 v:progname	eval.txt	/*v:progname*
 v:register	eval.txt	/*v:register*
 v:scrollstart	eval.txt	/*v:scrollstart*
+v:searchforward	eval.txt	/*v:searchforward*
 v:servername	eval.txt	/*v:servername*
 v:shell_error	eval.txt	/*v:shell_error*
 v:statusmsg	eval.txt	/*v:statusmsg*
@@ -7812,6 +7953,7 @@
 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-7.2	version7.txt	/*version-7.2*
 version-variable	eval.txt	/*version-variable*
 version4.txt	version4.txt	/*version4.txt*
 version5.txt	version5.txt	/*version5.txt*
@@ -7843,6 +7985,7 @@
 vimball-contents	pi_vimball.txt	/*vimball-contents*
 vimball-extract	pi_vimball.txt	/*vimball-extract*
 vimball-history	pi_vimball.txt	/*vimball-history*
+vimball-intro	pi_vimball.txt	/*vimball-intro*
 vimball-manual	pi_vimball.txt	/*vimball-manual*
 vimdev	intro.txt	/*vimdev*
 vimdiff	diff.txt	/*vimdiff*
@@ -8074,7 +8217,6 @@
 zip-history	pi_zip.txt	/*zip-history*
 zip-manual	pi_zip.txt	/*zip-manual*
 zip-usage	pi_zip.txt	/*zip-usage*
-zip_shq	pi_zip.txt	/*zip_shq*
 zj	fold.txt	/*zj*
 zk	fold.txt	/*zk*
 zl	scroll.txt	/*zl*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index e562d4d..55a9ae1 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.1.  Last change: 2007 Feb 28
+*term.txt*      For Vim version 7.2a.  Last change: 2008 Jun 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -139,7 +139,7 @@
 	:set notimeout		" don't timeout on mappings
 	:set ttimeout		" do timeout on terminal key codes
 	:set timeoutlen=100	" timeout after 100 msec
-This requires the key-codes to be sent within 100msec in order to recognize
+This requires the key-codes to be sent within 100 msec in order to recognize
 them as a cursor key.  When you type you normally are not that fast, so they
 are recognized as individual typed commands, even though Vim receives the same
 sequence of bytes.
@@ -583,8 +583,9 @@
 	:set mouse=a
 Otherwise Vim won't recognize the mouse in all modes (See 'mouse').
 
-Currently the mouse is supported for Unix in an xterm window, in a Linux
-console (with GPM |gpm-mouse|), for MS-DOS and in a Windows console.
+Currently the mouse is supported for Unix in an xterm window, in a *BSD
+console with |sysmouse|, in a Linux console (with GPM |gpm-mouse|), for
+MS-DOS and in a Windows console.
 Mouse clicks can be used to position the cursor, select an area and paste.
 
 These characters in the 'mouse' option tell in which situations the mouse will
@@ -788,6 +789,10 @@
 temporarily.  When Visual or Select mode ends, it returns to Insert mode.
 This is like using CTRL-O in Insert mode.  Select mode is used when the
 'selectmode' option contains "mouse".
+							*sysmouse*
+The sysmouse is only supported when the |+mouse_sysmouse| feature was enabled
+at compile time.  The sysmouse driver (*BSD console) does not support keyboard
+modifiers.
 
 							*drag-status-line*
 When working with several windows, the size of the windows can be changed by
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index 0a4d845..0bdcfa0 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt*      For Vim version 7.1.  Last change: 2006 Jul 24
+*tips.txt*      For Vim version 7.2a.  Last change: 2006 Jul 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index f996d0b..33d4e31 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.1.  Last change: 2006 Apr 30
+*undo.txt*      For Vim version 7.2a.  Last change: 2006 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt
index 28726fa..168b089 100644
--- a/runtime/doc/usr_10.txt
+++ b/runtime/doc/usr_10.txt
@@ -1,4 +1,4 @@
-*usr_10.txt*	For Vim version 7.1.  Last change: 2006 Nov 05
+*usr_10.txt*	For Vim version 7.2a.  Last change: 2006 Nov 05
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index b68ab5e..3eabb68 100644
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt*	For Vim version 7.1.  Last change: 2007 May 01
+*usr_21.txt*	For Vim version 7.2a.  Last change: 2007 May 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_24.txt b/runtime/doc/usr_24.txt
index 4b638fc..35911bd 100644
--- a/runtime/doc/usr_24.txt
+++ b/runtime/doc/usr_24.txt
@@ -1,4 +1,4 @@
-*usr_24.txt*	For Vim version 7.1.  Last change: 2006 Jul 23
+*usr_24.txt*	For Vim version 7.2a.  Last change: 2006 Jul 23
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_25.txt b/runtime/doc/usr_25.txt
index d6d5815..6337871 100644
--- a/runtime/doc/usr_25.txt
+++ b/runtime/doc/usr_25.txt
@@ -1,4 +1,4 @@
-*usr_25.txt*	For Vim version 7.1.  Last change: 2007 May 11
+*usr_25.txt*	For Vim version 7.2a.  Last change: 2007 May 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_26.txt b/runtime/doc/usr_26.txt
index baeeb37..0c9f2c8 100644
--- a/runtime/doc/usr_26.txt
+++ b/runtime/doc/usr_26.txt
@@ -1,4 +1,4 @@
-*usr_26.txt*	For Vim version 7.1.  Last change: 2006 Apr 24
+*usr_26.txt*	For Vim version 7.2a.  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 40ea33c..a314256 100644
--- a/runtime/doc/usr_29.txt
+++ b/runtime/doc/usr_29.txt
@@ -1,4 +1,4 @@
-*usr_29.txt*	For Vim version 7.1.  Last change: 2006 Apr 24
+*usr_29.txt*	For Vim version 7.2a.  Last change: 2007 Nov 10
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -384,7 +384,7 @@
 
 When writing C++ or Java, the outer {} block is for the class.  The next level
 of {} is for a method.  When somewhere inside a class use "[m" to find the
-previous start of a method.  "]m" finds the next end of a method.
+previous start of a method.  "]m" finds the next start of a method.
 
 Additionally, "[]" moves backward to the end of a function and "]]" moves
 forward to the start of the next function.  The end of a function is defined
@@ -497,7 +497,7 @@
 
 	:set path+=/usr/local/X11
 
-When there are many subdirectories, you an use the "*" wildcard.  Example: >
+When there are many subdirectories, you can use the "*" wildcard.  Example: >
 
 	:set path+=/usr/*/include
 
diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt
index 10794d5..941ab68 100644
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt*	For Vim version 7.1.  Last change: 2007 May 08
+*usr_31.txt*	For Vim version 7.2a.  Last change: 2007 May 08
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_32.txt b/runtime/doc/usr_32.txt
index 528e7b7..ed95a0d 100644
--- a/runtime/doc/usr_32.txt
+++ b/runtime/doc/usr_32.txt
@@ -1,4 +1,4 @@
-*usr_32.txt*	For Vim version 7.1.  Last change: 2006 Apr 30
+*usr_32.txt*	For Vim version 7.2a.  Last change: 2006 Apr 30
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index 29e856b..d649aca 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -1,4 +1,4 @@
-*usr_toc.txt*	For Vim version 7.1.  Last change: 2006 Apr 24
+*usr_toc.txt*	For Vim version 7.2a.  Last change: 2006 Apr 24
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index 0aafae7..1f3699c 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -1,4 +1,4 @@
-*version6.txt*  For Vim version 7.1.  Last change: 2007 May 11
+*version6.txt*  For Vim version 7.2a.  Last change: 2007 May 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/vimtutor.man b/runtime/doc/vimtutor.man
index 8bc4a80..6399d23 100644
--- a/runtime/doc/vimtutor.man
+++ b/runtime/doc/vimtutor.man
@@ -6,7 +6,7 @@
        vimtutor - the Vim tutor
 
 SYNOPSIS
-       vimtutor [language]
+       vimtutor [-g] [language]
 
 DESCRIPTION
        Vimtutor starts the Vim tutor.  It copies the tutor file first, so that
@@ -15,6 +15,10 @@
        The Vimtutor is useful for people that want to learn  their  first  Vim
        commands.
 
+       The  optional argument -g starts vimtutor with gvim rather than vim, if
+       the GUI version of vim is available, or falls back to Vim  if  gvim  is
+       not found.
+
        The  optional [language] argument is the two-letter name of a language,
        like "it" or "es".  If the [language] argument is missing, the language
        of  the  current  locale  will be used.  If a tutor in this language is