Runtime file updates.
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 8767d87..1c401c4 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.1.  Last change: 2019 Sep 11
+*channel.txt*      For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -223,7 +223,7 @@
 *E898* *E901* *E902*
 
 If there is an error reading or writing a channel it will be closed.
-*E630* *E631* 
+*E630* *E631*
 
 ==============================================================================
 4. Using a JSON or JS channel					*channel-use*
@@ -752,7 +752,7 @@
 
 If you want to handle both stderr and stdout with one handler use the
 "callback" option: >
-    let job = job_start(command, {"callback": "MyHandler"}) 
+    let job = job_start(command, {"callback": "MyHandler"})
 
 Depending on the system, starting a job can put Vim in the background, the
 started job gets the focus.  To avoid that, use the `foreground()` function.
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 03a33e9..4b31717 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.1.  Last change: 2019 Sep 27
+*editing.txt*   For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1452,7 +1452,7 @@
 set automatically to the method used when that file was written.  You can
 change 'cryptmethod' before writing that file to change the method.
 
-To set the default method, used for new files, use this in your |vimrc| 
+To set the default method, used for new files, use this in your |vimrc|
 file: >
 	set cm=blowfish2
 Using "blowfish2" is highly recommended.  Only use another method if you
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 95cb29f..fa4a1b7 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 Dec 01
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Dec 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -42,7 +42,8 @@
 						*E712* *E896* *E897* *E899*
 There are ten types of variables:
 
-Number		A 32 or 64 bit signed number.  |expr-number| *Number*
+							*Number* *Integer*
+Number		A 32 or 64 bit signed number.  |expr-number|
 		64-bit Numbers are available only when compiled with the
 		|+num64| feature.
 		Examples:  -123  0x10  0177  0b1011
diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt
index f461b7e..69bff78 100644
--- a/runtime/doc/ft_sql.txt
+++ b/runtime/doc/ft_sql.txt
@@ -1,4 +1,4 @@
-*ft_sql.txt*	For Vim version 8.1.  Last change: 2013 May 15
+*ft_sql.txt*	For Vim version 8.1.  Last change: 2019 Dec 07
 
 by David Fishburn
 
@@ -342,8 +342,8 @@
     imap <buffer> <C-C>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
     imap <buffer> <C-C>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
 
-The use of "<C-C>" can be user chosen by using the following in your |.vimrc| as it 
-may not work properly on all platforms: >
+The use of "<C-C>" can be user chosen by using the following in your |.vimrc|
+as it may not work properly on all platforms: >
     let g:ftplugin_sql_omni_key = '<C-C>'
 >
 The static maps (which are based on the syntax highlight groups) follow this
@@ -522,7 +522,7 @@
 tables.  The column completion is trigger via <C-C>c.
 
 NOTE: The following example uses <Right> to trigger a column list while
-      the popup window is active.  
+      the popup window is active.
 
 Example of using column completion:
      - Press <C-C>t again to display the list of tables.
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index c6888a8..b5c2f14 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt*  For Vim version 8.1.  Last change: 2019 Jul 21
+*if_mzsch.txt*  For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
@@ -87,7 +87,7 @@
 e.g.: >
 	:mzscheme (require (prefix vim- vimext))
 <
-All the examples below assume this naming scheme. 
+All the examples below assume this naming scheme.
 
 							*mzscheme-sandbox*
 When executed in the |sandbox|, access to some filesystem and Vim interface
diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt
index 46a8a5f..6d7f187 100644
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -1,4 +1,4 @@
-*if_ole.txt*    For Vim version 8.1.  Last change: 2019 May 05
+*if_ole.txt*    For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -39,7 +39,7 @@
 	$vim = new Win32::OLE 'Vim.Application';
 
 [C#] >
-        // Add a reference to Vim in your project. 
+        // Add a reference to Vim in your project.
         // Choose the COM tab.
         // Select "Vim Ole Interface 1.1 Type Library"
 	Vim.Vim vimobj = new Vim.Vim();
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index a34e7c9..10c21fe 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 8.1.  Last change: 2019 Jul 21
+*if_perl.txt*   For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
@@ -180,7 +180,7 @@
 VIM::DoCommand({cmd})	Executes Ex command {cmd}.
 
 							*perl-Eval*
-VIM::Eval({expr})	Evaluates {expr} and returns (success, value) in list 
+VIM::Eval({expr})	Evaluates {expr} and returns (success, value) in list
 			context or just value in scalar context.
 			success=1 indicates that val contains the value of
 			{expr}; success=0 indicates a failure to evaluate
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 1c50dcc..7d8f029 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 8.1.  Last change: 2019 Nov 29
+*if_pyth.txt*   For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -183,7 +183,7 @@
 	    :py text_width = vim.eval("&tw")
 	    :
 	    :" contents of the 'a' register
-	    :py a_reg = vim.eval("@a") 
+	    :py a_reg = vim.eval("@a")
 	    :
 	    :" Result is a string! Use string.atoi() to convert to a number.
 	    :py str = vim.eval("12+12")
@@ -194,25 +194,25 @@
 	'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}] ~
 
 vim.bindeval(str)					*python-bindeval*
-	Like |python-eval|, but returns special objects described in 
-	|python-bindeval-objects|. These python objects let you modify (|List| 
+	Like |python-eval|, but returns special objects described in
+	|python-bindeval-objects|. These python objects let you modify (|List|
 	or |Dictionary|) or call (|Funcref|) vim objects.
 
 vim.strwidth(str)					*python-strwidth*
-	Like |strwidth()|: returns number of display cells str occupies, tab 
+	Like |strwidth()|: returns number of display cells str occupies, tab
 	is counted as one cell.
 
 vim.foreach_rtp(callable)				*python-foreach_rtp*
-	Call the given callable for each path in 'runtimepath' until either 
-	callable returns something but None, the exception is raised or there 
-	are no longer paths. If stopped in case callable returned non-None, 
+	Call the given callable for each path in 'runtimepath' until either
+	callable returns something but None, the exception is raised or there
+	are no longer paths. If stopped in case callable returned non-None,
 	vim.foreach_rtp function returns the value returned by callable.
 
 vim.chdir(*args, **kwargs)				*python-chdir*
 vim.fchdir(*args, **kwargs)				*python-fchdir*
 	Run os.chdir or os.fchdir, then all appropriate vim stuff.
-	Note: you should not use these functions directly, use os.chdir and 
-	      os.fchdir instead. Behavior of vim.fchdir is undefined in case 
+	Note: you should not use these functions directly, use os.chdir and
+	      os.fchdir instead. Behavior of vim.fchdir is undefined in case
 	      os.fchdir does not exist.
 
 Error object of the "vim" module
@@ -247,15 +247,15 @@
 	    :py w in vim.windows	# Membership test
 	    :py n = len(vim.windows)	# Number of elements
 	    :py for w in vim.windows:	# Sequential access
-<	Note: vim.windows object always accesses current tab page. 
-	|python-tabpage|.windows objects are bound to parent |python-tabpage| 
-	object and always use windows from that tab page (or throw vim.error 
-	in case tab page was deleted). You can keep a reference to both 
-	without keeping a reference to vim module object or |python-tabpage|, 
+<	Note: vim.windows object always accesses current tab page.
+	|python-tabpage|.windows objects are bound to parent |python-tabpage|
+	object and always use windows from that tab page (or throw vim.error
+	in case tab page was deleted). You can keep a reference to both
+	without keeping a reference to vim module object or |python-tabpage|,
 	they will not lose their properties in this case.
 
 vim.tabpages						*python-tabpages*
-	A sequence object providing access to the list of vim tab pages. The 
+	A sequence object providing access to the list of vim tab pages. The
 	object supports the following operations: >
 	    :py t = vim.tabpages[i]	# Indexing (read-only)
 	    :py t in vim.tabpages	# Membership test
@@ -276,12 +276,12 @@
 	"current range".  A range is a bit like a buffer, but with all access
 	restricted to a subset of lines.  See |python-range| for more details.
 
-	Note: When assigning to vim.current.{buffer,window,tabpage} it expects 
-	valid |python-buffer|, |python-window| or |python-tabpage| objects 
-	respectively. Assigning triggers normal (with |autocommand|s) 
-	switching to given buffer, window or tab page. It is the only way to 
-	switch UI objects in python: you can't assign to 
-	|python-tabpage|.window attribute. To switch without triggering 
+	Note: When assigning to vim.current.{buffer,window,tabpage} it expects
+	valid |python-buffer|, |python-window| or |python-tabpage| objects
+	respectively. Assigning triggers normal (with |autocommand|s)
+	switching to given buffer, window or tab page. It is the only way to
+	switch UI objects in python: you can't assign to
+	|python-tabpage|.window attribute. To switch without triggering
 	autocommands use >
 	    py << EOF
 	    saved_eventignore = vim.options['eventignore']
@@ -294,12 +294,12 @@
 <
 vim.vars						*python-vars*
 vim.vvars						*python-vvars*
-	Dictionary-like objects holding dictionaries with global (|g:|) and 
-	vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`, 
+	Dictionary-like objects holding dictionaries with global (|g:|) and
+	vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`,
 	but faster.
 
 vim.options						*python-options*
-	Object partly supporting mapping protocol (supports setting and 
+	Object partly supporting mapping protocol (supports setting and
 	getting items) providing a read-write access to global options.
 	Note: unlike |:set| this provides access only to global options. You
 	cannot use this object to obtain or set local options' values or
@@ -310,7 +310,7 @@
 	buffer-local options and |python-window| objects to access to
 	window-local options.
 
-	Type of this object is available via "Options" attribute of vim 
+	Type of this object is available via "Options" attribute of vim
 	module.
 
 Output from Python					*python-output*
@@ -331,10 +331,10 @@
 		    *python2-directory* *python3-directory* *pythonx-directory*
 Python 'runtimepath' handling				*python-special-path*
 
-In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for 
-the list of paths found in 'runtimepath': with this directory in sys.path and 
-vim.path_hooks in sys.path_hooks python will try to load module from 
-{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for 
+In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
+the list of paths found in 'runtimepath': with this directory in sys.path and
+vim.path_hooks in sys.path_hooks python will try to load module from
+{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
 each {rtp} found in 'runtimepath'.
 
 Implementation is similar to the following, but written in C: >
@@ -362,8 +362,8 @@
             fmr = find_module(fullname, path)
             return load_module(fullname, *fmr)
 
-    # It uses vim module itself in place of VimPathFinder class: it does not 
-    # matter for python which object has find_module function attached to as 
+    # It uses vim module itself in place of VimPathFinder class: it does not
+    # matter for python which object has find_module function attached to as
     # an attribute.
     class VimPathFinder(object):
         @classmethod
@@ -386,28 +386,28 @@
     sys.path_hooks.append(hook)
 
 vim.VIM_SPECIAL_PATH					*python-VIM_SPECIAL_PATH*
-	String constant used in conjunction with vim path hook. If path hook 
-	installed by vim is requested to handle anything but path equal to 
-	vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other 
+	String constant used in conjunction with vim path hook. If path hook
+	installed by vim is requested to handle anything but path equal to
+	vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other
 	case it uses special loader.
 
-	Note: you must not use value of this constant directly, always use 
+	Note: you must not use value of this constant directly, always use
 	      vim.VIM_SPECIAL_PATH object.
 
 vim.find_module(...)					*python-find_module*
 vim.path_hook(path)					*python-path_hook*
-	Methods or objects used to implement path loading as described above. 
-	You should not be using any of these directly except for vim.path_hook 
-	in case you need to do something with sys.meta_path. It is not 
-	guaranteed that any of the objects will exist in the future vim 
+	Methods or objects used to implement path loading as described above.
+	You should not be using any of these directly except for vim.path_hook
+	in case you need to do something with sys.meta_path. It is not
+	guaranteed that any of the objects will exist in the future vim
 	versions.
 
 vim._get_paths						*python-_get_paths*
-	Methods returning a list of paths which will be searched for by path 
-	hook. You should not rely on this method being present in future 
+	Methods returning a list of paths which will be searched for by path
+	hook. You should not rely on this method being present in future
 	versions, but can use it for debugging.
 
-	It returns a list of {rtp}/python2 (or {rtp}/python3) and 
+	It returns a list of {rtp}/python2 (or {rtp}/python3) and
 	{rtp}/pythonx directories for each {rtp} in 'runtimepath'.
 
 ==============================================================================
@@ -436,21 +436,21 @@
 with marks (see below) which use vim line numbers.
 
 The buffer object attributes are:
-	b.vars		Dictionary-like object used to access 
+	b.vars		Dictionary-like object used to access
 			|buffer-variable|s.
-	b.options	Mapping object (supports item getting, setting and 
-			deleting) that provides access to buffer-local options 
-			and buffer-local values of |global-local| options. Use 
-			|python-window|.options if option is window-local, 
-			this object will raise KeyError. If option is 
-			|global-local| and local value is missing getting it 
+	b.options	Mapping object (supports item getting, setting and
+			deleting) that provides access to buffer-local options
+			and buffer-local values of |global-local| options. Use
+			|python-window|.options if option is window-local,
+			this object will raise KeyError. If option is
+			|global-local| and local value is missing getting it
 			will return None.
 	b.name		String, RW. Contains buffer name (full path).
-			Note: when assigning to b.name |BufFilePre| and 
+			Note: when assigning to b.name |BufFilePre| and
 			|BufFilePost| autocommands are launched.
 	b.number	Buffer number. Can be used as |python-buffers| key.
 			Read-only.
-	b.valid		True or False. Buffer object becomes invalid when 
+	b.valid		True or False. Buffer object becomes invalid when
 			corresponding buffer is wiped out.
 
 The buffer object methods are:
@@ -538,16 +538,16 @@
 				This is a tuple, (row,col).
 	height (read-write)	The window height, in rows
 	width (read-write)	The window width, in columns
-	vars (read-only)	The window |w:| variables. Attribute is 
-				unassignable, but you can change window 
+	vars (read-only)	The window |w:| variables. Attribute is
+				unassignable, but you can change window
 				variables this way
-	options (read-only)	The window-local options. Attribute is 
-				unassignable, but you can change window 
-				options this way. Provides access only to 
-				window-local options, for buffer-local use 
-				|python-buffer| and for global ones use 
-				|python-options|. If option is |global-local| 
-				and local value is missing getting it will 
+	options (read-only)	The window-local options. Attribute is
+				unassignable, but you can change window
+				options this way. Provides access only to
+				window-local options, for buffer-local use
+				|python-buffer| and for global ones use
+				|python-options|. If option is |global-local|
+				and local value is missing getting it will
 				return None.
 	number (read-only)	Window number.  The first window has number 1.
 				This is zero in case it cannot be determined
@@ -556,7 +556,7 @@
 	row, col (read-only)	On-screen window position in display cells.
 				First position is zero.
 	tabpage (read-only)	Window tab page.
-	valid (read-write)	True or False. Window object becomes invalid 
+	valid (read-write)	True or False. Window object becomes invalid
 				when corresponding window is closed.
 
 The height attribute is writable only if the screen is split horizontally.
@@ -567,21 +567,21 @@
 ==============================================================================
 6. Tab page objects					*python-tabpage*
 
-Tab page objects represent vim tab pages. You can obtain them in a number of 
+Tab page objects represent vim tab pages. You can obtain them in a number of
 ways:
 	- via vim.current.tabpage (|python-current|)
 	- from indexing vim.tabpages (|python-tabpages|)
 
-You can use this object to access tab page windows. They have no methods and 
+You can use this object to access tab page windows. They have no methods and
 no sequence or other interfaces.
 
 Tab page attributes are:
-	number		The tab page number like the one returned by 
+	number		The tab page number like the one returned by
 			|tabpagenr()|.
 	windows		Like |python-windows|, but for current tab page.
 	vars		The tab page |t:| variables.
 	window		Current tabpage window.
-	valid		True or False. Tab page object becomes invalid when 
+	valid		True or False. Tab page object becomes invalid when
 			corresponding tab page is closed.
 
 TabPage object type is available using "TabPage" attribute of vim module.
@@ -598,8 +598,8 @@
                     zero            Variable is not locked
                     vim.VAR_LOCKED  Variable is locked, but can be unlocked
                     vim.VAR_FIXED   Variable is locked and can't be unlocked
-                   Read-write. You can unlock locked variable by assigning 
-                   `True` or `False` to this attribute. No recursive locking 
+                   Read-write. You can unlock locked variable by assigning
+                   `True` or `False` to this attribute. No recursive locking
                    is supported.
         scope      One of
                     Value              Description ~
@@ -615,23 +615,23 @@
         update(iterable), update(dictionary), update(**kwargs)
                     Adds keys to dictionary.
         get(key[, default=None])
-                    Obtain key from dictionary, returning the default if it is 
+                    Obtain key from dictionary, returning the default if it is
                     not present.
         pop(key[, default])
-                    Remove specified key from dictionary and return 
-                    corresponding value. If key is not found and default is 
+                    Remove specified key from dictionary and return
+                    corresponding value. If key is not found and default is
                     given returns the default, otherwise raises KeyError.
         popitem()
-                    Remove random key from dictionary and return (key, value) 
+                    Remove random key from dictionary and return (key, value)
                     pair.
         has_key(key)
-                    Check whether dictionary contains specified key, similar 
+                    Check whether dictionary contains specified key, similar
                     to `key in dict`.
 
         __new__(), __new__(iterable), __new__(dictionary), __new__(update)
-                    You can use `vim.Dictionary()` to create new vim 
-                    dictionaries. `d=vim.Dictionary(arg)` is the same as 
-                    `d=vim.bindeval('{}');d.update(arg)`. Without arguments 
+                    You can use `vim.Dictionary()` to create new vim
+                    dictionaries. `d=vim.Dictionary(arg)` is the same as
+                    `d=vim.bindeval('{}');d.update(arg)`. Without arguments
                     constructs empty dictionary.
 
     Examples: >
@@ -652,15 +652,15 @@
 
 vim.List object					*python-List*
     Sequence-like object providing access to vim |List| type.
-    Supports `.locked` attribute, see |python-.locked|. Also supports the 
+    Supports `.locked` attribute, see |python-.locked|. Also supports the
     following methods:
         Method          Description ~
         extend(item)    Add items to the list.
 
         __new__(), __new__(iterable)
-                        You can use `vim.List()` to create new vim lists. 
-                        `l=vim.List(iterable)` is the same as 
-                        `l=vim.bindeval('[]');l.extend(iterable)`. Without 
+                        You can use `vim.List()` to create new vim lists.
+                        `l=vim.List(iterable)` is the same as
+                        `l=vim.bindeval('[]');l.extend(iterable)`. Without
                         arguments constructs empty list.
     Examples: >
         l = vim.List("abc")		# Constructor, result: ['a', 'b', 'c']
@@ -674,24 +674,24 @@
         class List(vim.List):		# Subclassing
 
 vim.Function object				*python-Function*
-    Function-like object, acting like vim |Funcref| object. Accepts special 
-    keyword argument `self`, see |Dictionary-function|. You can also use 
-    `vim.Function(name)` constructor, it is the same as 
+    Function-like object, acting like vim |Funcref| object. Accepts special
+    keyword argument `self`, see |Dictionary-function|. You can also use
+    `vim.Function(name)` constructor, it is the same as
     `vim.bindeval('function(%s)'%json.dumps(name))`.
 
     Attributes (read-only):
         Attribute    Description ~
         name         Function name.
-        args         `None` or a |python-List| object with arguments.  Note 
-                     that this is a copy of the arguments list, constructed 
-                     each time you request this attribute. Modifications made 
-                     to the list will be ignored (but not to the containers 
-                     inside argument list: this is like |copy()| and not 
+        args         `None` or a |python-List| object with arguments.  Note
+                     that this is a copy of the arguments list, constructed
+                     each time you request this attribute. Modifications made
+                     to the list will be ignored (but not to the containers
+                     inside argument list: this is like |copy()| and not
                      |deepcopy()|).
-        self         `None` or a |python-Dictionary| object with self 
-                     dictionary. Note that explicit `self` keyword used when 
+        self         `None` or a |python-Dictionary| object with self
+                     dictionary. Note that explicit `self` keyword used when
                      calling resulting object overrides this attribute.
-        auto_rebind  Boolean. True if partial created from this Python object 
+        auto_rebind  Boolean. True if partial created from this Python object
                      and stored in the Vim script dictionary should be
                      automatically rebound to the dictionary it is stored in
                      when this dictionary is indexed. Exposes Vim internal
@@ -699,11 +699,11 @@
                      `function(dict.func,dict)` (auto_rebind=False). This
                      attribute makes no sense if `self` attribute is `None`.
 
-    Constructor additionally accepts `args`, `self` and `auto_rebind` 
-    keywords.  If `args` and/or `self` argument is given then it constructs 
-    a partial, see |function()|.  `auto_rebind` is only used when `self` 
-    argument is given, otherwise it is assumed to be `True` regardless of 
-    whether it was given or not.  If `self` is given then it defaults to 
+    Constructor additionally accepts `args`, `self` and `auto_rebind`
+    keywords.  If `args` and/or `self` argument is given then it constructs
+    a partial, see |function()|.  `auto_rebind` is only used when `self`
+    argument is given, otherwise it is assumed to be `True` regardless of
+    whether it was given or not.  If `self` is given then it defaults to
     `False`.
 
     Examples: >
@@ -726,7 +726,7 @@
 ==============================================================================
 8. pyeval() and py3eval() Vim functions			*python-pyeval*
 
-To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()| 
+To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
 functions to evaluate Python expressions and pass their values to Vim script.
 |pyxeval()| is also available.
 
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index e7f9af9..a282b3d 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 8.1.  Last change: 2019 Aug 01
+*indent.txt*    For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -532,7 +532,7 @@
 <
 			*javascript-cinoptions* *javascript-indenting* *cino-J*
 	JN    Indent JavaScript object declarations correctly by not confusing
-	      them with labels.  The value 'N' is currently unused but must be 
+	      them with labels.  The value 'N' is currently unused but must be
 	      non-zero (e.g. 'J1').  If you enable this you probably also want
 	      to set |cino-j|. >
 
@@ -541,7 +541,7 @@
 			that: this,
 			some: ok,
 		    },
-		    "bar":{ 
+		    "bar":{
 			a : 2,
 			b: "123abc",
 			x: 4,
@@ -885,7 +885,7 @@
 							*PHP_BracesAtCodeLevel*
 To indent braces at the same level than the code they contain: >
     :let g:PHP_BracesAtCodeLevel = 1
-    
+
 This will give the following result: >
     if ($foo)
 	{
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index f4fc249..8418130 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 Nov 26
+*options.txt*	For Vim version 8.1.  Last change: 2019 Dec 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -496,10 +496,11 @@
 
 					*modeline* *vim:* *vi:* *ex:* *E520*
 There are two forms of modelines.  The first form:
-	[text]{white}{vi:|vim:|ex:}[white]{options}
+	[text{white}]{vi:|vim:|ex:}[white]{options}
 
-[text]			any text or empty
-{white}			at least one blank character (<Space> or <Tab>)
+[text{white}]		empty or any text followed by at least one blank
+			character (<Space> or <Tab>); "ex:" always requires at
+			least one blank character
 {vi:|vim:|ex:}		the string "vi:", "vim:" or "ex:"
 [white]			optional white space
 {options}		a list of option settings, separated with white space
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index 7b6ebd4..505d389 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt*    For Vim version 8.1.  Last change: 2016 Feb 27
+*os_390.txt*    For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL	  by Ralf Schandl
@@ -93,7 +93,7 @@
 
 - No glib/gtk support.  I have not been able to successfully compile glib on
   z/OS UNIX.  This means you'll have to live without the pretty gtk toolbar.
- 
+
 Disabled at compile time:
     - Multibyte support         (|multibyte|)
     - Right-to-left mode        (|rileft|)
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index f9d5d51..8359b14 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 8.1.  Last change: 2019 May 05
+*pattern.txt*   For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -78,7 +78,7 @@
 				4. the first non-blank word after the cursor,
 				   in the current line
 			Only whole keywords are searched for, like with the
-			command "/\<keyword\>".  |exclusive| 
+			command "/\<keyword\>".  |exclusive|
 			'ignorecase' is used, 'smartcase' is not.
 
 							*#*
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 8c1943b..ee26cec 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 8.1.  Last change: 2019 Oct 22
+*quickfix.txt*  For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -313,7 +313,7 @@
 							*:cex* *:cexpr* *E777*
 :cex[pr][!] {expr}	Create a quickfix list using the result of {expr} and
 			jump to the first error.
-			If {expr} is a String, then each new-line terminated
+			If {expr} is a String, then each newline terminated
 			line in the String is processed using the global value
 			of 'errorformat' and the result is added to the
 			quickfix list.
@@ -1099,7 +1099,7 @@
 			allowed with |:bufdo|.
 			An example that uses the argument list and avoids
 			errors for files without matches: >
-                                :silent argdo try 
+                                :silent argdo try
 				  \ | grepadd! something %
 				  \ | catch /E480:/
 				  \ | endtry"
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 3b5575f..df06a08 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 Nov 07
+*quickref.txt*  For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -627,7 +627,7 @@
 'bioskey'	  'biosk'   MS-DOS: use bios calls for input characters
 'bomb'			    prepend a Byte Order Mark to the file
 'breakat'	  'brk'     characters that may cause a line break
-'breakindent'	  'bri'     wrapped line repeats indent 
+'breakindent'	  'bri'     wrapped line repeats indent
 'breakindentopt'  'briopt'  settings for 'breakindent'
 'browsedir'	  'bsdir'   which directory to start browsing in
 'bufhidden'	  'bh'	    what to do when buffer is no longer in window
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 8dd506a..333b895 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 8.1.  Last change: 2019 Sep 20
+*repeat.txt*    For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -79,7 +79,7 @@
 the command.  If an error message is given for a line, the command for that
 line is aborted and the global command continues with the next marked or
 unmarked line.
-								*E147* 
+								*E147*
 When the command is used recursively, it only works on one line.  Giving a
 range is then not allowed. This is useful to find all lines that match a
 pattern and do not match another pattern: >
@@ -193,7 +193,7 @@
 			Read Ex commands from {file} in each directory given
 			by 'runtimepath' and/or 'packpath'.  There is no error
 			for non-existing files.
-			
+
 			Example: >
 				:runtime syntax/c.vim
 
@@ -268,7 +268,7 @@
 						*:packl* *:packloadall*
 :packl[oadall][!]	Load all packages in the "start" directory under each
 			entry in 'packpath'.
-			
+
 			First all the directories found are added to
 			'runtimepath', then the plugins found in the
 			directories are sourced.  This allows for a plugin to
@@ -547,7 +547,7 @@
 directories are added to 'runtimepath'.  Then all the plugins are loaded.
 See |packload-two-steps| for how these two steps can be useful.
 
-In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds 
+In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds
 "~/.vim/pack/foo/start/foobar" to 'runtimepath'.
 
 If the "foobar" plugin kicks in and sets the 'filetype' to "some", Vim will
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 6a9f6ae..3a9d024 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.1.  Last change: 2019 Nov 29
+*syntax.txt*	For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1401,26 +1401,26 @@
 
 EUPHORIA	    *euphoria3.vim* *euphoria4.vim* *ft-euphoria-syntax*
 
-Two syntax highlighting files exists for Euphoria. One for Euphoria 
-version 3.1.1, which is the default syntax highlighting file, and one for 
+Two syntax highlighting files exists for Euphoria. One for Euphoria
+version 3.1.1, which is the default syntax highlighting file, and one for
 Euphoria version 4.0.5 or later.
 
-Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary 
-for developing applications for the DOS platform, which Euphoria version 4 
+Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary
+for developing applications for the DOS platform, which Euphoria version 4
 (http://www.openeuphoria.org/) does not support.
 
-The following file extensions are auto-detected as Euphoria file type: 
-    
+The following file extensions are auto-detected as Euphoria file type:
+
 	*.e, *.eu, *.ew, *.ex, *.exu, *.exw
 	*.E, *.EU, *.EW, *.EX, *.EXU, *.EXW
 
-To select syntax highlighting file for Euphoria, as well as for 
+To select syntax highlighting file for Euphoria, as well as for
 auto-detecting the *.e and *.E file extensions as Euphoria file type,
 add the following line to your startup file: >
 
 	:let filetype_euphoria="euphoria3"
 
-	or 
+	or
 
 	:let filetype_euphoria="euphoria4"
 
@@ -3537,26 +3537,26 @@
 YAML						*yaml.vim* *ft-yaml-syntax*
 
 					*g:yaml_schema* *b:yaml_schema*
-A YAML schema is a combination of a set of tags and a mechanism for resolving 
-non-specific tags. For user this means that YAML parser may, depending on 
-plain scalar contents, treat plain scalar (which can actually be only string 
-and nothing else) as a value of the other type: null, boolean, floating-point, 
-integer. `g:yaml_schema` option determines according to which schema values 
+A YAML schema is a combination of a set of tags and a mechanism for resolving
+non-specific tags. For user this means that YAML parser may, depending on
+plain scalar contents, treat plain scalar (which can actually be only string
+and nothing else) as a value of the other type: null, boolean, floating-point,
+integer. `g:yaml_schema` option determines according to which schema values
 will be highlighted specially. Supported schemas are
 
 Schema		Description ~
 failsafe	No additional highlighting.
 json		Supports JSON-style numbers, booleans and null.
 core		Supports more number, boolean and null styles.
-pyyaml		In addition to core schema supports highlighting timestamps, 
-		but there are some differences in what is recognized as 
-		numbers and many additional boolean values not present in core 
+pyyaml		In addition to core schema supports highlighting timestamps,
+		but there are some differences in what is recognized as
+		numbers and many additional boolean values not present in core
 		schema.
 
 Default schema is `core`.
 
-Note that schemas are not actually limited to plain scalars, but this is the 
-only difference between schemas defined in YAML specification and the only 
+Note that schemas are not actually limited to plain scalars, but this is the
+only difference between schemas defined in YAML specification and the only
 difference defined in the syntax file.
 
 
@@ -3658,7 +3658,7 @@
 
 	clear:		Syntax specific iskeyword setting is disabled and the
 			buffer-local 'iskeyword' setting is used.
-	{option}        Set the syntax 'iskeyword' option to a new value. 
+	{option}        Set the syntax 'iskeyword' option to a new value.
 
 	Example: >
   :syntax iskeyword @,48-57,192-255,$,_
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 9d691d6..f63ee1b 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4867,6 +4867,7 @@
 InsertCharPre	autocmd.txt	/*InsertCharPre*
 InsertEnter	autocmd.txt	/*InsertEnter*
 InsertLeave	autocmd.txt	/*InsertLeave*
+Integer	eval.txt	/*Integer*
 J	change.txt	/*J*
 Japanese	mbyte.txt	/*Japanese*
 Job	eval.txt	/*Job*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 1adc628..5cc9e7c 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 Oct 27
+*term.txt*      For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -505,7 +505,7 @@
 
 							*xterm-true-color*
 Vim supports using true colors in the terminal (taken from |highlight-guifg|
-and |highlight-guibg|), given that the terminal supports this. To make this 
+and |highlight-guibg|), given that the terminal supports this. To make this
 work the 'termguicolors' option needs to be set.
 See https://gist.github.com/XVilka/8346728 for a list of terminals that
 support true colors.
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 4dcf2be..e80624e 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 Nov 03
+*terminal.txt*	For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -72,7 +72,7 @@
 	CTRL-W :	enter an Ex command
 See |CTRL-W| for more commands.
 
-Special in the terminal window:			*t_CTRL-W_.*  *t_CTRL-W_N* 
+Special in the terminal window:			*t_CTRL-W_.*  *t_CTRL-W_N*
 	CTRL-W .	send a CTRL-W to the job in the terminal
 	CTRL-W CTRL-\	send a CTRL-\ to the job in the terminal
 	CTRL-W N	go to Terminal-Normal mode, see |Terminal-mode|
@@ -926,7 +926,7 @@
 
 		Call a user defined function with {argument}.
 		The function is called with two arguments: the buffer number
-		of the terminal and {argument}, the decoded JSON argument. 
+		of the terminal and {argument}, the decoded JSON argument.
 		By default, the function name must start with "Tapi_" to avoid
 		accidentally calling a function not meant to be used for the
 		terminal API.  This can be changed with |term_setapi()|.
@@ -1140,7 +1140,7 @@
 
 The current window is used to show the source code.  When gdb pauses the
 source file location will be displayed, if possible.  A sign is used to
-highlight the current position, using highlight group debugPC.	 
+highlight the current position, using highlight group debugPC.
 
 If the buffer in the current window is modified, another window will be opened
 to display the current gdb position.  You can use `:Winbar` to add a window
@@ -1197,7 +1197,7 @@
 	run
 Vim will start running in the program window. Put focus there and type: >
 	:help gui
-Gdb will run into the ex_help breakpoint.  The source window now shows the 
+Gdb will run into the ex_help breakpoint.  The source window now shows the
 ex_cmds.c file.  A red "1 " marker will appear in the signcolumn where the
 breakpoint was set.  The line where the debugger stopped is highlighted.  You
 can now step through the program.  Let's use the mouse: click on the "Next"
diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt
index d121eee..cffcbfc 100644
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt*  For Vim version 8.1.  Last change: 2019 Nov 12
+*textprop.txt*  For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -45,7 +45,7 @@
 
 Property Types ~
 							*E971*
-A text property normally has the name of a property type, which defines 
+A text property normally has the name of a property type, which defines
 how to highlight the text.  The property type can have these entries:
 	"highlight"	name of the highlight group to use
 	"combine"	when omitted or TRUE the text property highlighting is
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 10181b8..f709155 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 Dec 05
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -52,7 +52,7 @@
 - Text properties spanning more than one line
 - See remarks at top of src/textprop.c
 
-'incsearch' with :s: 
+'incsearch' with :s:
 - :s/foo  using CTRL-G moves to another line, should not happen, or use the
   correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
 - :s@pat/tern@ doesn't include "/" in the pattern. (Takahiro Yoshihara, #3637)
@@ -137,10 +137,11 @@
 Also put :argadd commands at the start for all buffers, so that their order
 remains equal?  Then %argdel to clean it up.  Do try this with 'hidden' set.
 Also #4994: window-local options not always restored, related to using :badd.
+Also #5326: netrw buffers are not restored.
 
 Completion mixes results from the current buffer with tags and other files.
-Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
-terminal.c and then CTRL-N twice.
+Happens when typing CTRL-N while still searching for results.  E.g., type "b_"
+in terminal.c and then CTRL-N twice.
 Should do current file first and not split it up when more results are found.
 (Also #1890)
 
@@ -205,10 +206,6 @@
 
 Patch to support "0o" for octal numbers. (Ken Takata, #5304)
 
-":cexpr" sees a | in the expression as the start of the next command.  Should
-remove the "BAR" flag from the command and let the command search for the next
-command after parsing the expression.
-
 When getting a focus event halfway a mapping this aborts the mapping.  E.g.
 when "qq" is mapped and after the first "q" the mouse is moved outside of the
 gvim window (with focus follows mouse), then the K_FOCUSLOST key is put in the
@@ -333,7 +330,7 @@
 http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
 http://vimawesome.com/?q=tag:color-scheme
 Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
-- monokai - Xia Crusoe (2017 Aug 4) 
+- monokai - Xia Crusoe (2017 Aug 4)
 - seoul256 - Christian Brabandt (2017 Aug 3)
 - gruvbox -  Christian Brabandt (2017 Aug 3) (simplified version from
       Lifepillar, 2018 Jan 22, #2573)
@@ -643,9 +640,9 @@
 Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
 24)
 
-Try out background make plugin: 
+Try out background make plugin:
   https://github.com/AndrewVos/vim-make-background
-or asyncmake: 
+or asyncmake:
   https://github.com/yegappan/asyncmake
 
 Add a ModeChanged autocommand that has an argument indicating the old and new
@@ -2511,7 +2508,7 @@
 Patch by Christian Brabandt, 2013 May 31.
 
 The utf class table is missing some entries:
-	0x2212, minus sign 
+	0x2212, minus sign
 	0x2217, star
 	0x2500, bar
 	0x26ab, circle
@@ -2784,7 +2781,7 @@
 
 When 'backupskip' is set from $TEMP special characters need to be escaped.
 (patch by Grembowietz, 2007 Feb 26, not quite right)
-Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\(" 
+Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("
 will be seen as a path separator plus "\(".
 
 gvim d:\path\path\(FILE).xml should not remove the \ before the (.
@@ -3951,7 +3948,7 @@
 
 Spell checking:
 -   Support more regions? Caolan McNamara argues it's needed for es_XX.
-    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777    
+    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777
 -   Unicode defines another quote character: 0x2019.  Use it as an equivalent
     of a single quote, thus use it as a word character like a quote and match
     with words, replacing the curly quote with a single quote.
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
index 47ba3b0..f77629f 100644
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt*    For Vim version 8.1.  Last change: 2018 May 17
+*uganda.txt*    For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -216,7 +216,7 @@
 USA:		The methods mentioned below can be used.
 		Sending a check to the Nehemiah Group Outreach Society (NGOS)
 		is no longer possible, unfortunately. We are looking for
-		another way to get you an IRS tax receipt. 
+		another way to get you an IRS tax receipt.
 		For sponsoring a child contact KCF in Canada (see below). US
 		checks can be sent to them to lower banking costs.
 
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 92553ab..373f513 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 8.1.  Last change: 2019 May 07
+*undo.txt*      For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -271,7 +271,7 @@
 		(the magic number at the start of the file is wrong), then
 		this fails, unless the ! was added.
 		If it exists and does look like an undo file it is
-		overwritten. If there is no undo-history, nothing will be 
+		overwritten. If there is no undo-history, nothing will be
 		written.
 		Implementation detail: Overwriting happens by first deleting
 		the existing file and then creating a new file with the same
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index 3fcdf31..f816e44 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt*	For Vim version 8.1.  Last change: 2019 Apr 27
+*usr_22.txt*	For Vim version 8.1.  Last change: 2019 Dec 07
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -74,9 +74,9 @@
 You can press <F1> to get help on the things you can do in the netrw file
 browser.  This is what you get: >
 
-    9. Directory Browsing	 netrw-browse   netrw-dir   netrw-list   netrw-help 
+    9. Directory Browsing	 netrw-browse   netrw-dir   netrw-list   netrw-help
 
-    MAPS								 netrw-maps 
+    MAPS								 netrw-maps
      	 <F1>.............Help.......................................|netrw-help|
      	 <cr>.............Browsing...................................|netrw-cr|
      	 <del>............Deleting Files or Directories..............|netrw-delete|
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 37bf9d3..117bd0f 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 8.1.  Last change: 2019 Dec 01
+*various.txt*   For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -53,7 +53,7 @@
 			When the character is a non-standard ASCII character,
 			but printable according to the 'isprint' option, the
 			non-printable version is also given.
-			
+
 			When the character is larger than 127, the <M-x> form
 			is also printed.  For example:
 				<~A>  <M-^A>  129,  Hex 81,  Octal 201 ~
@@ -518,11 +518,11 @@
 			optional.
 :redi[r] @{a-z}>>	Append messages to register {a-z}.
 
-:redi[r] @*>		
+:redi[r] @*>
 :redi[r] @+>		Redirect messages to the selection or clipboard. For
 			backward compatibility, the ">" after the register
 			name can be omitted. See |quotestar| and |quoteplus|.
-:redi[r] @*>>		
+:redi[r] @*>>
 :redi[r] @+>>		Append messages to the selection or clipboard.
 
 :redi[r] @">		Redirect messages to the unnamed register. For
@@ -715,7 +715,7 @@
 			after the X server restarts, e.g. when running Vim for
 			long time inside screen/tmux and connecting from
 			different machines.
-			[display] should be in the format of the $DISPLAY 
+			[display] should be in the format of the $DISPLAY
 			environment variable (e.g. "localhost:10.0")
 			If [display] is	omitted, then it reinitializes the
 			connection to the X11 server using the same value as
@@ -723,7 +723,7 @@
 			If the value was never specified, then it uses the
 			value of $DISPLAY environment variable as it was when
 			Vim was started.
-			{only available when compiled with the |+clipboard| 
+			{only available when compiled with the |+clipboard|
 			feature}
 
 							*g_CTRL-A*
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index c74ca0b..dacb52d 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.1.  Last change: 2019 Dec 05
+*version8.txt*  For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -40763,7 +40763,7 @@
             src/os_mac.h, src/os_qnx.h, src/os_unix.h, src/os_unixx.h,
             src/os_vms_conf.h, src/os_win32.h, src/proto.h, src/regexp.h,
             src/spell.h, src/structs.h, src/term.h, src/version.h, src/vimio.h
- 
+
 Patch 8.1.2367
 Problem:    Registers are not sufficiently tested.
 Solution:   Add a few more test cases. (Yegappan Lakshmanan, closes #5288)
@@ -40841,8 +40841,8 @@
 Patch 8.1.2376
 Problem:    Preprocessor indents are incorrect.
 Solution:   Fix the indents. (Ken Takata, closes #5298)
-Files:	    src/drawline.c, src/gui_w32.c src/os_mswin.c src/os_win32.c
-            src/proto.h
+Files:	    src/drawline.c, src/gui_w32.c, src/os_mswin.c, src/os_win32.c,
+	    src/proto.h
 
 Patch 8.1.2377
 Problem:    GUI: when losing focus a pending operator is executed.
@@ -40931,5 +40931,76 @@
             src/xdiff/xemit.h, src/xdiff/xinclude.h, src/xdiff/xmacros.h,
             src/xdiff/xprepare.h, src/xdiff/xtypes.h, src/xdiff/xutils.h
 
+Patch 8.1.2390
+Problem:    Test94 is old style, fix 7.4.441 not tested.
+Solution:   Turn test94 into a new style test.  Add tests for the fix in patch
+            7.4.441. (Yegappan Lakshmanan, closes #5316)
+Files:	    src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+            src/testdir/test94.in, src/testdir/test94.ok,
+            src/testdir/test_cmdline.vim, src/testdir/test_visual.vim
+
+Patch 8.1.2391
+Problem:    Cannot build when __QNXNTO__ is defined. (Ian Wayne Larson)
+Solution:   Move the check for "qansi". (Ken Takata, closes #5317)
+Files:	    src/highlight.c
+
+Patch 8.1.2392
+Problem:    Using old C style comments.
+Solution:   Use // comments where appropriate.
+Files:	    src/nbdebug.c, src/netbeans.c, src/normal.c, src/ops.c,
+            src/option.c
+
+Patch 8.1.2393
+Problem:    Using old C style comments.
+Solution:   Use // comments where appropriate.
+Files:	    src/os_amiga.c, src/os_beos.c, src/os_mac_conv.c, src/os_mswin.c,
+            src/os_qnx.c, src/os_unix.c, src/os_vms.c, src/os_win32.c
+
+Patch 8.1.2394
+Problem:    Using old C style comments.
+Solution:   Use // comments where appropriate.
+Files:	    src/popupmenu.c, src/pty.c, src/quickfix.c, src/regexp.c,
+            src/regexp_nfa.c, src/screen.c, src/search.c, src/sha256.c,
+            src/sign.c
+
+Patch 8.1.2395
+Problem:    Using old C style comments.
+Solution:   Use // comments where appropriate.
+Files:	    src/spell.c, src/spellfile.c, src/syntax.c, src/tag.c, src/term.c,
+            src/terminal.c, src/termlib.c, src/testing.c
+
+Patch 8.1.2396
+Problem:    Using old C style comments.
+Solution:   Use // comments where appropriate.
+Files:	    src/ui.c, src/undo.c, src/uninstall.c, src/usercmd.c,
+            src/userfunc.c, src/winclip.c, src/window.c, src/xpm_w32.c
+
+Patch 8.1.2397
+Problem:    Should not define __USE_XOPEN. _XOPEN_SOURCE is not needed for
+            Android.
+Solution:   Remove __USE_XOPEN and adjust #ifdefs. (Ozaki Kiichi,
+            closes #5322)
+Files:	    src/vim.h
+
+Patch 8.1.2398
+Problem:    strptime() test fails on Japanese Mac.
+Solution:   Use %T instead of %X.
+Files:	    src/testdir/test_functions.vim
+
+Patch 8.1.2399
+Problem:    Info popup on top of cursor if it doesn't fit.
+Solution:   Hide the popup if it doesn't fit.
+Files:	    src/popupmenu.c, src/testdir/test_popupwin.vim,
+            src/testdir/dumps/Test_popupwin_infopopup_wide_1.dump
+
+Patch 8.1.2400
+Problem:    Test39 is old style.
+Solution:   Convert the test cases into new style. (Yegappan Lakshmanan,
+            closes #5324)
+Files:	    src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
+            src/testdir/test39.in, src/testdir/test39.ok,
+            src/testdir/test_blockedit.vim, src/testdir/test_visual.vim
+
+
 
  vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 38485f2..0d8f001 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.1.  Last change: 2019 Oct 27
+*windows.txt*   For Vim version 8.1.  Last change: 2019 Dec 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -146,7 +146,7 @@
 :[N]sp[lit] [++opt] [+cmd] [file]			*:sp* *:split*
 		Split current window in two.  The result is two viewports on
 		the same file.
-		
+
 		Make the new window N high (default is to use half the height
 		of the current window).  Reduces the current window height to
 		create room (and others, if the 'equalalways' option is set,
@@ -294,14 +294,14 @@
 
 		When quitting the last window (not counting a help window),
 		exit Vim.
-		
+
 		When 'hidden' is set, and there is only one window for the
 		current buffer, it becomes hidden.  When 'hidden' is not set,
 		and there is only one window for the current buffer, and the
 		buffer was changed, the command fails.
-		
+
 		(Note: CTRL-Q does not work on all terminals).
-		
+
 		If [count] is greater than the last window number the last
 		window will be closed: >
 		    :1quit  " quit the first window
@@ -334,7 +334,7 @@
 		When the 'hidden' option is set, or when the buffer was
 		changed and the [!] is used, the buffer becomes hidden (unless
 		there is another window editing it).
-		
+
 		When there is only one window in the current tab page and
 		there is another tab page, this closes the current tab page.
 		|tab-page|.
@@ -357,12 +357,12 @@
 		Without {count}: Quit the current window, unless it is the
 		last window on the screen.
 		If {count} is given quit the {count} window.
-		
+
 		The buffer becomes hidden (unless there is another window
 		editing it or 'bufhidden' is "unload", "delete" or "wipe").
 		If the window is the last one in the current tab page the tab
-		page is closed.  |tab-page| 
-		
+		page is closed.  |tab-page|
+
 		The value of 'hidden' is irrelevant for this command.  Changes
 		to the buffer are not written and won't get lost, so this is a
 		"safe" command.
@@ -380,10 +380,10 @@
 CTRL-W CTRL-O					*CTRL-W_CTRL-O* *:on* *:only*
 		Make the current window the only one on the screen.  All other
 		windows are closed.  For {count} see |:quit| command.
-		
+
 		When the 'hidden' option is set, all buffers in closed windows
 		become hidden.
-		
+
 		When 'hidden' is not set, and the 'autowrite' option is set,
 		modified buffers are written.  Otherwise, windows that have
 		buffers that are modified are not removed, unless the [!] is
diff --git a/runtime/gvim.desktop b/runtime/gvim.desktop
index 97c8d38..3b9ed3a 100644
--- a/runtime/gvim.desktop
+++ b/runtime/gvim.desktop
@@ -4,6 +4,7 @@
 # Translators: This is the Application Name used in the GVim desktop file
 Name[de]=GVim
 Name[eo]=GVim
+Name[fr]=GVim
 Name[ru]=GVim
 Name[sr]=GVim
 Name[tr]=GVim
@@ -11,6 +12,7 @@
 # Translators: This is the Generic Application Name used in the Vim desktop file
 GenericName[de]=Texteditor
 GenericName[eo]=Tekstoredaktilo
+GenericName[fr]=Éditeur de texte
 GenericName[ja]=テキストエディタ
 GenericName[ru]=Текстовый редактор
 GenericName[sr]=Текст Едитор
@@ -19,6 +21,7 @@
 # Translators: This is the comment used in the Vim desktop file
 Comment[de]=Textdateien bearbeiten
 Comment[eo]=Redakti tekstajn dosierojn
+Comment[fr]=Éditer des fichiers texte
 Comment[ja]=テキストファイルを編集します
 Comment[ru]=Редактирование текстовых файлов
 Comment[sr]=Уређивање текст фајлова
@@ -27,7 +30,6 @@
 # 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!
 GenericName[da]=Teksteditor
-GenericName[fr]=Éditeur de texte
 GenericName[pl]=Edytor tekstu
 GenericName[is]=Ritvinnsluforrit
 Comment[af]=Redigeer tekslêers
@@ -50,7 +52,6 @@
 Comment[eu]=Editatu testu-fitxategiak
 Comment[fa]=ویرایش پرونده‌های متنی
 Comment[fi]=Muokkaa tekstitiedostoja
-Comment[fr]=Éditer des fichiers textes
 Comment[ga]=Eagar comhad Téacs
 Comment[gu]=લખાણ ફાઇલોમાં ફેરફાર કરો
 Comment[he]=ערוך קבצי טקסט
@@ -100,6 +101,7 @@
 # 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[eo]=Teksto;redaktilo;
+Keywords[fr]=Texte;éditeur;
 Keywords[ja]=テキスト;エディタ;
 Keywords[ru]=текст;текстовый редактор;
 Keywords[sr]=Текст;едитор;
@@ -108,6 +110,7 @@
 # Translators: This is the Icon file name. Do NOT translate
 Icon[de]=gvim
 Icon[eo]=gvim
+Icon[fr]=gvim
 Icon[ru]=gvim
 Icon[sr]=gvim
 Icon=gvim
diff --git a/runtime/syntax/gitrebase.vim b/runtime/syntax/gitrebase.vim
index 1ec2b59..bc6f34d 100644
--- a/runtime/syntax/gitrebase.vim
+++ b/runtime/syntax/gitrebase.vim
@@ -2,7 +2,7 @@
 " Language:	git rebase --interactive
 " Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
 " Filenames:	git-rebase-todo
-" Last Change:	2019 Dec 05
+" Last Change:	2019 Dec 06
 
 if exists("b:current_syntax")
   finish
@@ -23,7 +23,7 @@
 syn match   gitrebaseNoop   "\v^noop>"
 syn match   gitrebaseMerge  "\v^m(erge)=>"   nextgroup=gitrebaseMergeOption,gitrebaseName skipwhite
 syn match   gitrebaseLabel  "\v^l(abel)=>"   nextgroup=gitrebaseName skipwhite
-syn match   gitrebaseReset  "\v^r(eset)=>"   nextgroup=gitrebaseName skipwhite
+syn match   gitrebaseReset  "\v^(t|reset)=>" nextgroup=gitrebaseName skipwhite
 syn match   gitrebaseSummary ".*"               contains=gitrebaseHash contained
 syn match   gitrebaseCommand ".*"                                      contained
 syn match   gitrebaseComment "^\s*#.*"             contains=gitrebaseHash
diff --git a/runtime/vim.desktop b/runtime/vim.desktop
index 3b0d77a..75fcac5 100644
--- a/runtime/vim.desktop
+++ b/runtime/vim.desktop
@@ -4,6 +4,7 @@
 # Translators: This is the Application Name used in the Vim desktop file
 Name[de]=Vim
 Name[eo]=Vim
+Name[fr]=Vim
 Name[ru]=Vim
 Name[sr]=Vim
 Name[tr]=Vim
@@ -11,6 +12,7 @@
 # Translators: This is the Generic Application Name used in the Vim desktop file
 GenericName[de]=Texteditor
 GenericName[eo]=Tekstoredaktilo
+GenericName[fr]=Éditeur de texte
 GenericName[ja]=テキストエディタ
 GenericName[ru]=Текстовый редактор
 GenericName[sr]=Текст Едитор
@@ -19,6 +21,7 @@
 # Translators: This is the comment used in the Vim desktop file
 Comment[de]=Textdateien bearbeiten
 Comment[eo]=Redakti tekstajn dosierojn
+Comment[fr]=Éditer des fichiers texte
 Comment[ja]=テキストファイルを編集します
 Comment[ru]=Редактирование текстовых файлов
 Comment[sr]=Уређивање текст фајлова
@@ -49,7 +52,6 @@
 Comment[eu]=Editatu testu-fitxategiak
 Comment[fa]=ویرایش پرونده‌های متنی
 Comment[fi]=Muokkaa tekstitiedostoja
-Comment[fr]=Édite des fichiers texte
 Comment[ga]=Eagar comhad Téacs
 Comment[gu]=લખાણ ફાઇલોમાં ફેરફાર કરો
 Comment[he]=ערוך קבצי טקסט
@@ -99,6 +101,7 @@
 # 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[eo]=Teksto;redaktilo;
+Keywords[fr]=Texte;éditeur;
 Keywords[ja]=テキスト;エディタ;
 Keywords[ru]=текст;текстовый редактор;
 Keywords[sr]=Текст;едитор;
@@ -107,6 +110,7 @@
 # Translators: This is the Icon file name. Do NOT translate
 Icon[de]=gvim
 Icon[eo]=gvim
+Icon[fr]=gvim
 Icon[ru]=gvim
 Icon[sr]=gvim
 Icon=gvim