Update runtime files.
diff --git a/runtime/colors/tools/check_colors.vim b/runtime/colors/tools/check_colors.vim
index 6c5e8f3..b1aefa1 100644
--- a/runtime/colors/tools/check_colors.vim
+++ b/runtime/colors/tools/check_colors.vim
@@ -90,7 +90,7 @@
     let err['background'] = 'Should not issue :syn on'
   endif
 
-  " 7) Does not define filetype specfic groups like vimCommand, htmlTag,
+  " 7) Does not define filetype specific groups like vimCommand, htmlTag,
   let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
   for group in hi_groups
     let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 703590a..dfa46a9 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -670,7 +670,10 @@
 ExitPre				When using `:quit`, `:wq` in a way it makes
 				Vim exit, or using `:qall`, just after
 				|QuitPre|.  Can be used to close any
-				non-essential window.
+				non-essential window.  Exiting may still be
+				cancelled if there is a modified buffer that
+				isn't automatically saved, use |VimLeavePre|
+				for really exiting.
 							*FileChangedShell*
 FileChangedShell		When Vim notices that the modification time of
 				a file has changed since editing started.
@@ -1399,7 +1402,7 @@
 In commands which expect a file name, you can use "<afile>" for the file name
 that is being read |:<afile>| (you can also use "%" for the current file
 name).  "<abuf>" can be used for the buffer number of the currently effective
-buffer.  This also works for buffers that doesn't have a name.  But it doesn't
+buffer.  This also works for buffers that don't have a name.  But it doesn't
 work for files without a buffer (e.g., with ":r file").
 
 							*gzip-example*
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index bffb3e2..72887fe 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -806,8 +806,14 @@
 The user can go to Normal mode and navigate through the buffer.  This can be
 useful see older output or copy text.
 
+The CTRL-W key can be used to start a window command, such as CTRL-W w to
+switch to the next window.  This also works in Insert mode (use Shift-CTRL-W
+to delete a word). When leaving the window Insert mode will be stopped.  When
+coming back to the prompt window Insert mode will be restored.
+
 Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
-the cursor to the last line, after the prompt.
+the cursor to the last line.  "A" will move to the end of the line, "I" to the
+start of the line.
 
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index d2c8196..ae364c3 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -894,7 +894,8 @@
 		directory.
 	:.	Reduce file name to be relative to current directory, if
 		possible.  File name is unmodified if it is not below the
-		current directory.
+		current directory, but on MS-Windows the drive is removed if
+		it is the current drive.
 		For maximum shortness, use ":~:.".
 	:h	Head of the file name (the last component and any separators
 		removed).  Cannot be used with :e, :r or :t.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 36e4f22..2243892 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -5488,6 +5488,20 @@
 		The returned Job object can be used to get the status with
 		|job_status()| and stop the job with |job_stop()|.
 
+		Note that the job object will be deleted if there are no
+		references to it.  This closes the stdin and stderr, which may
+		cause the job to fail with an error.  To avoid this keep a
+		reference to the job.  Thus instead of: >
+	call job_start('my-command')
+<		use: >
+	let myjob = job_start('my-command')
+<		and unlet "myjob" once the job is not needed or is past the
+		point where it would fail (e.g. when it prints a message on
+		startup).  Keep in mind that variables local to a function
+		will cease to exist if the function returns.  Use a
+		script-local variable if needed: >
+	let s:myjob = job_start('my-command')
+<
 		{options} must be a Dictionary.  It can contain many optional
 		items, see |job-options|.
 
diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt
index b446faf..1d08bbb 100644
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -249,7 +249,7 @@
 		External command used for |g:decada.Make()| (|'makeprg'|).
 
 						       *g:decada.Error_Format*
-g:decada.Error_Format|	string
+g:decada.Error_Format	string
 		Error format (|'errorformat'|).
 
 ==============================================================================
diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt
index 750ba76..b94e1f8 100644
--- a/runtime/doc/ft_rust.txt
+++ b/runtime/doc/ft_rust.txt
@@ -1,4 +1,6 @@
-*ft_rust.txt*      Filetype plugin for Rust
+*ft_rust.txt*	For Vim version 8.1.  Last change: 2017 Nov 02
+
+This is documentation for the Rust filetype plugin.
 
 ==============================================================================
 CONTENTS                                                      *rust*
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 7c2547f..0aeac14 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -434,11 +434,11 @@
 
 This makes it possible to use the cursor keys in Insert mode, without breaking
 the undo sequence and therefore using |.| (redo) will work as expected.
-Also entering a text like (with the "(" mapping from above): >
+Also entering a text like (with the "(" mapping from above):
 
    Lorem ipsum (dolor
 
-will be repeatable by the |.|to the expected
+will be repeatable by using |.| to the expected
 
    Lorem ipsum (dolor)
 
diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt
index 4639566..148f5fe 100644
--- a/runtime/doc/os_beos.txt
+++ b/runtime/doc/os_beos.txt
@@ -144,7 +144,7 @@
   :version
 
 The normal value is /boot/home/config/share/vim.  If you don't like it you can
-set the Vim environment variable to override this, or set 'helpfile' in your
+set the VIM environment variable to override this, or set 'helpfile' in your
 .vimrc: >
 
   :if version >= 500
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 8f4d30b..e995333 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -169,7 +169,7 @@
 ==============================================================================
 6. Running under Windows 3.1				*win32-win3.1*
 
-					*win32s* *windows-3.1* *gui-w32s*
+				*win32s* *windows-3.1* *gui-w32s* *win16*
 There was a special version of gvim that runs under Windows 3.1 and 3.11.
 Support was removed in patch 7.4.1363.
 
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 88fda8e..526231f 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1977,7 +1977,7 @@
 
 LPC						*lpc.vim* *ft-lpc-syntax*
 
-LPC stands for a simple, memory-efficient language: Lars Pensj| C.  The
+LPC stands for a simple, memory-efficient language: Lars Pensjö C.  The
 file name of LPC is usually *.c.  Recognizing these files as LPC would bother
 users writing only C programs.	If you want to use LPC syntax in Vim, you
 should set a variable in your .vimrc file: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 9d5af7f..cd14b3f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5107,6 +5107,7 @@
 ap	motion.txt	/*ap*
 apache.vim	syntax.txt	/*apache.vim*
 append()	eval.txt	/*append()*
+appendbufline()	eval.txt	/*appendbufline()*
 aquote	motion.txt	/*aquote*
 arabic.txt	arabic.txt	/*arabic.txt*
 arabicfonts	arabic.txt	/*arabicfonts*
@@ -5770,6 +5771,7 @@
 delete()	eval.txt	/*delete()*
 delete-insert	change.txt	/*delete-insert*
 delete-menus	gui.txt	/*delete-menus*
+deletebufline()	eval.txt	/*deletebufline()*
 deleting	change.txt	/*deleting*
 demoserver.py	channel.txt	/*demoserver.py*
 design-assumptions	develop.txt	/*design-assumptions*
@@ -8059,6 +8061,10 @@
 progname-variable	eval.txt	/*progname-variable*
 progpath-variable	eval.txt	/*progpath-variable*
 progress.vim	syntax.txt	/*progress.vim*
+prompt-buffer	channel.txt	/*prompt-buffer*
+prompt_setcallback()	eval.txt	/*prompt_setcallback()*
+prompt_setinterrupt()	eval.txt	/*prompt_setinterrupt()*
+prompt_setprompt()	eval.txt	/*prompt_setprompt()*
 pronounce	intro.txt	/*pronounce*
 psql	ft_sql.txt	/*psql*
 ptcap.vim	syntax.txt	/*ptcap.vim*
@@ -8990,10 +8996,13 @@
 termdebug-communication	terminal.txt	/*termdebug-communication*
 termdebug-customizing	terminal.txt	/*termdebug-customizing*
 termdebug-example	terminal.txt	/*termdebug-example*
+termdebug-prompt	terminal.txt	/*termdebug-prompt*
 termdebug-starting	terminal.txt	/*termdebug-starting*
 termdebug-stepping	terminal.txt	/*termdebug-stepping*
 termdebug-variables	terminal.txt	/*termdebug-variables*
 termdebug_popup	terminal.txt	/*termdebug_popup*
+termdebug_shortcuts	terminal.txt	/*termdebug_shortcuts*
+termdebug_use_prompt	terminal.txt	/*termdebug_use_prompt*
 termdebug_wide	terminal.txt	/*termdebug_wide*
 terminal	terminal.txt	/*terminal*
 terminal-api	terminal.txt	/*terminal-api*
@@ -9546,6 +9555,7 @@
 wildcard	editing.txt	/*wildcard*
 wildcards	editing.txt	/*wildcards*
 wildmenumode()	eval.txt	/*wildmenumode()*
+win16	os_win32.txt	/*win16*
 win32	os_win32.txt	/*win32*
 win32-!start	gui_w32.txt	/*win32-!start*
 win32-PATH	os_win32.txt	/*win32-PATH*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index c7579fe..dbf7e64 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -111,6 +111,16 @@
 If this is done while Vim is running the 't_BD' will be sent to the terminal
 to disable bracketed paste.
 
+If your terminal supports bracketed paste, but the options are not set
+automatically, you can try using something like this: >
+
+	if &term =~ "screen"
+	  let &t_BE = "\e[?2004h"
+	  let &t_BD = "\e[?2004l"
+	  exec "set t_PS=\e[200~"
+	  exec "set t_PE=\e[201~"
+	endif
+<
 							*cs7-problem*
 Note: If the terminal settings are changed after running Vim, you might have
 an illegal combination of settings.  This has been reported on Solaris 2.5
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index a6c40f6..395e7d2 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -19,8 +19,8 @@
       Resizing				|terminal-resizing|
       Terminal Modes			|Terminal-mode|
       Cursor style			|terminal-cursor-style|
-      Special keys			|terminal-special-keys|
       Session				|terminal-session|
+      Special keys			|terminal-special-keys|
       Unix				|terminal-unix|
       MS-Windows			|terminal-ms-windows|
 2. Terminal communication	|terminal-communication|
@@ -116,9 +116,12 @@
 
 <							*options-in-terminal*
 After opening the terminal window and setting 'buftype' to "terminal" the
-BufWinEnter autocommand event is triggered.  This makes it possible to set
+TerminalOpen autocommand event is triggered.  This makes it possible to set
 options specifically for the window and buffer.  Example: >
-   au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
+   au TerminalOpen * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
+The <abuf> is set to the terminal buffer, but if there is no window (hidden
+terminal) then setting options will happen in the wrong buffer, therefore the
+check for &buftype in the example.
 
 Mouse events (click and drag) are passed to the terminal.  Mouse move events
 are only passed when Vim itself is receiving them.  For a terminal that is
@@ -449,7 +452,7 @@
 		of the terminal and {argument}, the decoded JSON argument. 
 		The function name must start with "Tapi_" to avoid
 		accidentally calling a function not meant to be used for the
-		terminal API
+		terminal API.
 		The user function should sanity check the argument.
 		The function can use |term_sendkeys()| to send back a reply.
 		Example in JSON: >
@@ -885,7 +888,7 @@
   let g:termdebug_wide = 163
 This will set &columns to 163 when :Termdebug is used.  The value is restored
 when quitting the debugger.
-If g:termdebug_wide is set and &Columns is already  larger than
+If g:termdebug_wide is set and &columns is already larger than
 g:termdebug_wide then a vertical split will be used without changing &columns.
 Set it to 1 to get a vertical split without every changing &columns (useful
 for when the terminal can't be resized by Vim).
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index dbd2935..c338513 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -42,11 +42,35 @@
 - Add a command line history.
 - delay next prompt until plugin gives OK?
 
+Terminal debugger:
+- Using terminal window: after "cont" in gdb window CTRL-C interrupts, but
+  after :Continue it does not.  Mode of UI is changed?  :Stop does work.
+- patch from Christian to handle changing 'background'
+  and a patch to show breakpoint nr in sign. (June 14)
+- Make prompt-buffer variant work better.
+- Termdebug does not work when Vim was build 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.
+- Show breakpoint number in the sign? (Uri Moszkowicz, 2018 Jun 13, #3007)
+- Allow for users to create their own gdb mappings.  Perhaps by making the gdb
+  buffer global?  (Uri Moszkowicz, #3012) Or with a function to send a command
+  to gdb.
+
 Terminal emulator window:
-- Win32: Termdebug doesn't work, because gdb does not support mi2 on a tty.
-  This plugin: https://github.com/cpiger/NeoDebug  runs gdb as a job,
-  redirecting input and output.
-  Open new console for for program with: "set new-console on"
+- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
+  #2977)
+- When typing : at the more prompt, instead of entering a new Vim command, the
+  : is inserted in the terminal window.  Should skip terminal_loop here.
+  ()
+- When pasting should call vterm_keyboard_start_paste(), e.g. when using
+  K_MIDDLEMOUSE, calling insert_reg().
+- Users expect parsing the :term argument like a shell does, also support
+  single quotes.  E.g. with:  :term grep 'alice says "hello"'  (#1999)
+- When running a shell in a terminal to run Vim tests, CTRL-W : the command
+  line keeps getting cleard.  Doing the same in another window is OK. (Jason
+  Franklin, 2018 Jun 17)
+- How to access selection in Terminal running a shell? (damnskippy, 2018 May
+  27, #29620  When terminal doesn't use the mouse, use modeless selection.
 - Win32: Redirecting input does not work, half of Test_terminal_redir_file()
   is disabled.
 - Win32: Redirecting output works but includes escape sequences.
@@ -61,9 +85,6 @@
   http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
-- Termdebug does not work when Vim was build 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.
 
 Does not build with MinGW out of the box:
 - _stat64 is not defined, need to use "struct stat" in vim.h
@@ -75,26 +96,32 @@
 On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
 (Nobuhiro Takasaki, #2833)  Also check t_Co.
 
-Patch to fix arguments of :edit. (Dominique Pelle, 2018 May 28 #2966)
-
-Ptch to update html syntax. (Jorge Maldonado Ventura, #2974)
-
-Patch to fix that restoring window doesn't work when 'winheight' is large.
-(Darrell Nash, 2018 May 30, #2971)  Doesn't work?  Issue #2970
-
-Patch to add completion to :unlet for environment vars. (Jason Franklin, 2018
-May 30) Last update.
-
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
-Patch to make "is" and "as" work bettter. (Jason Franklin, 2018 May 19)
+Patch to make "is" and "as" work better. (Jason Franklin, 2018 May 19)
 
 Patch to add tests for user and language completion. (Dominique Pelle, 2018
-Jun 2, #2978)
+Jun 2, #2978)  typo wk -> we
+Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
+Aug 16)
+
+Patch to add tests for libcall() and libcallnr(). (Dominique Pelle, #2982)
+
+Patch to fix that v:shell_error is always zero when using terminal for shell
+command. (Ichizok, 2018 Jun 8, #2994)
+
+Patch to make test for terminal out&error more reliable. (Ichizok, 2018 Jun 8,
+#2991)
+
+Patch to fix duplicate entry in tagfiles() and add a test. (Dominique Pelle,
+#2979)
+
+Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
+Related to bracketed paste.
 
 Using ":file" in quickfix window during an autocommand doesn't work. 
 (Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
@@ -107,6 +134,9 @@
 Patch to add more testing for :cd command. (Dominique Pelle, 2018 May 30,
 #2972)
 
+Patch to make mode() return something different for Normal mode when coming
+from Insert mode with CTRL-O. (#3000)
+
 Script generated by :mksession does not work well if there are windows with
 modified buffers
   change "silent only" into "silent only!"
@@ -162,6 +192,12 @@
 Should add a test for every command line argument.  Check coverage for what is
 missing: --nofork, -A , -b, -h, etc.
 
+":au * * command" should not be allowed, only use * for event when listing or
+deleting autocmds, not when adding them.
+
+Quickfix window height is not kept with a vertical split. (Lifepillar, 2018
+Jun 10, #2998)
+
 Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
 Update 2018 March 12, #2711
 
@@ -215,7 +251,7 @@
 Avoid that "sign unplace id" does a redraw right away, esp. when there is a
 sequence of these commands. (Andy Stewart, 2018 Mar 16)
 
-ch_sendraw() with long string does not try to read inbetween, which may cause
+ch_sendraw() with long string does not try to read in between, which may cause
 a deadlock if the reading side is waiting for the write to finish. (Nate
 Bosch, 2018 Jan 13, #2548)
 
@@ -242,6 +278,9 @@
 
 Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
 
+Inserting a line in a CompleteDone autocommand may confuse undo. (micbou,
+2018 Jun 18, #3027)
+
 Implement option_save() and option_restore():
 option_restore({list})					*option_restore()*
 		Restore options previously saved by option_save().
@@ -933,7 +972,7 @@
 Add a way to restart a timer.  It's similar to timer_stop() and timer_start(),
 but the reference remains valid.
 
-Need to try out instructions in INSSTALLpc.txt about how to install all
+Need to try out instructions in INSTALLpc.txt about how to install all
 interfaces and how to build Vim with them.
 Appveyor build with self-installing executable, includes getting most
 interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
@@ -1511,9 +1550,6 @@
 Suggestion for another map. (Philip Mat, 2012 Jun 18)
 But use "gi" instead of "a".  Or use CTRL-\ CTRL-O.
 
-Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
-Aug 16)
-
 When there are no command line arguments ":next" and ":argu" give E163, which
 is confusing.  Should say "the argument list is empty".
 
@@ -4168,8 +4204,6 @@
 	virtualmode()		add argument to obtain whether "$" was used in
 				Visual block mode.
 	getacp()		Win32: get codepage (Glenn Maynard)
-	deletebufline()		delete line in any buffer
-	appendbufline()		append line in any buffer
 	libcall()		Allow more than one argument.
 	libcallext()		Like libcall(), but using a callback function
 				to allow the library to execute a command or
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index a3e3cfe..f87d904 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -221,8 +221,8 @@
 file twice, the autocommands in it will be defined twice.  To avoid this, do
 one of these:
 
-- Remove any autocommands that might potentially defined twice before
-  defining them.  Example: >
+- Remove any autocommands that might already be defined before defining
+  them.  Example: >
 	:au! * *.ext
 	:au BufEnter *.ext ...
 
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index d927c54..90784a0 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -16113,7 +16113,7 @@
 
 Patch 8.0.0248
 Problem:    vim_strcat() cannot handle overlapping arguments.
-Solution:   Use mch_memmove() instead of strcpy(). (Justin M Keyes,
+Solution:   Use mch_memmove() instead of strcpy(). (Justin M. Keyes,
             closes #1415)
 Files:      src/misc2.c
 
@@ -16363,7 +16363,7 @@
 Patch 8.0.0287
 Problem:    Cannot access the arguments of the current function in debug mode.
             (Luc Hermitte)
-Solution:   use get_funccal(). (Lemonboy, closes #1432, closes #1352)
+Solution:   use get_funccal(). (LemonBoy, closes #1432, closes #1352)
 Files:      src/userfunc.c
 
 Patch 8.0.0288 (after 8.0.0284)
@@ -16728,7 +16728,7 @@
 
 Patch 8.0.0350
 Problem:    Not enough test coverage for Perl.
-Solution:   Add more Perl tests. (Dominique Perl, closes #1500)
+Solution:   Add more Perl tests. (Dominique Pelle, closes #1500)
 Files:      src/testdir/test_perl.vim
 
 Patch 8.0.0351
@@ -18229,7 +18229,7 @@
 
 Patch 8.0.0597
 Problem:    Off-by-one error in buffer size computation.
-Solution:   Use ">=" instead of ">". (Lemonboy, closes #1694)
+Solution:   Use ">=" instead of ">". (LemonBoy, closes #1694)
 Files:      src/quickfix.c
 
 Patch 8.0.0598
@@ -18346,7 +18346,7 @@
 Problem:    When setting the cterm background with ":hi Normal" the value of
             'background' may be set wrongly.
 Solution:   Check that the color is less than 16.  Don't set 'background' when
-            it was set explicitly. (Lemonboy, closes #1710)
+            it was set explicitly. (LemonBoy, closes #1710)
 Files:      src/syntax.c, src/testdir/test_syntax.vim
 
 Patch 8.0.0617 (after 8.0.0615)
@@ -18477,8 +18477,8 @@
 
 Patch 8.0.0638
 Problem:    Cannot build with new MSVC version VS2017.
-Solution:   Change the compiler arguments. (Leonardo Manera, closes #1731,
-            closes #1747)
+Solution:   Change the compiler arguments. (Leonardo Valeri Manera,
+	    closes #1731, closes #1747)
 Files:      src/GvimExt/Makefile, src/Make_mvc.mak
 
 Patch 8.0.0639
@@ -19070,7 +19070,7 @@
 
 Patch 8.0.0724
 Problem:    The message for yanking doesn't indicate the register.
-Solution:   Show the register name in the "N lines yanked" message. (Lemonboy,
+Solution:   Show the register name in the "N lines yanked" message. (LemonBoy,
             closes #1803, closes #1809)
 Files:      src/ops.c, src/Makefile, src/testdir/test_registers.vim,
             src/testdir/Make_all.mak
@@ -21611,7 +21611,7 @@
 
 Patch 8.0.1157
 Problem:    Compiler warning on MS-Windows.
-Solution:   Add type cast. (Yasuhiro Matsomoto)
+Solution:   Add type cast. (Yasuhiro Matsumoto)
 Files:      src/main.c
 
 Patch 8.0.1158
@@ -21911,7 +21911,7 @@
 
 Patch 8.0.1207
 Problem:    Profiling skips the first and last script line.
-Solution:   Check for BOM after setting script ID. (Lemonboy, closes #2103,
+Solution:   Check for BOM after setting script ID. (LemonBoy, closes #2103,
             closes #2112) Add a test. List the trailing script lines.
 Files:      src/testdir/test_profile.vim, src/ex_cmds2.c
 
@@ -22108,7 +22108,7 @@
 Solution:   Make feature names more consistent, add "osxdarwin". Rename
             feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
             Also includes a fix for when Ruby throws an exception inside
-            :rubyfile.(ujihisa)
+            :rubyfile. (ujihisa)
 Files:      runtime/doc/eval.txt, runtime/doc/os_mac.txt, src/auto/configure,
             src/config.h.in, src/configure.ac, src/digraph.c, src/edit.c,
             src/evalfunc.c, src/feature.h, src/fileio.c, src/getchar.c,
@@ -23256,7 +23256,7 @@
 
 Patch 8.0.1423
 Problem:    Error in return not caught by try/catch.
-Solution:   Call update_force_abort(). (Yasuhiro Matsomoto, closes #2483)
+Solution:   Call update_force_abort(). (Yasuhiro Matsumoto, closes #2483)
 Files:      src/testdir/test_eval.in, src/testdir/test_eval_stuff.vim,
             src/Makefile, src/testdir/Make_all.mak, src/userfunc.c
 
@@ -23287,7 +23287,7 @@
 
 Patch 8.0.1429
 Problem:    Crash when calling term_start() with empty argument.
-Solution:   Check for invalid argument. (Yasuhiro Matsomoto, closes #2503)
+Solution:   Check for invalid argument. (Yasuhiro Matsumoto, closes #2503)
             Fix memory leak.
 Files:      src/terminal.c, src/testdir/test_terminal.vim
 
@@ -23677,7 +23677,7 @@
 Patch 8.0.1493
 Problem:    Completion items cannot be annotated.
 Solution:   Add a "user_data" entry to the completion item. (Ben Jackson,
-            coses #2608, closes #2508)
+            closes #2608, closes #2508)
 Files:      runtime/doc/insert.txt, src/edit.c, src/structs.h,
             src/testdir/test_ins_complete.vim
 
@@ -24187,8 +24187,8 @@
 
 Patch 8.0.1573
 Problem:    getwinpos(1) may cause response to be handled as command.
-Solution:   Handle any cursor position report once one was request. (partly by
-            Hirohito Higashi)
+Solution:   Handle any cursor position report once one was requested. (partly
+	    by Hirohito Higashi)
 Files:      src/term.c
 
 Patch 8.0.1574
@@ -24669,7 +24669,7 @@
 
 Patch 8.0.1656
 Problem:    No option to have xxd produce upper case variable names.
-Solution:   Add the -C argument. (Matt Panaro closes #2772)
+Solution:   Add the -C argument. (Matt Panaro, closes #2772)
 Files:      src/xxd/xxd.c
 
 Patch 8.0.1657
@@ -25402,7 +25402,7 @@
 Patch 8.0.1782
 Problem:    No simple way to label quickfix entries.
 Solution:   Add the "module" item, to be used instead of the file name for
-            display purposes. (Martin Szamotulski, closes #1757)
+            display purposes. (Marcin Szamotulski, closes #1757)
 Files:      runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/alloc.h,
             src/quickfix.c, src/testdir/test_quickfix.vim
 
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index e88cfcb..f7045b8 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -223,9 +223,9 @@
 		and edit buffer N.
 
 						*CTRL-W_:*
-CTRL-W :	Does the same as typing |:| : edit a command line.  Useful in a
+CTRL-W :	Does the same as typing |:| - enter a command line.  Useful in a
 		terminal window, where all Vim commands must be preceded with
-		CTRL-W or 'termkey'.
+		CTRL-W or 'termwinkey'.
 
 Note that the 'splitbelow' and 'splitright' options influence where a new
 window will appear.
diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim
index 3504780..e630373 100644
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2018 Jan 28
+" Last Change: 2018 May 31
 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcontrol.vim
 
 " Standard syntax initialization
@@ -40,8 +40,8 @@
 
 " Define some common expressions we can use later on
 syn keyword debcontrolArchitecture contained all any
-exe 'syn keyword debcontrolArchitecture contained '. join(map(s:kernels, {k,v -> v .'-any'}))
-exe 'syn keyword debcontrolArchitecture contained '. join(map(s:archs, {k,v -> 'any-'.v}))
+exe 'syn keyword debcontrolArchitecture contained '. join(map(copy(s:kernels), {k,v -> v .'-any'}))
+exe 'syn keyword debcontrolArchitecture contained '. join(map(copy(s:archs), {k,v -> 'any-'.v}))
 exe 'syn keyword debcontrolArchitecture contained '. join(s:archs)
 exe 'syn keyword debcontrolArchitecture contained '. join(s:pairs)
 
diff --git a/runtime/syntax/html.vim b/runtime/syntax/html.vim
index 991fd8a..cde5269 100644
--- a/runtime/syntax/html.vim
+++ b/runtime/syntax/html.vim
@@ -3,8 +3,8 @@
 " Maintainer:           Jorge Maldonado Ventura <jorgesumle@freakspot.net>
 " Previous Maintainer:  Claudio Fleiner <claudio@fleiner.com>
 " Repository:           https://notabug.org/jorgesumle/vim-html-syntax
-" Last Change:          2017 Dec 16
-" Included patch from Jorge Maldonado Ventura to add the dialog element
+" Last Change:          2018 May 31
+" Included patch from Jay Sitter to add WAI-ARIA htmlArg keywords
 "
 
 " Please check :help html.vim for some comments and a description of the options
@@ -77,6 +77,29 @@
 syn keyword htmlArg contained usemap ismap valign value vlink vspace width wrap
 syn match   htmlArg contained "\<\(http-equiv\|href\|title\)="me=e-1
 
+" aria attributes
+syn match htmlArg contained "\<\(aria-activedescendant\|aria-atomic\)\>"
+syn match htmlArg contained "\<\(aria-autocomplete\|aria-busy\|aria-checked\)\>"
+syn match htmlArg contained "\<\(aria-colcount\|aria-colindex\|aria-colspan\)\>"
+syn match htmlArg contained "\<\(aria-controls\|aria-current\)\>"
+syn match htmlArg contained "\<\(aria-describedby\|aria-details\)\>"
+syn match htmlArg contained "\<\(aria-disabled\|aria-dropeffect\)\>"
+syn match htmlArg contained "\<\(aria-errormessage\|aria-expanded\)\>"
+syn match htmlArg contained "\<\(aria-flowto\|aria-grabbed\|aria-haspopup\)\>"
+syn match htmlArg contained "\<\(aria-hidden\|aria-invalid\)\>"
+syn match htmlArg contained "\<\(aria-keyshortcuts\|aria-label\)\>"
+syn match htmlArg contained "\<\(aria-labelledby\|aria-level\|aria-live\)\>"
+syn match htmlArg contained "\<\(aria-modal\|aria-multiline\)\>"
+syn match htmlArg contained "\<\(aria-multiselectable\|aria-orientation\)\>"
+syn match htmlArg contained "\<\(aria-owns\|aria-placeholder\|aria-posinset\)\>"
+syn match htmlArg contained "\<\(aria-pressed\|aria-readonly\|aria-relevant\)\>"
+syn match htmlArg contained "\<\(aria-required\|aria-roledescription\)\>"
+syn match htmlArg contained "\<\(aria-rowcount\|aria-rowindex\|aria-rowspan\)\>"
+syn match htmlArg contained "\<\(aria-selected\|aria-setsize\|aria-sort\)\>"
+syn match htmlArg contained "\<\(aria-valuemax\|aria-valuemin\)\>"
+syn match htmlArg contained "\<\(aria-valuenow\|aria-valuetext\)\>"
+syn keyword htmlArg contained role
+
 " Netscape extensions
 syn keyword htmlTagName contained frame noframes frameset nobr blink
 syn keyword htmlTagName contained layer ilayer nolayer spacer