Update runtime files
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index c4bc004..edd1f54 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.1.  Last change: 2019 Apr 04
+*autocmd.txt*   For Vim version 8.1.  Last change: 2019 Apr 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -587,7 +587,7 @@
 				recursively.
 
 				Sets these |v:event| keys:
-				    completed_item
+				    completed_item	See |complete-items|.
 				    height		nr of items visible
 				    width		screen cells
 				    row			top screen row
@@ -895,7 +895,6 @@
 
 				When using |:set| in the autocommand the event
 				is not triggered again.
-
 							*QuickFixCmdPre*
 QuickFixCmdPre			Before a quickfix command is run (|:make|,
 				|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index dba7486..2614571 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.1.  Last change: 2019 Apr 06
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Apr 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2679,7 +2679,7 @@
 term_setrestore({buf}, {command}) none	set command to restore terminal
 term_setsize({buf}, {rows}, {cols})
 				none	set the size of a terminal
-term_start({cmd}, {options})	Number	open a terminal window and run a job
+term_start({cmd} [, {options}])	Number	open a terminal window and run a job
 term_wait({buf} [, {time}])	Number  wait for screen to be updated
 test_alloc_fail({id}, {countdown}, {repeat})
 				none	make memory allocation fail
@@ -9440,6 +9440,7 @@
 				is not blinking.
 		   "shape"	1 for a block cursor, 2 for underline and 3
 				for a vertical bar.
+		   "color"	color of the cursor, e.g. "green"
 
 		{buf} must be the buffer number of a terminal window. If the
 		buffer does not exist or is not a terminal window, an empty
@@ -9610,7 +9611,7 @@
 		exist or is not a terminal window, an error is given.
 		{only available when compiled with the |+terminal| feature}
 
-term_start({cmd}, {options})				*term_start()*
+term_start({cmd} [, {options}])			*term_start()*
 		Open a terminal window and run {cmd} in it.
 
 		{cmd} can be a string or a List, like with |job_start()|. The
@@ -10559,6 +10560,7 @@
 viminfo			Compiled with viminfo support.
 vimscript-1		Compiled Vim script version 1 support
 vimscript-2		Compiled Vim script version 2 support
+vimscript-3		Compiled Vim script version 3 support
 virtualedit		Compiled with 'virtualedit' option. (always true)
 visual			Compiled with Visual mode. (always true)
 visualextra		Compiled with extra Visual mode commands. (always
@@ -12696,7 +12698,7 @@
 
 ==============================================================================
 10. Vim script versions		*vimscript-version* *vimscript-versions*
-
+							*scriptversion*
 Over time many features have been added to Vim script.  This includes Ex
 commands, functions, variable types, etc.  Each individual feature can be
 checked with the |has()| and |exists()| functions.
@@ -12717,9 +12719,14 @@
 < 	String concatenation with "." is not supported, use ".." instead.
 	This avoids the ambiguity using "." for Dict member access and
 	floating point numbers.  Now ".5" means the number 0.5.
-	Test for support with: >
-		has('vimscript-2')
+>
+ :scriptversion 3
+<	All |vim-variable|s must be prefixed by "v:".  E.g. "version" doesn't
+	work as |v:version| anymore, it can be used as a normal variable.
+	Same for some obvious names as "count" and others.
 
+	Test for support with: >
+		has('vimscript-3')
 
 ==============================================================================
 11. No +eval feature				*no-eval-feature*
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 76e2ac2..28e9b91 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt*   For Vim version 8.1.  Last change: 2018 May 06
+*gui_x11.txt*   For Vim version 8.1.  Last change: 2019 Apr 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -48,7 +48,7 @@
 ":gui -f".  Don't use "vim -fg", because "-fg" specifies the foreground
 color.
 
-When using "gvim -f" and then ":gui", Vim will run in the foreground.  The
+When using "vim -f" and then ":gui", Vim will run in the foreground.  The
 "-f" argument will be remembered.  To force running Vim in the background use
 ":gui -b".
 
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 577510b..83be4a5 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.1.  Last change: 2019 Apr 05
+*index.txt*     For Vim version 8.1.  Last change: 2019 Apr 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1107,10 +1107,10 @@
 |t_CTRL-W_:|	CTRL-W :	enter an Ex command
 |t_CTRL-W_.|	CTRL-W .	type CTRL-W in the terminal
 		CTRL-W CTRL-\	send a CTRL-\ to the job in the terminal
-|t_CTRL-W_quote|	CTRL-W " {0-9a-z"%#*:=}
+|t_CTRL-W_quote|  CTRL-W " {0-9a-z"%#*:=}
 				paste register in the terminal
 |t_CTRL-W_CTRL-C| CTRL-W CTRL-C	forcefully ends the job
-|t_CTRL-W_CTRL-W| CTRL-W CTRL-W   move focus to the next window
+|t_CTRL-W_CTRL-W| CTRL-W CTRL-W	move focus to the next window
 |t_CTRL-W_gt|	CTRL-W gt	go to next tabpage, same as `gt`
 |t_CTRL-W_gT|	CTRL-W gT	go to previous tabpage, same as `gT`
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 66a9e17..1a6e561 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.1.  Last change: 2019 Mar 24
+*options.txt*	For Vim version 8.1.  Last change: 2019 Apr 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2547,6 +2547,7 @@
 <	When using the ":set" command, you need to double the backslashes!
 	To avoid that use `:let` with a single quote string: >
 		let &l:define = '^\s*\ze\k\+\s*=\s*function('
+<
 
 			*'delcombine'* *'deco'* *'nodelcombine'* *'nodeco'*
 'delcombine' 'deco'	boolean (default off)
@@ -7311,7 +7312,8 @@
 		set spelllang=en_us,nl,medical
 <	This means US English, Dutch and medical words are recognized.  Words
 	that are not recognized will be highlighted.
-	The word list name must not include a comma or dot.  Using a dash is
+	The word list name must consist of alphanumeric characters, a dash or
+	an underscore.  It should not include a comma or dot.  Using a dash is
 	recommended to separate the two letter language name from a
 	specification.  Thus "en-rare" is used for rare English words.
 	A region name must come last and have the form "_xx", where "xx" is
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 6018d44..277ffb8 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -254,9 +254,9 @@
   Japanese	JIS_C_1978	   x	   x
 		JIS_X_1983	   x	   x
 		JIS_X_1990	   x		  x	  x
-		MSWINDOWS	   x
-		KANJITALK6	   x
-		KANJITALK7	   x
+		MSWINDOWS		   x
+		KANJITALK6		   x
+		KANJITALK7		   x
 
 				euc-kr	 cp949	ucs-2	utf-8 ~
   Korean	KS_X_1992	   x
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 1dd10b7..0c9aa14 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3748,6 +3748,7 @@
 ColorSchemePre	autocmd.txt	/*ColorSchemePre*
 Command-line	cmdline.txt	/*Command-line*
 Command-line-mode	cmdline.txt	/*Command-line-mode*
+CompleteChanged	autocmd.txt	/*CompleteChanged*
 CompleteDone	autocmd.txt	/*CompleteDone*
 ConPTY	terminal.txt	/*ConPTY*
 Contents	quickref.txt	/*Contents*
@@ -8471,6 +8472,7 @@
 script-variable	eval.txt	/*script-variable*
 scriptnames-dictionary	eval.txt	/*scriptnames-dictionary*
 scriptout-changed	version4.txt	/*scriptout-changed*
+scriptversion	eval.txt	/*scriptversion*
 scroll-binding	scroll.txt	/*scroll-binding*
 scroll-cursor	scroll.txt	/*scroll-cursor*
 scroll-down	scroll.txt	/*scroll-down*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 024b7a7..dc92418 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 8.1.  Last change: 2019 Jan 19
+*term.txt*      For Vim version 8.1.  Last change: 2019 Apr 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -539,7 +539,7 @@
 Note about colors: The 't_Co' option tells Vim the number of colors available.
 When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
 If one of these is not available, 't_Sb' and 't_Sf' are used.  't_me' is used
-to reset to the default colors.
+to reset to the default colors.  Also see 'termguicolors'.
 
 				*termcap-cursor-shape* *termcap-cursor-color*
 When Vim enters Insert mode the 't_SI' escape sequence is sent.  When Vim
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f11a944..7a6f736 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.1.  Last change: 2019 Apr 07
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Apr 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -191,7 +191,10 @@
 
 nvo-mode mapping works on Windows, not on Linux. (#3678)
 
-No test for NULL after allocating memory: #4174
+Patch to make Command-V use CTRL-R_CTRL-O* on Mac, like on Windows.
+(Ken Takata, #4266)
+
+No test for NULL after allocating memory: #4174 (martinkunevtoptal does this?)
     src/crypt.c  line 256;
     src/crypt_zip.c line  93;
     src/gui_gtk_f.c  line 132;
@@ -224,60 +227,17 @@
 case. (Nate Peterson, 2019 Jan 31, #3892)
 For "silent! q" it should not prompt and just fail.
 
-Patch to add CompleteChanged event: triggered when the complete popup menu
-changes. #4176
-
-Patch to add tab-local directories. (Yegappan, #4212)
-Wait a bit for comments.
-
-Problem with Visual yank when 'linebreak' and 'showbreak' are set.
-Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
-Nov 17)  Asked about this, Dec 22. Christian will have a look.
-
-Patch to add ruby cflags. (#4050, fixes #1081)
-Needs modification.
-
-Patch for larger icons in installer. (#978)  Still not good.
-
-Patch to add tagfunc().  Cleaned up by Christian Brabandt, 2013 Jun 22.
-New update 2017 Apr 10, #1628
-https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
-Updated by Andy Massimino, 2018 Feb 7:
-https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e 
-Or should we make it asynchronous?
-Patch by Andy Massimino: #4010 - needs more work, tests are missing, docs need
-updating, should probably return a string with extra info instad of dict
-entries.
-
-Patch to fix that using "5gj" starting inside a closed fold does not work on
-screen lines but on text lines. (Julius Hulsmann, #4095)  Lacks a test.
+Add <aevent>, which expands to the currently triggered autocommand event name.
+(Daniel Hahler, #4232)  Or add it to v:event (easier to use but slightly more
+expensive).
 
 Some xterm responses are not properly handled: (Markus Gömmel, 2019 Apr 1)
     DCS 0 $ r Pt ST    should be ignored.
     DCS 0 + r/Pt/  ST  already ignored?
 
-Patch to add blob_encode() and blob_decode(). (Yasuhiro Matsumoto, #4049)
-What do we need these for?
-
-Patch to add more info to OptionSet.  Should mention what triggered the change
-":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
-#4118.  Proposed implementation: 2019 Mar 27.  Tests fail, help update
-missing.
-
-How to make (async) complete function depending on completion type?
-Patch on #4083 to do this with an autocommand.  Probably want something else,
-like 'omnifunc'.
-
-Using CTRL-L to add a character to the search string doesn't work for the last
-character in the file. (Smylers, 2018 Nov 17, #3620)
-Suggested patch by Hirohito Higashi, 2018 Nov 18.
-
 Using CTRL-L to add a character to the search string that contains \v,
 punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
 
-Using CTRL-L during search only picks up the base character, not a combining
-character. (Rick, 2018 Dec 11, #3682)
-
 ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
 
 Problem with two buffers with the same name a/b, if it didn't exist before and
@@ -291,12 +251,6 @@
 #3405)  Introduced by 8.0.1517, which was fixing another memory access error.
 (Sep 8)
 
-Patch to make winnr() return the window above/below/beside a window.
-(Yegappan Lakshmanan, #3993)
-
-Patch for ConPTY support, new one: #3794 Does this work now?  It should.
-(Nobuhiro Takasaki)
-
 Add function to make use of internal diff, working on two lists and returning
 unified diff (list of lines).
 
@@ -304,6 +258,9 @@
 kept, which means part of the text isn't displayed.  Better show all the text
 when possible. (Dylan Lloyd, #3973)
 
+Patch to not recognize "version" as "v:version", "count" as "v:count".
+Ken Takata, #4274.
+
 Patch to implement 'diffref' option. (#3535)
   Easier to use a 'diffmaster' option, is the extra complexity needed?
 
@@ -329,6 +286,35 @@
 Patch to add optional arguments with default values.
 (Andy Massimino, #3952)  under development
 
+Patch to add tab-local directories. (Yegappan, #4212)
+Good now?
+
+Patch to add more info to OptionSet.  Should mention what triggered the change
+":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
+#4118.  Proposed implementation: 2019 Mar 27.  Tests fail, help update
+missing. Updated 2019 Apr 9
+
+Problem with Visual yank when 'linebreak' and 'showbreak' are set.
+Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
+Nov 17)  Asked about this, Dec 22. Christian will have a look.
+
+Patch to add ruby cflags. (#4050, fixes #1081)
+Needs modification.
+
+Patch for larger icons in installer. (#978)  Still not good.
+
+Patch to add tagfunc().  Cleaned up by Christian Brabandt, 2013 Jun 22.
+New update 2017 Apr 10, #1628
+https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
+Updated by Andy Massimino, 2018 Feb 7:
+https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e 
+Or should we make it asynchronous?
+Patch by Andy Massimino: #4010 - needs a bit more work: produce errors when
+something is wrong.
+
+Patch to fix that using "5gj" starting inside a closed fold does not work on
+screen lines but on text lines. (Julius Hulsmann, #4095)  Lacks a test.
+
 Memory leaks in test_channel? (or is it because of fork())
 Using uninitialized value in test_crypt.
 Memory leak in test_terminal:
@@ -358,7 +344,6 @@
 such as BufWritePre that checks the file name or contents.
 
 More patches to check:
-- #3797  add test for #3789
 - #4098  improve Travis config
 
 Should make 'listchars' global-local.  Local to window or to buffer?
diff --git a/runtime/ftplugin/dosbatch.vim b/runtime/ftplugin/dosbatch.vim
index dbc02d8..070bdc4 100644
--- a/runtime/ftplugin/dosbatch.vim
+++ b/runtime/ftplugin/dosbatch.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    MS-DOS .bat files
 " Maintainer:  Mike Williams <mrw@eandem.co.uk>
-" Last Change: 8th May 2012
+" Last Change: 14th April 2019
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -16,6 +16,7 @@
 
 " BAT comment formatting
 setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
+setlocal commentstring=::\ %s
 setlocal formatoptions-=t formatoptions+=rol
 
 " Define patterns for the browse file filter
diff --git a/runtime/gvim.desktop b/runtime/gvim.desktop
index 92b8aa1..7f8b25c 100644
--- a/runtime/gvim.desktop
+++ b/runtime/gvim.desktop
@@ -2,10 +2,13 @@
 # Edit the src/po/gvim.desktop.in file instead.
 [Desktop Entry]
 # Translators: This is the Application Name used in the GVim desktop file
+Name[de]=GVim
 Name=GVim
 # Translators: This is the Generic Application Name used in the Vim desktop file
+GenericName[de]=Texteditor
 GenericName=Text Editor
 # Translators: This is the comment used in the Vim desktop file
+Comment[de]=Textdateien bearbeiten
 Comment=Edit text files
 # The translations should come from the po file. Leave them here for now, they will
 # be overwritten by the po file when generating the desktop.file!
@@ -89,8 +92,10 @@
 Terminal=false
 Type=Application
 # Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
+Keywords[de]=Text;Editor;
 Keywords=Text;editor;
 # Translators: This is the Icon file name. Do NOT translate
+Icon[de]=gvim
 Icon=gvim
 Categories=Utility;TextEditor;
 StartupNotify=true
diff --git a/runtime/vim.desktop b/runtime/vim.desktop
index 8e03b32..f27de35 100644
--- a/runtime/vim.desktop
+++ b/runtime/vim.desktop
@@ -2,10 +2,13 @@
 # Edit the src/po/vim.desktop.in file instead.
 [Desktop Entry]
 # Translators: This is the Application Name used in the Vim desktop file
+Name[de]=Vim
 Name=Vim
 # Translators: This is the Generic Application Name used in the Vim desktop file
+GenericName[de]=Texteditor
 GenericName=Text Editor
 # Translators: This is the comment used in the Vim desktop file
+Comment[de]=Textdateien bearbeiten
 Comment=Edit text files
 # The translations should come from the po file. Leave them here for now, they will
 # be overwritten by the po file when generating the desktop.file.
@@ -86,8 +89,10 @@
 Terminal=true
 Type=Application
 # Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
+Keywords[de]=Text;Editor;
 Keywords=Text;editor;
 # Translators: This is the Icon file name. Do NOT translate
+Icon[de]=gvim
 Icon=gvim
 Categories=Utility;TextEditor;
 StartupNotify=false