Update runtime files.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index e9592bb..a367946 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 Mar 30
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Apr 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3556,7 +3556,7 @@
 		completion.  See |ins-completion|.
 		The items are:
 		   mode		Current completion mode name string.
-				See |completion_info_mode| for the values.
+				See |complete_info_mode| for the values.
 		   pum_visible	|TRUE| if popup menu is visible.
 				See |pumvisible()|.
 		   items	List of completion matches.  Each item is a
@@ -10433,7 +10433,7 @@
 system			Compiled to use system() instead of fork()/exec().
 tag_binary		Compiled with binary searching in tags files
 			|tag-binary-search|.
-tag_old_static		Compiled with support for old static tags
+tag_old_static		Support for old static tags was removed, see
 			|tag-old-static|.
 tcl			Compiled with Tcl interface.
 termguicolors		Compiled with true color in terminal support.
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index b747abe..8d8bc1d 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.1.  Last change: 2019 Mar 26
+*insert.txt*    For Vim version 8.1.  Last change: 2019 Mar 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index b5361c8..c3ce75c 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.1.  Last change: 2018 Dec 27
+*syntax.txt*	For Vim version 8.1.  Last change: 2019 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1962,7 +1962,7 @@
 the parentheses and backquoted parentheses.  Because of the quantity of
 colorization levels, unlike non-rainbow highlighting, the rainbow mode
 specifies its highlighting using ctermfg and guifg, thereby bypassing the
-usual colorscheme control using standard highlighting groups.  The actual
+usual color scheme control using standard highlighting groups.  The actual
 highlighting used depends on the dark/bright setting  (see |'bg'|).
 
 
@@ -4694,9 +4694,9 @@
 			Doesn't work recursively, thus you can't use
 			":colorscheme" in a color scheme script.
 
-			To customize a colorscheme use another name, e.g.
+			To customize a color scheme use another name, e.g.
 			"~/.vim/colors/mine.vim", and use `:runtime` to load
-			the original colorscheme: >
+			the original color scheme: >
 				runtime colors/evening.vim
 				hi Statement ctermfg=Blue guifg=Blue
 
@@ -4704,7 +4704,7 @@
 			|ColorSchemePre| autocommand event is triggered.
 			After the color scheme has been loaded the
 			|ColorScheme| autocommand event is triggered.
-			For info about writing a colorscheme file: >
+			For info about writing a color scheme file: >
 				:edit $VIMRUNTIME/colors/README.txt
 
 :hi[ghlight]		List all the current highlight groups that have
@@ -4901,7 +4901,7 @@
 	explicitly.  This causes the highlight groups that depend on
 	'background' to change!  This means you should set the colors for
 	Normal first, before setting other colors.
-	When a colorscheme is being used, changing 'background' causes it to
+	When a color scheme is being used, changing 'background' causes it to
 	be reloaded, which may reset all colors (including Normal).  First
 	delete the "g:colors_name" variable when you don't want this.
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f3726e9..4b5a1ef 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5677,6 +5677,8 @@
 complete_CTRL-Y	insert.txt	/*complete_CTRL-Y*
 complete_add()	eval.txt	/*complete_add()*
 complete_check()	eval.txt	/*complete_check()*
+complete_info()	eval.txt	/*complete_info()*
+complete_info_mode	eval.txt	/*complete_info_mode*
 completed_item-variable	eval.txt	/*completed_item-variable*
 completion-functions	usr_41.txt	/*completion-functions*
 complex-change	change.txt	/*complex-change*
@@ -8386,6 +8388,7 @@
 ruby-evaluate	if_ruby.txt	/*ruby-evaluate*
 ruby-globals	if_ruby.txt	/*ruby-globals*
 ruby-message	if_ruby.txt	/*ruby-message*
+ruby-rubyeval	if_ruby.txt	/*ruby-rubyeval*
 ruby-set_option	if_ruby.txt	/*ruby-set_option*
 ruby-vim	if_ruby.txt	/*ruby-vim*
 ruby-window	if_ruby.txt	/*ruby-window*
@@ -8397,6 +8400,7 @@
 ruby_operators	syntax.txt	/*ruby_operators*
 ruby_space_errors	syntax.txt	/*ruby_space_errors*
 ruby_spellcheck_strings	syntax.txt	/*ruby_spellcheck_strings*
+rubyeval()	eval.txt	/*rubyeval()*
 russian	russian.txt	/*russian*
 russian-intro	russian.txt	/*russian-intro*
 russian-issues	russian.txt	/*russian-issues*
@@ -8445,8 +8449,10 @@
 scp	pi_netrw.txt	/*scp*
 screenattr()	eval.txt	/*screenattr()*
 screenchar()	eval.txt	/*screenchar()*
+screenchars()	eval.txt	/*screenchars()*
 screencol()	eval.txt	/*screencol()*
 screenrow()	eval.txt	/*screenrow()*
+screenstring()	eval.txt	/*screenstring()*
 script	usr_41.txt	/*script*
 script-here	if_perl.txt	/*script-here*
 script-local	map.txt	/*script-local*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index d3318ee..5f3b383 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 Mar 23
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Apr 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -108,29 +108,19 @@
 - Use text properties to define highlighting.
 - Proposal on issue #4063
 
+Notifications for text changes, could be used for LSP.
+- New event, similar to TextChanged, but guaranteed to provide sequential
+  information of all text changes.
+  Possibly build on undo info (but undo itself is also a change).
+  How to deal with ":%s/this/that" ?
+
 Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
 (#4087)
 
-Patch to add complete_info()  Shougo - #3866.  Ready to include.  Now #4106
-
-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.
-
 Does not build with MinGW out of the box:
 - _stat64 is not defined, need to use "struct stat" in vim.h
 - WINVER conflict, should use 0x0600 by default?
 
-Patch for 'listchars' when there is a composing character on a space.
-How about when there is a double-width composing character on a space?
-(Yasuhiro Matsumoto, #4046)
-Test doesn't fail without patch?
-
-Patch to add ruby cflags. (#4050, fixes #1081)
-Needs modification.
-
-Patch to add src/README.md.  (WenxuanHuang, #4141)  Replace README.txt?
-
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
@@ -159,23 +149,9 @@
 read with "-s scriptin" expects escape codes.  Probably "scriptout" needs to
 be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
 
-Patch to move insert-expand code to insexpand.c. (Yegappan Lakshmanan, #4044)
-
-Patch for larger icons in installer. (#978)  Still not good.
-
-Patch on issue #3964 to let sign column stop at the last buffer line.
-(Christian Brabandt, 2019 Feb 24)
-
-Patch to use wide font functions. (Ken Takata, 2019 Feb 18, #4000)
-
-Patch on #4073, Andy Massimino.  Is this a real problem?
-
 Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
 Mar 5)
 
-Patch to add blob2str() and str2blob(). (Yasuhiro Matsumoto, #4049)
-Make docs clearer. Is it symmetric?
-
 When using a timer callback vgetc_busy is reset, allowing for using input().
 But in a channel callback this does not happen.  We need to do something
 similar to check_due_timer().  Also see #3809.
@@ -196,7 +172,10 @@
 Check: __attribute__((format(printf, on semsg() and siemsg().  Where was this
 added?
 
-Patch to remove some unneeded {}. (Hirohito Higashi, #3982)
+This modeline throws unexpected errors: (#4165)
+    vim: syn=nosyntax
+
+Patch for listchars with multi-byte chars.  #4197, discussion on #4046.
 
 Make balloon_show() work outside of 'balloonexpr'?  Users expect it to work:
 #2948. (related to #1512?)
@@ -209,51 +188,39 @@
 2018 Sep 14)
 Another request: #3811.
 
-Patch for autoconf to add -fPIC for Fedora. (#4047)
-
-Height of quickfix window is not retained with vertical splits. (Lifepillar,
-2018 Aug 24, #2998)
-Patch on the issue by Hongbo Liu, 2019 Feb 19 #4013
-
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
-Drop FEAT_TAG_OLDSTATIC?  Anybody using this format should be able to get a
-newer version of ctags.
-
 Still a E315 error when using terminal. (Masato Nishihata, #3959)
 
-When using 'k' in 'guioptions' gvim may open with a tiny window. (#3808)
-Suggested patch on the issue.
+Running test_gui and test_gui_init with Motif sometimes kills the window
+manager.  Problem with Motif? Now test_gui crashes in submenu_change().
+Athena is OK.
+Motif: Build on Ubuntu can't enter any text in dialog text fields.
 
 nvo-mode mapping works on Windows, not on Linux. (#3678)
 
-Patch to have tutor check $LC_MESSAGES. (#4112)
+Patch to add isinf(). (Ozaki Kiichi, #3787)
 
-Patch to fix modify_fname() does not work well with some 'encoding's.
-(Ken Takata, #4007)
+Patch to de-duplicate code and add error message.  (Yegappan, #4207)
 
-Patch to add more info to OptionSet.  Should mention what triggered the change
-":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
-#4118
-
-Patch to make vim_getenv() work with wide API. (Ken Takata, #4008)
-
-How to make (async) complete function depending on completion type?
-Patch on #4083 to do this with an autocommand.  Probably want something else,
-like 'ominfunc'.
-
-Patch to add equal field to complete items. (#3887)
+No test for NULL after allocating memory: #4174
+    src/crypt.c  line 256;
+    src/crypt_zip.c line  93;
+    src/gui_gtk_f.c  line 132;
+    src/gui_gtk_x11 line  1578;
+    src/libvterm/src/state.c line 332;
+    src/libvterm/src/state.c line 255;
+    src/libvterm/src/state.c line 1618;
+    src/libvterm/src/state.c line 1643
+    src/libvterm/src/termscreen.c line 83;
+    src/ops.c  line 6185;
+    src/option.c  line 12980;
+    src/popupmnu.c line 1090;
 
 When using exclusive selection and vi" that fails, cursor moves to the left.
 Cursor should not move. (#4024)
 
-Patch to fix handling long line in tags file.  #4051, #4084 (Andy Massimino)
-
-Patch to fix that executable() may fail on very long filename in MS-Windows.
-(Ken Takata, 2016 Feb 1, update 2018 Oct 7, update 2019 Feb 19)
-Now in pull request #4015.
-
 Patch to be able to separately map CTRL-H and BS on Windows.
 (Linwei, 2017 Jul 11, #1833)
 
@@ -275,9 +242,6 @@
 
 Patch to include ARM64 support. (Leendert van Doorn, 2019 Feb 9)
 
-Patch to fix hang when opening file where an intermediate directory is not
-readable on MS-Windows. (link on #3923)
-
 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
 Related to bracketed paste.  I cannot reproduce it.
 
@@ -295,6 +259,44 @@
 
 Patch to add readdir(). (Yasuhiro Matsumoto, #2439)
 
+Patch to add list2str() and str2list().  #4190.  Can be done with split/join
+and map(), but not for composing characters.
+
+Patch to add equal field to complete items. (#3887)
+Needs to sync to latest version, merge conflicts.
+Summary:    no way to avoid filtering for autocomlete function
+Problem:    No way to avoid filtering for autocomlete function, causing
+            flickering of the popup menu.
+Solution:   Add the "equal" field to complete items. (closes #3887)
+
+Patch to add CompleteChanged event: triggered when the complete popup menu
+changes. #4176
+
+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.
+
+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.
@@ -331,9 +333,6 @@
 kept, which means part of the text isn't displayed.  Better show all the text
 when possible. (Dylan Lloyd, #3973)
 
-Tag stack is incorrect after CTRL-T and then :tag. (Andy Massimino, 2019 Feb
-12, #3944)  With Patch for a solution (Feb 23).  Needs a test.
-
 Patch to implement 'diffref' option. (#3535)
   Easier to use a 'diffmaster' option, is the extra complexity needed?
 
@@ -841,9 +840,6 @@
 Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
 8, #1690)
 
-Running test_gui and test_gui_init with Motif sometimes kills the window
-manager.  Problem with Motif?
-
 Bogus characters inserted when triggering indent while changing text.
 (Vitor Antunes, 2016 Nov 22, #1269)
 
@@ -2230,8 +2226,6 @@
 
 Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9)
 
-Motif: Build on Ubuntu can't enter any text in dialog text fields.
-
 ":tab split fname" doesn't set the alternate file in the original window,
 because win_valid() always returns FALSE.  Below win_new_tabpage() in
 ex_docmd.c.
@@ -3104,6 +3098,10 @@
     and GTK by degreneir (nov 10 and nov 18).
 -   Patch for "paranoid mode" by Kevin Collins, March 7.  Needs much more work.
 
+Better 'rightleft' or BIDI support:
+- Minimal Vi with bidi support: https://github.com/aligrudi/neatvi
+  By Ali Gholami Rudi, also worked on arabic.c
+
 Quickfix/Location List:
 -   Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
     #2999)
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index faa8b6b..b3b9d3e 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.1.  Last change: 2019 Jan 29
+*usr_41.txt*	For Vim version 8.1.  Last change: 2019 Mar 29
 
 		     VIM USER MANUAL - by Bram Moolenaar