Update runtime files.
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index bef7500..4c5b402 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.1.  Last change: 2018 Dec 14
+*change.txt*    For Vim version 8.1.  Last change: 2019 Feb 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -640,11 +640,11 @@
 			For the {pattern} see |pattern|.
 			{string} can be a literal string, or something
 			special; see |sub-replace-special|.
-							*E939*
 			When [range] and [count] are omitted, replace in the
 			current line only.  When [count] is given, replace in
 			[count] lines, starting with the last line in [range].
 			When [range] is omitted start in the current line.
+							*E939*
 			[count] must be a positive number.  Also see
 			|cmdline-ranges|.
 
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index b1b3cc4..2d0cc22 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 8.1.  Last change: 2018 May 02
+*develop.txt*   For Vim version 8.1.  Last change: 2019 Feb 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -355,6 +355,24 @@
                cmd;
 	    }
 
+When a block has one line the braces can be left out.  When an if/else has
+braces on one block, it usually looks better when the other block also has
+braces:
+OK:	    if (cond)
+	       cmd;
+	    else
+               cmd;
+
+OK:	    if (cond)
+	    {
+	       cmd;
+	    }
+	    else
+	    {
+               cmd;
+               cmd;
+	    }
+
 Use ANSI (new style) function declarations with the return type on a separate
 indented line.
 
@@ -367,10 +385,10 @@
 	 */
 	    int
 	function_name(
-	    int		arg1,		/* short comment about arg1 */
-	    int		arg2)		/* short comment about arg2 */
+	    int		arg1,		// short comment about arg1
+	    int		arg2)		// short comment about arg2
 	{
-	    int		local;		/* comment about local */
+	    int		local;		// comment about local
 
 	    local = arg1 * arg2;
 
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index 600692e..a174d3c 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 8.1.  Last change: 2018 Dec 14
+*digraph.txt*   For Vim version 8.1.  Last change: 2019 Feb 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -59,18 +59,9 @@
 "10".  That's because NUL characters are internally represented with a NL
 character.  When you write the file it will become a NUL character.
 
-When Vim was compiled without the |+multi_byte| feature, you need to specify
-the character in the encoding given with 'encoding'.  You might want to use
-something like this: >
-
-	if has("multi_byte")
-		digraph oe 339
-	elseif &encoding == "iso-8859-15"
-		digraph oe 189
-	endif
-
-This defines the "oe" digraph for a character that is number 339 in Unicode
-and 189 in latin9 (iso-8859-15).
+Example: >
+	digraph oe 339
+This defines the "oe" digraph for a character that is number 339 in Unicode.
 
 ==============================================================================
 2. Using digraphs					*digraphs-use*
@@ -164,8 +155,7 @@
 Example: a: is ä  and o: is ö
 
 These are the RFC1345 digraphs for the one-byte characters.  See the output of
-":digraphs" for the others.  The characters above 255 are only available when
-Vim was compiled with the |+multi_byte| feature.
+":digraphs" for the others.
 
 EURO
 
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 535517d..951b068 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 Feb 03
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5538,7 +5538,6 @@
 <		Note that Vim uses UTF-8 for all Unicode encodings, conversion
 		from/to UCS-2 is automatically changed to use UTF-8.  You
 		cannot use UCS-2 in a string anyway, because of the NUL bytes.
-		{only available when compiled with the |+multi_byte| feature}
 
 							*indent()*
 indent({lnum})	The result is a Number, which is indent of line {lnum} in the
@@ -6816,8 +6815,7 @@
 							*printf-S*
 		S	The text of the String argument is used.  If a
 			precision is specified, no more display cells than the
-			number specified are used.  Without the |+multi_byte|
-			feature works just like 's'.
+			number specified are used.
 
 							*printf-f* *E807*
 		f F	The Float argument is converted into a string of the
@@ -8611,10 +8609,10 @@
 
 strdisplaywidth({expr} [, {col}])			*strdisplaywidth()*
 		The result is a Number, which is the number of display cells
-		String {expr} occupies on the screen when it starts at {col}.
-		When {col} is omitted zero is used.  Otherwise it is the
-		screen column where to start.  This matters for Tab
-		characters.
+		String {expr} occupies on the screen when it starts at {col}
+		(first column is zero).  When {col} is omitted zero is used.
+		Otherwise it is the screen column where to start.  This
+		matters for Tab characters.
 		The option settings of the current window are used.  This
 		matters for anything that's displayed differently, such as
 		'tabstop' and 'display'.
@@ -10272,7 +10270,7 @@
 mouse_urxvt		Compiled with support for urxvt mouse.
 mouse_xterm		Compiled with support for xterm mouse.
 mouseshape		Compiled with support for 'mouseshape'.
-multi_byte		Compiled with support for 'encoding'
+multi_byte		Compiled with support for 'encoding' (always true)
 multi_byte_encoding	'encoding' is set to a multi-byte encoding.
 multi_byte_ime		Compiled with support for IME input method.
 multi_lang		Compiled with support for multiple languages.
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index da3f260..7a36804 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -663,6 +663,15 @@
 	let rrst_dynamic_comments = 0
 
 
+RESTRUCTUREDTEXT					*ft-rst-plugin*
+
+The following formatting setting are optionally available: >
+	setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
+
+To enable this behavior, set the following variable in your vimrc: >
+	let g:rst_style = 1
+
+
 RPM SPEC						*ft-spec-plugin*
 
 Since the text for this plugin is rather long it has been put in a separate
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 24fed6d..a645cab 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -14,9 +14,6 @@
 manual.
 For changing the language of messages and menus see |mlang.txt|.
 
-{not available when compiled without the |+multi_byte| feature}
-
-
 1.  Getting started			|mbyte-first|
 2.  Locale				|mbyte-locale|
 3.  Encoding				|mbyte-encoding|
@@ -44,16 +41,6 @@
 languages and it is quite complicated.
 
 
-COMPILING
-
-If you already have a compiled Vim program, check if the |+multi_byte| feature
-is included.  The |:version| command can be used for this.
-
-If +multi_byte is not included, you should compile Vim with "normal", "big" or
-"huge" features.  You can further tune what features are included.  See the
-INSTALL files in the source directory.
-
-
 LOCALE
 
 First of all, you must make sure your current locale is set correctly.  If
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index e664c96..f48ccb8 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 Feb 03
+*options.txt*	For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -695,8 +695,6 @@
 'ambiwidth' 'ambw'	string (default: "single")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	Only effective when 'encoding' is "utf-8" or another Unicode encoding.
 	Tells Vim what to do with characters with East Asian Width Class
 	Ambiguous (such as Euro, Registered Sign, Copyright Sign, Greek
@@ -1277,8 +1275,6 @@
 'bomb'			boolean	(default off)
 			local to buffer
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When writing a file and the following conditions are met, a BOM (Byte
 	Order Mark) is prepended to the file:
 	- this option is on
@@ -1440,8 +1436,6 @@
 'casemap' 'cmp'		string	(default: "internal,keepascii")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	Specifies details about changing the case of letters.  It may contain
 	these words, separated by a comma:
 	internal	Use internal case mapping functions, the current
@@ -1497,8 +1491,7 @@
 				*'charconvert'* *'ccv'* *E202* *E214* *E513*
 'charconvert' 'ccv'	string (default "")
 			global
-			{only available when compiled with the |+multi_byte|
-			and |+eval| features}
+			{only available when compiled with the |+eval| feature}
 			{not in Vi}
 	An expression that is used for character encoding conversion.  It is
 	evaluated when a file that is to be read or has been written has a
@@ -1657,7 +1650,6 @@
 			You probably want to add this only temporarily,
 			possibly use BufEnter autocommands.
 			Only supported for GTK version 2 and later.
-			Only available with the |+multi_byte| feature.
 
 						*clipboard-exclude*
 	exclude:{pattern}
@@ -2552,8 +2544,6 @@
 'delcombine' 'deco'	boolean (default off)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	If editing Unicode and this option is set, backspace and Normal mode
 	"x" delete each combining character on its own.  When it is off (the
 	default) the character along with its combining characters are
@@ -2804,16 +2794,12 @@
 'emoji' 'emo'	boolean (default: on)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When on all Unicode emoji characters are considered to be full width.
 
 
 					*'encoding'* *'enc'* *E543*
 'encoding' 'enc'	string (default: "latin1" or value from $LANG)
 			global
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Sets the character encoding used inside Vim.  It applies to text in
 	the buffers, registers, Strings in expressions, text stored in the
@@ -3016,8 +3002,6 @@
 				*'fileencoding'* *'fenc'* *E213*
 'fileencoding' 'fenc'	string (default: "")
 			local to buffer
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Sets the character encoding for the file of this buffer.
 
@@ -3073,8 +3057,6 @@
 				    "ucs-bom,utf-8,default,latin1" when
 				    'encoding' is set to a Unicode value)
 			global
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	This is a list of character encodings considered when starting to edit
 	an existing file.  When a file is read, Vim tries to use the first
@@ -4318,8 +4300,6 @@
 'imactivatefunc' 'imaf'	string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	This option specifies a function that will be called to
 	activate or deactivate the Input Method.
 	It is not used in the GUI.
@@ -4371,8 +4351,6 @@
 'imcmdline' 'imc'	boolean (default off)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When set the Input Method is always on when starting to edit a command
 	line, unless entering a search pattern (see 'imsearch' for that).
 	Setting this option is useful when your input method allows entering
@@ -4383,8 +4361,6 @@
 'imdisable' 'imd'	boolean (default off, on for some systems (SGI))
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	When set the Input Method is never used.  This is useful to disable
 	the IM when it doesn't work properly.
 	Currently this option is on by default for SGI/IRIX machines.  This
@@ -4437,8 +4413,6 @@
 'imstatusfunc' 'imsf'	string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	This option specifies a function that is called to obtain the status
 	of Input Method.  It must return a positive number when IME is active.
 	It is not used in the GUI.
@@ -5183,8 +5157,6 @@
 					*'makeencoding'* *'menc'*
 'makeencoding' 'menc'	string	(default "")
 			global or local to buffer |global-local|
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Encoding used for reading the output of external commands.  When empty,
 	encoding is not converted.
@@ -5251,8 +5223,6 @@
 'maxcombine' 'mco'	number (default 2)
 			global
 			{not in Vi}
-			{only available when compiled with the |+multi_byte|
-			feature}
 	The maximum number of combining characters supported for displaying.
 	Only used when 'encoding' is "utf-8".
 	The default is OK for most languages.  Hebrew may require 4.
@@ -6020,8 +5990,8 @@
 'printmbcharset' 'pmbcs'  string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+printer|,
-			|+postscript| and |+multi_byte| features}
+			{only available when compiled with the |+printer|
+			and |+postscript| features}
 	The CJK character set to be used for CJK output from |:hardcopy|.
 	See |pmbcs-option|.
 
@@ -6029,8 +5999,8 @@
 'printmbfont' 'pmbfn'	string (default "")
 			global
 			{not in Vi}
-			{only available when compiled with the |+printer|,
-			|+postscript| and |+multi_byte| features}
+			{only available when compiled with the |+printer|
+			and |+postscript| features}
 	List of font names to be used for CJK output from |:hardcopy|.
 	See |pmbfn-option|.
 
@@ -7997,8 +7967,6 @@
 'termencoding' 'tenc'	string	(default ""; with GTK+ GUI: "utf-8"; with
 						    Macintosh GUI: "macroman")
 			global
-			{only available when compiled with the |+multi_byte|
-			feature}
 			{not in Vi}
 	Encoding used for the terminal.  This specifies what character
 	encoding the keyboard produces and the display will understand.  For
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index f17db96..a4ddd8d 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1135,7 +1135,7 @@
 	  The "Func" column shows what library function is used.  The
 	  implementation depends on the system.  Otherwise:
 	  (1) Uses islower() for ASCII and Vim builtin rules for other
-	  characters when built with the |+multi_byte| feature.
+	  characters.
 	  (2) Uses Vim builtin rules
 	  (3) As with (1) but using isupper()
 							*/[[=* *[==]*
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index 2f5a1a9..6018d44 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -111,10 +111,9 @@
 replaced with '-' signs.
 
 If 'printencoding' is empty or Vim cannot find the file then it will use
-'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
-encoding) to find the print character encoding file.  If Vim is unable to find
-a character encoding file then it will use the "latin1" print character
-encoding file.
+'encoding' (if it is set an 8-bit encoding) to find the print character
+encoding file.  If Vim is unable to find a character encoding file then it
+will use the "latin1" print character encoding file.
 
 When 'encoding' is set to a multi-byte encoding, Vim will try to convert
 characters to the printing encoding for printing (if 'printencoding' is empty
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 4c6e249..eb88bfd 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.1.  Last change: 2019 Feb 08
+*quickref.txt*  For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 03a2799..eed064a 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -323,8 +323,6 @@
 				set encoding=utf-8
 				scriptencoding utf-8
 <
-			When compiled without the |+multi_byte| feature this
-			command is ignored.
 			{not in Vi}
 
 						*:scr* *:scriptnames*
diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt
index fae8690..b390f05 100644
--- a/runtime/doc/russian.txt
+++ b/runtime/doc/russian.txt
@@ -55,8 +55,7 @@
 user interface items translations to work.
 
 After downloading an archive from RuVim project, unpack it into your
-$VIMRUNTIME directory.  We recommend using UTF-8 archive, if your version of
-Vim is compiled with |+multi_byte| feature enabled.
+$VIMRUNTIME directory.  We recommend using UTF-8 archive.
 
 In order to use the Russian documentation, make sure you have set the
 'helplang' option to "ru".
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 9f64726..595f595 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.1.  Last change: 2018 May 05
+*starting.txt*  For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 988d11b..29208d6 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1092,10 +1092,10 @@
 'termbidi'	options.txt	/*'termbidi'*
 'termencoding'	options.txt	/*'termencoding'*
 'termguicolors'	options.txt	/*'termguicolors'*
-'termmode'	options.txt	/*'termmode'*
 'termwinkey'	options.txt	/*'termwinkey'*
 'termwinscroll'	options.txt	/*'termwinscroll'*
 'termwinsize'	options.txt	/*'termwinsize'*
+'termwintype'	options.txt	/*'termwintype'*
 'terse'	options.txt	/*'terse'*
 'textauto'	options.txt	/*'textauto'*
 'textmode'	options.txt	/*'textmode'*
@@ -1113,7 +1113,6 @@
 'titlestring'	options.txt	/*'titlestring'*
 'tl'	options.txt	/*'tl'*
 'tm'	options.txt	/*'tm'*
-'tmod'	options.txt	/*'tmod'*
 'to'	options.txt	/*'to'*
 'toolbar'	options.txt	/*'toolbar'*
 'toolbariconsize'	options.txt	/*'toolbariconsize'*
@@ -1137,6 +1136,7 @@
 'twk'	options.txt	/*'twk'*
 'tws'	options.txt	/*'tws'*
 'twsl'	options.txt	/*'twsl'*
+'twt'	options.txt	/*'twt'*
 'tx'	options.txt	/*'tx'*
 'uc'	options.txt	/*'uc'*
 'udf'	options.txt	/*'udf'*
@@ -2521,6 +2521,7 @@
 :lefta	windows.txt	/*:lefta*
 :leftabove	windows.txt	/*:leftabove*
 :let	eval.txt	/*:let*
+:let%=	eval.txt	/*:let%=*
 :let+=	eval.txt	/*:let+=*
 :let-$	eval.txt	/*:let-$*
 :let-&	eval.txt	/*:let-&*
@@ -2531,6 +2532,8 @@
 :let-register	eval.txt	/*:let-register*
 :let-unpack	eval.txt	/*:let-unpack*
 :let.=	eval.txt	/*:let.=*
+:let/=	eval.txt	/*:let\/=*
+:letstar=	eval.txt	/*:letstar=*
 :lex	quickfix.txt	/*:lex*
 :lexpr	quickfix.txt	/*:lexpr*
 :lf	quickfix.txt	/*:lf*
@@ -4688,6 +4691,8 @@
 E979	eval.txt	/*E979*
 E98	diff.txt	/*E98*
 E980	eval.txt	/*E980*
+E981	starting.txt	/*E981*
+E982	terminal.txt	/*E982*
 E99	diff.txt	/*E99*
 EX	intro.txt	/*EX*
 EXINIT	starting.txt	/*EXINIT*
@@ -6128,7 +6133,6 @@
 false-variable	eval.txt	/*false-variable*
 faq	intro.txt	/*faq*
 farsi	farsi.txt	/*farsi*
-farsi-fonts	farsi.txt	/*farsi-fonts*
 farsi.txt	farsi.txt	/*farsi.txt*
 fasm.vim	syntax.txt	/*fasm.vim*
 fcs_choice-variable	eval.txt	/*fcs_choice-variable*
@@ -6354,6 +6358,7 @@
 ft-rmd-syntax	syntax.txt	/*ft-rmd-syntax*
 ft-rrst-plugin	filetype.txt	/*ft-rrst-plugin*
 ft-rrst-syntax	syntax.txt	/*ft-rrst-syntax*
+ft-rst-plugin	filetype.txt	/*ft-rst-plugin*
 ft-rst-syntax	syntax.txt	/*ft-rst-syntax*
 ft-ruby-omni	insert.txt	/*ft-ruby-omni*
 ft-ruby-syntax	syntax.txt	/*ft-ruby-syntax*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index f9cc1ef..865fcb1 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 8.1.  Last change: 2018 May 04
+*tagsrch.txt*   For Vim version 8.1.  Last change: 2019 Feb 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -613,8 +613,7 @@
 The value '2' should be used then:
 	!_TAG_FILE_SORTED<Tab>2<Tab>{anything} ~
 
-The other tag that Vim recognizes, but only when compiled with the
-|+multi_byte| feature, is the encoding of the tags file:
+The other tag that Vim recognizes is the encoding of the tags file:
 	!_TAG_FILE_ENCODING<Tab>utf-8<Tab>{anything} ~
 Here "utf-8" is the encoding used for the tags.  Vim will then convert the tag
 being searched for from 'encoding' to the encoding of the tags file.  And when
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 42fe2c9..da89be4 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.1.  Last change: 2019 Feb 03
+*terminal.txt*	For Vim version 8.1.  Last change: 2019 Feb 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -44,7 +44,7 @@
 
 {Vi does not have any of these commands}
 {only available when compiled with the |+terminal| feature}
-The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
+The terminal feature requires the |+job| and |+channel| features.
 
 ==============================================================================
 1. Basic use						*terminal-use*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index cb8733f..0ba2549 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 Feb 02
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Feb 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,11 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
+Added test, updates, June 23.
+Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
+Remark from Ameretat Reith (2014 Oct 13) with patch on top.
+
 Timer test doesn't work on MS-Windows console, any way to make it work?
 
 'incsearch' with :s: (#3321)
@@ -74,15 +79,15 @@
   with another Vim instance.
 
 Terminal emulator window:
+- When the job in the terminal doesn't use mouse events, let the scroll wheel
+  scroll the scrollback, like a terminal does at the shell prompt. #2490
+  And use modeless selection.  #2962
 - When Vim runs in the terminal and changes the title, the statusline needs to
   be redrawn.
 - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
   (#3327)
 - Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
 - GUI: hang until key typed. (#3530)
-- When the job in the terminal doesn't use mouse events, let the scroll wheel
-  scroll the scrollback, like a terminal does at the shell prompt. #2490
-  And use modeless selection.  #2962
 - Allow for specifying the directory, with ++cwd={dir}.
 - With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
   #2977)
@@ -117,18 +122,17 @@
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
-Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
-
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
-Win32 key codes are messy.  Mike Williams tried to fix that, but now old
-mappings no longer work.  Create a new terminal for the better solution?
-
 Improve fallback for menu translations, to avoid having to create lots of
 files that source the actual file.  E.g. menu_da_de -> menu_da
 Include part of #3242?
 
+Improvement for :terminal winpty/conpty option.  Ozaki Kiichi, #3905
+
+Patch to change WIN32 macro names. (Hirohito Higashi, #3932)
+
 When a terminal exit_cb closes the window, a following typed key is lost, if
 it's in a mapping. (2018 Oct 6, #2302, #3522)
 
@@ -143,6 +147,9 @@
 
 Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
 
+Patch to reduce amount of memory used by functions that keep reference.
+(ichizok, #3961)
+
 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.
@@ -167,17 +174,43 @@
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
+When using 'k' in 'guioptions' gvim may open with a tiny window. (#3808)
+Suggested patch on the issue.
+
 nvo-mode mapping works on Windows, not on Linux. (#3678)
 
 Patch to be able to separately map CTRL-H and BS on Windows.
 (Linwei, 2017 Jul 11, #1833)
 
+Patch to fix encoding of messages on MS-Windows. (Yasuhiro Matsumoto, 2019 Feb
+13, #3914)
+
+Patch to fix encoding conversion in messages. (#3969)
+
+Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
+Also run all tests with C locale?
+
 Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29,
 #3879)
 
+"vat" doesn't work well on XML when the closing > is on another line.
+#3927
+
+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.
 
+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?
+
 When 'confirm' is set a "silent q" doesn't show the prompt.  It should in this
 case. (Nate Peterson, 2019 Jan 31, #3892)
 For "silent! q" it should not prompt and just fail.
@@ -187,16 +220,13 @@
 Suggested patch by Hirohito Higashi, 2018 Nov 18.
 
 Using CTRL-L to add a character to the search string that contains \v,
-punctiuation is repeated. (Smylers, 2018 Nov 17, #3621)
+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).
 
-Patch to convert temp file name. (Yasuhiro Matsumoto, #3520)
-Not ready to include yet.
-
 Problem with two buffers with the same name a/b, if it didn't exist before and
 is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
 
@@ -211,12 +241,22 @@
 Patch to add complete_mode().  Shougo - #3866.  Alternate patch by Hirohito
 Higashi, 2019 Jan 27, included now?
 
+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).
 
+When splitting a window with few text lines, the relative cursor position is
+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.  Needs a test.
+
 Patch to implement 'diffref' option. (#3535)
   Easier to use a 'diffmaster' option, is the extra complexity needed?
 
@@ -231,6 +271,15 @@
 
 Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
 
+Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
+
+Patch to add environ(), gets a dict with all environment vars, and getenv(),
+useful for environment vars that are not made of keyword chars.
+(Yasuhiro Matsumoto, #2875)
+
+Patch to add optional arguments with default values.
+(Andy Massimino, #3952)  under development
+
 Memory leaks in test_channel? (or is it because of fork())
 Using uninitialized value in test_crypt.
 Memory leak in test_terminal:
@@ -243,6 +292,7 @@
 ==23530==    by 0x35C923: term_start (terminal.c:421)
 ==23530==    by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
 ==23530==    by 0x2B16BE: mch_call_shell (os_unix.c:5383)
+Memory leak in test_alot with pyeval() (allocating partial)
 
 gethostbyname() is old, use getaddrinfo() if available. (#3227)
 
@@ -252,6 +302,12 @@
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
+Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
+Does #2405 do this?
+
+Patch to add an interrupt() function: sets got_int.  Useful in an autocommand
+such as BufWritePre that checks the file name or contents.
+
 Should make 'listchars' global-local.  Local to window or to buffer?
 Probably window.
 Add something like 'fillchars' local to window, but allow for specifying a
@@ -318,6 +374,11 @@
 MS-Windows: .lnk file not resolved properly when 'encoding' is set.
 (lkintact, 2018 Sep 22, #3473)
 
+Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
+
+Win32 key codes are messy.  Mike Williams tried to fix that, but now old
+mappings no longer work.  Create a new terminal for the better solution?
+
 Script generated by :mksession does not work well if there are windows with
 modified buffers
   change "silent only" into "silent only!"
@@ -350,6 +411,9 @@
 Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
 #2999)
 
+Add more testing of the GTK GUI.
+- gtk_test_widget_click() can be used to simulate a click in a widget.
+
 Tests failing for "make testgui" with GTK:
 - Test_setbufvar_options()
 - Test_exit_callback_interval()
@@ -822,10 +886,6 @@
     call Foo(12, all = 0)
     call Foo(12, 15, 0)
 
-Change the Farsi code to work with UTF-8.  Possibly combined with the Arabic
-support, or similar.
-Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
-
 Add a command to take a range of lines, filter them and put the output
 somewhere else.  :{range}copy {dest} !cmd
 
@@ -1005,9 +1065,6 @@
 use the current behavior.
 Include the test.
 
-Patch to add tagfunc().  Cleaned up by Christian Brabandt, 2013 Jun 22.
-New update 2017 Apr 10, #1628
-
 When 'keywordprg' starts with ":" the argument is still escaped as a shell
 command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
 
@@ -2079,12 +2136,6 @@
 Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
 Probably needs a bit of work.
 
-Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
-Added test, updates, June 23.
-Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
-With modification for Tatweel character: https://dpaste.de/VmFw
-Remark from Ameretat Reith (2014 Oct 13)
-
 List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
 Are they all OK?  Update Jul 22.
 
@@ -3091,8 +3142,6 @@
 8   The -P argument doesn't work very well with many MDI applications.
     The last argument of CreateWindowEx() should be used, see MSDN docs.
     Tutorial: http://win32assembly.online.fr/tut32.html
-8   In eval.c, io.h is included when MSWIN32 is defined.  Shouldn't this be
-    WIN32?  Or can including io.h be moved to vim.h? (Dan Sharp)
 6   Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
     of ":only" is highlighted like the cursor.  (Lipelis)
 8   When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index cd0b726..bf09d2e 100644
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt*	For Vim version 8.1.  Last change: 2019 Jan 30
+*usr_11.txt*	For Vim version 8.1.  Last change: 2019 Feb 04
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -284,6 +284,7 @@
 'shortmess' option.  But it's very unusual that you need this.
 
 For remarks about encryption and the swap file, see |:recover-crypt|.
+For programatic access to the swap file, see |swapinfo()|.
 
 ==============================================================================
 *11.4*	Further reading
diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt
index 3830eab..fee7b98 100644
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -153,12 +153,6 @@
 language, the default should work fine and you don't need to do anything.  The
 following is only relevant when you want to edit different languages.
 
-	Note:
-	Using different encodings only works when Vim was compiled to handle
-	it.  To find out if it works, use the ":version" command and check the
-	output for "+multi_byte".  If it's there, you are OK.  If you see
-	"-multi_byte" you will have to find another Vim.
-
 
 USING UNICODE IN THE GUI
 
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 2a9c9cf..eb50bdc 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -82,8 +82,7 @@
 			value of 'maxcombine' doesn't matter.
 			Example of a character with two composing characters:
 				e0 b8 81 + e0 b8 b9 + e0 b9 89 ~
-			{not in Vi} {only when compiled with the |+multi_byte|
-			feature}
+			{not in Vi}
 
 							*8g8*
 8g8			Find an illegal UTF-8 byte sequence at or after the
@@ -98,8 +97,7 @@
 			Note that when the cursor is on an illegal byte or the
 			cursor is halfway a multi-byte character the command
 			won't move the cursor.
-			{not in Vi} {only when compiled with the |+multi_byte|
-			feature}
+			{not in Vi}
 
 						*:p* *:pr* *:print* *E749*
 :[range]p[rint] [flags]