diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 4ade4aa..dc50455 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.0.  Last change: 2017 Nov 16
+*editing.txt*   For Vim version 8.0.  Last change: 2018 Feb 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1202,7 +1202,8 @@
 :wqa[ll]! [++opt]
 :xa[ll]!	Write all changed buffers, even the ones that are readonly,
 		and exit Vim.  If there are buffers without a file name or
-		which cannot be written for another reason, Vim will not quit.
+		which cannot be written for another reason, or there is a
+		terminal with a running job, Vim will not quit.
 		{not in Vi}
 
 ==============================================================================
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0461f9c..578e5d3 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.0.  Last change: 2018 Feb 24
+*eval.txt*	For Vim version 8.0.  Last change: 2018 Feb 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -8196,7 +8196,7 @@
 term_dumpwrite({buf}, {filename} [, {options}])
 		Dump the contents of the terminal screen of {buf} in the file
 		{filename}.  This uses a format that can be used with
-		|term_dumpread()| and |term_dumpdiff()|.
+		|term_dumpload()| and |term_dumpdiff()|.
 		If {filename} already exists an error is given.	*E953*
 		Also see |terminal-diff|.
 
@@ -9173,8 +9173,8 @@
 unix			Unix version of Vim. *+unix*
 unnamedplus		Compiled with support for "unnamedplus" in 'clipboard'
 user_commands		User-defined commands.
-vcon			Win32: Virtual console support is working, can use 256
-			and 24 bit colors.
+vcon			Win32: Virtual console support is working, can use
+			'termguicolors'. Also see |+vtp|.
 vertsplit		Compiled with vertically split windows |:vsplit|.
 vim_starting		True while initial source'ing takes place. |startup|
 			*vim_starting*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b9f1517..ffc7091 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2018 Feb 22
+*options.txt*	For Vim version 8.0.  Last change: 2018 Feb 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -50,7 +50,7 @@
 :se[t] {option}&vi	Reset option to its Vi default value. {not in Vi}
 :se[t] {option}&vim	Reset option to its Vim default value. {not in Vi}
 
-:se[t] all&		Set all options to their default value.  The values of 
+:se[t] all&		Set all options to their default value.  The values of
 			these options are not changed:
 			  all terminal options, starting with t_
 			  'columns'
@@ -1325,7 +1325,7 @@
 			    characters.  It permits dynamic French paragraph
 			    indentation (negative) or emphasizing the line
 			    continuation (positive).
-		sbr	    Display the 'showbreak' value before applying the 
+		sbr	    Display the 'showbreak' value before applying the
 			    additional indent.
 	The default value for min is 20 and shift is 0.
 
@@ -1808,7 +1808,7 @@
 	'copyindent'	+ off		don't copy indent structure
 	'cpoptions'	& (all flags)	Vi-compatible flags
 	'cscopepathcomp'+ 0		don't show directories in tags list
-	'cscoperelative'+ off		
+	'cscoperelative'+ off		don't use basename of path as prefix
 	'cscopetag'	+ off		don't use cscope for ":tag"
 	'cscopetagorder'+ 0		see |cscopetagorder|
 	'cscopeverbose'	+ off		see |cscopeverbose|
@@ -3468,7 +3468,7 @@
 	when internal formatting is used.  Make sure the cursor is kept in the
 	same spot relative to the text then!  The |mode()| function will
 	return "i" or "R" in this situation.
-	
+
 	When the expression evaluates to non-zero Vim will fall back to using
 	the internal format mechanism.
 
@@ -5114,8 +5114,8 @@
 			global or local to buffer |global-local|
 			{not in Vi}
 	Program to use for the ":make" command.  See |:make_makeprg|.
-	This option may contain '%' and '#' characters (see  |:_%| and |:_#|), 
-	which are expanded to the current and alternate file name.  Use |::S| 
+	This option may contain '%' and '#' characters (see  |:_%| and |:_#|),
+	which are expanded to the current and alternate file name.  Use |::S|
 	to escape file names in case they contain special characters.
 	Environment variables are expanded |:set_env|.  See |option-backslash|
 	about including spaces and backslashes.
@@ -5966,7 +5966,7 @@
 			{not available when compiled without the
 			|+insert_expand| feature}
 			{not in Vi}
-	Determines the minium width to use for the popup menu for Insert mode
+	Determines the minimum width to use for the popup menu for Insert mode
 	completion.  |ins-completion-menu|.
 
 						*'pythondll'*
@@ -6122,7 +6122,7 @@
 	characters are put before the number.
 	See |hl-LineNr|  and |hl-CursorLineNr| for the highlighting used for
 	the number.
-	
+
 	The number in front of the cursor line also depends on the value of
 	'number', see |number_relativenumber| for all combinations of the two
 	options.
@@ -7561,6 +7561,7 @@
 	Also see |swap-file| and |'swapsync'|.
 	If you want to open a new buffer without creating a swap file for it,
 	use the |:noswapfile| modifier.
+	See 'directory' for where the swap file is created.
 
 	This option is used together with 'bufhidden' and 'buftype' to
 	specify special kinds of buffers.   See |special-buffers|.
@@ -7915,7 +7916,7 @@
 			|+termguicolors| feature}
 	When on, uses |highlight-guifg| and |highlight-guibg| attributes in
 	the terminal (thus using 24-bit color).
-	
+
 	Requires a ISO-8613-3 compatible terminal.  If setting this option
 	does not work (produces a colorless UI) reading |xterm-true-color|
 	might help.
@@ -7923,7 +7924,8 @@
 	For Win32 console, Windows 10 version 1703 (Creators Update) or later
 	is required. Use this check to find out: >
 		if has('vcon')
-<
+<	This requires Vim to be built with the |+vtp| feature.
+
 	Note that the "cterm" attributes are still used, not the "gui" ones.
 	NOTE: This option is reset when 'compatible' is set.
 
@@ -8010,7 +8012,7 @@
 	non-keyword characters (white space is preferred).  Maximum line
 	length is 510 bytes.
 	To obtain a file to be used here, check out this ftp site:
-	[Sorry this link doesn't work anymore, do you know the right one?] 
+	[Sorry this link doesn't work anymore, do you know the right one?]
 	ftp://ftp.ox.ac.uk/pub/wordlists/  First get the README file.
 	To include a comma in a file name precede it with a backslash.  Spaces
 	after a comma are ignored, otherwise spaces are included in the file
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index f97b033..29000bf 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.0.  Last change: 2018 Jan 31
+*quickref.txt*  For Vim version 8.0.  Last change: 2018 Feb 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -838,6 +838,7 @@
 'printoptions'	  'popt'    controls the format of :hardcopy output
 'prompt'	  'prompt'  enable prompt in Ex mode
 'pumheight'	  'ph'	    maximum height of the popup menu
+'pumwidth'	  'pw'	    minimum width of the popup menu
 'pythondll'		    name of the Python 2 dynamic library
 'pythonhome'		    name of the Python 2 home directory
 'pythonthreedll'	    name of the Python 3 dynamic library
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 2e9746b..e1e370c 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 8.0.  Last change: 2017 Dec 17
+*repeat.txt*    For Vim version 8.0.  Last change: 2018 Feb 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index c6e568a..48af7f2 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.0.  Last change: 2018 Feb 09
+*starting.txt*  For Vim version 8.0.  Last change: 2018 Feb 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1010,7 +1010,7 @@
 When Vim starts, the 'compatible' option is on.  This will be used when Vim
 starts its initializations.  But as soon as:
 - a user vimrc file is found, or
-- a vimrc file in the current directoryis found, or
+- a vimrc file in the current directory is found, or
 - the "VIMINIT" environment variable is set, or
 - the "-N" command line argument is given, or
 - the "--clean" command line argument is given, or
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 83dd953..017ca31 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -782,8 +782,10 @@
 'prompt'	options.txt	/*'prompt'*
 'pt'	options.txt	/*'pt'*
 'pumheight'	options.txt	/*'pumheight'*
+'pumwidth'	options.txt	/*'pumwidth'*
 'pvh'	options.txt	/*'pvh'*
 'pvw'	options.txt	/*'pvw'*
+'pw'	options.txt	/*'pw'*
 'pythondll'	options.txt	/*'pythondll'*
 'pythonhome'	options.txt	/*'pythonhome'*
 'pythonthreedll'	options.txt	/*'pythonthreedll'*
@@ -1355,6 +1357,7 @@
 +visual	various.txt	/*+visual*
 +visualextra	various.txt	/*+visualextra*
 +vreplace	various.txt	/*+vreplace*
++vtp	various.txt	/*+vtp*
 +wildignore	various.txt	/*+wildignore*
 +wildmenu	various.txt	/*+wildmenu*
 +windows	various.txt	/*+windows*
@@ -4584,6 +4587,8 @@
 E950	message.txt	/*E950*
 E951	pattern.txt	/*E951*
 E952	autocmd.txt	/*E952*
+E953	eval.txt	/*E953*
+E954	options.txt	/*E954*
 E96	diff.txt	/*E96*
 E97	diff.txt	/*E97*
 E98	diff.txt	/*E98*
@@ -4827,6 +4832,7 @@
 Terminal-mode	terminal.txt	/*Terminal-mode*
 TextChanged	autocmd.txt	/*TextChanged*
 TextChangedI	autocmd.txt	/*TextChangedI*
+TextChangedP	autocmd.txt	/*TextChangedP*
 TextYankPost	autocmd.txt	/*TextYankPost*
 Transact-SQL	ft_sql.txt	/*Transact-SQL*
 U	undo.txt	/*U*
@@ -5087,7 +5093,9 @@
 asm.vim	syntax.txt	/*asm.vim*
 asm68k	syntax.txt	/*asm68k*
 asmh8300.vim	syntax.txt	/*asmh8300.vim*
+assert_beeps()	eval.txt	/*assert_beeps()*
 assert_equal()	eval.txt	/*assert_equal()*
+assert_equalfile()	eval.txt	/*assert_equalfile()*
 assert_exception()	eval.txt	/*assert_exception()*
 assert_fails()	eval.txt	/*assert_fails()*
 assert_false()	eval.txt	/*assert_false()*
@@ -6562,6 +6570,7 @@
 getbufinfo()	eval.txt	/*getbufinfo()*
 getbufline()	eval.txt	/*getbufline()*
 getbufvar()	eval.txt	/*getbufvar()*
+getchangelist()	eval.txt	/*getchangelist()*
 getchar()	eval.txt	/*getchar()*
 getcharmod()	eval.txt	/*getcharmod()*
 getcharsearch()	eval.txt	/*getcharsearch()*
@@ -6577,6 +6586,7 @@
 getfsize()	eval.txt	/*getfsize()*
 getftime()	eval.txt	/*getftime()*
 getftype()	eval.txt	/*getftype()*
+getjumplist()	eval.txt	/*getjumplist()*
 getlatestvimscripts-install	pi_getscript.txt	/*getlatestvimscripts-install*
 getline()	eval.txt	/*getline()*
 getloclist()	eval.txt	/*getloclist()*
@@ -8901,6 +8911,9 @@
 term-dependent-settings	term.txt	/*term-dependent-settings*
 term-list	syntax.txt	/*term-list*
 term.txt	term.txt	/*term.txt*
+term_dumpdiff()	eval.txt	/*term_dumpdiff()*
+term_dumpload()	eval.txt	/*term_dumpload()*
+term_dumpwrite()	eval.txt	/*term_dumpwrite()*
 term_getaltscreen()	eval.txt	/*term_getaltscreen()*
 term_getattr()	eval.txt	/*term_getattr()*
 term_getcursor()	eval.txt	/*term_getcursor()*
@@ -8935,6 +8948,9 @@
 terminal-colors	os_unix.txt	/*terminal-colors*
 terminal-cursor-style	terminal.txt	/*terminal-cursor-style*
 terminal-debug	terminal.txt	/*terminal-debug*
+terminal-diff	terminal.txt	/*terminal-diff*
+terminal-diffscreendump	terminal.txt	/*terminal-diffscreendump*
+terminal-dumptest	terminal.txt	/*terminal-dumptest*
 terminal-functions	usr_41.txt	/*terminal-functions*
 terminal-info	term.txt	/*terminal-info*
 terminal-key-codes	term.txt	/*terminal-key-codes*
@@ -8942,6 +8958,7 @@
 terminal-options	term.txt	/*terminal-options*
 terminal-output-codes	term.txt	/*terminal-output-codes*
 terminal-resizing	terminal.txt	/*terminal-resizing*
+terminal-screendump	terminal.txt	/*terminal-screendump*
 terminal-size-color	terminal.txt	/*terminal-size-color*
 terminal-special-keys	terminal.txt	/*terminal-special-keys*
 terminal-testing	terminal.txt	/*terminal-testing*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 27ee766..9e704d5 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2018 Feb 09
+*todo.txt*      For Vim version 8.0.  Last change: 2018 Feb 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -39,121 +39,16 @@
 No maintainer for Simplified Chinese translations.
 
 Terminal emulator window:
+- using feedkeys() does not work?  (Charles Sheridan, 2018 Feb 17)
 - Lots of stuff to implement, see src/terminal.c
 - Improve debugger interface:
-  Include all debug features of Agide.
     - Implement the right-click popup menu for the terminal. Can use the
       completion popup menu code and mouse dragging.
       Use it for "set breakpoint", "remove breakpoint", etc.
-  - get ideas from http://clewn.sf.net
   - Look into the idevim plugin/script.
-- Improve testing:
-  Make a screenshot of a terminal, store in a file.
-  Display a stored screenshot, display diff with another one.
-  Make a test that puts Vim in a specific state, make a screenshot and compare
-  with the expected screenshot.  Set t_Co to 256.
-
-+channel:
-- get_job_options() isn't clear about what causes an error, often just returns
-  "invalid argument".
-- Add a separate timeout for opening a socket.  Currently it's fixed at 50
-  msec, which is too small for a remote connection. (tverniquet, #2130)
-- Try out background make plugin: 
-  https://github.com/AndrewVos/vim-make-background
-- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
-- Writing raw mode to a buffer should still handle NL characters as line
-  breaks. (Dmitry Zotikov, 2017 Aug 16)
-- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
-  2016 Dec 11, #1320)
-- Implement |job-term| ?
-- Channel test fails with Motif.  Sometimes kills the X11 server.
-- When a message in the queue but there is no callback, drop it after a while?
-  Add timestamp to queued messages and callbacks with ID, remove after a
-  minute.  Option to set the droptime.
-- Add an option to drop text of very long lines?  Default to 1 Mbyte.
-- Add remark about undo sync, is there a way to force it?
-- When starting a job, have an option to open the server socket, so we know
-  the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
-  Feb 9)  How to do this on MS-Windows?
-- For connection to server, a "keep open" flag would be useful.  Retry
-  connecting in the main loop with zero timeout.
-- job_start(): run job in a newly opened terminal (not a terminal window).
-    With xterm could use -S{pty}.
-    Although user could use "xterm -e 'cmd arg'".
-
-Regexp problems:
-- When search pattern has the base character both with and without combining
-  character, search fails.  E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
-- [:space:] only matches ASCII spaces.  Add [:white:] for all space-like
-  characters, esp. including 0xa0.  Use character class zero.
-- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
-  (Manuel Ortega, 2016 Apr 24)
-  Test fails on Mac.  Avoid using isalpha(), isalnum(), etc?  Depends on
-  LC_CTYPE
-- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
-  matches everywhere.
-- Using win_linetabsize() can still be slow. Cache the result, store col and
-  vcol. Reset them when moving to another line.
-- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
-- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
-  (Lech Lorens, 2014 Feb 3)
-- Issue 164: freeze on regexp search.
-- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
-  2013 Dec 11)
-- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
-  Szamotulski; Remark from Brett 2014 Jan 6 and 7.
-- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
-- Does not work with NFA regexp engine:
-  \%u, \%x, \%o, \%d followed by a composing character
-- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)
-- \%'[ does not work.  '%'] does work.  (Masaaki Nakamura, 2016 Apr 4)
-- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
-- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
-  2015 Feb 7)
-- Using back reference before the capturing group sometimes works with the old
-  engine, can we do this with the new engine?  E.g. with
-  "/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
-  This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".
-  (guotuofeng, 2015 Jun 22)
-- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
-- Problem with \v(A)@<=b+\1c. (Issue 334)
-- Diff highlighting can be very slow. (Issue 309)
-- Using %> for a virtual column has a check based on 'tabsize'.  Better would
-  be to cache the result of win_linetabsize(col), storing both col and vcol,
-  and use them to decide whether win_linetabsize() needs to be called.  Reset
-  col and vcol when moving to another line.
-- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/".  Leaving
-  out the \& works.  Seems any column check after \& fails.
-- Difference between two engines: ".*\zs\/\@>\/" on text "///"
-  (Chris Paul, 2016 Nov 13)  New engine not greedy enough?
-  Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
-  (2017 May 15, #1252)
-
-Use vim_clear() in more places, instead of vim_free() and assigning NULL.
-
-Include a few color schemes, based on popularity:
-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) 
-- seoul256 - Christian Brabandt (2017 Aug 3)
-- gruvbox -  Christian Brabandt (2017 Aug 3) (simplified version from
-      Lifepillar, 2018 Jan 22, #2573)
-- janah - Marco Hinz (2017 Aug 4)
-- apprentice - Romain Lafourcade (2017 Aug 6)  remarks about help file #1964
-Suggested by Hiroki Kokubun:
-- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
-- [hybrid](https://github.com/w0ng/vim-hybrid)
-Include solarized color scheme?, it does not support termguicolors.
-- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
-
-Reproducible:
-    invalid memory access in regexp with zero-width.
-	reproduced by Dominique, 2017 Dec 23
-
-"silent! try" doesn't restore emsg_silent when an exception is thrown.
-(Ben Reilly, 2018 Jan 5, #2531)  Possible solution by Christian Brabandt, 2018
-Jan 6.
+- Improve screen dump testing:
+  Add docs for how to properly use the screen dumps for testing, e.g. for
+  syntax highlighting.
 
 Mode message isn't updated on vertical split. (Alexei Averchenko, 2018 Feb 2,
 #2611)
@@ -167,65 +62,38 @@
 - signed integer overflow in getdecchrs() (#2254)
 - undefined left shift in get_string_tv() (#2250)
 
-Cursor in wrong screen line with WinBar. (#2362)
-Fix by Christian Brabandt (2018 Jan 2)
+Patch to fix 'undolevels' in options window. (Yasuhiro Matsumoto, 2018 Feb 14,
+#2645)
+
+Patch to fix fd leak when using jobs. (ichizok, 2018 Feb 16, #2651)
+
+Popup menu is too wide, causing it not to be aligned. (Linwei, 2018 Feb 22,
+#2661)
 
 balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
 20, #2481)
 Also see #2352, want better control over balloon, perhaps set the position.
 
-Patch to support hunspell. (Matej Cepl, Jan 2018, #2500)
-Patch to include hunspell support. (Matej Cepl, 2017 Dec 26, #845)
-Doesn't work on Windows yet.
-
 Cursor in status line after search. (#2530)
 
 Cursor in wrong position when line wraps. (#2540)
 
 Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
 
-Patch for minimum width of completion popup menu. (Christian Brabandt, 2018
-Jan 3, #2314)
-
-Patch to redraw instead of scroll for terminal window. (Ken Takata, #2010)
-
-Patch to add "user_data" to completion items. (Ben Jackson, 2018 Feb 1, #2608,
-closes #2508)
-
-Patch to add TextChangedP, text changed while popup menu is visible. (Prabir
-Shrestha, 2018 Jan 28, test added by Christian Brabandt)
-
 When using :packadd files under "later" are not used, which is inconsistent
 with packages under "start". (xtal8, #1994)
 
 Column number is wrong whsn using 'linebreak' and 'wrap'. (Keith Smiley, 2018
 Jan 15, #2555)
 
-Patch to add getjumplist(). (Yegappan Lakshmanan, 2018 Feb 2, #2609)
-
-Serbian translations. (Peseic, 2018 Jan 17)
-
-Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
-Sep 10) Update 2018 Jan 4  #2575
-Alternate change by Ken Takata.
-
 Check argument of systemlist(). (Pavlov)
 
-Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
-#2546)
-
 When 'inchsearch' and 'hlsearch' are set /\v highlights everything.
 Also see #2337
 
 Starting job with cwd option, when the directory does not exist, gives a
 confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
 
-7   Add a watchpoint in the debug mode: An expression that breaks execution
-    when evaluating to non-zero.  Add the "watchadd expr" command, stop when
-    the value of the expression changes.  ":watchdel" deletes an item,
-    ":watchlist" lists the items. (Charles Campbell)
-Patch by Christian Brabandt, 2016 Jun 10, #859
-
 7   Make "ga" show the digraph for a character, if it exists.
 Patch from Christian Brabandt, 2011 Aug 19.
 
@@ -237,15 +105,16 @@
 a deadlock if the reading side is waiting for the write to finish. (Nate
 Bosch, 2018 Jan 13, #2548)
 
+Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
+Will have to explain the manual steps (downloading the .aff and .dic files,
+applying the diff, etc.
+
 User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a
 word is re-added to it. (Matej Cepl, 2018 Feb 6)
 
 Problem with mouse scroll in tmux. (fcying, #2419)  Might be caused by patch
 8.0.1309.  Removing "held_button = MOUSE_RELEASE;" helps. (2018 Feb 5)
 
-Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
-Takasaki, Ken Takata, 2017 Oct 1, #2060).
-
 Does setting 'cursorline' cause syntax highlighting to slow down?  Perhaps is
 mess up the cache?  (Mike Lee Williams, 2018 Jan 27, #2539)
 
@@ -264,9 +133,15 @@
 ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
 Lemonboy can reproduce (2017 Jun 5)
 
+crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
+17, #2652)
+
 When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
 highlighted. (van-de-bugger, 2018 Jan 23, #2576)
 
+Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
+#2546)  Fixes #1057.  Missing a test.
+
 Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
 
 No profile information for function that executes ":quit". (Daniel Hahler,
@@ -290,9 +165,6 @@
 
 Error in emsg with buggy script. (Dominique, 2017 Apr 30)
 
-Patch to avoid clearing the intro message on Win32 console.
-(Ken Takata, 2017 Nov 14)
-
 Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
 #2478)
 
@@ -302,9 +174,16 @@
 Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)
 Requires 'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24)
 
+Patch to support hunspell. (Matej Cepl, Jan 2018, #2500) Based on older patch
+in #846)
+Doesn't work on Windows yet.  Not ready to included, hard coded paths.
+
 When a timer is running and typing CTRL-R on the command line, it is not
 redrawn properly. (xtal8, 2017 Oct 23, #2241)
 
+In an optional package the "after" directory is not scanned?
+(Renato Fabbri, 2018 Feb 22)
+
 Universal solution to detect if t_RS is working, using cursor position.
 Koichi Iwamoto, #2126
 
@@ -365,9 +244,6 @@
 Using uninitialized value in test_crypt.
 Memory leaks in test_escaped_glob
 
-Patch to clear background when "guibg=NONE" is used and 'termguicolors' is
-set. (Nick Jensen, 2017 Nov 13, #2332, based on #981 by Kazunobu Kuriyama)
-
 Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
 
 Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
@@ -415,6 +291,22 @@
 clip_x11_convert_selection_cb() is invoked, thus in X library code.
 Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
 
+Include a few color schemes, based on popularity:
+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) 
+- seoul256 - Christian Brabandt (2017 Aug 3)
+- gruvbox -  Christian Brabandt (2017 Aug 3) (simplified version from
+      Lifepillar, 2018 Jan 22, #2573)
+- janah - Marco Hinz (2017 Aug 4)
+- apprentice - Romain Lafourcade (2017 Aug 6)  remarks about help file #1964
+Suggested by Hiroki Kokubun:
+- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
+- [hybrid](https://github.com/w0ng/vim-hybrid)
+Include solarized color scheme?, it does not support termguicolors.
+- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
+
 Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
 
 Creating a partial with an autoload function is confused about the "self"
@@ -705,6 +597,80 @@
 sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
 4#1038)
 
++channel:
+- Add a separate timeout for opening a socket.  Currently it's fixed at 50
+  msec, which is too small for a remote connection. (tverniquet, #2130)
+- Try out background make plugin: 
+  https://github.com/AndrewVos/vim-make-background
+- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
+- Writing raw mode to a buffer should still handle NL characters as line
+  breaks. (Dmitry Zotikov, 2017 Aug 16)
+- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
+  2016 Dec 11, #1320)
+- Implement |job-term| ?
+- Channel test fails with Motif.  Sometimes kills the X11 server.
+- When a message in the queue but there is no callback, drop it after a while?
+  Add timestamp to queued messages and callbacks with ID, remove after a
+  minute.  Option to set the droptime.
+- Add an option to drop text of very long lines?  Default to 1 Mbyte.
+- Add remark about undo sync, is there a way to force it?
+- When starting a job, have an option to open the server socket, so we know
+  the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
+  Feb 9)  How to do this on MS-Windows?
+- For connection to server, a "keep open" flag would be useful.  Retry
+  connecting in the main loop with zero timeout.
+- job_start(): run job in a newly opened terminal (not a terminal window).
+    With xterm could use -S{pty}.
+    Although user could use "xterm -e 'cmd arg'".
+
+Regexp problems:
+- When search pattern has the base character both with and without combining
+  character, search fails.  E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
+- [:space:] only matches ASCII spaces.  Add [:white:] for all space-like
+  characters, esp. including 0xa0.  Use character class zero.
+- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
+  (Manuel Ortega, 2016 Apr 24)
+  Test fails on Mac.  Avoid using isalpha(), isalnum(), etc?  Depends on
+  LC_CTYPE
+- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
+  matches everywhere.
+- Using win_linetabsize() can still be slow. Cache the result, store col and
+  vcol. Reset them when moving to another line.
+- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
+- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
+  (Lech Lorens, 2014 Feb 3)
+- Issue 164: freeze on regexp search.
+- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
+  2013 Dec 11)
+- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
+  Szamotulski; Remark from Brett 2014 Jan 6 and 7.
+- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
+- Does not work with NFA regexp engine:
+  \%u, \%x, \%o, \%d followed by a composing character
+- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)
+- \%'[ does not work.  '%'] does work.  (Masaaki Nakamura, 2016 Apr 4)
+- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
+- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
+  2015 Feb 7)
+- Using back reference before the capturing group sometimes works with the old
+  engine, can we do this with the new engine?  E.g. with
+  "/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
+  This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".
+  (guotuofeng, 2015 Jun 22)
+- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
+- Problem with \v(A)@<=b+\1c. (Issue 334)
+- Diff highlighting can be very slow. (Issue 309)
+- Using %> for a virtual column has a check based on 'tabsize'.  Better would
+  be to cache the result of win_linetabsize(col), storing both col and vcol,
+  and use them to decide whether win_linetabsize() needs to be called.  Reset
+  col and vcol when moving to another line.
+- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/".  Leaving
+  out the \& works.  Seems any column check after \& fails.
+- Difference between two engines: ".*\zs\/\@>\/" on text "///"
+  (Chris Paul, 2016 Nov 13)  New engine not greedy enough?
+  Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
+  (2017 May 15, #1252)
+
 Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
 
 Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index 67b33bd..ee40463 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt*	For Vim version 8.0.  Last change: 2016 Mar 28
+*usr_05.txt*	For Vim version 8.0.  Last change: 2018 Feb 20
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -48,6 +48,14 @@
 	$HOME/_vimrc ~
 	$VIM/_vimrc ~
 
+If you are creating the vimrc file for the first time, it is recommended to
+put this line at the top: >
+
+	source $VIMRUNTIME/defaults.vim
+
+This initializes Vim for new users (as opposed to traditional Vi users). See
+|defaults.vim| for the details.
+
 The vimrc file can contain all the commands that you type after a colon.  The
 most simple ones are for setting options.  For example, if you want Vim to
 always start with the 'incsearch' option on, add this line your vimrc file: >
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index ccf59d6..f731888 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.0.  Last change: 2017 Dec 02
+*usr_41.txt*	For Vim version 8.0.  Last change: 2018 Feb 13
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -924,7 +924,8 @@
 	assert_false()		assert that an expression is false
 	assert_true()		assert that an expression is true
 	assert_exception()	assert that a command throws an exception
-	assert_fails()		assert that a function call fails
+	assert_beeps()		assert that a command beeps
+	assert_fails()		assert that a command fails
 	assert_report()		report a test failure
 	test_alloc_fail()	make memory allocation fail
 	test_autochdir()	enable 'autochdir' during startup
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 232ccda..213b198 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 8.0.  Last change: 2017 Nov 18
+*various.txt*   For Vim version 8.0.  Last change: 2018 Feb 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -449,6 +449,7 @@
 S  *+visual*		Visual mode |Visual-mode| Always enabled since 7.4.200.
 N  *+visualextra*	extra Visual mode commands |blockwise-operators|
 N  *+vreplace*		|gR| and |gr|
+   *+vtp*		on MS-Windows console: support for 'termguicolors'
 N  *+wildignore*	|'wildignore'|
 N  *+wildmenu*		|'wildmenu'|
    *+windows*		more than one window; Always enabled since 8.0.1118.
