Update runtime files.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index cce17b9..50ca376 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -10193,7 +10193,7 @@
 conpty			Platform where |ConPTY| can be used.
 cryptv			Compiled with encryption support |encryption|.
 cscope			Compiled with |cscope| support.
-cursorbind		Compiled with |cursorbind| (always true)
+cursorbind		Compiled with |'cursorbind'| (always true)
 debug			Compiled with "DEBUG" defined.
 dialog_con		Compiled with console dialog support.
 dialog_gui		Compiled with GUI dialog support.
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index cce3cdf..db0a92c 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: 2017 Nov 24
+*if_perl.txt*   For Vim version 8.1.  Last change: 2019 Jan 29
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
@@ -192,7 +192,7 @@
 			and inserting line breaks.
 
 							*perl-Blob*
-VIM::Blob({expr})	Return Blob literal string 0zXXXX from scalar value.
+VIM::Blob({expr})	Return |Blob| literal string 0zXXXX from scalar value.
 
 							*perl-SetHeight*
 Window->SetHeight({height})
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index c9fc797..a98b620 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 8.1.  Last change: 2018 Mar 15
+*if_ruby.txt*   For Vim version 8.1.  Last change: 2019 Jan 29
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
@@ -112,7 +112,7 @@
 
 							*ruby-blob*
 Vim::blob({arg})
-	Return Blob literal string from {arg}.
+	Return |Blob| literal string from {arg}.
 
 							*ruby-set_option*
 Vim::set_option({arg})
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 299d1ac..57b1be1 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 8.1.  Last change: 2018 Apr 04
+*indent.txt*    For Vim version 8.1.  Last change: 2019 Jan 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 0431043..bd4fad2 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.1.  Last change: 2019 Jan 11
+*insert.txt*    For Vim version 8.1.  Last change: 2019 Jan 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1078,7 +1078,8 @@
 			leading text is changed.
 
 If you want to suppress the warning message for an empty result, return
-v:none.  This is useful to implement asynchronous completion with complete().
+|v:none|.  This is useful to implement asynchronous completion with
+|complete()|.
 
 Other items are ignored.
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index e73a9da..c9e2b0b 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 Jan 16
+*options.txt*	For Vim version 8.1.  Last change: 2019 Feb 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -354,12 +354,12 @@
 	:setlocal makeprg=perlmake
 You can switch back to using the global value by making the local value empty: >
 	:setlocal makeprg=
-This only works for a string option.  For a boolean option you need to use the
-"<" flag, like this: >
+This only works for a string option.  For a number or boolean option you need
+to use the "<" flag, like this: >
 	:setlocal autoread<
-Note that for non-boolean options using "<" copies the global value to the
-local value, it doesn't switch back to using the global value (that matters
-when the global value changes later).  You can also use: >
+Note that for non-boolean and non-number options using "<" copies the global
+value to the local value, it doesn't switch back to using the global value
+(that matters when the global value changes later).  You can also use: >
 	:set path<
 This will make the local value of 'path' empty, so that the global value is
 used.  Thus it does the same as: >
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 2e2f852..36a82b2 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt*    For Vim version 8.1.  Last change: 2019 Jan 19
+*os_vms.txt*    For Vim version 8.1.  Last change: 2019 Jan 29
 
 
 		  VIM REFERENCE MANUAL
@@ -105,7 +105,7 @@
 GTK for OpenVMS or at least runtime shareable images - LIBGTK from
 polarhome.com
 Post 7.2 Vim uses GTK2+ while the last GTK on OpenVMS is 1.2.10, therefore
-the GTK build is no longer available. 
+the GTK build is no longer available.
 
 For more advanced questions, please send your problem to Vim on VMS mailing
 list <vim-vms@polarhome.com>
@@ -772,9 +772,9 @@
 Version 8.0
 - solve the 100% cpu usage issue while waiting for a keystroke
 - correct the VMS warnings and errors around handling the INFINITY (used in json.c)
-- minor VMS port related changes 
-- correct the make_vms.mms file for 8.0 
-- fix [.TESTDIR]make_vms.mms for 8.0 
+- minor VMS port related changes
+- correct the make_vms.mms file for 8.0
+- fix [.TESTDIR]make_vms.mms for 8.0
 
 Version 7.4
 - Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 4cc2fa7..988d11b 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1092,6 +1092,7 @@
 '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'*
@@ -1112,6 +1113,7 @@
 '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'*
@@ -1717,6 +1719,7 @@
 05.6	usr_05.txt	/*05.6*
 05.7	usr_05.txt	/*05.7*
 05.8	usr_05.txt	/*05.8*
+05.9	usr_05.txt	/*05.9*
 06.1	usr_06.txt	/*06.1*
 06.2	usr_06.txt	/*06.2*
 06.3	usr_06.txt	/*06.3*
@@ -3741,6 +3744,7 @@
 Command-line	cmdline.txt	/*Command-line*
 Command-line-mode	cmdline.txt	/*Command-line-mode*
 CompleteDone	autocmd.txt	/*CompleteDone*
+ConPTY	terminal.txt	/*ConPTY*
 Contents	quickref.txt	/*Contents*
 Cscope	if_cscop.txt	/*Cscope*
 CursorHold	autocmd.txt	/*CursorHold*
@@ -5012,7 +5016,10 @@
 [:cntrl:]	pattern.txt	/*[:cntrl:]*
 [:digit:]	pattern.txt	/*[:digit:]*
 [:escape:]	pattern.txt	/*[:escape:]*
+[:fname:]	pattern.txt	/*[:fname:]*
 [:graph:]	pattern.txt	/*[:graph:]*
+[:ident:]	pattern.txt	/*[:ident:]*
+[:keyword:]	pattern.txt	/*[:keyword:]*
 [:lower:]	pattern.txt	/*[:lower:]*
 [:print:]	pattern.txt	/*[:print:]*
 [:punct:]	pattern.txt	/*[:punct:]*
@@ -5847,6 +5854,7 @@
 decada_members	ft_ada.txt	/*decada_members*
 deepcopy()	eval.txt	/*deepcopy()*
 defaults.vim	starting.txt	/*defaults.vim*
+defaults.vim-explained	usr_05.txt	/*defaults.vim-explained*
 definition-search	tagsrch.txt	/*definition-search*
 definitions	intro.txt	/*definitions*
 delete()	eval.txt	/*delete()*
@@ -7313,7 +7321,7 @@
 lang-variable	eval.txt	/*lang-variable*
 language-mapping	map.txt	/*language-mapping*
 last-pattern	pattern.txt	/*last-pattern*
-last-position-jump	eval.txt	/*last-position-jump*
+last-position-jump	usr_05.txt	/*last-position-jump*
 last_buffer_nr()	eval.txt	/*last_buffer_nr()*
 latex-syntax	syntax.txt	/*latex-syntax*
 lc_time-variable	eval.txt	/*lc_time-variable*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 3b78b55..de79ff0 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.1.  Last change: 2018 May 17
+*terminal.txt*	For Vim version 8.1.  Last change: 2019 Feb 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 95fdfeb..cb8733f 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 Jan 26
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Feb 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,6 +38,8 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Timer test doesn't work on MS-Windows console, any way to make it work?
+
 'incsearch' with :s: (#3321)
 - Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
   was set. (#3837)
@@ -61,6 +63,7 @@
 - Add option to not open the program window.  It's not used when attaching to
   an already running program. (M. Kelly)
 - When only gdb window exists, on "quit" edit another buffer.
+- Use a sign group
 - Termdebug does not work when Vim was build with mzscheme: gdb hangs just
   after "run".  Everything else works, including communication channel.  Not
   initializing mzscheme avoid the problem, thus it's not some #ifdef.
@@ -107,48 +110,18 @@
 Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
 Nov 17)  Asked about this, Dec 22. Christian will have a look.
 
-Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
-#3417)
-Another report, with reproduction steps. (#3799)
-Is this fixed by 8.1.0761?
-
 Does not build with MinGW out of the box:
 - _stat64 is not defined, need to use "struct stat" in vim.h
 - WINVER conflict, should use 0x0600 by default?
 
-js_decode() does not handle infinity properly. (Dominique Pelle, 2019 Jan 10,
-#3788)
-
-Patch to avoid skipping buffers when loading a session. (Jason Franklin, 2019
-Jan 20)
-
-Patch to update example of how to restore the cursor. (Ken Takata, 2019 Jan
-21)
-
-Patch to fix problems with timer in GUI. (Ozaki Kiichi, #3817)
-Should also fix #3824.
-Change the order in which GUI handles events?  Make it work like os_unix.c,
-check timer on lower level, check for pending messages higher up.
-
-Signs:
--   screen not redrawn correctly. (Dominique Pelle, 2019 Jan 14, #3803)
--   Use a sign group in the Termdebug plugin.
--   Avoid that "sign unplace id" does a redraw right away, esp. when there is
-    a sequence of these commands. (Andy Stewart, 2018 Mar 16)
-
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
-Patch to recognize more systems with has().  (Ozaki Kiichi, #3855)
-
 Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
 
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
-Patch for xxd to make it work with 64 bit numbers. (Christer Jense, 2019 Jan
-11, #3791)
-
 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?
 
@@ -177,12 +150,6 @@
 C syntax: {} inside () causes following {} to be highlighted as error.
 (Michalis Giannakidis, 2006 Jun 1)
 
-Patch on #3690 to fix that "wincmd p" does not always behave properly.
-(Christian Brabandt, 2018 Dec 17)
-
-Patch: When using %v in 'errorformat', assume the number is the screen column
-not bytes, also handle multi-byte charactes. (Yegappan Lakshmanan, #3700)
-
 Support setting the character displayed below the last line?  Neovim uses
 "eob:X" in 'fillchars'.
 
@@ -197,37 +164,24 @@
 2018 Sep 14)
 Another request: #3811.
 
-Patch for MinGW build with static libraries. (Ken Takata, 2018 Dec 16)
-
-Patch to add new regexp classes :ident:, :keyword:, :fname:.
-(ichizok, 2016 Jan 12, #1373)
-
-Patch to add "termsig" - signal that caused job to end. (Ozaki Kiichi, 2019
-Jan 10, #3786)
-
 More warnings from static analysis:
 https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
-Patch for this: (Aron Widforss, 2018 Oct 13, #3539)
-    missing a test.
-7   Make 'scrolloff' a global-local option, so that it can be different in the
-    quickfix window, for example. (Gary Holloway)
-    Also do 'sidescrolloff'.
-
-Patch for ConPTY support, new one: #3794 Does this work now?
-(Nobuhiro Takasaki)
-
-Issue #3649: Retrying the X server connection once may be insufficient.
-Since patch 8.1.0615 we try reconnecting five times.  Does it work?
-
 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 improve readability of complicated if(). (ichizok, 2019 Jan 29,
+#3879)
+
 Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
 Related to bracketed paste.  I cannot reproduce it.
 
+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.
+
 Using CTRL-L to add a character to the search string doesn't work for the last
 character in the file. (Smylers, 2018 Nov 17, #3620)
 Suggested patch by Hirohito Higashi, 2018 Nov 18.
@@ -250,13 +204,16 @@
 scrolls back.  Should allow for this scrolling, like 'scrolloff' does when
 using CTRL-E. (Yee Cheng Chin, #3721)
 
-Patch to add ":vsbuffer" - vertical split + :sbuffer. (Rob Pilling, 2019 Jan
-17, #3816)  Do we really need this?
-
 Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
 #3405)  Introduced by 8.0.1517, which was fixing another memory access error.
 (Sep 8)
 
+Patch to add complete_mode().  Shougo - #3866.  Alternate patch by Hirohito
+Higashi, 2019 Jan 27, included now?
+
+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).
 
@@ -272,6 +229,8 @@
 (Matéo Zanibelli, 2018 Oct 30, #3578)
 Patch by Christian, Oct 30.
 
+Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
+
 Memory leaks in test_channel? (or is it because of fork())
 Using uninitialized value in test_crypt.
 Memory leak in test_terminal:
@@ -293,6 +252,11 @@
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
+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
+highlight name.  Esp. for the statusline.
+
 Sourceforge Vim pages still have content, redirect from empty page.
 Check for PHP errors. (Wayne Davison, 2018 Oct 26)
 
@@ -335,6 +299,9 @@
 
 Difference between two regexp engines: #3373
 
+Patch to properly break CJK lines: #3875
+Requires more tests.  dbcs_ functions are not implemented.
+
 Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
 What is the practical use for this?
 
@@ -424,8 +391,6 @@
 Make {skip} argument of searchpair() consistent with other places where we
 pass an expression to evaluate.  Allow passing zero for "never skip".
 
-The 'scrolloff' option is global, make it global-local. #3195
-
 Add an option similar to 'lazyredraw' to skip redrawing while executing a
 script or function.
 
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index a77f90b..9694efb 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt*	For Vim version 8.1.  Last change: 2018 Feb 20
+*usr_05.txt*	For Vim version 8.1.  Last change: 2019 Jan 26
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -11,12 +11,13 @@
 
 |05.1|	The vimrc file
 |05.2|	The example vimrc file explained
-|05.3|	Simple mappings
-|05.4|	Adding a package
-|05.5|	Adding a plugin
-|05.6|	Adding a help file
-|05.7|	The option window
-|05.8|	Often used options
+|05.3|	The defaults.vim file explained
+|05.4|	Simple mappings
+|05.5|	Adding a package
+|05.6|	Adding a plugin
+|05.7|	Adding a help file
+|05.8|	The option window
+|05.9|	Often used options
 
      Next chapter: |usr_06.txt|  Using syntax highlighting
  Previous chapter: |usr_04.txt|  Making small changes
@@ -82,6 +83,95 @@
 will be explained though.  Use the ":help" command to find out more.
 
 >
+	" Get the defaults that most users want.
+	source $VIMRUNTIME/defaults.vim
+>
+This loads the "defaults.vim" file in the $VIMRUNTIME directory.  This sets up
+Vim for how most users like it.  If you are one of the few that don't, then
+comment out this line.  The commands are explained below:
+|defaults.vim-explained|
+
+>
+	if has("vms")
+	  set nobackup
+	else
+	  set backup
+	  if has('persistent_undo')
+	    set undofile
+	  endif
+	endif
+
+This tells Vim to keep a backup copy of a file when overwriting it.  But not
+on the VMS system, since it keeps old versions of files already.  The backup
+file will have the same name as the original file with "~" added.  See |07.4|
+
+This also sets the 'undofile' option, if available.  This will store the
+multi-level undo information in a file.  The result is that when you change a
+file, exit Vim, and then edit the file again, you can undo the changes made
+previously.  It's a very powerful and useful feature, at the cost of storing a
+file.  For more information see |undo-persistence|.
+
+The "if" command is very useful to set options
+only when some condition is met.  More about that in |usr_41.txt|.
+
+>
+	if &t_Co > 2 || has("gui_running")
+	  set hlsearch
+	endif
+
+This switches on the 'hlsearch' option, telling Vim to highlight matches with
+the last used search pattern.
+
+>
+	augroup vimrcEx
+	  au!
+	  autocmd FileType text setlocal textwidth=78
+	augroup END
+
+This makes Vim break text to avoid lines getting longer than 78 characters.
+But only for files that have been detected to be plain text.  There are
+actually two parts here.  "autocmd FileType text" is an autocommand.  This
+defines that when the file type is set to "text" the following command is
+automatically executed.  "setlocal textwidth=78" sets the 'textwidth' option
+to 78, but only locally in one file.
+
+The wrapper with "augroup vimrcEx" and "augroup END" makes it possible to
+delete the autocommand with the "au!" command.  See |:augroup|.
+
+>
+	if has('syntax') && has('eval')
+	  packadd! matchit
+	endif
+
+This loads the "matchit" plugin if the required features are available.
+It makes the |%| command more powerful.  This is explained at
+|matchit-install|.
+
+
+==============================================================================
+*05.3*	The defaults.vim file explained		*defaults.vim-explained*
+
+The |defaults.vim| file is loaded when the user has no vimrc file.  When you
+create a new vimrc file, add this line near the top to keep using it: >
+
+	source $VIMRUNTIME/defaults.vim
+
+Or use the vimrc_example.vim file, as explained above.
+
+The following explains what defaults.vim is doing.
+
+>
+	if exists('skip_defaults_vim')
+	  finish
+	endif
+>
+Loading defaults.vim can be disabled with this command: >
+	let skip_defaults_vim = 1
+This has to be done in the system vimrc file.  See |system-vimrc|.  If you
+have a user vimrc this is not needed, since defaults.vim will not be loaded
+automatically.
+>
+>
 	set nocompatible
 
 As mentioned in the first chapter, these manuals explain Vim working in an
@@ -94,38 +184,19 @@
 This specifies where in Insert mode the <BS> is allowed to delete the
 character in front of the cursor.  The three items, separated by commas, tell
 Vim to delete the white space at the start of the line, a line break and the
-character before where Insert mode started.
+character before where Insert mode started.  See 'backspace'.
+
 >
+	set history=200
 
-	set autoindent
-
-This makes Vim use the indent of the previous line for a newly created line.
-Thus there is the same amount of white space before the new line.  For example
-when pressing <Enter> in Insert mode, and when using the "o" command to open a
-new line.
->
-
-	if has("vms")
-	  set nobackup
-	else
-	  set backup
-	endif
-
-This tells Vim to keep a backup copy of a file when overwriting it.  But not
-on the VMS system, since it keeps old versions of files already.  The backup
-file will have the same name as the original file with "~" added.  See |07.4|
->
-
-	set history=50
-
-Keep 50 commands and 50 search patterns in the history.  Use another number if
-you want to remember fewer or more lines.
+Keep 200 commands and 200 search patterns in the history.  Use another number
+if you want to remember fewer or more lines.  See 'history'.
 >
 
 	set ruler
 
 Always display the current cursor position in the lower right corner of the
-Vim window.
+Vim window.  See 'ruler'.
 
 >
 	set showcmd
@@ -144,10 +215,37 @@
 	 ^^^^^^^^^^^		      ^^^^^^^^ ^^^^^^^^^^
 	  'showmode'		     'showcmd'	'ruler'
 
+
+>
+	set wildmenu
+
+Display completion matches in a status line.  That is when you type <Tab> and
+there is more than one match.  See 'wildmenu'.
+
+>
+	set ttimeout
+	set ttimeoutlen=100
+
+This makes typing Esc take effect more quickly.  Normally Vim waits a second
+to see if the Esc is the start of an escape sequence.  If you have a very slow
+remote connection, increase the number.  See 'ttimeout'.
+
+>
+	set display=truncate
+
+Show @@@ in the last line if it is truncated, instead of hiding the whole
+like.  See 'display'.
+
 >
 	set incsearch
 
-Display the match for a search pattern when halfway typing it.
+Display the match for a search pattern when halfway typing it.  See
+'incsearch'.
+
+>
+	set nrformats-=octal
+
+Do not recognize numbers starting with a zero as octal.  See 'nrformats'.
 
 >
 	map Q gq
@@ -158,23 +256,30 @@
 will not need it.
 
 >
+	inoremap <C-U> <C-G>u<C-U>
+>
+CTRL-U in insert mode deletes all entered text in the current line.  Use
+CTRL-G u to first break undo, so that you can undo CTRL-U after inserting a
+line break.  Revert with ":iunmap <C-U>".
+
+>
+	if has('mouse')
+	  set mouse=a
+	endif
+
+Enable using the mouse if available.  See 'mouse'.
+
+>
 	vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR>
 
 This mapping yanks the visually selected text and searches for it in C files.
-This is a complicated mapping.  You can see that mappings can be used to do
-quite complicated things.  Still, it is just a sequence of commands that are
-executed like you typed them.
+You can see that a mapping can be used to do quite complicated things.  Still,
+it is just a sequence of commands that are executed like you typed them.
 
 >
-	if &t_Co > 2 || has("gui_running")
-	  syntax on
-	  set hlsearch
-	endif
+	syntax on
 
-This switches on syntax highlighting, but only if colors are available.  And
-the 'hlsearch' option tells Vim to highlight matches with the last used search
-pattern.  The "if" command is very useful to set options only when some
-condition is met.  More about that in |usr_41.txt|.
+Enable highlighting files in color.  See |syntax|.
 
 							*vimrc-filetype*  >
 	filetype plugin indent on
@@ -201,21 +306,12 @@
    automatically.  Vim comes with these indent rules for a number of
    filetypes.  See |:filetype-indent-on| and 'indentexpr'.
 
->
-	autocmd FileType text setlocal textwidth=78
 
-This makes Vim break text to avoid lines getting longer than 78 characters.
-But only for files that have been detected to be plain text.  There are
-actually two parts here.  "autocmd FileType text" is an autocommand.  This
-defines that when the file type is set to "text" the following command is
-automatically executed.  "setlocal textwidth=78" sets the 'textwidth' option
-to 78, but only locally in one file.
-
-							*restore-cursor*  >
-	autocmd BufReadPost *
-	    \ if line("'\"") > 1 && line("'\"") <= line("$") |
-	    \   exe "normal! g`\"" |
-	    \ endif
+				*restore-cursor* *last-position-jump*  >
+    autocmd BufReadPost *
+      \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
+      \ |   exe "normal! g`\""
+      \ | endif
 
 Another autocommand.  This time it is used after reading any file.  The
 complicated stuff after it checks if the '" mark is defined, and jumps to it
@@ -224,8 +320,22 @@
 See |line-continuation|.  This only works in a Vim script file, not when
 typing commands at the command-line.
 
+>
+	command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
+		  \ | wincmd p | diffthis
+
+This adds the ":DiffOrig" command.  Use this in a modified buffer to see the
+differences with the file it was loaded from.  See |diff|.
+
+>
+	set nolangremap
+
+Prevent that the langmap option applies to characters that result from a
+mapping.  If set (default), this may break plugins (but it's backward
+compatible).  See 'langremap'.
+
 ==============================================================================
-*05.3*	Simple mappings
+*05.4*	Simple mappings
 
 A mapping enables you to bind a set of Vim commands to a single key.  Suppose,
 for example, that you need to surround certain words with curly braces.  In
@@ -272,7 +382,7 @@
 least the ones for Normal mode.  More about mappings in section |40.1|.
 
 ==============================================================================
-*05.4*	Adding a package			*add-package* *matchit-install*
+*05.5*	Adding a package			*add-package* *matchit-install*
 
 A package is a set of files that you can add to Vim.  There are two kinds of
 packages: optional and automatically loaded on startup.
@@ -310,7 +420,7 @@
 More information about packages can be found here: |packages|.
 
 ==============================================================================
-*05.5*	Adding a plugin					*add-plugin* *plugin*
+*05.6*	Adding a plugin					*add-plugin* *plugin*
 
 Vim's functionality can be extended by adding plugins.  A plugin is nothing
 more than a Vim script file that is loaded automatically when Vim starts.  You
@@ -462,7 +572,7 @@
 |new-filetype|		How to detect a new file type.
 
 ==============================================================================
-*05.6*	Adding a help file				*add-local-help*
+*05.7*	Adding a help file				*add-local-help*
 
 If you are lucky, the plugin you installed also comes with a help file.  We
 will explain how to install the help file, so that you can easily find help
@@ -507,7 +617,7 @@
 For writing a local help file, see |write-local-help|.
 
 ==============================================================================
-*05.7*	The option window
+*05.8*	The option window
 
 If you are looking for an option that does what you want, you can search in
 the help files here: |options|.  Another way is by using this command: >
@@ -546,7 +656,7 @@
 from the window border where scrolling starts.
 
 ==============================================================================
-*05.8*	Often used options
+*05.9*	Often used options
 
 There are an awful lot of options.  Most of them you will hardly ever use.
 Some of the more useful ones will be mentioned here.  Don't forget you can
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index 4cffc7d..cd0b726 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: 2018 Apr 13
+*usr_11.txt*	For Vim version 8.1.  Last change: 2019 Jan 30
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -120,7 +120,7 @@
 USING A SPECIFIC SWAP FILE
 
 If you know which swap file needs to be used, you can recover by giving the
-swap file name.  Vim will then finds out the name of the original file from
+swap file name.  Vim will then find out the name of the original file from
 the swap file.
 
 Example: >
@@ -284,7 +284,6 @@
 '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_41.txt b/runtime/doc/usr_41.txt
index dd0583b..07d11f8 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.1.  Last change: 2019 Jan 12
+*usr_41.txt*	For Vim version 8.1.  Last change: 2019 Jan 29
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -771,7 +771,7 @@
 	systemlist()		get the result of a shell command as a list
 	hostname()		name of the system
 	readfile()		read a file into a List of lines
-	writefile()		write a List of lines into a file
+	writefile()		write a List of lines or Blob into a file
 
 Date and Time:				*date-functions* *time-functions*
 	getftime()		get last modification time of a file
@@ -941,6 +941,7 @@
 	test_override()		test with Vim internal overrides
 	test_garbagecollect_now()   free memory right now
 	test_ignore_error()	ignore a specific error message
+	test_null_blob()	return a null Blob
 	test_null_channel()	return a null Channel
 	test_null_dict()	return a null Dict
 	test_null_job()		return a null Job