Update runtime files.
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index e1e96a7..06931df 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.0.  Last change: 2017 Oct 21
+*autocmd.txt*   For Vim version 8.0.  Last change: 2017 Nov 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -68,7 +68,14 @@
 '|' appears before {cmd}.  This works: >
 	:augroup mine | au! BufRead | augroup END
 But this sees "augroup" as part of the defined command: >
+	:augroup mine | au! BufRead * | augroup END
 	:augroup mine | au BufRead * set tw=70 | augroup END
+Instead you can put the group name into the command: >
+	:au! mine BufRead *
+	:au mine BufRead * set tw=70
+Or use `:execute`: >
+	:augroup mine | exe "au! BufRead *" | augroup END
+	:augroup mine | exe "au BufRead * set tw=70" | augroup END
 
 Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
 arguments are not expanded when the autocommand is defined.  These will be
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 13396c6..f2abcbd 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1048,7 +1048,7 @@
 							*expr9*
 number
 ------
-number			number constant			*expr-number* 
+number			number constant			*expr-number*
 				*hex-number* *octal-number* *binary-number*
 
 Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B)
@@ -1647,7 +1647,7 @@
 		Read-only in the |sandbox|. |fold-foldtext|
 
 					*v:hlsearch* *hlsearch-variable*
-v:hlsearch	Variable that indicates whether search highlighting is on. 
+v:hlsearch	Variable that indicates whether search highlighting is on.
 		Setting it makes sense only if 'hlsearch' is enabled which
 		requires |+extra_search|. Setting this variable to zero acts
 		like the |:nohlsearch| command, setting it to one acts like >
@@ -1818,7 +1818,7 @@
 v:servername	The resulting registered |client-server-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
@@ -1930,7 +1930,7 @@
 					*v:testing* *testing-variable*
 v:testing	Must be set before using `test_garbagecollect_now()`.
 		Also, when set certain error messages won't be shown for 2
-		seconds. (e.g. "'dictionary' option is empty") 
+		seconds. (e.g. "'dictionary' option is empty")
 
 				*v:this_session* *this_session-variable*
 v:this_session	Full filename of the last loaded or saved session file.  See
@@ -2074,7 +2074,7 @@
 ch_status({handle} [, {options}])
 				String	status of channel {handle}
 changenr()			Number	current change number
-char2nr({expr}[, {utf8}])	Number	ASCII/UTF8 value of first char in {expr}
+char2nr({expr} [, {utf8}])	Number	ASCII/UTF8 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
@@ -2116,9 +2116,9 @@
 filewritable({file})		Number	|TRUE| if {file} is a writable file
 filter({expr1}, {expr2})	List/Dict  remove items from {expr1} where
 					{expr2} is 0
-finddir({name}[, {path}[, {count}]])
+finddir({name} [, {path} [, {count}]])
 				String	find directory {name} in {path}
-findfile({name}[, {path}[, {count}]])
+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
@@ -2162,7 +2162,7 @@
 getftype({fname})		String	description of type of file {fname}
 getline({lnum})			String	line {lnum} of current buffer
 getline({lnum}, {end})		List	lines {lnum} to {end} of current buffer
-getloclist({nr}[, {what}])	List	list of location list items
+getloclist({nr} [, {what}])	List	list of location list items
 getmatches()			List	list of current matches
 getpid()			Number	process ID of Vim
 getpos({expr})			List	position of cursor, mark, etc.
@@ -2238,28 +2238,28 @@
 localtime()			Number	current time
 log({expr})			Float	natural logarithm (base e) of {expr}
 log10({expr})			Float	logarithm of Float {expr} to base 10
-luaeval({expr}[, {expr}])	any	evaluate |Lua| expression
+luaeval({expr} [, {expr}])	any	evaluate |Lua| expression
 map({expr1}, {expr2})		List/Dict  change each item in {expr1} to {expr}
-maparg({name}[, {mode} [, {abbr} [, {dict}]]])
+maparg({name} [, {mode} [, {abbr} [, {dict}]]])
 				String or Dict
 					rhs of mapping {name} in mode {mode}
-mapcheck({name}[, {mode} [, {abbr}]])
+mapcheck({name} [, {mode} [, {abbr}]])
 				String	check for mappings matching {name}
-match({expr}, {pat}[, {start}[, {count}]])
+match({expr}, {pat} [, {start} [, {count}]])
 				Number	position where {pat} matches in {expr}
-matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
+matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
 				Number	highlight {pattern} with {group}
-matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]])
+matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
 				Number	highlight positions with {group}
 matcharg({nr})			List	arguments of |:match|
 matchdelete({id})		Number	delete match identified by {id}
-matchend({expr}, {pat}[, {start}[, {count}]])
+matchend({expr}, {pat} [, {start} [, {count}]])
 				Number	position where {pat} ends in {expr}
-matchlist({expr}, {pat}[, {start}[, {count}]])
+matchlist({expr}, {pat} [, {start} [, {count}]])
 				List	match and submatches of {pat} in {expr}
-matchstr({expr}, {pat}[, {start}[, {count}]])
+matchstr({expr}, {pat} [, {start} [, {count}]])
 				String	{count}'th match of {pat} in {expr}
-matchstrpos({expr}, {pat}[, {start}[, {count}]])
+matchstrpos({expr}, {pat} [, {start} [, {count}]])
 				List	{count}'th match of {pat} in {expr}
 max({expr})			Number	maximum value of items in {expr}
 min({expr})			Number	minimum value of items in {expr}
@@ -2268,7 +2268,7 @@
 mode([expr])			String	current editing mode
 mzeval({expr})			any	evaluate |MzScheme| expression
 nextnonblank({lnum})		Number	line nr of non-blank line >= {lnum}
-nr2char({expr}[, {utf8}])	String	single char with ASCII/UTF8 value {expr}
+nr2char({expr} [, {utf8}])	String	single char with ASCII/UTF8 value {expr}
 or({expr}, {expr})		Number	bitwise OR
 pathshorten({expr})		String	shorten directory names in a path
 perleval({expr})		any	evaluate |Perl| expression
@@ -2330,13 +2330,13 @@
 setcmdpos({pos})		Number	set cursor position in command-line
 setfperm({fname}, {mode})	Number	set {fname} file permissions to {mode}
 setline({lnum}, {line})		Number	set line {lnum} to {line}
-setloclist({nr}, {list}[, {action}[, {what}]])
+setloclist({nr}, {list} [, {action} [, {what}]])
 				Number	modify location list using {list}
 setmatches({list})		Number	restore a list of matches
 setpos({expr}, {list})		Number	set the {expr} position to {list}
-setqflist({list}[, {action}[, {what}]])
+setqflist({list} [, {action} [, {what}]])
 				Number	modify quickfix list using {list}
-setreg({n}, {v}[, {opt}])	Number	set register to value and type
+setreg({n}, {v} [, {opt}])	Number	set register to value and type
 settabvar({nr}, {varname}, {val}) none	set {varname} in tab page {nr} to {val}
 settabwinvar({tabnr}, {winnr}, {varname}, {val})
 				none	set {varname} in window {winnr} in tab
@@ -2362,22 +2362,22 @@
 str2float({expr})		Float	convert String to Float
 str2nr({expr} [, {base}])	Number	convert String to Number
 strchars({expr} [, {skipcc}])	Number	character length of the String {expr}
-strcharpart({str}, {start}[, {len}])
+strcharpart({str}, {start} [, {len}])
 				String	{len} characters of {str} at {start}
 strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
-strftime({format}[, {time}])	String	time in specified format
+strftime({format} [, {time}])	String	time in specified format
 strgetchar({str}, {index})	Number	get char {index} from {str}
-stridx({haystack}, {needle}[, {start}])
+stridx({haystack}, {needle} [, {start}])
 				Number	index of {needle} in {haystack}
 string({expr})			String	String representation of {expr} value
 strlen({expr})			Number	length of the String {expr}
-strpart({str}, {start}[, {len}])
+strpart({str}, {start} [, {len}])
 				String	{len} characters of {str} at {start}
 strridx({haystack}, {needle} [, {start}])
 				Number	last index of {needle} in {haystack}
 strtrans({expr})		String	translate string to make it printable
 strwidth({expr})		Number	display cell length of the String {expr}
-submatch({nr}[, {list}])	String or List
+submatch({nr} [, {list}])	String or List
 					specific match in ":s" or substitute()
 substitute({expr}, {pat}, {sub}, {flags})
 				String	all {pat} in {expr} replaced with {sub}
@@ -2391,8 +2391,8 @@
 systemlist({expr} [, {input}])	List	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}[, {filename}])	List	list of tags matching {expr}
+tabpagewinnr({tabarg} [, {arg}]) Number	number of current window in tab page
+taglist({expr} [, {filename}])	List	list of tags matching {expr}
 tagfiles()			List	tags files used
 tan({expr})			Float	tangent of {expr}
 tanh({expr})			Float	hyperbolic tangent of {expr}
@@ -2406,7 +2406,7 @@
 term_getsize({buf})		List	get the size of a terminal
 term_getstatus({buf})		String	get the status of a terminal
 term_gettitle({buf})		String	get the title of a terminal
-term_getttty({buf}, [{input}])	String	get the tty name of a terminal
+term_gettty({buf}, [{input}])	String	get the tty name of a terminal
 term_list()			List	get the list of terminal buffers
 term_scrape({buf}, {row})	List	get row of a terminal screen
 term_sendkeys({buf}, {keys})	none	send keystrokes to a terminal
@@ -2951,7 +2951,7 @@
 		in NL mode, the caller must do that.  The NL in the response
 		is removed.
 		Note that Vim does not know when the text received on a raw
-		channel is complete, it may only return the first part and you 
+		channel is complete, it may only return the first part and you
 		need to use ch_readraw() to fetch the rest.
 		See |channel-use|.
 
@@ -3104,7 +3104,7 @@
 		redo it is the number of the redone change.  After undo it is
 		one less than the number of the undone change.
 
-char2nr({expr}[, {utf8}])					*char2nr()*
+char2nr({expr} [, {utf8}])					*char2nr()*
 		Return number value of the first char in {expr}.  Examples: >
 			char2nr(" ")		returns 32
 			char2nr("ABC")		returns 65
@@ -3298,7 +3298,7 @@
 <			-1.127626
 		{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 |String|, |List| or |Dictionary| {comp}.
@@ -3383,7 +3383,7 @@
 		Returns 0 when the position could be set, -1 otherwise.
 
 
-deepcopy({expr}[, {noref}])				*deepcopy()* *E698*
+deepcopy({expr} [, {noref}])				*deepcopy()* *E698*
 		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
@@ -3410,14 +3410,14 @@
 
 		When {flags} is "d": Deletes the directory by the name
 		{fname}.  This fails when directory {fname} is not empty.
-		
+
 		When {flags} is "rf": Deletes the directory by the name
 		{fname} and everything in it, recursively.  BE CAREFUL!
 		Note: on MS-Windows it is not possible to delete a directory
 		that is being used.
 
 		A symbolic link itself is deleted, not what it points to.
-		
+
 		The result is a Number, which is 0 if the delete operation was
 		successful and -1 when the deletion failed or partly failed.
 
@@ -3461,6 +3461,7 @@
 		Return the Number 1 if {expr} is empty, zero otherwise.
 		- A |List| or |Dictionary| is empty when it does not have any
 		  items.
+		- A String is empty when its length is zero.
 		- A Number and Float is empty when its value is zero.
 		- |v:false|, |v:none| and |v:null| are empty, |v:true| is not.
 		- A Job is empty when it failed to start.
@@ -3823,7 +3824,7 @@
 		For each item in {expr1} evaluate {expr2} and when the result
 		is zero remove the item from the |List| or |Dictionary|.
 		{expr2} must be a |string| or |Funcref|.
-		
+
 		If {expr2} is a |string|, inside {expr2} |v:val| has the value
 		of the current item.  For a |Dictionary| |v:key| has the key
 		of the current item and for a |List| |v:key| has the index of
@@ -3865,7 +3866,7 @@
 		defined with the "abort" flag.
 
 
-finddir({name}[, {path}[, {count}]])				*finddir()*
+finddir({name} [, {path} [, {count}]])				*finddir()*
 		Find directory {name} in {path}.  Supports both downwards and
 		upwards recursive directory searches.  See |file-searching|
 		for the syntax of {path}.
@@ -3880,7 +3881,7 @@
 		{only available when compiled with the |+file_in_path|
 		feature}
 
-findfile({name}[, {path}[, {count}]])				*findfile()*
+findfile({name} [, {path} [, {count}]])				*findfile()*
 		Just like |finddir()|, but find a file instead of a directory.
 		Uses 'suffixesadd'.
 		Example: >
@@ -3923,7 +3924,7 @@
 			echo floor(4.0)
 <			4.0
 		{only available when compiled with the |+float| feature}
-		
+
 
 fmod({expr1}, {expr2})					*fmod()*
 		Return the remainder of {expr1} / {expr2}, even if the
@@ -4052,7 +4053,7 @@
 		When {arglist} or {dict} is present this creates a partial.
 		That means the argument list and/or the dictionary is stored in
 		the Funcref and will be used when the Funcref is called.
-		
+
 		The arguments are passed to the function in front of other
 		arguments.  Example: >
 			func Callback(arg1, arg2, name)
@@ -4104,7 +4105,7 @@
 garbagecollect([{atexit}])				*garbagecollect()*
 		Cleanup unused |Lists|, |Dictionaries|, |Channels| and |Jobs|
 		that have circular references.
-		
+
 		There is hardly ever a need to invoke this function, as it is
 		automatically done when Vim runs out of memory or is waiting
 		for the user to press a key after 'updatetime'.  Items without
@@ -4551,7 +4552,7 @@
 
 <		To get lines from another buffer see |getbufline()|
 
-getloclist({nr}[, {what}])				*getloclist()*
+getloclist({nr} [, {what}])				*getloclist()*
 		Returns a list with all the entries in the location list for
 		window {nr}.  {nr} can be the window number or the |window-ID|.
 		When {nr} is zero the current window is used.
@@ -5316,7 +5317,7 @@
 			"run"	job is running
 			"fail"	job failed to start
 			"dead"	job died or was stopped after running
-		
+
 		On Unix a non-existing command results in "dead" instead of
 		"fail", because a fork happens before the failure can be
 		detected.
@@ -5555,7 +5556,7 @@
 		This autocommand jumps to the last known position in a file
 		just after opening it, if the '" mark is set: >
      :au BufReadPost *
-	 \ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit' 
+	 \ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit'
 	 \ |   exe "normal! g`\""
 	 \ | endif
 
@@ -5607,16 +5608,16 @@
 			:echo log10(0.01)
 <			-2.0
 		{only available when compiled with the |+float| feature}
-		
-luaeval({expr}[, {expr}])					*luaeval()*
-		Evaluate Lua expression {expr} and return its result converted 
-		to Vim data structures. Second {expr} may hold additional 
+
+luaeval({expr} [, {expr}])					*luaeval()*
+		Evaluate Lua expression {expr} and return its result converted
+		to Vim data structures. Second {expr} may hold additional
 		argument accessible as _A inside first {expr}.
 		Strings are returned as they are.
 		Boolean objects are converted to numbers.
-		Numbers are converted to |Float| values if vim was compiled 
+		Numbers are converted to |Float| values if vim was compiled
 		with |+float| and to numbers otherwise.
-		Dictionaries and lists obtained by vim.eval() are returned 
+		Dictionaries and lists obtained by vim.eval() are returned
 		as-is.
 		Other objects are returned as zero without any errors.
 		See |lua-luaeval| for more details.
@@ -5626,7 +5627,7 @@
 		{expr1} must be a |List| or a |Dictionary|.
 		Replace each item in {expr1} with the result of evaluating
 		{expr2}.  {expr2} must be a |string| or |Funcref|.
-		
+
 		If {expr2} is a |string|, inside {expr2} |v:val| has the value
 		of the current item.  For a |Dictionary| |v:key| has the key
 		of the current item and for a |List| |v:key| has the index of
@@ -5665,12 +5666,12 @@
 		defined with the "abort" flag.
 
 
-maparg({name}[, {mode} [, {abbr} [, {dict}]]])			*maparg()*
+maparg({name} [, {mode} [, {abbr} [, {dict}]]])			*maparg()*
 		When {dict} is omitted or zero: Return the rhs of mapping
 		{name} in mode {mode}.  The returned String has special
 		characters translated like in the output of the ":map" command
 		listing.
-		
+
 		When there is no mapping for {name}, an empty String is
 		returned.
 
@@ -5720,7 +5721,7 @@
 			exe 'nnoremap <Tab> ==' . maparg('<Tab>', 'n')
 
 
-mapcheck({name}[, {mode} [, {abbr}]])			*mapcheck()*
+mapcheck({name} [, {mode} [, {abbr}]])			*mapcheck()*
 		Check if there is a mapping that matches with {name} in mode
 		{mode}.  See |maparg()| for {mode} and special names in
 		{name}.
@@ -5752,7 +5753,7 @@
 <		This avoids adding the "_vv" mapping when there already is a
 		mapping for "_v" or for "_vvv".
 
-match({expr}, {pat}[, {start}[, {count}]])			*match()*
+match({expr}, {pat} [, {start} [, {count}]])			*match()*
 		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.
@@ -5808,7 +5809,7 @@
 		done like 'magic' is set and 'cpoptions' is empty.
 
 					*matchadd()* *E798* *E799* *E801*
-matchadd({group}, {pattern}[, {priority}[, {id}[, {dict}]]])
+matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
 		Defines a pattern to be highlighted in the current window (a
 		"match").  It will be highlighted with {group}.  Returns an
 		identification number (ID), which can be used to delete the
@@ -5861,7 +5862,7 @@
 		one operation by |clearmatches()|.
 
 							*matchaddpos()*
-matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]])
+matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
 		Same as |matchadd()|, but requires a list of positions {pos}
 		instead of a pattern. This command is faster than |matchadd()|
 		because it does not require to handle regular expressions and
@@ -5881,7 +5882,7 @@
 		  be highlighted.
 		- A list with three numbers, e.g., [23, 11, 3]. As above, but
 		  the third number gives the length of the highlight in bytes.
-		
+
 		The maximum number of positions is 8.
 
 		Example: >
@@ -5914,7 +5915,7 @@
 		otherwise -1.  See example for |matchadd()|.  All matches can
 		be deleted in one operation by |clearmatches()|.
 
-matchend({expr}, {pat}[, {start}[, {count}]])			*matchend()*
+matchend({expr}, {pat} [, {start} [, {count}]])			*matchend()*
 		Same as |match()|, but return the index of first character
 		after the match.  Example: >
 			:echo matchend("testing", "ing")
@@ -5933,7 +5934,7 @@
 <		result is "-1".
 		When {expr} is a |List| the result is equal to |match()|.
 
-matchlist({expr}, {pat}[, {start}[, {count}]])			*matchlist()*
+matchlist({expr}, {pat} [, {start} [, {count}]])		*matchlist()*
 		Same as |match()|, but return a |List|.  The first item in the
 		list is the matched string, same as what matchstr() would
 		return.  Following items are submatches, like "\1", "\2", etc.
@@ -5943,7 +5944,7 @@
 <		Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
 		When there is no match an empty list is returned.
 
-matchstr({expr}, {pat}[, {start}[, {count}]])			*matchstr()*
+matchstr({expr}, {pat} [, {start} [, {count}]])			*matchstr()*
 		Same as |match()|, but return the matched string.  Example: >
 			:echo matchstr("testing", "ing")
 <		results in "ing".
@@ -5956,7 +5957,7 @@
 		When {expr} is a |List| then the matching item is returned.
 		The type isn't changed, it's not necessarily a String.
 
-matchstrpos({expr}, {pat}[, {start}[, {count}]])		*matchstrpos()*
+matchstrpos({expr}, {pat} [, {start} [, {count}]])		*matchstrpos()*
 		Same as |matchstr()|, but return the matched string, the start
 		position and the end position of the match.  Example: >
 			:echo matchstrpos("testing", "ing")
@@ -6066,7 +6067,7 @@
 		below it, zero is returned.
 		See also |prevnonblank()|.
 
-nr2char({expr}[, {utf8}])				*nr2char()*
+nr2char({expr} [, {utf8}])				*nr2char()*
 		Return a string with a single character, which has the number
 		value {expr}.  Examples: >
 			nr2char(64)		returns "@"
@@ -6118,7 +6119,7 @@
 			: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: >
@@ -6278,7 +6279,7 @@
 			feature works just like 's'.
 
 							*printf-f* *E807*
-		f F	The Float argument is converted into a string of the 
+		f 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
@@ -6332,11 +6333,11 @@
 py3eval({expr})						*py3eval()*
 		Evaluate Python expression {expr} and return its result
 		converted to Vim data structures.
-		Numbers and strings are returned as they are (strings are 
-		copied though, Unicode strings are additionally converted to 
+		Numbers and strings are returned as they are (strings are
+		copied though, Unicode strings are additionally converted to
 		'encoding').
 		Lists are represented as Vim |List| type.
-		Dictionaries are represented as Vim |Dictionary| type with 
+		Dictionaries are represented as Vim |Dictionary| type with
 		keys converted to strings.
 		{only available when compiled with the |+python3| feature}
 
@@ -6344,10 +6345,10 @@
 pyeval({expr})						*pyeval()*
 		Evaluate Python expression {expr} and return its result
 		converted to Vim data structures.
-		Numbers and strings are returned as they are (strings are 
+		Numbers and strings are returned as they are (strings are
 		copied though).
 		Lists are represented as Vim |List| type.
-		Dictionaries are represented as Vim |Dictionary| type, 
+		Dictionaries are represented as Vim |Dictionary| type,
 		non-string keys result in error.
 		{only available when compiled with the |+python| feature}
 
@@ -6468,7 +6469,7 @@
 		and the result will be the empty string.
 
 		Variables will be evaluated in the global namespace,
-		independent of a function currently being activel.  Except
+		independent of a function currently being active.  Except
 		when in debug mode, then local function variables and
 		arguments can be evaluated.
 
@@ -6614,12 +6615,12 @@
 <			-5.0
 		{only available when compiled with the |+float| feature}
 
-screenattr(row, col)						*screenattr()*
+screenattr({row}, {col})					*screenattr()*
 		Like |screenchar()|, but return the attribute.  This is a rather
 		arbitrary number that can only be used to compare to the
 		attribute at other positions.
 
-screenchar(row, col)						*screenchar()*
+screenchar({row}, {col})					*screenchar()*
 		The result is a Number, which is the character at position
 		[row, col] on the screen.  This works for every possible
 		screen position, also status lines, window separators and the
@@ -6675,7 +6676,7 @@
 		flag.
 
 		'ignorecase', 'smartcase' and 'magic' are used.
-		
+
 		When the 'z' flag is not given, searching always starts in
 		column zero and then matches before the cursor are skipped.
 		When the 'c' flag is present in 'cpo' the next search starts
@@ -6992,7 +6993,7 @@
 
 <		Note: The '[ and '] marks are not set.
 
-setloclist({nr}, {list}[, {action}[, {what}]])		*setloclist()*
+setloclist({nr}, {list} [, {action} [, {what}]])		*setloclist()*
 		Create or replace or add to the location list for window {nr}.
 		{nr} can be the window number or the |window-ID|.
 		When {nr} is zero the current window is used.
@@ -7060,9 +7061,9 @@
 		also set the preferred column.  Also see the "curswant" key in
 		|winrestview()|.
 
-setqflist({list} [, {action}[, {what}]])		*setqflist()*
+setqflist({list} [, {action} [, {what}]])		*setqflist()*
 		Create or replace or add to the quickfix list.
-		
+
 		When {what} is not present, use the items in {list}.  Each
 		item must be a dictionary.  Non-dictionary items in {list} are
 		ignored.  Each dictionary item can contain the following
@@ -7101,12 +7102,12 @@
 		'a'	The items from {list} are added to the existing
 			quickfix list. If there is no existing list, then a
 			new list is created.
-		
+
 		'r'	The items from the current quickfix list are replaced
 			with the items from {list}.  This can also be used to
 			clear the list: >
 				:call setqflist([], 'r')
-<	
+<
 		'f'	All the quickfix lists in the quickfix stack are
 			freed.
 
@@ -7157,7 +7158,7 @@
 							*setreg()*
 setreg({regname}, {value} [, {options}])
 		Set the register {regname} to {value}.
-		{value} may be any value returned by |getreg()|, including 
+		{value} may be any value returned by |getreg()|, including
 		a |List|.
 		If {options} contains "a" or {regname} is upper case,
 		then the value is appended.
@@ -7171,14 +7172,14 @@
 		in the longest line (counting a <Tab> as 1 character).
 
 		If {options} contains no register settings, then the default
-		is to use character mode unless {value} ends in a <NL> for 
-		string {value} and linewise mode for list {value}. Blockwise 
+		is to use character mode unless {value} ends in a <NL> for
+		string {value} and linewise mode for list {value}. Blockwise
 		mode is never selected automatically.
 		Returns zero for success, non-zero for failure.
 
 							*E883*
-		Note: you may not use |List| containing more than one item to 
-		      set search and expression registers. Lists containing no 
+		Note: you may not use |List| containing more than one item to
+		      set search and expression registers. Lists containing no
 		      items act like empty strings.
 
 		Examples: >
@@ -7192,8 +7193,8 @@
 			:let var_amode = getregtype('a')
 			    ....
 			:call setreg('a', var_a, var_amode)
-<		Note: you may not reliably restore register value 
-		without using the third argument to |getreg()| as without it 
+<		Note: you may not reliably restore register value
+		without using the third argument to |getreg()| as without it
 		newlines are represented as newlines AND Nul bytes are
 		represented as newlines as well, see |NL-used-for-Nul|.
 
@@ -7298,7 +7299,7 @@
 			:echo sin(-4.01)
 <			0.763301
 		{only available when compiled with the |+float| feature}
-		
+
 
 sinh({expr})						*sinh()*
 		Return the hyperbolic sine of {expr} as a |Float| in the range
@@ -7314,7 +7315,7 @@
 
 sort({list} [, {func} [, {dict}]])			*sort()* *E702*
 		Sort the items in {list} in-place.  Returns {list}.
-		
+
 		If you want a list to remain unmodified make a copy first: >
 			:let sortedlist = sort(copy(mylist))
 
@@ -7325,7 +7326,7 @@
 
 		When {func} is given and it is '1' or 'i' then case is
 		ignored.
-		
+
 		When {func} is given and it is 'n' then all items will be
 		sorted numerical (Implementation detail: This uses the
 		strtod() function to parse numbers, Strings, Lists, Dicts and
@@ -7460,7 +7461,7 @@
 <			nan
 		"nan" may be different, it depends on system libraries.
 		{only available when compiled with the |+float| feature}
-		
+
 
 str2float({expr})					*str2float()*
 		Convert String {expr} to a Float.  This mostly works the same
@@ -7497,7 +7498,7 @@
 		counted separately.
 		When {skipcc} set to 1, Composing characters are ignored.
 		Also see |strlen()|, |strdisplaywidth()| and |strwidth()|.
-		
+
 		{skipcc} is only available after 7.4.755.  For backward
 		compatibility, you can define a wrapper function: >
 		    if has("patch-7.4.755")
@@ -7514,7 +7515,7 @@
 		      endfunction
 		    endif
 <
-strcharpart({src}, {start}[, {len}])			*strcharpart()*
+strcharpart({src}, {start} [, {len}])			*strcharpart()*
 		Like |strpart()| but using character index and length instead
 		of byte index and length.
 		When a character index is used where a character does not
@@ -7522,7 +7523,7 @@
 			strcharpart('abc', -1, 2)
 <		results in 'a'.
 
-strdisplaywidth({expr}[, {col}])			*strdisplaywidth()*
+strdisplaywidth({expr} [, {col}])			*strdisplaywidth()*
 		The result is a Number, which is the number of display cells
 		String {expr} occupies on the screen when it starts at {col}.
 		When {col} is omitted zero is used.  Otherwise it is the
@@ -7606,7 +7607,7 @@
 		|strchars()|.
 		Also see |len()|, |strdisplaywidth()| and |strwidth()|.
 
-strpart({src}, {start}[, {len}])			*strpart()*
+strpart({src}, {start} [, {len}])			*strpart()*
 		The result is a String, which is part of {src}, starting from
 		byte {start}, with the byte length {len}.
 		To count characters instead of bytes use |strcharpart()|.
@@ -7658,7 +7659,7 @@
 		Ambiguous, this function's return value depends on 'ambiwidth'.
 		Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
 
-submatch({nr}[, {list}])			*submatch()* *E935*
+submatch({nr} [, {list}])			*submatch()* *E935*
 		Only for an expression in a |:substitute| command or
 		substitute() function.
 		Returns the {nr}'th submatch of the matched text.  When {nr}
@@ -7667,8 +7668,8 @@
 		multi-line match or a NUL character in the text.
 		Also see |sub-replace-expression|.
 
-		If {list} is present and non-zero then submatch() returns 
-		a list of strings, similar to |getline()| with two arguments. 
+		If {list} is present and non-zero then submatch() returns
+		a list of strings, similar to |getline()| with two arguments.
 		NL characters in the text represent NUL characters in the
 		text.
 		Only returns more than one item for |:substitute|, inside
@@ -7688,7 +7689,7 @@
 		the first match of {pat} is replaced with {sub}.
 		When {flags} is "g", all matches of {pat} in {expr} are
 		replaced.  Otherwise {flags} should be "".
-		
+
 		This works like the ":substitute" command (without any flags).
 		But the matching with {pat} is always done like the 'magic'
 		option is set and 'cpoptions' is empty (to make scripts
@@ -7837,9 +7838,9 @@
 		Get the output of the shell command {expr} as a string.  See
 		|systemlist()| to get the output as a List.
 
-		When {input} is given and is a string this string is written 
-		to a file and passed as stdin to the command.  The string is 
-		written as-is, you need to take care of using the correct line 
+		When {input} is given and is a string this string is written
+		to a file and passed as stdin to the command.  The string is
+		written as-is, you need to take care of using the correct line
 		separators yourself.
 		If {input} is given and is a |List| it is written to the file
 		in a way |writefile()| does with {binary} set to "b" (i.e.
@@ -7858,10 +7859,10 @@
 		up on the screen which require |CTRL-L| to remove. >
 			:silent let f = system('ls *.vim')
 <
-		Note: Use |shellescape()| or |::S| with |expand()| or 
-		|fnamemodify()| to escape special characters in a command 
-		argument.  Newlines in {expr} may cause the command to fail.  
-		The characters in 'shellquote' and 'shellxquote' may also 
+		Note: Use |shellescape()| or |::S| with |expand()| or
+		|fnamemodify()| to escape special characters in a command
+		argument.  Newlines in {expr} may cause the command to fail.
+		The characters in 'shellquote' and 'shellxquote' may also
 		cause trouble.
 		This is not to be used for interactive commands.
 
@@ -7895,9 +7896,9 @@
 
 
 systemlist({expr} [, {input}])				*systemlist()*
-		Same as |system()|, but returns a |List| with lines (parts of 
-		output separated by NL) with NULs transformed into NLs. Output 
-		is the same as |readfile()| will output with {binary} argument 
+		Same as |system()|, but returns a |List| with lines (parts of
+		output separated by NL) with NULs transformed into NLs. Output
+		is the same as |readfile()| will output with {binary} argument
 		set to "b".  Note that on MS-Windows you may get trailing CR
 		characters.
 
@@ -7944,7 +7945,7 @@
 		for the current buffer.  This is the 'tags' option expanded.
 
 
-taglist({expr}[, {filename}])				*taglist()*
+taglist({expr} [, {filename}])				*taglist()*
 		Returns a list of tags matching the regular expression {expr}.
 
 		If {filename} is passed it is used to prioritize the results
@@ -8139,7 +8140,7 @@
 		line is used.  When {row} is invalid an empty string is
 		returned.
 
-		Return a List containing a Dict for each screen cell: 
+		Return a List containing a Dict for each screen cell:
 		    "chars"	character(s) at the cell
 		    "fg"	foreground color as #rrggbb
 		    "bg"	background color as #rrggbb
@@ -8279,7 +8280,7 @@
 		to run tests. Only to be used for testing Vim!
 		The override is enabled when {val} is non-zero and removed
 		when {val} is zero.
-		Current supported values for name are: 
+		Current supported values for name are:
 
 		name	     effect when {val} is non-zero ~
 		redraw       disable the redrawing() function
@@ -8424,7 +8425,7 @@
 			echo trunc(4.0)
 <			4.0
 		{only available when compiled with the |+float| feature}
-		
+
 							*type()*
 type({expr})	The result is a Number representing the type of {expr}.
 		Instead of using the number directly, it is better to use the
@@ -8477,7 +8478,7 @@
 		  "save_last"	Number of the last file write.  Zero when no
 				write yet.
 		  "save_cur"	Number of the current position in the undo
-				tree.  
+				tree.
 		  "synced"	Non-zero when the last undo block was synced.
 				This happens when waiting from input from the
 				user.  See |undo-blocks|.
@@ -8761,7 +8762,7 @@
 		appended to the file: >
 			:call writefile(["foo"], "event.log", "a")
 			:call writefile(["bar"], "event.log", "a")
->
+
 <		All NL characters are replaced with a NUL character.
 		Inserting CR characters needs to be done before passing {list}
 		to writefile().
@@ -9072,7 +9073,7 @@
 			Define a new function by the name {name}.  The body of
 			the function follows in the next lines, until the
 			matching |:endfunction|.
-			
+
 			The name must be made of alphanumeric characters and
 			'_', and must start with a capital or "s:" (see
 			above).  Note that using "b:" or "g:" is not allowed.
@@ -11059,7 +11060,7 @@
     redir => scriptnames_output
     silent scriptnames
     redir END
-    
+
     " Split the output into lines and parse each line.	Add an entry to the
     " "scripts" dictionary.
     let scripts = {}
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index ab9d4b7..62276d6 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -162,7 +162,7 @@
 							*gui-IME* *iBus*
 Input methods for international characters in X that rely on the XIM
 framework, most notably iBus, have been known to produce undesirable results
-in gVim. These may include an inability to enter spaces, or long delays
+in gvim. These may include an inability to enter spaces, or long delays
 between typing a character and it being recognized by the application.
 
 One workaround that has been successful, for unknown reasons, is to prevent
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index ed7aea2..5bdcb9e 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -640,7 +640,7 @@
   write the file twice and set the clock back.
 
 If you get W11 all the time, you may need to disable "Acronis Active
-Protection" or register vim  as a trusted service/application.
+Protection" or register Vim as a trusted service/application.
 
 							*W12*  >
   Warning: File "{filename}" has changed and the buffer was changed in Vim as well
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 2027a4b..6bd9f76 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4083,7 +4083,7 @@
 			    set.
 	|hl-Question|	 r  |hit-enter| prompt and yes/no questions
 	|hl-StatusLine|	 s  status line of current window |status-line|
-	|hl-StatusLineNC| S  status lines of not-current windows
+	|hl-StatusLineNC|  S  status lines of not-current windows
 	|hl-Title|	 t  Titles for output from ":set all", ":autocmd" etc.
 	|hl-VertSplit|	 c  column used to separate vertically split windows
 	|hl-Visual|	 v  Visual mode
@@ -5487,7 +5487,7 @@
 	Specifies the name of the MzScheme shared library. The default is
 	DYNAMIC_MZSCH_DLL which was specified at compile time.
 	Environment variables are expanded |:set_env|.
-	The value must be set in the |vimrc| script or ealier.  In the
+	The value must be set in the |vimrc| script or earlier.  In the
 	startup, before the |load-plugins| step.
 	This option cannot be set from a |modeline| or in the |sandbox|, for
 	security reasons.
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 914c576..e7cfdec 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 8.0.  Last change: 2016 Apr 20
+*pi_netrw.txt*  For Vim version 8.0.  Last change: 2017 Nov 03
 
 	    ------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell
@@ -6,7 +6,7 @@
 Author:  Charles E. Campbell  <NdrOchip@ScampbellPfamily.AbizM>
 	  (remove NOSPAM from Campbell's email first)
 
-Copyright: Copyright (C) 2016 Charles E Campbell    *netrw-copyright*
+Copyright: Copyright (C) 2017 Charles E Campbell    *netrw-copyright*
 	The VIM LICENSE applies to the files in this package, including
 	netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
 	syntax/netrw.vim.  Like anything else that's free, netrw.vim and its
@@ -17,7 +17,6 @@
 	holder be liable for any damages resulting from the use of this
 	software. Use at your own risk!
 
-
 		*netrw*
 		*dav*    *ftp*    *netrw-file*  *rcp*    *scp*
 		*davs*   *http*   *netrw.vim*   *rsync*  *sftp*
@@ -73,7 +72,7 @@
       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|
+      Making The Browsing Directory The Current Directory.|netrw-cd|
       Marking Files.......................................|netrw-mf|
       Unmarking Files.....................................|netrw-mF|
       Marking Files By Location List......................|netrw-qL|
@@ -83,6 +82,7 @@
       Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
       Marked Files: Arbitrary Vim Command.................|netrw-mv|
       Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
+      Marked Files: Buffer List...........................|netrw-cb| |netrw-cB|
       Marked Files: Compression And Decompression.........|netrw-mz|
       Marked Files: Copying...............................|netrw-mc|
       Marked Files: Diff..................................|netrw-md|
@@ -155,7 +155,7 @@
 
    let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
 <
-Netrw will substitute the host's machine name for "MACHINE" from the url it is
+Netrw will substitute the host's machine name for "MACHINE" from the URL it is
 attempting to open, and so one may specify >
 	userid
 	password
@@ -212,7 +212,7 @@
           http:   g:netrw_http_cmd     = "fetch"      elseif fetch is available
 	  http:   *g:netrw_http_put_cmd* = "curl -T"
 	   rcp:   *g:netrw_rcp_cmd*      = "rcp"
-	 rsync:   *g:netrw_rsync_cmd*    = "rsync -a"
+	 rsync:   *g:netrw_rsync_cmd*    = "rsync"     (see |g:netrw_rsync_sep|)
 	   scp:   *g:netrw_scp_cmd*      = "scp -q"
 	  sftp:   *g:netrw_sftp_cmd*     = "sftp"
 	  file:   *g:netrw_file_cmd*     = "elinks" or "links"
@@ -223,7 +223,7 @@
 
 		    elinks : "-source >"
 		    links  : "-dump >"
-		    curl   : "-o"
+		    curl   : "-L -o"
 		    wget   : "-q -O"
 		    fetch  : "-o"
 <
@@ -238,7 +238,7 @@
 
 READING						*netrw-read* *netrw-nread* {{{2
 
-	Generally, one may just use the url notation with a normal editing
+	Generally, one may just use the URL notation with a normal editing
 	command, such as >
 
 		:e ftp://[user@]machine/path
@@ -260,7 +260,7 @@
 
 WRITING					*netrw-write* *netrw-nwrite* {{{2
 
-	One may just use the url notation with a normal file writing
+	One may just use the URL notation with a normal file writing
 	command, such as >
 
 		:w ftp://[user@]machine/path
@@ -281,7 +281,7 @@
 
 SOURCING					*netrw-source* {{{2
 
-	One may just use the url notation with the normal file sourcing
+	One may just use the URL notation with the normal file sourcing
 	command, such as >
 
 		:so ftp://[user@]machine/path
@@ -479,7 +479,7 @@
 ==============================================================================
 4. Network-Oriented File Transfer			*netrw-xfer* {{{1
 
-Network-oriented file transfer under Vim is implemented by a VimL-based script
+Network-oriented file transfer under Vim is implemented by a vim script
 (<netrw.vim>) using plugin techniques.  It currently supports both reading and
 writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
 dav/cadaver, rsync, or sftp.
@@ -532,7 +532,7 @@
 	let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
 <
 (note: it has been reported that windows 7 with putty v0.6's "-batch" option
-       doesn't work, so it's best to leave it off for that system)
+       doesn't work, so its best to leave it off for that system)
 
 See |netrw-p8| for more about putty, pscp, psftp, etc.
 
@@ -734,11 +734,11 @@
 The usual read/write commands are supported.  There are also a few
 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
-  :w url
+  :e URL
+  :r URL
+  :w URL
 instead, as appropriate) -- see |netrw-urls|.  In the explanations
-below, a {netfile} is an url to a remote file.
+below, a {netfile} is a URL to a remote file.
 
 						*:Nwrite*  *:Nw*
 :[range]Nw[rite]	Write the specified lines to the current
@@ -868,9 +868,11 @@
     g:netrw_http_cmd     var   ="fetch -o"     if      fetch is available
     g:netrw_http_cmd     var   ="wget -O"      else if wget  is available
     g:netrw_http_put_cmd var   ="curl -T"
-    |g:netrw_list_cmd|    var   ="ssh USEPORT HOSTNAME ls -Fa"
+    |g:netrw_list_cmd|     var   ="ssh USEPORT HOSTNAME ls -Fa"
     g:netrw_rcp_cmd      var   ="rcp"
-    g:netrw_rsync_cmd    var   ="rsync -a"
+    g:netrw_rsync_cmd    var   ="rsync"
+    *g:netrw_rsync_sep*    var   ="/"            used to separate the hostname
+                                               from the file spec
     g:netrw_scp_cmd      var   ="scp -q"
     g:netrw_sftp_cmd     var   ="sftp" >
     -------------------------------------------------------------------------
@@ -1007,7 +1009,7 @@
 	vim ftp://ftp.home.vim.org/pub/vim/
 <
 For local directories, the trailing slash is not required.  Again, because it's
-easy to miss: to browse remote directories, the url must terminate with a
+easy to miss: to browse remote directories, the URL must terminate with a
 slash!
 
 If you'd like to avoid entering the password repeatedly for remote directory
@@ -1077,9 +1079,9 @@
 	 <c-r>	Browse using a gvim server                           |netrw-ctrl-r|
 	 <c-tab> Shrink/expand a netrw/explore window                |netrw-c-tab|
 	   -	Makes Netrw go up one directory                      |netrw--|
-	   a	Toggles between normal display,                      |netrw-a|
+	   a	Cycles 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)
+	    	and showing (display only files which match g:netrw_list_hide)
 	   c	Make browsing directory the current directory        |netrw-c|
 	   C	Setting the editing window                           |netrw-C|
 	   d	Make a directory                                     |netrw-d|
@@ -1090,6 +1092,7 @@
 	   gh	Quick hide/unhide of dot-files                       |netrw-gh|
 	   gn	Make top of tree the directory below the cursor      |netrw-gn|
 	   i	Cycle between thin, long, wide, and tree listings    |netrw-i|
+	   I	Toggle the displaying of the banner                  |netrw-I|
 	   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|
@@ -1169,25 +1172,26 @@
 
 BANNER DISPLAY						*netrw-I*
 
-One may toggle the banner display on and off by pressing "I".
+One may toggle the displaying of the banner by pressing "I".
 
 Also See: |g:netrw_banner|
 
 
-BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
+BOOKMARKING A DIRECTORY		*netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
 
 One may easily "bookmark" the currently browsed directory by using >
 
 	mb
 <
 								*.netrwbook*
-Bookmarks are retained in between sessions in a $HOME/.netrwbook file, and are
-kept in sorted order.
+Bookmarks are retained in between sessions of vim in a file called .netrwbook
+as a |List|, which is typically stored in the first directory on the user's
+'|runtimepath|'; entries are kept in sorted order.
 
 If there are marked files and/or directories, mb will add them to the bookmark
 list.
 
-*netrw-:NetrwMB*
+								*netrw-:NetrwMB*
 Addtionally, one may use :NetrwMB to bookmark files or directories. >
 
 	:NetrwMB[!] [files/directories]
@@ -1206,7 +1210,7 @@
 invoked in the session).
 
 The file ".netrwbook" holds bookmarks when netrw (and vim) is not active.  By
-default, it's stored on the first directory on the user's |'runtimepath'|.
+default, its stored on the first directory on the user's |'runtimepath'|.
 
 Related Topics:
 	|netrw-gb| how to return (go) to a bookmark
@@ -1418,20 +1422,20 @@
 
 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, it's ten).  With the
-"u" map, one can change to an earlier directory (predecessor).  To do
-the opposite, see |netrw-U|.
+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, it holds ten entries).  With the "u"
+map, one can change to an earlier directory (predecessor).  To do the
+opposite, see |netrw-U|.
 
-The "u" map also accepts counts to go back in the history several slots.
-For your convenience, qb (see |netrw-qb|) lists the history number which may
-be used in that count.
+The "u" map also accepts counts to go back in the history several slots.  For
+your convenience, qb (see |netrw-qb|) lists the history number which may be
+used in that count.
 
 						*.netrwhist*
 See |g:netrw_dirhistmax| for how to control the quantity of history stack
 slots.  The file ".netrwhist" holds history when netrw (and vim) is not
-active.  By default, it's stored on the first directory on the user's
+active.  By default, its stored on the first directory on the user's
 |'runtimepath'|.
 
 Related Topics:
@@ -1467,10 +1471,10 @@
 
 NETRW CLEAN					*netrw-clean* *:NetrwClean* {{{2
 
-With NetrwClean one may easily remove netrw from one's home directory;
+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 attempt to remove netrw from all directories on
+With :NetrwClean!, netrw will attempt to remove netrw from all directories on
 your |'runtimepath'|.  Of course, you have to have write/delete permissions
 correct to do this.
 
@@ -1502,7 +1506,7 @@
     If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
     used instead (see |netrw_filehandler|).
 
-  * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
+  * for Windows 32 or 64, the URL and FileProtocolHandler dlls are used.
   * for Gnome (with gnome-open): gnome-open is used.
   * for KDE (with kfmclient)   : kfmclient is used
   * for Mac OS X               : open is used.
@@ -1518,9 +1522,10 @@
 One may also use visual mode (see |visual-start|) to select the text that the
 special handler will use.  Normally gx uses expand("<cfile>") to pick up the
 text under the cursor; one may change what |expand()| uses via the
-|g:netrw_gx| variable.  Alternatively, one may select the text to be used by
-gx via first making a visual selection (see |visual-block|) or by changing
-the |'isfname'| option (which is global, so netrw doesn't modify it).
+|g:netrw_gx| variable (options include "<cword>", "<cWORD>").  Note that
+expand("<cfile>") depends on the |'isfname'| setting.  Alternatively, one may
+select the text to be used by gx by making a visual selection (see
+|visual-block|) and then pressing gx.
 
 Associated setting variables:
 	|g:netrw_gx|	control how gx picks up the text under the cursor
@@ -1612,6 +1617,11 @@
       This will cause the matching files to be marked.  Then,
       press "D".
 
+If your vim has 7.4 with patch#1107, then |g:netrw_localrmdir| no longer
+is used to remove directories; instead, vim's |delete()| is used with
+the "d" option.  Please note that only empty directories may be deleted
+with the "D" mapping.  Regular files are deleted with |delete()|, too.
+
 The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
 used to control the attempts to remove remote files and directories.  The
 g:netrw_rm_cmd is used with files, and its default value is:
@@ -1675,17 +1685,18 @@
 	  The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
 	  window.
 
-	  Those who like this method often also often like tree style displays;
+	  Those who like this method often also like tree style displays;
 	  see |g:netrw_liststyle|.
 
+:[N]Lexplore! [dir] is similar to :Lexplore, except that the full-height
+	  Explorer window will open on the right hand side and an
+	  uninitialized |g:netrw_chgwin| will be set to 1 (eg. edits will
+	  preferentially occur in the leftmost window).
+
 	  Also see: |netrw-C|           |g:netrw_browse_split|   |g:netrw_wiw|
 		    |netrw-p| |netrw-P|   |g:netrw_chgwin|
 		    |netrw-c-tab|       |g:netrw_winsize|
 
-:[N]Lexplore! is like :Lexplore, except that the full-height Explorer window
-	  will open on the right hand side and an uninitialized |g:netrw_chgwin|
-	  will be set to 1.
-
 						*netrw-:Sexplore*
 :[N]Sexplore will always split the window before invoking the local-directory
 	  browser.  As with Explore, the splitting is normally done
@@ -1847,9 +1858,11 @@
 
 Pressing X while the cursor is atop an executable file will yield a prompt
 using the filename asking for any arguments.  Upon pressing a [return], netrw
-will then call |system()| with that command and arguments.  The result will
-be displayed by |:echomsg|, and so |:messages| will repeat display of the
-result.  Ansi escape sequences will be stripped out.
+will then call |system()| with that command and arguments.  The result will be
+displayed by |:echomsg|, and so |:messages| will repeat display of the result.
+Ansi escape sequences will be stripped out.
+
+See |cmdline-window| for directions for more on how to edit the arguments.
 
 
 FORCING TREATMENT AS A FILE OR DIRECTORY	*netrw-gd* *netrw-gf* {{{2
@@ -2072,7 +2085,7 @@
 				|g:netrw_remote_mkdir| |netrw-%|
 
 
-MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-c* {{{2
+MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-cd* {{{2
 
 By default, |g:netrw_keepdir| is 1.  This setting means that the current
 directory will not track the browsing directory. (done for backwards
@@ -2087,6 +2100,9 @@
 set Vim's notion of the current directory to netrw's current browsing
 directory.
 
+*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
+          This change was done to allow for |netrw-cb| and |netrw-cB| maps.
+
 Associated setting variable: |g:netrw_keepdir|
 
 MARKING FILES					*netrw-:MF*	*netrw-mf* {{{2
@@ -2131,6 +2147,7 @@
     |netrw-mg|	Apply vimgrep to marked files
     |netrw-mm|	Move marked files to target
     |netrw-mp|	Print marked files
+    |netrw-ms|	Netrw will source marked files
     |netrw-mt|	Set target for |netrw-mm| and |netrw-mc|
     |netrw-mT|	Generate tags using marked files
     |netrw-mv|	Apply vim command to marked files
@@ -2205,6 +2222,9 @@
 future I may make it possible to use |regexp|s instead of glob()-style
 expressions (yet-another-option).
 
+See |cmdline-window| for directions on more on how to edit the regular
+expression.
+
 
 MARKED FILES, ARBITRARY VIM COMMAND				*netrw-mv*  {{{2
 	    (See |netrw-mf| and |netrw-mr| for how to mark files)
@@ -2218,8 +2238,9 @@
 	* run vim command
 	* sil! keepalt wq!
 
-A prompt, "Enter vim command: ", will be issued to elicit the vim command
-you wish used.
+A prompt, "Enter vim command: ", will be issued to elicit the vim command you
+wish used.  See |cmdline-window| for directions for more on how to edit the
+command.
 
 
 MARKED FILES, ARBITRARY SHELL COMMAND				*netrw-mx* {{{2
@@ -2270,7 +2291,17 @@
 Using ma, one moves filenames from the marked file list to the argument list.
 Using mA, one moves filenames from the argument list to the marked file list.
 
-See Also: |netrw-qF| |argument-list| |:args|
+See Also: |netrw-cb| |netrw-cB| |netrw-qF| |argument-list| |:args|
+
+
+MARKED FILES: BUFFER LIST				*netrw-cb* *netrw-cB*
+	    (See |netrw-mf| and |netrw-mr| for how to mark files)
+		      (uses the global marked-file list)
+
+Using cb, one moves  filenames from the marked file list to the buffer list.
+Using cB, one copies filenames from the buffer list to the marked file list.
+
+See Also: |netrw-ma| |netrw-mA| |netrw-qF| |buffer-list| |:buffers|
 
 
 MARKED FILES: COMPRESSION AND DECOMPRESSION		*netrw-mz* {{{2
@@ -2306,8 +2337,8 @@
 directory.
 
 Associated setting variables:
-	|g:netrw_localcopycmd|
-	|g:netrw_localcopydircmd|
+	|g:netrw_localcopycmd|		|g:netrw_localcopycmdopt|
+	|g:netrw_localcopydircmd|	|g:netrw_localcopydircmdopt|
 	|g:netrw_ssh_cmd|
 
 MARKED FILES: DIFF						*netrw-md* {{{2
@@ -2452,8 +2483,8 @@
 ie. a copy is transferred to the local system's directory.  The now local tags
 file is then modified so that one may use it through the network.  The
 modification made 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
+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_ctags| |g:netrw_ssh_cmd|
@@ -2555,8 +2586,8 @@
 				    editing.  It will also use the specified tab
 				    and window numbers to perform editing
 				    (see |clientserver|, |netrw-ctrl-r|)
-				This option does not affect |:Lexplore|
-				windows.
+				This option does not affect the production of
+				|:Lexplore| windows.
 
 				Related topics:
 				    |g:netrw_alto|	|g:netrw_altv|
@@ -2715,6 +2746,7 @@
   *g:netrw_home*		The home directory for where bookmarks and
 				history are saved (as .netrwbook and
 				.netrwhist).
+				Netrw uses |expand()|on the string.
 				 default: the first directory on the
 				         |'runtimepath'|
 
@@ -2735,7 +2767,7 @@
 				 default: (if ssh is executable)
 				          "ssh HOSTNAME ls -FLa"
 
- *g:netrw_list_cmd_options*	If this variable exists, then its contents are
+  *g:netrw_list_cmd_options*	If this variable exists, then its contents are
 				appended to the g:netrw_list_cmd.  For
 				example, use "2>/dev/null" to get rid of banner
 				messages on unix systems.
@@ -2761,26 +2793,52 @@
 				 let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
 				default: ""
 
-  *g:netrw_localcopycmd*	="cp" Linux/Unix/MacOS/Cygwin
-				="copy" Windows
+  *g:netrw_localcopycmd*	="cp"           Linux/Unix/MacOS/Cygwin
+				=expand("$COMSPEC")             Windows
 				Copies marked files (|netrw-mf|) to target
 				directory (|netrw-mt|, |netrw-mc|)
 
- *g:netrw_localcopydircmd*	="cp -R"	Linux/Unix/MacOS/Cygwin
-				="xcopy /e /c /h/ /i /k"	Windows
+  *g:netrw_localcopycmdopt*	=''             Linux/Unix/MacOS/Cygwin
+  				=' \c copy'                     Windows
+				Options for the |g:netrw_localcopycmd|
+
+  *g:netrw_localcopydircmd*	="cp"           Linux/Unix/MacOS/Cygwin
+ 				=expand("$COMSPEC")             Windows
 				Copies directories to target directory.
 				(|netrw-mc|, |netrw-mt|)
 
-  *g:netrw_localmkdir*		command for making a local directory
-				 default: "mkdir"
+  *g:netrw_localcopydircmdopt*	=" -R"          Linux/Unix/MacOS/Cygwin
+				=" /c xcopy /e /c /h/ /i /k"    Windows
+				Options for |g:netrw_localcopydircmd|
 
-  *g:netrw_localmovecmd*	="mv" Linux/Unix/MacOS/Cygwin
-				="move" Windows
+  *g:netrw_localmkdir*		="mkdir"        Linux/Unix/MacOS/Cygwin
+				=expand("$COMSPEC")             Windows
+                                command for making a local directory
+
+  *g:netrw_localmkdiropt*	=""             Linux/Unix/MacOS/Cygwin
+				=" /c mkdir"                    Windows
+				Options for |g:netrw_localmkdir|
+
+  *g:netrw_localmovecmd*	="mv"           Linux/Unix/MacOS/Cygwin
+				=expand("$COMSPEC")             Windows
 				Moves marked files (|netrw-mf|) to target
 				directory (|netrw-mt|, |netrw-mm|)
 
-  *g:netrw_localrmdir*		remove directory command (rmdir)
-				 default: "rmdir"
+  *g:netrw_localmovecmdopt*	=""             Linux/Unix/MacOS/Cygwin
+				=" /c move"                     Windows
+				Options for |g:netrw_localmovecmd|
+
+  *g:netrw_localrmdir*		="rmdir"        Linux/Unix/MacOS/Cygwin
+ 				=expand("$COMSPEC")             Windows
+				Remove directory command (rmdir)
+				This variable is only used if your vim is
+				earlier than 7.4 or if your vim doesn't
+				have patch#1107.  Otherwise, |delete()|
+				is used with the "d" option.
+
+  *g:netrw_localrmdiropt*	=""             Linux/Unix/MacOS/Cygwin
+				=" /c rmdir"                    Windows
+				Options for |g:netrw_localrmdir|
 
   *g:netrw_maxfilenamelen*	=32 by default, selected so as to make long
 				    listings fit on 80 column displays.
@@ -2893,17 +2951,23 @@
 					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 >
+				In addition, those groups mentioned in
+				|'suffixes'| are also added to the special
+				file highlighting group.
+				 These syntax highlighting groups are linked
+				to netrwGray or Folded by default
+				(see |hl-Folded|), but one may put lines like >
 					hi link netrwCompress Visual
 <				into one's <.vimrc> to use one's own
 				preferences.  Alternatively, one may
-				put such specifications into
-				.vim/after/syntax/netrw.vim.
-
-				As an example, I myself use a dark-background
+				put such specifications into >
+					.vim/after/syntax/netrw.vim.
+<				 The netrwGray highlighting is set up by
+				netrw when >
+	       				* netrwGray has not been previously
+					  defined
+					* the gui is running
+<				 As an example, I myself use a dark-background
 				colorscheme with the following in
 				.vim/after/syntax/netrw.vim: >
 
@@ -3138,8 +3202,8 @@
 
     Renaming files and directories involves moving the cursor to the
     file/directory to be moved (renamed) and pressing "R".  You will then be
-    queried for what you want the file/directory to be renamed to  You may select
-    a range of lines with the "V" command (visual selection), and then
+    queried for what you want the file/directory to be renamed to.  You may
+    select a range of lines with the "V" command (visual selection), and then
     press "R"; you will be queried for each file as to what you want it
     renamed to.
 
@@ -3171,16 +3235,20 @@
 
     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 copy fails and the delete succeeds you may lose the file.
     Use at your own risk.
 
-The g:netrw_rename_cmd variable is used to implement remote renaming.  By
-default its value is:
+The *g:netrw_rename_cmd* variable is used to implement remote renaming.  By
+default its value is: >
 
 	ssh HOSTNAME mv
-
+<
 One may rename a block of files and directories by selecting them with
-V (|linewise-visual|) when using thin style
+V (|linewise-visual|) when using thin style.
+
+See |cmdline-editing| for more on how to edit the command line; in particular,
+you'll find <ctrl-f> (initiates cmdline window editing) and <ctrl-c> (uses the
+command line under the cursor) useful in conjunction with the R command.
 
 
 SELECTING SORTING STYLE			*netrw-s* *netrw-sort* {{{2
@@ -3201,8 +3269,8 @@
 window.
 
 	* C : by itself, will select the current window holding a netrw buffer
-	  for editing via |netrw-cr|.  The C mapping is only available while in
-	  netrw buffers.
+	  for subsequent editing via |netrw-cr|.  The C mapping is only available
+	  while in netrw buffers.
 
 	* [count]C : the count will be used as the window number to be used
 	  for subsequent editing via |netrw-cr|.
@@ -3215,7 +3283,7 @@
 Using >
 	let g:netrw_chgwin= -1
 will restore the default editing behavior
-(ie. editing will use the current window).
+(ie. subsequent editing will use the current window).
 
 Related topics:			|netrw-cr| |g:netrw_browse_split|
 Associated setting variables:	|g:netrw_chgwin|
@@ -3236,9 +3304,9 @@
 
   * Else bring up a |:Lexplore| window
 
-If |g:netrw_usetab| exists or is zero, or if there is a pre-existing mapping
+If |g:netrw_usetab| exists and is zero, or if there is a pre-existing mapping
 for <c-tab>, then the <c-tab> will not be mapped.  One may map something other
-than a <c-tab>, too: (but you'll still need to have had g:netrw_usetab set) >
+than a <c-tab>, too: (but you'll still need to have had |g:netrw_usetab| set). >
 
 	nmap <unique> (whatever)	<Plug>NetrwShrink
 <
@@ -3271,9 +3339,10 @@
 
 	fun! ExampleUserMapFunc(islocal)
 <
-where a:islocal is 1 if it's a local-directory system call or 0 when
+where a:islocal is 1 if its a local-directory system call or 0 when
 remote-directory system call.
 
+			        *netrw-call*  *netrw-expose*  *netrw-modify*
 Use netrw#Expose("varname")          to access netrw-internal (script-local)
 				     variables.
 Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
@@ -3595,7 +3664,7 @@
 
 								*netrw-p16*
 	P16. When editing remote files (ex. :e ftp://hostname/path/file),
-	     under Windows I get an |E303| message complaining that it's unable
+	     under Windows I get an |E303| message complaining that its unable
 	     to open a swap file.
 
 	     (romainl) It looks like you are starting Vim from a protected
@@ -3649,7 +3718,7 @@
 	P21. I've made a directory (or file) with an accented character, but
 		netrw isn't letting me enter that directory/read that file:
 
-		It's likely that the shell or o/s is using a different encoding
+		Its likely that the shell or o/s is using a different encoding
 		than you have vim (netrw) using.  A patch to vim supporting
 		"systemencoding" may address this issue in the future; for
 		now, just have netrw use the proper encoding.  For example: >
@@ -3765,6 +3834,102 @@
 ==============================================================================
 12. History						*netrw-history* {{{1
 
+	v162:	Sep 19, 2016	* (haya14busa) pointed out two syntax errors
+				  with a patch; these are now fixed.
+		Oct 26, 2016	* I started using mate-terminal and found that
+				  x and gx (|netrw-x| and |netrw-gx|) were no
+				  longer working.  Fixed (using atril when
+				  $DESKTOP_SESSION is "mate").
+		Nov 04, 2016	* (Martin Vuille) pointed out that @+ was
+				  being restored with keepregstar rather than
+				  keepregplus.
+		Nov 09, 2016	* Broke apart the command from the options,
+				  mostly for Windows.  Introduced new netrw
+				  settings: |g:netrw_localcopycmdopt|
+				  |g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt|
+				  |g:netrw_localmovecmdopt| |g:netrw_localrmdiropt|
+		Nov 21, 2016	* (mattn) provided a patch for preview; swapped
+				  winwidth() with winheight()
+		Nov 22, 2016	* (glacambre) reported that files containing
+				  spaces weren't being obtained properly via
+				  scp.  Fix: apparently using single quotes
+				  such as with 'file name' wasn't enough; the
+				  spaces inside the quotes also had to be
+				  escaped (ie. 'file\ name').
+				* Also fixed obtain (|netrw-O|) to be able to
+				  obtain files with spaces in their names
+		Dec 20, 2016	* (xc1427) Reported that using "I" (|netrw-I|)
+				  when atop "Hiding" in the banner also caused
+				  the active-banner hiding control to occur
+		Jan 03, 2017	* (Enno Nagel) reported that attempting to
+				  apply netrw to a directory that was without
+				  read permission caused a syntax error.
+		Jan 13, 2017	* (Ingo Karkat) provided a patch which makes
+				  using netrw#Call() better.  Now returns
+				  value of internal routines return, for example.
+		Jan 13, 2017	* (Ingo Karkat) changed netrw#FileUrlRead to
+				  use |:edit| instead of |:read|.  I also
+				  changed the routine name to netrw#FileUrlEdit.
+		Jan 16, 2017	* (Sayem) reported a problem where :Lexplore
+				  could generate a new listing buffer and
+				  window instead of toggling the netrw display.
+				  Unfortunately, the directions for eliciting
+				  the problem weren't complete, so I may or
+				  may not have fixed that issue.
+		Feb 06, 2017	* Implemented cb and cB.  Changed "c" to "cd".
+				  (see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
+		Mar 21, 2017	* previously, netrw would specify (safe) settings
+				  even when the setting was already safe for
+				  netrw.  Netrw now attempts to leave such
+				  already-netrw-safe settings alone.
+				  (affects s:NetrwOptionRestore() and
+				  s:NetrwSafeOptions(); also introduced
+				  s:NetrwRestoreSetting())
+		Jun 26, 2017	* (Christian Brabandt) provided a patch to
+				  allow curl to follow redirects (ie. -L
+				  option)
+		Jun 26, 2017	* (Callum Howard) reported a problem with
+				  :Lexpore not removing the Lexplore window
+				  after a change-directory
+		Aug 30, 2017	* (Ingo Karkat) one cannot switch to the
+				  previously edited file (e.g. with CTRL-^)
+				  after editing a file:// URL.  Patch to
+				  have a "keepalt" included.
+		Oct 17, 2017	* (Adam Faryna) reported that gn (|netrw-gn|)
+				  did not work on directories in the current
+				  tree
+	v157:	Apr 20, 2016	* (Nicola) had set up a "nmap <expr> ..." with
+				  a function that returned a 0 while silently
+				  invoking a shell command.  The shell command
+				  activated a ShellCmdPost event which in turn
+				  called s:LocalBrowseRefresh().  That looks
+				  over all netrw buffers for changes needing
+				  refreshes.  However, inside a |:map-<expr>|,
+				  tab and window changes are disallowed.  Fixed.
+				  (affects netrw's s:LocalBrowseRefresh())
+				* |g:netrw_localrmdir| not used any more, but
+				  the relevant patch that causes |delete()| to
+				  take over was #1107 (not #1109).
+				* |expand()| is now used on |g:netrw_home|;
+				  consequently, g:netrw_home may now use
+				  environment variables
+				* s:NetrwLeftmouse and s:NetrwCLeftmouse will
+				  return without doing anything if invoked
+				  when inside a non-netrw window
+		Jun 15, 2016	* gx now calls netrw#GX() which returns
+				  the word under the cursor.  The new
+				  wrinkle: if one is in a netrw buffer,
+				  then netrw's s:NetrwGetWord().
+		Jun 22, 2016	* Netrw was executing all its associated
+				  Filetype commands silently; I'm going
+				  to try doing that "noisily" and see if
+				  folks have a problem with that.
+		Aug 12, 2016	* Changed order of tool selection for
+				  handling http://... viewing.
+				  (Nikolay Aleksandrovich Pavlov)
+		Aug 21, 2016	* Included hiding/showing/all for tree
+				  listings
+				* Fixed refresh (^L) for tree listings
 	v156:	Feb 18, 2016	* Changed =~ to =~# where appropriate
 		Feb 23, 2016	* s:ComposePath(base,subdir) now uses
 				  fnameescape() on the base portion
@@ -3796,9 +3961,9 @@
 				  tell me how they're useful and should be
 				  retained?
 		Nov 20, 2015	* Added |netrw-ma| and |netrw-mA| support
-		Nov 20, 2015	* gx (|netrw-gx|) on an url downloaded the
+		Nov 20, 2015	* gx (|netrw-gx|) on a URL downloaded the
 				  file in addition to simply bringing up the
-				  url in a browser.  Fixed.
+				  URL in a browser.  Fixed.
 		Nov 23, 2015	* Added |g:netrw_sizestyle| support
 		Nov 27, 2015	* Inserted a lot of <c-u>s into various netrw
 				  maps.
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index f289c83..f59c9fa 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -873,7 +873,7 @@
      (*) Using this file or environment variable will cause 'compatible' to be
 	 off by default.  See |compatible-default|.
 
-     Note: When using the |mzscheme| interface, it is initialzed after loading
+     Note: When using the |mzscheme| interface, it is initialized after loading
      the vimrc file.  Changing 'mzschemedll' later has no effect.
 
 4. Load the plugin scripts.					*load-plugins*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index e167f39..9eeb953 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6393,10 +6393,15 @@
 g:netrw_list_hide	pi_netrw.txt	/*g:netrw_list_hide*
 g:netrw_liststyle	pi_netrw.txt	/*g:netrw_liststyle*
 g:netrw_localcopycmd	pi_netrw.txt	/*g:netrw_localcopycmd*
+g:netrw_localcopycmdopt	pi_netrw.txt	/*g:netrw_localcopycmdopt*
 g:netrw_localcopydircmd	pi_netrw.txt	/*g:netrw_localcopydircmd*
+g:netrw_localcopydircmdopt	pi_netrw.txt	/*g:netrw_localcopydircmdopt*
 g:netrw_localmkdir	pi_netrw.txt	/*g:netrw_localmkdir*
+g:netrw_localmkdiropt	pi_netrw.txt	/*g:netrw_localmkdiropt*
 g:netrw_localmovecmd	pi_netrw.txt	/*g:netrw_localmovecmd*
+g:netrw_localmovecmdopt	pi_netrw.txt	/*g:netrw_localmovecmdopt*
 g:netrw_localrmdir	pi_netrw.txt	/*g:netrw_localrmdir*
+g:netrw_localrmdiropt	pi_netrw.txt	/*g:netrw_localrmdiropt*
 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*
@@ -6406,11 +6411,13 @@
 g:netrw_preview	pi_netrw.txt	/*g:netrw_preview*
 g:netrw_rcp_cmd	pi_netrw.txt	/*g:netrw_rcp_cmd*
 g:netrw_remote_mkdir	pi_netrw.txt	/*g:netrw_remote_mkdir*
+g:netrw_rename_cmd	pi_netrw.txt	/*g:netrw_rename_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*
 g:netrw_rsync_cmd	pi_netrw.txt	/*g:netrw_rsync_cmd*
+g:netrw_rsync_sep	pi_netrw.txt	/*g:netrw_rsync_sep*
 g:netrw_scp_cmd	pi_netrw.txt	/*g:netrw_scp_cmd*
 g:netrw_scpport	pi_netrw.txt	/*g:netrw_scpport*
 g:netrw_sepchr	pi_netrw.txt	/*g:netrw_sepchr*
@@ -7485,7 +7492,11 @@
 netrw-browsing	pi_netrw.txt	/*netrw-browsing*
 netrw-c	pi_netrw.txt	/*netrw-c*
 netrw-c-tab	pi_netrw.txt	/*netrw-c-tab*
+netrw-cB	pi_netrw.txt	/*netrw-cB*
 netrw-cadaver	pi_netrw.txt	/*netrw-cadaver*
+netrw-call	pi_netrw.txt	/*netrw-call*
+netrw-cb	pi_netrw.txt	/*netrw-cb*
+netrw-cd	pi_netrw.txt	/*netrw-cd*
 netrw-chgup	pi_netrw.txt	/*netrw-chgup*
 netrw-clean	pi_netrw.txt	/*netrw-clean*
 netrw-contents	pi_netrw.txt	/*netrw-contents*
@@ -7511,6 +7522,7 @@
 netrw-ex	pi_netrw.txt	/*netrw-ex*
 netrw-explore	pi_netrw.txt	/*netrw-explore*
 netrw-explore-cmds	pi_netrw.txt	/*netrw-explore-cmds*
+netrw-expose	pi_netrw.txt	/*netrw-expose*
 netrw-externapp	pi_netrw.txt	/*netrw-externapp*
 netrw-file	pi_netrw.txt	/*netrw-file*
 netrw-filigree	pi_netrw.txt	/*netrw-filigree*
@@ -7560,6 +7572,7 @@
 netrw-middlemouse	pi_netrw.txt	/*netrw-middlemouse*
 netrw-ml_get	pi_netrw.txt	/*netrw-ml_get*
 netrw-mm	pi_netrw.txt	/*netrw-mm*
+netrw-modify	pi_netrw.txt	/*netrw-modify*
 netrw-mouse	pi_netrw.txt	/*netrw-mouse*
 netrw-move	pi_netrw.txt	/*netrw-move*
 netrw-mp	pi_netrw.txt	/*netrw-mp*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 71521c0..f16eb4d 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2017 Nov 02
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Nov 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,9 +35,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Universal solution to detect if t_RS is working, using cursor position.
-Koichi Iwamoto, #2126
-
 No maintainer for Vietnamese translations.
 No maintainer for Simplified Chinese translations.
 
@@ -153,20 +150,13 @@
 - signed integer overflow in nfa_regatom() (#2251)
 - undefined left shift in get_string_tv() (#2250)
 
-Patch to recognize neumutt temp files. (Teubel György, 2017 Oct 31, #2269)
-
 When starting with --clean packages under "start" are not loaded.  Make this
 work:  :packadd START {name}  similar to :runtime START name
 
 When using :packadd files under "later" are not used, which is inconsistent
 with packages under "start". (xtal8, #1994)
 
-Patch to test autocommand effects. (James McCoy, 2017 Oct 31, #2271)
-
-After 8.0.0962 pasting leaves the cursor in another position. (Ken Takata,
-2017 Aug 23, #2015) Also (zdm, 2017 Aug 23)
-
-fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
+Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
 
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
 (Marcin Szewczyk, 2017 Apr 26)
@@ -191,6 +181,9 @@
 Patch for manpager plugin. (Lcd, 2017 Oct 12)
 Asked maintainer.
 
+Universal solution to detect if t_RS is working, using cursor position.
+Koichi Iwamoto, #2126
+
 Default install on MS-Windows should source defaults.vim.
 Ask whether to use Windows or Vim key behavior?
 
@@ -222,11 +215,8 @@
 When bracketed paste is used, pasting at the ":append" prompt does not get the
 line breaks. (Ken Takata, 2017 Aug 22)
 
-This example in the help does not work (Andy Wokula, 2017 Aug 20):
-    augroup mine | au! BufRead | augroup END
-
-24 bit color support in MS-Windows console, using vcon. (Nobuhiro Takasaki,
-2017 Oct 1, #2060).  Should not set 'tgc' automatically.
+Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
+Takasaki, 2017 Oct 1, #2060).  Should not set 'tgc' automatically.
 
 Patch to change GUI behavior: instead of changing the window size change the
 lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
@@ -629,9 +619,6 @@
 Completion for input() does not expand environment variables. (chdiza, 2016
 Jul 25, #948)
 
-Patch to fix wrong encoding of error message on Cygwin/MSYS terminal.
-(Ken Takata, 2016 Oct 4)
-
 Patch to add 'systemencoding', convert between 'encoding' and this for file
 names, shell commands and the like.  (Kikuchan, 2010 Oct 14)
 Assume the system converts between the actual encoding of the filesystem to
diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt
index 3ae52e1..ac14636 100644
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -21,7 +21,7 @@
 ==============================================================================
 *09.1*	Parts of the GUI
 
-You might have an icon on your desktop that starts gVim.  Otherwise, one of
+You might have an icon on your desktop that starts gvim.  Otherwise, one of
 these commands should do it: >
 
 	gvim file.txt
@@ -184,12 +184,12 @@
 using the default option settings).  You can paste this selection in another
 application without any further action.
    For example, in this text select a few words with the mouse.  Vim will
-switch to Visual mode and highlight the text.  Now start another gVim, without
+switch to Visual mode and highlight the text.  Now start another gvim, without
 a file name argument, so that it displays an empty window.  Click the middle
 mouse button.  The selected text will be inserted.
 
 The "current selection" will only remain valid until some other text is
-selected.  After doing the paste in the other gVim, now select some characters
+selected.  After doing the paste in the other gvim, now select some characters
 in that window.  You will notice that the words that were previously selected
 in the other gvim window are displayed differently.  This means that it no
 longer is the current selection.
@@ -204,10 +204,10 @@
 "real clipboard", to avoid confusion.  Often both the "current selection" and
 the "real clipboard" are called clipboard, you'll have to get used to that.
    To put text on the real clipboard, select a few different words in one of
-the gVims you have running.  Then use the Edit/Copy menu entry.  Now the text
+the gvims you have running.  Then use the Edit/Copy menu entry.  Now the text
 has been copied to the real clipboard.  You can't see this, unless you have
 some application that shows the clipboard contents (e.g., KDE's Klipper).
-   Now select the other gVim, position the cursor somewhere and use the
+   Now select the other gvim, position the cursor somewhere and use the
 Edit/Paste menu.  You will see the text from the real clipboard is inserted.
 
 
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 3790b25..d994e71 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -447,7 +447,7 @@
 N  *+vreplace*		|gR| and |gr|
 N  *+wildignore*	|'wildignore'|
 N  *+wildmenu*		|'wildmenu'|
-   *+windows*		more than one window; Always enabled sinde 8.0.1118.
+   *+windows*		more than one window; Always enabled since 8.0.1118.
 m  *+writebackup*	|'writebackup'| is default on
 m  *+xim*		X input method |xim|
    *+xfontset*		X fontset support |xfontset|