diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index dfdaf47..d6913b6 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.0.  Last change: 2016 Sep 03
+*autocmd.txt*   For Vim version 8.0.  Last change: 2016 Sep 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -983,7 +983,7 @@
 
 							*WinNew*
 WinNew				When a new window was created.  Not done for
-				the fist window, when Vim has just started.
+				the first window, when Vim has just started.
 				Before a WinEnter event.
 
 ==============================================================================
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index d3f7cfe..7c286f3 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.0.  Last change: 2016 Sep 11
+*channel.txt*      For Vim version 8.0.  Last change: 2016 Sep 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -33,7 +33,7 @@
 1. Overview						*job-channel-overview*
 
 There are four main types of jobs:
-1. A deamon, serving several Vim instances.
+1. A daemon, serving several Vim instances.
    Vim connects to it with a socket.
 2. One job working with one Vim instance, asynchronously.
    Uses a socket or pipes.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index b91f99b..658bc55 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.0.  Last change: 2016 Sep 07
+*eval.txt*	For Vim version 8.0.  Last change: 2016 Sep 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -125,7 +125,8 @@
 evaluates to FALSE.
 
 		*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
-List, Dictionary, Funcref and Job types are not automatically converted.
+List, Dictionary, Funcref, Job and Channel types are not automatically
+converted.
 
 							*E805* *E806* *E808*
 When mixing Number and Float the Number is converted to Float.  Otherwise
@@ -643,7 +644,7 @@
 
 Expression syntax summary, from least to most significant:
 
-|expr1|   expr2
+|expr1|	expr2
 	expr2 ? expr1 : expr1	if-then-else
 
 |expr2|	expr3
@@ -691,7 +692,7 @@
 	expr8.name		entry in a |Dictionary|
 	expr8(expr1, ...)	function call with |Funcref| variable
 
-|expr9|   number		number constant
+|expr9|	number			number constant
 	"string"		string constant, backslash is special
 	'string'		string constant, ' is doubled
 	[expr1, ...]		|List|
@@ -957,7 +958,7 @@
 							*E909* *subscript*
 If expr8 is a Number or String this results in a String that contains the
 expr1'th single byte from expr8.  expr8 is used as a String, expr1 as a
-Number.  This doesn't recognize multi-byte encodings, see |byteidx()| for
+Number.  This doesn't recognize multi-byte encodings, see `byteidx()` for
 an alternative, or use `split()` to turn the string into a list of characters.
 
 Index zero gives the first byte.  This is like it works in C.  Careful:
@@ -1244,7 +1245,7 @@
 <	error function
 							*closure*
 Lambda expressions can access outer scope variables and arguments.  This is
-often called a closure.  Example where "i" a and "a:arg" are used in a lambda
+often called a closure.  Example where "i" and "a:arg" are used in a lambda
 while they exist in the function scope.  They remain valid even after the
 function returns: >
 	:function Foo(arg)
@@ -2072,8 +2073,8 @@
 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
-					{string} is 0
+filter({expr1}, {expr2})	List/Dict  remove items from {expr1} where
+					{expr2} is 0
 finddir({name}[, {path}[, {count}]])
 				String	find directory {name} in {path}
 findfile({name}[, {path}[, {count}]])
@@ -2097,7 +2098,7 @@
 get({list}, {idx} [, {def}])	any	get item {idx} from {list} or {def}
 get({dict}, {key} [, {def}])	any	get item {key} from {dict} or {def}
 get({func}, {what})		any	get property of funcref/partial {func}
-getbufinfo([{expr}])		List  	information about buffers
+getbufinfo([{expr}])		List	information about buffers
 getbufline({expr}, {lnum} [, {end}])
 				List	lines {lnum} to {end} of buffer {expr}
 getbufvar({expr}, {varname} [, {def}])
@@ -2128,12 +2129,12 @@
 getreg([{regname} [, 1 [, {list}]]])
 				String or List   contents of register
 getregtype([{regname}])		String	type of register
-gettabinfo([{expr}])		List  	list of tab pages
+gettabinfo([{expr}])		List	list of tab pages
 gettabvar({nr}, {varname} [, {def}])
 				any	variable {varname} in tab {nr} or {def}
 gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
 				any	{name} in {winnr} in tab page {tabnr}
-getwininfo([{winid}])		List  	list of windows
+getwininfo([{winid}])		List	list of windows
 getwinposx()			Number	X coord in pixels of GUI Vim window
 getwinposy()			Number	Y coord in pixels of GUI Vim window
 getwinvar({nr}, {varname} [, {def}])
@@ -2197,7 +2198,7 @@
 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
-map({expr}, {string})		List/Dict  change each item in {expr} to {expr}
+map({expr1}, {expr2})		List/Dict  change each item in {expr1} to {expr}
 maparg({name}[, {mode} [, {abbr} [, {dict}]]])
 				String or Dict
 					rhs of mapping {name} in mode {mode}
@@ -3701,9 +3702,10 @@
 		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
+		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.
+		of the current item and for a |List| |v:key| has the index of
+		the current item.
 		Examples: >
 			call filter(mylist, 'v:val !~ "OLD"')
 <		Removes the items where "OLD" appears. >
@@ -3725,7 +3727,11 @@
 			  return a:idx % 2 == 1
 			endfunc
 			call filter(mylist, function('Odd'))
-<
+<		It is shorter when using a |lambda|: >
+			call filter(myList, {idx, val -> idx * val <= 42})
+<		If you do not use "val" you can leave it out: >
+			call filter(myList, {idx -> idx % 2 == 1})
+
 		The operation is done in-place.  If you want a |List| or
 		|Dictionary| to remain unmodified make a copy first: >
 			:let l = filter(copy(mylist), 'v:val =~ "KEEP"')
@@ -5439,6 +5445,10 @@
 			  return a:key . '-' . a:val
 			endfunc
 			call map(myDict, function('KeyValue'))
+<		It is shorter when using a |lambda|: >
+			call map(myDict, {key, val -> key . '-' . val})
+<		If you do not use "val" you can leave it out: >
+			call map(myDict, {key -> 'item: ' . key})
 <
 		The operation is done in-place.  If you want a |List| or
 		|Dictionary| to remain unmodified make a copy first: >
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index f9961a8..5929bcf 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 8.0.  Last change: 2016 Sep 01
+*if_pyth.txt*   For Vim version 8.0.  Last change: 2016 Sep 17
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -748,11 +748,11 @@
 The `:py3` and `:python3` commands work similar to `:python`.  A simple check
 if the `:py3` command is working: >
 	:py3 print("Hello")
-<							*:py3file*
+
 To see what version of Python you have: >
 	:py3 import sys
 	:py3 print(sys.version)
-
+<							*:py3file*
 The `:py3file` command works similar to `:pyfile`.
 							*:py3do*
 The `:py3do` command works similar to `:pydo`.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c316c19..a17e195 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2016 Sep 13
+*options.txt*	For Vim version 8.0.  Last change: 2016 Sep 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -6185,7 +6185,7 @@
 	NOTE: This option is set to 1 when 'compatible' is set.
 
 						*'scrolloff'* *'so'*
-'scrolloff' 'so'	number	(default 0)
+'scrolloff' 'so'	number	(default 0, set to 5 in |defaults.vim|)
 			global
 			{not in Vi}
 	Minimal number of screen lines to keep above and below the cursor.
@@ -7687,7 +7687,7 @@
 'timeout' 'to'		boolean (default on)
 			global
 						*'ttimeout'* *'nottimeout'*
-'ttimeout'		boolean (default off)
+'ttimeout'		boolean (default off, set in |defaults.vim|))
 			global
 			{not in Vi}
 	These two options together determine the behavior when part of a
@@ -7722,7 +7722,7 @@
 			global
 			{not in all versions of Vi}
 						*'ttimeoutlen'* *'ttm'*
-'ttimeoutlen' 'ttm'	number	(default -1)
+'ttimeoutlen' 'ttm'	number	(default -1, set to 100 in |defaults.vim|))
 			global
 			{not in Vi}
 	The time in milliseconds that is waited for a key code or mapped key
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 806cfff..3c3b657 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6370,6 +6370,8 @@
 g:vimsyn_minlines	syntax.txt	/*g:vimsyn_minlines*
 g:vimsyn_noerror	syntax.txt	/*g:vimsyn_noerror*
 g:yaml_schema	syntax.txt	/*g:yaml_schema*
+g:zipPlugin_ext	pi_zip.txt	/*g:zipPlugin_ext*
+g:zip_extractcmd	pi_zip.txt	/*g:zip_extractcmd*
 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*
@@ -9386,6 +9388,7 @@
 zip-history	pi_zip.txt	/*zip-history*
 zip-manual	pi_zip.txt	/*zip-manual*
 zip-usage	pi_zip.txt	/*zip-usage*
+zip-x	pi_zip.txt	/*zip-x*
 zj	fold.txt	/*zj*
 zk	fold.txt	/*zk*
 zl	scroll.txt	/*zl*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index a4bf00b..3ef372e 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 8.0.  Last change: 2016 Aug 20
+*tagsrch.txt*   For Vim version 8.0.  Last change: 2016 Sep 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -91,7 +91,7 @@
 - 'tagcase' is "followscs" and 'smartcase' option is on and the pattern
   contains an upper case character.
 
-The gnore-case matches are found when:
+The ignore-case matches are found when:
 - a pattern is used (starting with a "/")
 - for ":tselect"
 - when 'tagcase' is "followic" and 'ignorecase' is off
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 5bab822..8b3c477 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2016 Sep 16
+*todo.txt*      For Vim version 8.0.  Last change: 2016 Sep 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,10 +34,25 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Ukrainian translations (Anatolii Sakhnik, 2016 Sep 15)
+
 Netbeans test fails with Python 3. (jonathon, 2016 Sep 13, #1070)
 
 Revert 7.4.990?  (Christian Brabandt, 2016 Sep 16)
 
+Update for ratpoison (Magnus Woldrich, 2016 Sep 15)
+
+Crash when editing file with only encryption header. (igor2x, 2016 Sep 18,
+#1096) Patch by Christian, Sep 22.
+
+Idea from Sven: record sequence of keys.  Useful to show others what they are
+doing (look over the shoulder), and also to see what happened.
+Probably list of keystrokes, with some annotations for mode changes.
+Could store in logfile to be able to analyise it with an external command.
+E.g. to see when's the last time a plugin command was used.
+
+Patch for typos. (Matthew Brener, 2016 Sep 16, #1088)
+
 After 8.0 is released:
 - Drop support for older MS-Windows systems, before XP.
   Patch from Ken Takata, updated 2016 Sep 12.
@@ -110,6 +125,11 @@
   matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
   had_endbrace[] is set but not initialized or used.
 
+Strang syntax highlighting problem. (Brett Stahlman, 2016 Sep 17)
+
+Patch to convert test_command_count into new style. (Naruhiko Nishino, 2016
+Sep 17)
+
 json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
 What if there is an invalid character?
 
@@ -135,6 +155,7 @@
 Add tests for using number larger than number of lines in buffer.
 
 Invalid behavior with NULL list. (Nikolai Pavlov, #768)
+E.g. deepcopy(test_null_list())
 
 min() and max() spawn lots of error messages if sorted list/dictionary
 contains invalid data (Nikolay Pavlov, 2016 Sep 4, #1039)
@@ -148,12 +169,20 @@
 
 cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
 
+Patch to change order of compiler flags. (Yousong Zhou, 2016 Sep 19, #1100)
+
+Patch for :pyx, run python commands depending on the supported version.
+(Marc Weber, update from Ken Takata, 2016 Sep 19)
+
 When using ":diffput" through a mapping, undo in the target buffer isn't
 synced.  (Ryan Carney, 2016 Sep 14)
 
 Syntax highlighting for messages with RFC3339 timestamp (#946)
 Did maintainer reply?
 
+Patch to avoid problem with special characters in file name.
+(Shougo, 2016 Sept 19, #1099)  Not finished?
+
 ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
 Also with latest version.
 
@@ -183,6 +212,9 @@
 
 Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
 
+Patch to add separate highlighting for quickfix current line.
+(anishsane, 2016 Sep 16, #1080)
+
 Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
 
 Patch to improve map documentation. Issue #799.
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 13fee8e..844635e 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2016 Sep 15
+" Last Change:	2016 Sep 22
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -809,6 +809,10 @@
 au BufNewFile,BufRead */.gnupg/options		setf gpg
 au BufNewFile,BufRead */.gnupg/gpg.conf		setf gpg
 au BufNewFile,BufRead */usr/*/gnupg/options.skel setf gpg
+if !empty($GNUPGHOME)
+  au BufNewFile,BufRead $GNUPGHOME/options	setf gpg
+  au BufNewFile,BufRead $GNUPGHOME/gpg.conf	setf gpg
+endif
 
 " gnash(1) configuration files
 au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
diff --git a/runtime/syntax/cdl.vim b/runtime/syntax/cdl.vim
index 23d7004..2a458d4 100644
--- a/runtime/syntax/cdl.vim
+++ b/runtime/syntax/cdl.vim
Binary files differ
diff --git a/runtime/tools/vim_vs_net.cmd b/runtime/tools/vim_vs_net.cmd
index bea6353..335236c 100644
--- a/runtime/tools/vim_vs_net.cmd
+++ b/runtime/tools/vim_vs_net.cmd
@@ -15,8 +15,7 @@
 @rem    :h --remote-silent for more details
 @rem
 @rem --servername VS_NET
-@rem This will create a new instance of vim called VS_NET.  So if you
-open
+@rem This will create a new instance of vim called VS_NET.  So if you open
 @rem multiple files from VS, they will use the same instance of Vim.
 @rem This allows you to have multiple copies of Vim running, but you can
 @rem control which one has VS files in it.
