Update runtime files.
diff --git a/runtime/autoload/javascriptcomplete.vim b/runtime/autoload/javascriptcomplete.vim
index 14bc3d7..29b6b16 100644
--- a/runtime/autoload/javascriptcomplete.vim
+++ b/runtime/autoload/javascriptcomplete.vim
@@ -1,7 +1,9 @@
 " Vim completion script
 " Language:	Java Script
-" Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2017 Mar 04
+" Maintainer:	Jay Sitter (jay@jaysitter.com)
+" URL: https://github.com/jsit/javascriptcomplete.vim/
+" Previous Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
+" Last Change:	2020 Jul 30
 
 function! javascriptcomplete#CompleteJS(findstart, base)
   if a:findstart
@@ -154,12 +156,30 @@
 					\ 'text', 'vLink']
 		let bodys = bodyprop
 		" Document - document.
-		let docuprop = ['anchors', 'applets', 'childNodes', 'embeds', 'forms', 'images', 'links', 'stylesheets',
-					\ 'body', 'cookie', 'documentElement', 'domain', 'lastModified', 'referrer', 'title', 'URL']
-		let documeth = ['close', 'createAttribute', 'createElement', 'createTextNode', 'focus', 'getElementById',
-					\ 'getElementsByName', 'getElementsByTagName', 'open', 'write', 'writeln',
-					\ 'onClick', 'onDblClick', 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp',
-					\ 'onMouseDown', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onResize']
+		let docuprop = ['anchors', 'body', 'characterSet', 'doctype',
+					\ 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
+					\ 'head', 'hidden', 'images', 'implementation', 'lastStyleSheetSet',
+					\ 'links', 'plugins', 'preferredStyleSheetSet', 'scripts',
+					\ 'scrollingElement', 'selectedStyleSheetSet', 'styleSheetSets',
+					\ 'timeline', 'visibilityState', 'cookie', 'defaultView',
+					\ 'designMode', 'dir', 'domain', 'lastModified', 'location',
+					\ 'readyState', 'referrer', 'title', 'URL', 'activeElement',
+					\ 'fullscreenElement', 'styleSheets']
+		let documeth = ['adoptNode', 'close', 'createAttribute',
+					\ 'createAttributeNS', 'createCDATASection', 'createComment',
+					\ 'createDocumentFragment', 'createElement', 'createElementNS',
+					\ 'createEvent', 'createExpression', 'createNSResolver',
+					\ 'createNodeIterator', 'createProcessingInstruction', 'createRange',
+					\ 'createTextNode', 'createTouchList', 'createTreeWalker',
+					\ 'enableStyleSheetsForSet', 'evaluate', 'focus', 'getElementById',
+					\ 'getElementById', 'getElementsByClassName', 'getElementsByName',
+					\ 'getElementsByTagName', 'getElementsByTagNameNS',
+					\ 'hasStorageAccess', 'importNode', 'onClick', 'onDblClick',
+					\ 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp', 'onMouseDown',
+					\ 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp',
+					\ 'onResize', 'open', 'querySelector', 'querySelectorAll',
+					\ 'requestStorageAccess', 'write', 'writeln']
+
 		call map(documeth, 'v:val."("')
 		let docuxprop = ['attributes', 'childNodes', 'doctype', 'documentElement', 'firstChild',
 					\ 'implementation', 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType',
@@ -368,9 +388,11 @@
 		let xdomelemprop = ['attributes', 'childNodes', 'firstChild', 'lastChild', 
 					\ 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue',
 					\ 'ownerDocument', 'parentNode', 'prefix', 'previousSibling', 'tagName']
-		let xdomelemmeth = ['appendChild', 'cloneNode', 'getAttribute', 'getAttributeNode',
-					\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore', 'normalize',
-					\ 'removeAttribute', 'removeAttributeNode', 'removeChild', 'replaceChild',
+		let xdomelemmeth = ['appendChild', 'addEventListener', 'cloneNode',
+					\ 'dispatchEvent', 'getAttribute', 'getAttributeNode',
+					\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore',
+					\ 'normalize', 'removeAttribute', 'removeAttributeNode',
+					\ 'removeChild', 'removeEventListener', 'replaceChild',
 					\ 'setAttribute', 'setAttributeNode']
 		call map(xdomelemmeth, 'v:val."("')
 		let xdomelems = xdomelemprop + xdomelemmeth
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index b0d7919..d56f211 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.2.  Last change: 2020 Jun 10
+*autocmd.txt*   For Vim version 8.2.  Last change: 2020 Aug 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1425,8 +1425,8 @@
 :aug[roup]! {name}		Delete the autocmd group {name}.  Don't use
 				this if there is still an autocommand using
 				this group!  You will get a warning if doing
-				it anyway. when the group is the current group
-				you will get error E936.
+				it anyway.  When the group is the current
+				group you will get error E936.
 
 To enter autocommands for a specific group, use this method:
 1. Select the group with ":augroup {name}".
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index 7ed251a..f139ebe 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 8.2.  Last change: 2020 Apr 13
+*develop.txt*   For Vim version 8.2.  Last change: 2020 Jul 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -34,8 +34,8 @@
 VIM IS... VI COMPATIBLE					*design-compatible*
 
 First of all, it should be possible to use Vim as a drop-in replacement for
-Vi.  When the user wants to, he can use Vim in compatible mode and hardly
-notice any difference with the original Vi.
+Vi.  When the user wants to, Vim can be used in compatible mode and hardly
+any differences with the original Vi will be noticed.
 
 Exceptions:
 - We don't reproduce obvious Vi bugs in Vim.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 8c6f7de..5bb763a 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2020 Aug 01
+*eval.txt*	For Vim version 8.2.  Last change: 2020 Aug 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4895,31 +4895,32 @@
 
 		Each returned List item is a dictionary with the following
 		entries:
-			bufnr		buffer number.
+			bufnr		Buffer number.
 			changed		TRUE if the buffer is modified.
-			changedtick	number of changes made to the buffer.
+			changedtick	Number of changes made to the buffer.
 			hidden		TRUE if the buffer is hidden.
-			lastused	timestamp in seconds, like
+			lastused	Timestamp in seconds, like
 					|localtime()|, when the buffer was
 					last used.
 					{only with the |+viminfo| feature}
 			listed		TRUE if the buffer is listed.
-			lnum		current line number in buffer.
-			linecount	number of lines in the buffer (only
+			lnum		Line number used for the buffer when
+					opened in the current window.
+			linecount	Number of lines in the buffer (only
 					valid when loaded)
 			loaded		TRUE if the buffer is loaded.
-			name		full path to the file in the buffer.
-			signs		list of signs placed in the buffer.
+			name		Full path to the file in the buffer.
+			signs		List of signs placed in the buffer.
 					Each list item is a dictionary with
 					the following fields:
 					    id	  sign identifier
 					    lnum  line number
 					    name  sign name
-			variables	a reference to the dictionary with
+			variables	A reference to the dictionary with
 					buffer-local variables.
-			windows		list of |window-ID|s that display this
+			windows		List of |window-ID|s that display this
 					buffer
-			popups		list of popup |window-ID|s that
+			popups		List of popup |window-ID|s that
 					display this buffer
 
 		Examples: >
@@ -5446,7 +5447,7 @@
 			:echo getloclist(5, {'filewinid': 0})
 
 
-getmarklist([{expr}]					*getmarklist()*
+getmarklist([{expr}])					*getmarklist()*
 		Without the {expr} argument returns a |List| with information
 		about all the global marks. |mark|
 
@@ -8709,7 +8710,8 @@
 		  pos		|List|		`[lnum, col, off]` value
 						when recomputing the result.
 						this changes "current" result
-						value. see |cursor()|, |getpos()
+						value. see |cursor()|,
+						|getpos()|
 						(default: cursor's position)
 
 
@@ -9111,7 +9113,7 @@
 		argument is ignored.  See below for the supported items in
 		{what}.
 							*setqflist-what*
-		When {what} is not present, the items in {list} or used.  Each
+		When {what} is not present, the items in {list} are used.  Each
 		item must be a dictionary.  Non-dictionary items in {list} are
 		ignored.  Each dictionary item can contain the following
 		entries:
@@ -9332,7 +9334,7 @@
 
 		Returns zero for success, -1 for failure.
 
-		Examples (for more examples see |tagstack-examples||):
+		Examples (for more examples see |tagstack-examples|):
 		    Empty the tag stack of window 3: >
 			call settagstack(3, {'items' : []})
 
@@ -10132,7 +10134,7 @@
 		The result is the swap file path of the buffer {expr}.
 		For the use of {expr}, see |bufname()| above.
 		If buffer {expr} is the current buffer, the result is equal to
-		|:swapname| (unless no swap file).
+		|:swapname| (unless there is no swap file).
 		If buffer {expr} has no swap file, returns an empty string.
 
 		Can also be used as a |method|: >
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index 30e2287..c0f8867 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -451,7 +451,7 @@
 
 XPM support						*w32-xpm-support*
 
-GVim can be build on MS-Windows with support for XPM files.  |+xpm_w32|
+GVim can be built on MS-Windows with support for XPM files.  |+xpm_w32|
 See the Make_mvc.mak file for instructions, search for XPM.
 
 To try out if XPM support works do this: >
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 7771a50..8dcaa1f 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt*	For Vim version 8.2.  Last change: 2020 Mar 01
+*helphelp.txt*	For Vim version 8.2.  Last change: 2020 Jul 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -369,14 +369,16 @@
 You can find the details in $VIMRUNTIME/syntax/help.vim
 
 							*inclusion*
-Some people make a big deal about using "his" when referring to the user,
-thinking it means we assume the user is male.  That is of course not the case,
-it's just a habit of writing help text, which quite often is many years old.
-Also, a lot of the text is written by contributors for who English is not
-their first language.  We do not make any assumptions about the gender of the
-user, no matter how the text is phrased.  And we do not want to waste time on
-this discussion.  The goal is that the reader understands how Vim works, the
-exact wording is secondary.
+Vim is for everybody, no matter race, gender or anything.  Some people make a
+big deal about using "he" or "his" when referring to the user, thinking it
+means we assume the user is male.  That is not the case, it's just a habit of
+writing help text, which quite often is many years old.  Also, a lot of the
+text is written by contributors for whom English is not their first language.
+We do not make any assumptions about the gender of the user, no matter how the
+text is phrased.  Some people have suggested using "they", but that is not
+regular English. We do not want to spend much time on this discussion.  The
+goal is that the reader understands how Vim works, the exact wording is
+secondary.
 
 
  vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/if_lua.txt b/runtime/doc/if_lua.txt
index 65a2d60..b556996 100644
--- a/runtime/doc/if_lua.txt
+++ b/runtime/doc/if_lua.txt
@@ -199,8 +199,8 @@
 				returns it. Note that the buffer is not set as
 				current.
 
-	vim.call({name} [,{args}])
-				Proxy to call Vim function named {name} with 
+	vim.call({name} [, {args}])
+				Proxy to call Vim function named {name} with
 				arguments {args}.  Example: >
 					:lua print(vim.call('has', 'timers'))
 <
diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt
index 60ac6bc..90dec9d 100644
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -275,7 +275,7 @@
 	$win delcmd {cmd}				*tcl-window-delcmd*
 	Registers the Tcl command {cmd} as a deletion callback for the window.
 	This command is executed (in the global scope) just before the window
-	is closed.  Complex commands should be build with "list": >
+	is closed.  Complex commands should be built with "list": >
 		$win delcmd [list puts vimerr "window deleted"]
 <	See also |tcl-buffer-delcmd|.
 
@@ -357,7 +357,7 @@
 	$buf delcmd {cmd}				*tcl-buffer-delcmd*
 	Registers the Tcl command {cmd} as a deletion callback for the buffer.
 	This command is executed (in the global scope) just before the buffer
-	is deleted.  Complex commands should be build with "list": >
+	is deleted.  Complex commands should be built with "list": >
 		$buf delcmd [list puts vimerr "buffer [$buf number] gone"]
 <	See also |tcl-window-delcmd|.
 
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index c4785c4..87d5c0b 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -414,11 +414,11 @@
 <
 							*cino-(*
 	(N    When in unclosed parentheses, indent N characters from the line
-	      with the unclosed parentheses.  Add a 'shiftwidth' for every
+	      with the unclosed parenthesis.  Add a 'shiftwidth' for every
 	      extra unclosed parentheses.  When N is 0 or the unclosed
-	      parentheses is the first non-white character in its line, line
+	      parenthesis is the first non-white character in its line, line
 	      up with the next non-white character after the unclosed
-	      parentheses.  (default 'shiftwidth' * 2).
+	      parenthesis.  (default 'shiftwidth' * 2).
 
 		cino=			  cino=(0 >
 		  if (c1 && (c2 ||	    if (c1 && (c2 ||
@@ -439,7 +439,7 @@
 <
 							*cino-U*
 	UN    When N is non-zero, do not ignore the indenting specified by
-	      ( or u in case that the unclosed parentheses is the first
+	      ( or u in case that the unclosed parenthesis is the first
 	      non-white character in its line.  (default 0).
 
 		cino= or cino=(s	  cino=(s,U1 >
@@ -452,8 +452,8 @@
 							*cino-w*
 	wN    When in unclosed parentheses and N is non-zero and either
 	      using "(0" or "u0", respectively, or using "U0" and the unclosed
-	      parentheses is the first non-white character in its line, line
-	      up with the character immediately after the unclosed parentheses
+	      parenthesis is the first non-white character in its line, line
+	      up with the character immediately after the unclosed parenthesis
 	      rather than the first non-white character.  (default 0).
 
 		cino=(0			  cino=(0,w1 >
@@ -464,11 +464,11 @@
 <
 							*cino-W*
 	WN    When in unclosed parentheses and N is non-zero and either
-	      using "(0" or "u0", respectively and the unclosed parentheses is
+	      using "(0" or "u0", respectively and the unclosed parenthesis is
 	      the last non-white character in its line and it is not the
-	      closing parentheses, indent the following line N characters
+	      closing parenthesis, indent the following line N characters
 	      relative to the outer context (i.e. start of the line or the
-	      next unclosed parentheses).  (default: 0).
+	      next unclosed parenthesis).  (default: 0).
 
 		cino=(0			   cino=(0,W4 >
 		  a_long_line(		    a_long_line(
@@ -495,8 +495,8 @@
 <
 							*cino-m*
 	mN    When N is non-zero, line up a line starting with a closing
-	      parentheses with the first character of the line with the
-	      matching opening parentheses.  (default 0).
+	      parenthesis with the first character of the line with the
+	      matching opening parenthesis.  (default 0).
 
 		cino=(s			  cino=(s,m1 >
 		  c = c1 && (		    c = c1 && (
@@ -510,7 +510,7 @@
 <
 							*cino-M*
 	MN    When N is non-zero, line up a line starting with a closing
-	      parentheses with the first character of the previous line.
+	      parenthesis with the first character of the previous line.
 	      (default 0).
 
 		cino=			  cino=M1 >
@@ -569,7 +569,7 @@
 	      recognize preprocessor lines; right-shifting lines that start
 	      with "#" does not work.
 
-
+								*cino-P*
 	PN    When N is non-zero recognize C pragmas, and indent them like any
 	      other code; does not concern other preprocessor directives.
 	      When N is zero (default): don't recognize C pragmas, treating
@@ -996,7 +996,7 @@
 Indent for a continuation line: >
 	let g:pyindent_continue = 'shiftwidth() * 2'
 
-The method uses |searchpair()| to look back for unclosed parenthesis.  This
+The method uses |searchpair()| to look back for unclosed parentheses.  This
 can sometimes be slow, thus it timeouts after 150 msec.  If you notice the
 indenting isn't correct, you can set a larger timeout in msec: >
 	let g:pyindent_searchpair_timeout = 500
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 79c46f7..78451a1 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 8.2.  Last change: 2020 Apr 23
+*map.txt*       For Vim version 8.2.  Last change: 2020 Aug 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index d98307e..102eb62 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2020 Jul 18
+*options.txt*	For Vim version 8.2.  Last change: 2020 Aug 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2715,6 +2715,11 @@
 				 for Unix: ".,~/tmp,/var/tmp,/tmp")
 			global
 	List of directory names for the swap file, separated with commas.
+	Recommended value:  ".,~/vimswap//" - this will put the swap file next
+	to the edited file if possible, and in your personal swap directory
+	otherwise.  Make sure "~/vimswap//" is only readable for you.
+
+	Possible items:
 	- The swap file will be created in the first directory where this is
 	  possible.
 	- Empty means that no swap file will be used (recovery is
@@ -2749,9 +2754,10 @@
 	the same file twice will result in a warning.  Using "/tmp" on Unix is
 	discouraged: When the system crashes you lose the swap file.
 	"/var/tmp" is often not cleared when rebooting, thus is a better
-	choice than "/tmp".  But it can contain a lot of files, your swap
-	files get lost in the crowd.  That is why a "tmp" directory in your
-	home directory is tried first.
+	choice than "/tmp".  But others on the computer may be able to see the
+	files, and it can contain a lot of files, your swap files get lost in
+	the crowd.  That is why a "tmp" directory in your home directory is
+	tried first.
 	The use of |:set+=| and |:set-=| is preferred when adding or removing
 	directories from the list.  This avoids problems when a future version
 	uses another default.
@@ -8368,7 +8374,7 @@
 	>= 14	Anything pending in a ":finally" clause.
 	>= 15	Every executed Ex command from a script (truncated at 200
 		characters).
-	>= 16	Every executed Ex command
+	>= 16	Every executed Ex command.
 
 	This option can also be set with the "-V" argument.  See |-V|.
 	This option is also set by the |:verbose| command.
@@ -8907,7 +8913,7 @@
 			{only available when compiled with the |terminal|
 			feature on MS-Windows}
 	Specifies the name of the winpty shared library, used for the
-	|:terminal| command. The default depends on whether was build as a
+	|:terminal| command. The default depends on whether Vim was built as a
 	32-bit or 64-bit executable.  If not found, "winpty.dll" is tried as
 	a fallback.
 	Environment variables are expanded |:set_env|.
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 1682327..b69f650 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -88,7 +88,7 @@
 semantics, therefore you have to use a converter program that will do the lion
 part of the job.  For detailed instructions read file INSTALLvms.txt
 
-MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
+MMS_VIM.EXE is built together with VIM.EXE, but for XXD.EXE you should
 change to a subdirectory and build it separately.
 
 CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index ff99fce..8a0f2ba 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,4 +1,4 @@
-*popup.txt*  For Vim version 8.2.  Last change: 2020 May 18
+*popup.txt*  For Vim version 8.2.  Last change: 2020 Jul 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -74,9 +74,9 @@
 property.  You can use empty lines to increase the height or the "minheight"
 property.
 
-The width of the window is normally equal to the longest line in the buffer.
-It can be limited with the "maxwidth" property.  You can use spaces to
-increase the width or use the "minwidth" property.
+The width of the window is normally equal to the longest visible line in the
+buffer.  It can be limited with the "maxwidth" property.  You can use spaces
+to increase the width or use the "minwidth" property.
 
 By default the 'wrap' option is set, so that no text disappears.  Otherwise,
 if there is not enough space then the window is shifted left in order to
diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt
index 53c98d0..c6dcb98 100644
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -179,7 +179,7 @@
 
 A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
 also act as a command server if a server name is explicitly given with the
---servername argument, or when Vim was build with the |+autoservername|
+--servername argument, or when Vim was built with the |+autoservername|
 feature.
 
 An empty --servername argument will cause the command server to be disabled.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 8effaf5..a7f648c 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.2.  Last change: 2020 Jul 08
+*syntax.txt*	For Vim version 8.2.  Last change: 2020 Jul 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3648,7 +3648,7 @@
 	start:		Use level of item containing start of line.
 	minimum:	Use lowest local-minimum level of items on line.
 
-	The default is 'start'.  Use 'minimum' to search a line horizontally
+	The default is "start".  Use "minimum" to search a line horizontally
 	for the lowest level contained on the line that is followed by a
 	higher level.  This produces more natural folds when syntax items
 	may close and open horizontally within a line.
@@ -3795,9 +3795,9 @@
 		[keepend]
 		[extend]
 		[excludenl]
-		start={start_pattern} ..
-		[skip={skip_pattern}]
-		end={end_pattern} ..
+		start={start-pattern} ..
+		[skip={skip-pattern}]
+		end={end-pattern} ..
 		[{options}]
 
 	This defines one region.  It may span several lines.
@@ -3819,12 +3819,12 @@
 				extend a containing match or item.  Only
 				useful for end patterns.  Must be given before
 				the patterns it applies to. |:syn-excludenl|
-	start={start_pattern}	The search pattern that defines the start of
+	start={start-pattern}	The search pattern that defines the start of
 				the region.  See |:syn-pattern| below.
-	skip={skip_pattern}	The search pattern that defines text inside
+	skip={skip-pattern}	The search pattern that defines text inside
 				the region where not to look for the end
 				pattern.  See |:syn-pattern| below.
-	end={end_pattern}	The search pattern that defines the end of
+	end={end-pattern}	The search pattern that defines the end of
 				the region.  See |:syn-pattern| below.
 
 	Example: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 243b25a..02bb541 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5744,6 +5744,7 @@
 cino-L	indent.txt	/*cino-L*
 cino-M	indent.txt	/*cino-M*
 cino-N	indent.txt	/*cino-N*
+cino-P	indent.txt	/*cino-P*
 cino-U	indent.txt	/*cino-U*
 cino-W	indent.txt	/*cino-W*
 cino-^	indent.txt	/*cino-^*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f9ebf2d..0c8d124 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Jul 26
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Aug 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -39,10 +39,9 @@
 -------------------- Known bugs and current work -----------------------
 
 Making everything work:
-- more items in https://github.com/vim/vim/issues/6507
-- More "goto failed" with check for trylevel.
-- memory leak in test_vim9_script
 - Check that when sourcing a Vim9 script, only the global items can be used.
+- Make string indexes character indexes instead of byte indexes. (#6574)
+    explain how to use byte index when needed. Use blob?
 - :put with a "=" register argument doesn't work, need to find the expression
   and compile it. (#6397)
 - At the script level, keep script variables local to the block they are
@@ -51,6 +50,8 @@
 - Implement { } block at the script level.
 - need to check type when a declaration specifies a type: #6507
 	let nr: number = 'asdf'
+- Make sure that in vim9script a function call without namespace only finds
+  the script-local function, not a global one.
 - Make map() give an error if the resulting type is wrong.
   Add mapnew() to create a new List/Dict for the result, which can have a
   different value type.
@@ -169,7 +170,7 @@
 - Figure out the size and position better if wrapping inserts indent
 
 Text properties:
-- :goto does not go to the right place when test properties are present.
+- :goto does not go to the right place when text properties are present.
   (#5930)
 - "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
 - Get E685 with a sequence of commands. (#5674)
@@ -200,7 +201,7 @@
   an already running program. (M. Kelly)
 - When only gdb window exists, on "quit" edit another buffer.
 - Use a sign group
-- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
+- Termdebug does not work when Vim was built with mzscheme: gdb hangs just
   after "run".  Everything else works, including communication channel.  Not
   initializing mzscheme avoid the problem, thus it's not some #ifdef.
 - Add support for lldb?  issue #3565
@@ -255,10 +256,15 @@
 Error numbers available:
 E610, E611, E653
 
+Clean up empty entries in testdir/Make_all.mak
+
 Remove SPACE_IN_FILENAME ? It is only used for completion.
 
 Patch to use collaction based sorting. (Christian Brabandt, #6229)
 
+Add 'termguiattr' option, use "gui=" attributes in the terminal?  Would work
+with 'termguicolors'. #1740
+
 Can we detect true color support?  https://gist.github.com/XVilka/8346728
 Try setting a color then request the current color, like using t_u7.
 
@@ -333,6 +339,9 @@
 
 undo result wrong: Masato Nishihata, #4798
 
+After recovering from a swap file the undofile should not be used, it causes
+corruption.  (#6631)
+
 When 'lazyredraw' is set sometimes the title is not updated.
 (Jason Franklin, 2020 Feb 3)  Looks like a race condition.
 
@@ -1471,7 +1480,7 @@
 
 Add stronger encryption.  Could use libsodium (NaCl).
 https://github.com/jedisct1/libsodium/
-Possibly include the needed code so that it can be build everywhere.
+Possibly include the needed code so that it can be built everywhere.
 
 Add a way to restart a timer.  It's similar to timer_stop() and timer_start(),
 but the reference remains valid.
@@ -3833,8 +3842,6 @@
 8   When write_viminfo() is used while there are many orphaned viminfo
     tempfiles writing the viminfo file fails.  Give a clear error message so
     that the user knows he has to delete the files.
-7   It's possible to redefine a script-local function with ":func
-    <SNR>123_Test()". (Krishna)  Disallow this.
 
 
 I can't reproduce these (if you can, let me know how!):
@@ -5673,7 +5680,7 @@
     Also for other windows: ":inwin {winnr} {cmd}".  How to make sure that
     this works properly for all commands, and still be able to return to the
     current buffer/window?  E.g.: ":inbuf xxx only".
-8   Add File.{recent_files} menu entries: Recently edited files.
+8   Add File.{recent-files} menu entries: Recently edited files.
     Ron Aaron has a plugin for this: mru.vim.
 8   Unix: Check all uses of fnamecmp() and fnamencmp() if they should check
     inode too.
diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt
index 6a6cbca..d2dc056 100644
--- a/runtime/doc/usr_04.txt
+++ b/runtime/doc/usr_04.txt
@@ -161,7 +161,7 @@
 ==============================================================================
 *04.3*	Repeating a change
 
-The "." command is one of the most simple yet powerful commands in Vim.  It
+The "." command is one of the simplest yet powerful commands in Vim.  It
 repeats the last change.  For instance, suppose you are editing an HTML file
 and want to delete all the <B> tags.  You position the cursor on the first <
 and delete the <B> with the command "df>".  You then go to the < of the next
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index 2cfff24..3a7438d 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -58,8 +58,8 @@
 |defaults.vim| for the details.
 
 The vimrc file can contain all the commands that you type after a colon.  The
-most simple ones are for setting options.  For example, if you want Vim to
-always start with the 'incsearch' option on, add this line your vimrc file: >
+simplest ones are for setting options.  For example, if you want Vim to always
+start with the 'incsearch' option on, add this line your vimrc file: >
 
 	set incsearch
 
diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt
index f99ffb5..ebad3c5 100644
--- a/runtime/doc/usr_20.txt
+++ b/runtime/doc/usr_20.txt
@@ -327,10 +327,10 @@
 ==============================================================================
 *20.5*	Command line window
 
-Typing the text in the command line works different from typing text in Insert
-mode.  It doesn't allow many commands to change the text.  For most commands
-that's OK, but sometimes you have to type a complicated command.  That's where
-the command line window is useful.
+Typing the text in the command line works differently from typing text in
+Insert mode.  It doesn't allow many commands to change the text.  For most
+commands that's OK, but sometimes you have to type a complicated command.
+That's where the command line window is useful.
 
 Open the command line window with this command: >
 
diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt
index 7363236..bcb7b59 100644
--- a/runtime/doc/usr_30.txt
+++ b/runtime/doc/usr_30.txt
@@ -336,7 +336,7 @@
 ==============================================================================
 *30.4*	Other indenting
 
-The most simple form of automatic indenting is with the 'autoindent' option.
+The simplest form of automatic indenting is with the 'autoindent' option.
 It uses the indent from the previous line.  A bit smarter is the 'smartindent'
 option.  This is useful for languages where no indent file is available.
 'smartindent' is not as smart as 'cindent', but smarter than 'autoindent'.
diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt
index 0794b3a..afbc918 100644
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt*	For Vim version 8.2.  Last change: 2007 May 08
+*usr_31.txt*	For Vim version 8.2.  Last change: 2020 Jul 28
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -198,9 +198,9 @@
 You can start the X-Windows version of gvim with an argument to specify the
 size and position of the window: >
 
-	gvim -geometry {width}x{height}+{x_offset}+{y_offset}
+	gvim -geometry {width}x{height}+{x-offset}+{y-offset}
 
-{width} and {height} are in characters, {x_offset} and {y_offset} are in
+{width} and {height} are in characters, {x-offset} and {y-offset} are in
 pixels.  Example: >
 
 	gvim -geometry 80x25+100+300
diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt
index 85014c2..3456a76 100644
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt*	For Vim version 8.2.  Last change: 2013 Aug 05
+*usr_40.txt*	For Vim version 8.2.  Last change: 2020 Jul 28
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -453,12 +453,12 @@
 performs the ":write".
    The general form of the :autocmd command is as follows: >
 
-	:autocmd [group] {events} {file_pattern} [nested] {command}
+	:autocmd [group] {events} {file-pattern} [nested] {command}
 
 The [group] name is optional.  It is used in managing and calling the commands
 (more on this later).  The {events} parameter is a list of events (comma
 separated) that trigger the command.
-   {file_pattern} is a filename, usually with wildcards.  For example, using
+   {file-pattern} is a filename, usually with wildcards.  For example, using
 "*.txt" makes the autocommand be used for all files whose name end in ".txt".
 The optional [nested] flag allows for nesting of autocommands (see below), and
 finally, {command} is the command to be executed.
@@ -489,7 +489,7 @@
 
 PATTERNS
 
-The {file_pattern} argument can actually be a comma-separated list of file
+The {file-pattern} argument can actually be a comma-separated list of file
 patterns.  For example: "*.c,*.h" matches files ending in ".c" and ".h".
    The usual file wildcards can be used.  Here is a summary of the most often
 used ones:
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index bde1dd1..45332e6 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -44,7 +44,7 @@
 	If you are familiar with Python, you can find a comparison between
 	Python and Vim script here, with pointers to other documents:
 	   https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
-	And if you are familiar with Javascript:
+	And if you are familiar with JavaScript:
 	   https://w0rp.com/blog/post/vim-script-for-the-javascripter/
 
 Let's start with a simple example: >
@@ -2108,7 +2108,7 @@
 
 	\a  ->  <Plug>TypecorrAdd  ->  <SID>Add  ->  :call <SID>Add()
 
-If another script would also map <SID>Add, it would get another script ID and
+If another script was also map <SID>Add, it would get another script ID and
 thus define another mapping.
 
 Note that instead of s:Add() we use <SID>Add() here.  That is because the
diff --git a/runtime/doc/usr_42.txt b/runtime/doc/usr_42.txt
index 1a27482..1f3e4bb 100644
--- a/runtime/doc/usr_42.txt
+++ b/runtime/doc/usr_42.txt
@@ -210,8 +210,8 @@
 	:amenu <silent> Mine.Next\ File :call <SID>NextFile()<CR>
 
 Don't use "<silent>" too often.  It is not needed for short commands.  If you
-make a menu for someone else, being able the see the executed command will
-give him a hint about what he could have typed, instead of using the mouse.
+make a menu for someone else, being able to see the executed command will give
+him a hint about what he could have typed, instead of using the mouse.
 
 
 LISTING MENUS
diff --git a/runtime/doc/usr_46.txt b/runtime/doc/usr_46.txt
index b05a660..0986ba1 100644
--- a/runtime/doc/usr_46.txt
+++ b/runtime/doc/usr_46.txt
@@ -34,7 +34,7 @@
 Let's start with an example, a script that exports one function and has one
 private function: >
 
-	vim9script  " This indicates a Vim9 script file, 
+	vim9script  " This indicates a Vim9 script file.
 
 	export def GetMessage(): string
 	   let result = ''
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index b17a87d..816cf06 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -333,7 +333,7 @@
 		|44.11|	Installing a syntax file
 		|44.12|	Portable syntax file layout
 
-|usr_45.txt|  Select your language
+|usr_45.txt|  Select your language (locale)
 		|45.1|	Language for Messages
 		|45.2|	Language for Menus
 		|45.3|	Using another encoding
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 2c4d1db..7f7b15b 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Jul 25
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Aug 01
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -14,7 +14,7 @@
 THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
 
 
-1   What is Vim9 script?		|vim9-script|
+1.  What is Vim9 script?		|vim9-script|
 2.  Differences				|vim9-differences|
 3.  New style functions			|fast-functions|
 4.  Types				|vim9-types|
@@ -119,11 +119,12 @@
 When using `:function` or `:def` to specify a new function at the script level
 in a Vim9 script, the function is local to the script, as if "s:" was
 prefixed.  Using the "s:" prefix is optional.  To define or use a global
-function or variable the "g:" prefix must be used.  For functions in an
+function or variable the "g:" prefix should be used.  For functions in an
 autoload script the "name#" prefix is sufficient. >
 	def ThisFunction()          # script-local
 	def s:ThisFunction()        # script-local
 	def g:ThatFunction()	    # global
+	def ThatFunction()	    # global if no local ThatFunction()
 	def scriptname#function()   # autoload
 
 When using `:function` or `:def` to specify a new function inside a function,
@@ -132,16 +133,14 @@
 function, using the "g:" prefix.
 
 When referring to a function and no "s:" or "g:" prefix is used, Vim will
-search for the function in this order:
-- Local to the current scope and outer scopes up to the function scope.
-- Local to the current script file.
-- Imported functions, see `:import`.
+prefer using a local function (in the function scope, script scope or
+imported) before looking for a global function.
 In all cases the function must be defined before used.  That is when it is
 first called or when `:defcompile` causes the call to be compiled.
 
-The result is that functions and variables without a namespace can always be
+The result is that functions and variables without a namespace can usually be
 found in the script, either defined there or imported.  Global functions and
-variables could be defined anywhere (good luck finding where!).
+variables could be defined anywhere (good luck finding out where!).
 
 Global functions can be still be defined and deleted at nearly any time.  In
 Vim9 script script-local functions are defined once when the script is sourced
@@ -193,7 +192,8 @@
 without `:let`, because they are not really declared, they can also be deleted
 with `:unlet`.
 
-Variables cannot shadow previously defined variables.
+Variables and functions cannot shadow previously defined or imported variables
+and functions.
 Variables may shadow Ex commands, rename the variable if needed.
 
 Global variables and user defined functions must be prefixed with "g:", also
@@ -232,11 +232,11 @@
 	'foobar'->Process()
 	('foobar')->Process()
 
-In rare case there is ambiguity between a function name and an Ex command, use
-":" to make clear you want to use the Ex command.  For example, there is both
-the `:substitute` command and the `substitute()` function.  When the line
-starts with `substitute(` this will use the function. Prepend a colon to use
-the command instead: >
+In rare case there is ambiguity between a function name and an Ex command,
+prepend ":" to make clear you want to use the Ex command.  For example, there
+is both the `:substitute` command and the `substitute()` function.  When the
+line starts with `substitute(` this will use the function. Prepend a colon to
+use the command instead: >
 	:substitute(pattern (replacement (
 
 Note that while variables need to be defined before they can be used,
@@ -261,8 +261,8 @@
 Automatic line continuation ~
 
 In many cases it is obvious that an expression continues on the next line.  In
-those cases there is no need to prefix the line with a backslash.  For
-example, when a list spans multiple lines: >
+those cases there is no need to prefix the line with a backslash
+|line-continuation|.  For example, when a list spans multiple lines: >
 	let mylist = [
 		'one',
 		'two',
@@ -452,6 +452,11 @@
 	'text'->func()	" Vim9: method call
 	:'t		" legacy Vim: jump to mark m
 
+Some Ex commands can be confused with assignments in Vim9 script: >
+	g:name = value  # assignment
+	g:pattern:cmd	# invalid command - ERROR
+	:g:pattern:cmd	# :global command
+
 Functions defined with `:def` compile the whole function.  Legacy functions
 can bail out, and the following lines are not parsed: >
 	func Maybe()
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index 626285e..4704067 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -125,7 +125,7 @@
 
 							*<LeftMouse>*
 <LeftMouse>		Set the current cursor position.  If Visual mode is
-			active it is stopped.  Only when 'mouse' option is
+			active it is stopped.  Only when 'mouse' option
 			contains 'n' or 'a'.  If the position is within 'so'
 			lines from the last line on the screen the text is
 			scrolled up.  If the position is within 'so' lines from
@@ -136,7 +136,7 @@
 <RightMouse>		Start Visual mode if it is not active.  The text from
 			the cursor position to the position of the click is
 			highlighted.  If Visual mode was already active move
-			the start or end of the highlighted text, which ever
+			the start or end of the highlighted text, whichever
 			is closest, to the position of the click.  Only when
 			'mouse' option contains 'n' or 'a'.
 
@@ -236,7 +236,7 @@
 	is	inner sentence					|v_is|
 	ap	a paragraph (with white space)			|v_ap|
 	ip	inner paragraph					|v_ip|
-	ab	a () block (with parenthesis)			|v_ab|
+	ab	a () block (with parentheses)			|v_ab|
 	ib	inner () block					|v_ib|
 	aB	a {} block (with braces)			|v_aB|
 	iB	inner {} block					|v_iB|
@@ -347,7 +347,7 @@
 The block is shifted by 'shiftwidth'.  The RHS of the block is irrelevant.  The
 LHS of the block determines the point from which to apply a right shift, and
 padding includes TABs optimally according to 'ts' and 'et'.  The LHS of the
-block determines the point upto which to shift left.
+block determines the point up to which to shift left.
 See |v_b_>_example|.
 See |v_b_<_example|.
 
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 80ea294..106eb37 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:	2020 Jun 25
+" Last Change:	2020 Aug 04
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index b2d5710..2951122 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -83,7 +83,7 @@
 if exists("loaded_matchit")
   let b:match_ignorecase = 0
   let b:match_words =
-	\ '\<\%(fu\%[nction]\|def\)\>[^(]:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
+	\ '\<\%(fu\%[nction]\|def\)\>)\@!:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
  	\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
 	\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
 	\ '{:},' .
diff --git a/runtime/keymap/turkish-f.vim b/runtime/keymap/turkish-f.vim
new file mode 100644
index 0000000..a2774db
--- /dev/null
+++ b/runtime/keymap/turkish-f.vim
@@ -0,0 +1,114 @@
+" Vim keymap file for Turkish F layout
+" Maintainer: Emir SARI <bitigchi@me.com>
+" Last changed: 5 August 2020
+
+scriptencoding utf-8
+let b:keymap_name = "tr-f"
+loadkeymap
+
+F A LATIN CAPITAL LETTER A
+< B LATIN CAPITAL LETTER B
+V C LATIN CAPITAL LETTER C
+B Ç LATIN CAPITAL LETTER C WITH CEDILLA
+Y D LATIN CAPITAL LETTER D
+D E LATIN CAPITAL LETTER E
+Q F LATIN CAPITAL LETTER F
+W G LATIN CAPITAL LETTER G
+E Ğ LATIN CAPITAL LETTER G WITH BREVE
+O H LATIN CAPITAL LETTER H
+R I LATIN CAPITAL LETTER I
+S İ LATIN CAPITAL LETTER I WITH DOT ABOVE
+Z J LATIN CAPITAL LETTER J
+J K LATIN CAPITAL LETTER K
+K M LATIN CAPITAL LETTER M
+I N LATIN CAPITAL LETTER N
+T O LATIN CAPITAL LETTER O
+X Ö LATIN CAPITAL LETTER O WITH DIAERESIS
+U R LATIN CAPITAL LETTER R
+M S LATIN CAPITAL LETTER S
+\" Ş LATIN CAPITAL LETTER S WITH CEDILLA
+H T LATIN CAPITAL LETTER T
+A U LATIN CAPITAL LETTER U
+G Ü LATIN CAPITAL LETTER U WITH DIAERESIS
+C V LATIN CAPITAL LETTER V
+: Y LATIN CAPITAL LETTER Y
+N Z LATIN CAPITAL LETTER Z
+
+{ Q LATIN CAPITAL LETTER Q
+} W LATIN CAPITAL LETTER W
+| X LATIN CAPITAL LETTER X
+
+± * ASTERISK
+@ " QUOTATION MARK
+# ^ CIRCUMFLEX ACCENT
+^ & AMPERSAND
+& ' APOSTROPHE
+* ( LEFT PARENTHESIS
+( ) RIGHT PARENTHESIS
+) = EQUALS SIGN
+_ ? QUESTION MARK
++ _ LOW LINE
+> : COLON
+? ; SEMICOLON
+~ > GREATER-THAN SIGN
+
+Å Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+Í Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+Ï Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+` » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+
+f a LATIN SMALL LETTER A
+, b LATIN SMALL LETTER B
+v c LATIN SMALL LETTER C
+b ç LATIN SMALL LETTER C WITH CEDILLA
+y d LATIN SMALL LETTER D
+d e LATIN SMALL LETTER E
+q f LATIN SMALL LETTER F
+w g LATIN SMALL LETTER G
+e ğ LATIN SMALL LETTER G WITH BREVE
+o h LATIN SMALL LETTER H
+r ı LATIN SMALL LETTER I
+s i LATIN SMALL LETTER I WITH DOT ABOVE
+z j LATIN SMALL LETTER J
+j k LATIN SMALL LETTER K
+k m LATIN SMALL LETTER M
+i n LATIN SMALL LETTER N
+t o LATIN SMALL LETTER O
+x ö LATIN SMALL LETTER O WITH DIAERESIS
+u r LATIN SMALL LETTER R
+m s LATIN SMALL LETTER S
+\' ş LATIN SMALL LETTER S WITH CEDILLA
+h t LATIN SMALL LETTER T
+a u LATIN SMALL LETTER U
+g ü LATIN SMALL LETTER U WITH DIAERESIS
+c v LATIN SMALL LETTER V
+; y LATIN SMALL LETTER Y
+n z LATIN SMALL LETTER Z
+
+[ q LATIN SMALL LETTER Q
+] w LATIN SMALL LETTER W
+\\ x LATIN SMALL LETTER X
+
+§ + PLUS SIGN
+- / SOLIDUS
+= - HYPHEN-MINUS
+/ , COMMA
+` < LESS-THAN SIGN
+
+£ # NUMBER SIGN
+¶ { LEFT CURLY BRACKET
+• [ LEFT SQUARE BRACKET
+ª ] RIGHT SQUARE BRACKET
+º } RIGHT CURLY BRACKET
+– \ REVERSE SOLIDUS
+≠ | VERTICAL LINE
+œ @ COMMERCIAL AT
+‘ ~ TILDE
+å û LATIN SMALL LETTER U WITH CIRCUMFLEX
+ß î LATIN SMALL LETTER I WITH CIRCUMFLEX
+∂ € EURO SIGN
+ƒ â LATIN SMALL LETTER A WITH CIRCUMFLEX
+˙ ₺ TURKISH LIRA SIGN
+¬ £ POUND SIGN
+… ¥ YEN SIGN
+` « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
diff --git a/runtime/keymap/turkish-q.vim b/runtime/keymap/turkish-q.vim
new file mode 100644
index 0000000..900c10e
--- /dev/null
+++ b/runtime/keymap/turkish-q.vim
@@ -0,0 +1,62 @@
+" Vim keymap file for Turkish Q layout
+" Maintainer: Emir SARI <bitigchi@me.com>
+" Last changed: 5 August 2020
+
+scriptencoding utf-8
+let b:keymap_name = "tr-q"
+loadkeymap
+
+\> Ç LATIN CAPITAL LETTER C WITH CEDILLA
+\{ Ğ LATIN CAPITAL LETTER G WITH BREVE
+\" İ LATIN CAPITAL LETTER I WITH DOT ABOVE
+\< Ö LATIN CAPITAL LETTER O WITH DIAERESIS
+\: Ş LATIN CAPITAL LETTER S WITH CEDILLA
+\} Ü LATIN CAPITAL LETTER U WITH DIAERESIS
+
+± é LATIN SMALL LETTER E WITH ACUTE
+@ ' APOSTROPHE
+# ^ CIRCUMFLEX ACCENT
+$ + PLUS SIGN
+^ & AMPERSAND
+& / SOLIDUS
+* ( LEFT PARENTHESIS
+( ) RIGHT PARENTHESIS
+) = EQUAL SIGN
+_ ? QUESTION MARK
++ _ LOW LINE
+~ > GREATER-THAN SIGN
+| ; SEMICOLON
+? : COLON
+
+\. ç LATIN SMALL LETTER C WITH CEDILLA
+\[ ğ LATIN SMALL LETTER G WITH BREVE
+\' i LATIN SMALL LETTER I
+\, ö LATIN SMALL LETTER O WITH DIAERESIS
+\; ş LATIN SMALL LETTER S WITH CEDILLA
+\] ü LATIN SMALL LETTER U WITH DIAERESIS
+i ı LATIN SMALL LETTER DOTLESS I
+
+§ " QUOTATION MARK
+- * ASTERISK
+= - HYPHEN-MINUS
+\\ , COMMA
+\/ . FULL STOP
+` < LESS-THAN SIGN
+
+™ £ POUND SIGN
+£ # NUMBER SIGN
+¢ $ DOLLAR SIGN
+∞ ½ VULGAR FRACTION ONE HALF
+¶ { LEFT CURLY BRACKET
+• [ LEFT SQUARE BRACKET
+ª ] RIGHT SQUARE BRACKET
+º } RIGHT CURLY BRACKET
+– \ REVERSE SOLIDUS
+≠ | VERTICAL LINE
+œ @ COMMERCIAL AT
+´ € EURO SIGN
+† ₺ TURKISH LIRA SIGN
+¥ ¥ YEN SIGN
+‘ ~ TILDE
+… ´ ACUTE ACCENT
+« ` GRAVE ACCENT
diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim
index 73bbd8d..f915b4d 100644
--- a/runtime/syntax/css.vim
+++ b/runtime/syntax/css.vim
@@ -1,11 +1,12 @@
 " Vim syntax file
 " Language:     Cascading Style Sheets
 " Previous Contributor List:
+"               Jules Wang      <w.jq0722@gmail.com>
 "               Claudio Fleiner <claudio@fleiner.com> (Maintainer)
 "               Yeti            (Add full CSS2, HTML4 support)
 "               Nikolai Weibull (Add CSS2 support)
-" URL:          https://github.com/JulesWang/css.vim
-" Maintainer:   Jules Wang      <w.jq0722@gmail.com>
+" URL:          https://github.com/jsit/css.vim
+" Maintainer:   Jay Sitter <jay@jaysitter.com>
 " Last Change:  2019 Jul. 29
 
 " quit when a syntax file was already loaded
@@ -68,7 +69,7 @@
 " digits
 syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
 syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
-syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators
+syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\|ch\)\>" contains=cssUnitDecorators
 syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators
 syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
 syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
@@ -128,12 +129,14 @@
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline  contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
 syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y\|Z\)\=\|translate\(3d\|X\|Y\|Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
+syn region cssFunction contained matchgroup=cssFunctionName start="\<\(blur\|brightness\|contrast\|drop-shadow\|grayscale\|hue-rotate\|invert\|opacity\|saturate\|sepia\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
 syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
 syn match cssFunctionComma contained ","
 
 " Common Prop and Attr
 syn keyword cssCommonAttr contained auto none inherit all default normal
 syn keyword cssCommonAttr contained top bottom center stretch hidden visible
+syn match cssCommonAttr contained "\<\(max-\|min-\|fit-\)content\>"
 "------------------------------------------------
 " CSS Animations
 " http://www.w3.org/TR/css3-animations/
diff --git a/runtime/syntax/fstab.vim b/runtime/syntax/fstab.vim
index e416a9a..6b17b5a 100644
--- a/runtime/syntax/fstab.vim
+++ b/runtime/syntax/fstab.vim
@@ -2,8 +2,8 @@
 " Language: fstab file
 " Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
 " URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
-" Last Change: 2019 Jun 06
-" Version: 1.3
+" Last Change: 2020 Aug 06
+" Version: 1.4
 "
 " Credits:
 "   David Necas (Yeti) <yeti@physics.muni.cz>
@@ -68,7 +68,7 @@
 syn keyword fsOptionsYesNo yes no
 syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
 syn keyword fsOptionsSize 512 1024 2048
-syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail
+syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail failok
 syn match fsOptionsGeneral /_netdev/
 
 " Options: adfs
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index b03dd59..a4c34cd 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Vim help file
 " Maintainer:	Bram Moolenaar (Bram@vim.org)
-" Last Change:	2020 Mar 06
+" Last Change:	2020 Jul 28
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
diff --git a/runtime/syntax/pamconf.vim b/runtime/syntax/pamconf.vim
index 10d667b..2913284 100644
--- a/runtime/syntax/pamconf.vim
+++ b/runtime/syntax/pamconf.vim
@@ -1,7 +1,8 @@
 " Vim syntax file
 " Language:             pam(8) configuration file
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2011-08-03
+" Latest Revision:      2020/08/04
+" Changes By:		Haochen Tong
 
 
 if exists("b:current_syntax")
@@ -11,23 +12,32 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
-syn match   pamconfService          '^[[:graph:]]\+'
-                                    \ nextgroup=pamconfType,
-                                    \ pamconfServiceLineCont skipwhite
+let s:has_service_field = exists("b:pamconf_has_service_field")
+      \ ? b:pamconf_has_service_field
+      \ : expand('%:t') == 'pam.conf' ? 1 : 0
+
+syn match   pamconfType             '-\?[[:alpha:]]\+'
+                                    \ contains=pamconfTypeKeyword
+                                    \ nextgroup=pamconfControl,
+                                    \ pamconfTypeLineCont skipwhite
+
+syn keyword pamconfTypeKeyword      contained account auth password session
+
+if s:has_service_field
+    syn match   pamconfService          '^[[:graph:]]\+'
+                                        \ nextgroup=pamconfType,
+                                        \ pamconfServiceLineCont skipwhite
+
+    syn match   pamconfServiceLineCont  contained '\\$'
+                                        \ nextgroup=pamconfType,
+                                        \ pamconfServiceLineCont skipwhite skipnl
+endif
 
 syn keyword pamconfTodo             contained TODO FIXME XXX NOTE
 
 syn region  pamconfComment          display oneline start='#' end='$'
                                     \ contains=pamconfTodo,@Spell
 
-syn match   pamconfServiceLineCont  contained '\\$'
-                                    \ nextgroup=pamconfType,
-                                    \ pamconfServiceLineCont skipwhite skipnl
-
-syn keyword pamconfType             account auth password session
-                                    \ nextgroup=pamconfControl,
-                                    \ pamconfTypeLineCont skipwhite
-
 syn match   pamconfTypeLineCont     contained '\\$'
                                     \ nextgroup=pamconfControl,
                                     \ pamconfTypeLineCont skipwhite skipnl
@@ -98,7 +108,8 @@
 hi def link pamconfComment          Comment
 hi def link pamconfService          Statement
 hi def link pamconfServiceLineCont  Special
-hi def link pamconfType             Type
+hi def link pamconfType             Special
+hi def link pamconfTypeKeyword      Type
 hi def link pamconfTypeLineCont     pamconfServiceLineCont
 hi def link pamconfControl          Macro
 hi def link pamconfControlBegin     Delimiter