diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 8b80e39..f281f4a 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2016 Aug 14
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Aug 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -29,6 +29,7 @@
 10. No +eval feature		|no-eval-feature|
 11. The sandbox			|eval-sandbox|
 12. Textlock			|textlock|
+13. Testing			|testing|
 
 {Vi does not have any of these commands}
 
@@ -1233,7 +1234,7 @@
 							*closure*
 Lambda expressions can access outer scope variables and arguments.  This is
 often called a closure.  Example where "i" a and "a:arg" are used in a lambda
-while they exists in the function scope.  They remain valid even after the
+while they exist in the function scope.  They remain valid even after the
 function returns: >
 	:function Foo(arg)
 	:  let i = 3
@@ -2032,7 +2033,7 @@
 cosh({expr})			Float	hyperbolic cosine of {expr}
 count({list}, {expr} [, {ic} [, {start}]])
 				Number	count how many {expr} are in {list}
-cscope_connection([{num} , {dbpath} [, {prepend}]])
+cscope_connection([{num}, {dbpath} [, {prepend}]])
 				Number	checks existence of cscope connection
 cursor({lnum}, {col} [, {off}])
 				Number	move cursor to {lnum}, {col}, {off}
@@ -4492,7 +4493,7 @@
 		The result is a String, which is the contents of register
 		{regname}.  Example: >
 			:let cliptext = getreg('*')
-<		When {regname} was not set the result is a empty string.
+<		When {regname} was not set the result is an empty string.
 
 		getreg('=') returns the last evaluated value of the expression
 		register.  (For use in maps.)
@@ -4529,8 +4530,8 @@
 
 		Each List item is a Dictionary with the following entries:
 			nr		tab page number.
-			windows		List of window IDs in the tag page.
 			variables	dictionary of tabpage local variables.
+			windows		List of window IDs in the tag page.
 
 gettabvar({tabnr}, {varname} [, {def}])				*gettabvar()*
 		Get the value of a tab-local variable {varname} in tab page
@@ -4587,9 +4588,11 @@
 			bufnum		number of buffer in the window
 			height		window height
 			loclist		1 if showing a location list
+					{only with the +quickfix feature}
 			nr		window number
 			options		dictionary of window local options
 			quickfix	1 if quickfix or location list window
+					{only with the +quickfix feature}
 			tpnr		tab page number
 			variables	dictionary of window local variables
 			width		window width
@@ -7520,7 +7523,7 @@
 tabpagebuflist([{arg}])					*tabpagebuflist()*
 		The result is a |List|, where each item is the number of the
 		buffer associated with each window in the current tab page.
-		{arg} specifies the number of tab page to be used.  When
+		{arg} specifies the number of the tab page to be used. When
 		omitted the current tab page is used.
 		When {arg} is invalid the number zero is returned.
 		To get a list of all buffers in all tabs use this: >
@@ -7703,9 +7706,9 @@
 
 timer_pause({timer}, {paused})				*timer_pause()*
 		Pause or unpause a timer.  A paused timer does not invoke its
-		callback, while the time it would is not changed.  Unpausing a
-		timer may cause the callback to be invoked almost immediately
-		if enough time has passed.
+		callback when its time expires.  Unpausing a timer may cause
+		the callback to be invoked almost immediately if enough time
+		has passed.
 
 		Pausing a timer is useful to avoid the callback to be called
 		for a short time.
@@ -7716,7 +7719,7 @@
 
 		{only available when compiled with the |+timers| feature}
 
-							*timer_start()*
+						*timer_start()* *timer* *timers*
 timer_start({time}, {callback} [, {options}])
 		Create a timer and return the timer ID.
 
@@ -10480,5 +10483,26 @@
 	- closing a window or quitting Vim
 	- etc.
 
+==============================================================================
+13. Testing							*testing*
+
+Vim can be tested after building it, usually with "make test".
+The tests are located in the directory "src/testdir".
+
+There are several types of tests added over time:
+	test33.in		oldest, don't add any more
+	test_something.in	old style tests
+	test_something.vim	new style tests
+
+						*new-style-testing*
+New tests should be added as new style tests.  These use functions such as
+|assert_equal()| to keep the test commands and the expected result in one
+place.
+						*old-style-testing*
+In some cases an old style test needs to be used.  E.g. when testing Vim
+without the |+eval| feature.
+
+Find more information in the file src/testdir/README.txt.
+
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index ab8e0fc..5ee7351 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.4.  Last change: 2016 Jul 16
+*index.txt*     For Vim version 7.4.  Last change: 2016 Aug 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1207,7 +1207,7 @@
 |:display|	:di[splay]	display registers
 |:djump|	:dj[ump]	jump to #define
 |:dl|		:dl		short for |:delete| with the 'l' flag
-|:dl|		:del[ete]l	short for |:delete| with the 'l' flag
+|:del|		:del[ete]l	short for |:delete| with the 'l' flag
 |:dlist|	:dli[st]	list #defines
 |:doautocmd|	:do[autocmd]	apply autocommands to current buffer
 |:doautoall|	:doautoa[ll]	apply autocommands for all loaded buffers
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index ccfaf5b..738367d 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -3646,7 +3646,7 @@
 		qXX - quality XX.  Valid quality names are: PROOF, DRAFT,
 		      ANTIALIASED, NONANTIALIASED, CLEARTYPE, DEFAULT.
 		      Normally you would use "qDEFAULT".
-		      Some quality values isn't supported in legacy OSs.
+		      Some quality values are not supported in legacy OSs.
 
 	  Use a ':' to separate the options.
 	- A '_' can be used in the place of a space, so you don't need to use
@@ -4403,7 +4403,7 @@
 	if you want to use Vim as a modeless editor.  Used for |evim|.
 	These Insert mode commands will be useful:
 	- Use the cursor keys to move around.
-	- Use CTRL-O to execute one Normal mode command |i_CTRL-O|).  When
+	- Use CTRL-O to execute one Normal mode command |i_CTRL-O|.  When
 	  this is a mapping, it is executed as if 'insertmode' was off.
 	  Normal mode remains active until the mapping is finished.
 	- Use CTRL-L to execute a number of Normal mode commands, then use
@@ -4751,7 +4751,7 @@
 	use this command to get the tallest window possible: >
 		:set lines=999
 <	Minimum value is 2, maximum value is 1000.
-	If you get less lines than expected, check the 'guiheadroom' option.
+	If you get fewer lines than expected, check the 'guiheadroom' option.
 	When you set this option and Vim is unable to change the physical
 	number of lines of the display, the display may be messed up.
 
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index ec9d0ff..d01cc9f 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.4.  Last change: 2016 Aug 10
+*syntax.txt*	For Vim version 7.4.  Last change: 2016 Aug 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3764,7 +3764,7 @@
 'conceallevel' option.  The 'concealcursor' option is used to decide whether
 concealable items in the current line are displayed unconcealed to be able to
 edit the line.
-Another way to conceal text with with |matchadd()|.
+Another way to conceal text is with |matchadd()|.
 
 concealends						*:syn-concealends*
 
@@ -4870,7 +4870,7 @@
 DiffDelete	diff mode: Deleted line |diff.txt|
 							*hl-DiffText*
 DiffText	diff mode: Changed text within a changed line |diff.txt|
-							*hl-EndofBuffer*
+							*hl-EndOfBuffer*
 EndOfBuffer	filler lines (~) after the last line in the buffer.
 		By default, this is highlighted like |hl-NonText|.
 							*hl-ErrorMsg*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 3654bc7..76d39b1 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6638,6 +6638,7 @@
 hl-DiffDelete	syntax.txt	/*hl-DiffDelete*
 hl-DiffText	syntax.txt	/*hl-DiffText*
 hl-Directory	syntax.txt	/*hl-Directory*
+hl-EndOfBuffer	syntax.txt	/*hl-EndOfBuffer*
 hl-ErrorMsg	syntax.txt	/*hl-ErrorMsg*
 hl-FoldColumn	syntax.txt	/*hl-FoldColumn*
 hl-Folded	syntax.txt	/*hl-Folded*
@@ -7591,6 +7592,7 @@
 new-searchpat	version6.txt	/*new-searchpat*
 new-session-files	version5.txt	/*new-session-files*
 new-spell	version7.txt	/*new-spell*
+new-style-testing	eval.txt	/*new-style-testing*
 new-tab-pages	version7.txt	/*new-tab-pages*
 new-undo-branches	version7.txt	/*new-undo-branches*
 new-unlisted-buffers	version6.txt	/*new-unlisted-buffers*
@@ -7634,6 +7636,7 @@
 octal	eval.txt	/*octal*
 octal-nrformats	options.txt	/*octal-nrformats*
 octal-number	eval.txt	/*octal-number*
+old-style-testing	eval.txt	/*old-style-testing*
 oldfiles-variable	eval.txt	/*oldfiles-variable*
 ole-activation	if_ole.txt	/*ole-activation*
 ole-eval	if_ole.txt	/*ole-eval*
@@ -8678,6 +8681,7 @@
 test_null_partial()	eval.txt	/*test_null_partial()*
 test_null_string()	eval.txt	/*test_null_string()*
 test_settime()	eval.txt	/*test_settime()*
+testing	eval.txt	/*testing*
 testing-variable	eval.txt	/*testing-variable*
 tex-cchar	syntax.txt	/*tex-cchar*
 tex-cole	syntax.txt	/*tex-cole*
@@ -8708,12 +8712,14 @@
 throw-variables	eval.txt	/*throw-variables*
 throwpoint-variable	eval.txt	/*throwpoint-variable*
 time-functions	usr_41.txt	/*time-functions*
+timer	eval.txt	/*timer*
 timer-functions	usr_41.txt	/*timer-functions*
 timer_info()	eval.txt	/*timer_info()*
 timer_pause()	eval.txt	/*timer_pause()*
 timer_start()	eval.txt	/*timer_start()*
 timer_stop()	eval.txt	/*timer_stop()*
 timer_stopall()	eval.txt	/*timer_stopall()*
+timers	eval.txt	/*timers*
 timestamp	editing.txt	/*timestamp*
 timestamps	editing.txt	/*timestamps*
 tips	tips.txt	/*tips*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 7feb321..23bd4e7 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 Aug 12
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Aug 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -105,9 +105,6 @@
 Should json_encode()/json_decode() restrict recursiveness?
 Or avoid recursiveness.
 
-Patch to test popupmenu.  Fails, possibly due to a bug.
-(Christian Brabandt, 2016 Jul 23)
-
 Once .exe with updated installer is available: Add remark to download page
 about /S and /D options (Ken Takata, 2016 Apr 13)
 Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
@@ -136,60 +133,19 @@
 
 Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
 
-Also return quickfix vs location list in getwininfo().
-
-Patch to detect st terminal supporting xterm mouse. (Manuel Schiller, 2016 Aug
-2, #963)
-
-Patch to fix that " mark is not stored in viminfo when closing a window in
-another tab. (Hirohito Higashi, 2016 Aug 11, #974)
-
 Syntax highlighting for messages with RFC3339 timestamp (#946)
 Did maintainer reply?
 
-Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
-13, last version)  Update June 26, #830.
-Instead use a Vim script implementation, invoked from a Vim command.
-
 ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
 Also with latest version.
 
-Still problems with 'emoji'.  See issue #721.  Patch 7.4.1697 half-fixes it.
-Avoid PLAN_WRITE in windgoto() ?
-Should already never use utf-8 chars to position the cursor.
-
 Cannot delete a file with square brackets with delete(). (#696)
 
-Patch to add the EndOfBuffer highlight group, used instead of NonText for "~"
-lines. (Marco Hinz, 2014 Nov 2)
-Update from James McCoy, 2016 Aug 3.
-
-No autocommand for when changing directory.  Patch from allen haim, 2016 Jun
-27, #888
-Justin M Keyes: use "global" or "window" for the pattern.  Can add "tab"
-later.  What if entering a window where ":lcd" was used?
-
 Completion for input() does not expand environment variables. (chdiza, 2016
 Jul 25, #948)
 
-Patch to improve GTK shaping. (Manuel Schiller, 2016 Aug 7)
-
-Patch to make matchaddpos() not highlight the character after the line.
-(Hirohito Higashi, 2016 Aug 7)
-
 'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
 
-Patch to have text objects defined by arbitrary single characters. (Daniel
-Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
-Ben Fritz: problem with 'selection' set to "exclusive".
-Updated to current Vim, not quite right yet. (Ben Fritz, 2014 Mar 27)
-Updated to current Vim (James McCoy, 2016 Jul 30, #958)
-Still a bit of work left.  Check if "vimx" works.
-Added tests, Aug 3.
-
-Patch to add CTRL-N / CTRL-P while searching. (Christian Brabandt, 2016 Aug
-3)  Problem: two matches in one line and using CTRL-P does not move back.
-
 's$^$\=capture("s/^//gn")' locks Vim in sandbox mode (#950)
 Patch by Christian Brabandt, 2016 Jul 27.
 
@@ -330,6 +286,16 @@
 Or use $XDG_DATA_DIRS.
 Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
 
+Patch to test popupmenu.  Fails, possibly due to a bug.
+(Christian Brabandt, 2016 Jul 23)
+
+Patch to have text objects defined by arbitrary single characters. (Daniel
+Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
+Added tests (James McCoy, 2016 Aug 3).  Still needs more work.
+
+Patch to add CTRL-N / CTRL-P while searching. (Christian Brabandt, 2016 Aug
+3)  Problem: two matches in one line and using CTRL-P does not move back.
+
 Access to uninitialized memory in match_backref() regexp_nda.c:4882
 (Dominique Pelle, 2015 Nov 6)
 
@@ -653,8 +619,7 @@
 buffers that changed.  Perhaps in misc.c, function selectwindow().
 Xterm 224 supports it!
 Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
-Saito, 2013 Apr 24)  Has a problem (email 2015 Jan 7).
-Update 2015 Jan 10.
+Saito, 2013 Apr 24) Update 2016 Aug 12.
 Also see issue #609.
 We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
 
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index cc1e6a8..b9e6f8b 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,24 +1,25 @@
-*version8.txt*  For Vim version 8.0.  Last change: 2016 Aug 07
+*version8.txt*  For Vim version 8.0.  Last change: 2016 Aug 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
 
-NOTE: THIS FILE IS STILL BEING WORKED ON
+
+NOTE: VIM 8 WAS NOT RELEASED YET, this is work in progress
+
 
 				*vim8* *vim-8* *version-8.0* *version8.0*
-Welcome to Vim 8!  A large number of bugs have been fixed and several
+Welcome to Vim 8!  A large number of bugs have been fixed and several nice
 features have been added.  This file mentions all the new items and changes to
-existing features since Vim 7.4. Bug fixes, the patches for Vim 7.4, can be
-found below |vim-7.4|.  Use this command to see the version you are using: >
+existing features since Vim 7.4. The patches up to Vim 7.4 can be found here:
+|vim-7.4|.
+
+Use this command to see the full version and features information of the Vim
+program you are using: >
 	:version
 
-See |vi_diff.txt| for an overview of differences between Vi and Vim 7.0.
-See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for
-differences between other versions.
-
 NEW FEATURES				|new-8|
-
-Vim script enhancements			|new-vim-script-8|
+	Vim script enhancements		|new-vim-script-8|
+	Various new items		|new-items-8|
 
 INCOMPATIBLE CHANGES			|incompatible-8|
 
@@ -29,6 +30,10 @@
 PATCHES					|patches-8|
 
 
+See |vi_diff.txt| for an overview of differences between Vi and Vim 8.0.
+See |version4.txt|, |version5.txt|, |version6.txt| and |version7.txt| for
+differences between other versions.
+
 ==============================================================================
 NEW FEATURES						*new-8*
 
@@ -128,9 +133,9 @@
 changing the amount of indent.
 
 
-Windows: Direct-X support ~
+Windows: DirectX support ~
 
-This adds the 'renderoptions' option to allow for switching on Direct-X
+This adds the 'renderoptions' option to allow for switching on DirectX
 (DirectWrite) support on MS-Windows.
 
 
@@ -154,15 +159,33 @@
 On some systems the numbers used in Vim script are now 64 bit.  This can be
 checked with the |+num64| feature.
 
+Many items were added so support |new-style-testing|.
+
 
 Various new items					*new-items-8*
 -----------------
 
 Normal mode commands: ~
 
+|g+|		g+		go to newer text state N times
+|g,|		g,		go to N newer position in change list
+|g-|		g-		go to older text state N times
+|g;|		g;		go to N older position in change list
+|g_|		g_		cursor to the last CHAR N - 1 lines lower
+
+
+Visual mode commands: ~
+
+|v_CTRL-A|	CTRL-A		add N to number in highlighted text
+|v_CTRL-X|	CTRL-X		subtract N from number in highlighted text
+|v_g_CTRL-A|	g CTRL-A	add N to number in highlighted text
+|v_g_CTRL-X|	g CTRL-X	subtract N from number in highlighted text
+
 
 Insert mode commands: ~
 
+|i_CTRL-G_U|	CTRL-G U	don't break undo with next cursor movement
+
 
 Options: ~
 
@@ -177,12 +200,14 @@
 'perldll'		name of the Perl dynamic library
 'pythondll'		name of the Python 2 dynamic library
 'pythonthreedll'	name of the Python 3 dynamic library
+'signcolumn'		when to display the sign column
 'renderoptions'		options for text rendering on Windows
 'rubydll'		name of the Ruby dynamic library
 'tagcase'		how to handle case when searching in tags files
 'tcldll'		name of the Tcl dynamic library
 'termguicolors'		use GUI colors for the terminal
 
+
 Ex commands: ~
 
 |:cbottom|		scroll to the bottom of the quickfix window
@@ -191,7 +216,6 @@
 |:chistory|		display quickfix list stack
 |:clearjumps|		clear the jump list
 |:helpclose|		close one help window
-|:keeppatterns|		following command keeps search pattern history
 |:lbottom|		scroll to the bottom of the location window
 |:ldo|			execute command in valid location list entries
 |:lfdo|			execute command in each file in location list
@@ -201,10 +225,10 @@
 |:packloadall|		load all packages under 'packpath'
 |:smile|		make the user happy
 
+
 Ex command modifiers: ~
 
-
-Ex command arguments: ~
+|:keeppatterns|		following command keeps search pattern history
 
 
 New and extended functions: ~
@@ -238,10 +262,14 @@
 |ch_status()|		get status of a channel
 |execute()|		execute an Ex command and get the output
 |exepath()|		full path of an executable program
+|funcref()|		return a reference to function {name}
+|getbufinfo()|		get a list with buffer information
 |getcharsearch()|	return character search information
 |getcmdwintype()|	return the current command-line window type
 |getcompletion()|	return a list of command-line completion matches
 |getcurpos()|		get position of the cursor
+|gettabinfo()|		get a list with tab page information
+|getwininfo()|		get a list with window information
 |glob2regpat()|		convert a glob pattern into a search pattern
 |isnan()|		check for not a number
 |job_getchannel()|	get the channel used by a job
@@ -291,29 +319,96 @@
 New Vim variables: ~
 
 |v:vim_did_enter|	Set when VimEnter autocommands are triggered
+|v:beval_winid|		Window ID of the window where the mouse pointer is
+|v:completed_item|	complete items for the most recently completed word
+|v:errors|		errors found by assert functions
+|v:false|		a Number with value zero
+|v:hlsearch|		indicates whether search highlighting is on
+|v:mouse_winid|		Window ID for a mouse click obtained with |getchar()|
+|v:none|		an empty String, used for JSON
+|v:null|		an empty String, used for JSON
+|v:option_new|    	new value of the option, used by |OptionSet|
+|v:option_old|    	old value of the option, used by |OptionSet|
+|v:option_type|   	scope of the set command, used by |OptionSet|
+|v:progpath|		the command with which Vim was invoked
+|v:t_bool|		value of Boolean type
+|v:t_channel|		value of Channel type
+|v:t_dict|		value of Dictionary type
+|v:t_float|		value of Float type
+|v:t_func|		value of Funcref type
+|v:t_job|		value of Job type
+|v:t_list|		value of List type
+|v:t_none|		value of None type
+|v:t_number|		value of Number type
+|v:t_string|		value of String type
+|v:testing|		must be set before using `test_garbagecollect_now()`
+|v:true|		a Number with value one
+|v:vim_did_enter|	zero until most of startup is done
 
 
 New autocommand events: ~
 
+|CmdUndefined|		a user command is used but it isn't defined
+|OptionSet|		after setting any option
+|TabClosed|		after closing a tab page
+|TabNew|		after creating a new tab page
+|TextChangedI|		after a change was made to the text in Insert mode
+|TextChanged|		after a change was made to the text in Normal mode
+|WinNew|		after creating a new window
 
 
 New highlight groups: ~
 
+EndOfBuffer		filler lines (~) after the last line in the buffer.
+			|hl-EndOfBuffer|
+
 
 New items in search patterns: ~
 
+|/\%C|	\%C		match any composing characters
+
 
 New Syntax/Indent/FTplugin files: ~
 
+AVR Assembler (Avra) syntax
+Arduino syntax
+Bazel syntax and indent and ftplugin
+Dockerfile syntax and ftplugin
+Eiffel ftplugin
+Euphoria 3 and 4 syntax
+Go syntax and indent and ftplugin
+Godoc syntax
+Groovy ftplugin
+HGcommit ftplugin
+Hog indent and ftplugin
+Innovation Data Processing upstream.pt syntax
+J syntax and indent and ftplugin
+Jproperties ftplugin
+Json syntax and indent and ftplugin
+Kivy syntax
+Less syntax and indent
+Mix syntax
+Motorola S-Record syntax
+R ftplugin
+ReStructuredText syntax and indent and ftplugin
+Registry ftplugin
+Rhelp indent and ftplugin
+Rmd (markdown with R code chunks) syntax and indent
+Rmd ftplugin
+Rnoweb ftplugin
+Rnoweb indent
+SystemVerilog syntax and indent and ftplugin
+Systemd syntax and indent and ftplugin
+Teraterm (TTL) syntax and indent
+Text ftplugin
+Vroom syntax and indent and ftplugin
+
 
 New Keymaps: ~
 
-
-New message translations: ~
-
-
-Others: ~
-
+Armenian eastern and western
+Russian jcukenwintype
+Vietnamese telex and vni
 
 ==============================================================================
 INCOMPATIBLE CHANGES				*incompatible-8*
@@ -334,16 +429,19 @@
 Support removed ~
 
 The support for MS-DOS has been removed.  It hasn't been working for a while
-and removing it cleans up the code quite a bit.
+(Vim doesn't fit in memory) and removing it cleans up the code quite a bit.
 
 The support for Windows 16 bit (Windows 95 and older) has been removed.
 
+The support for OS/2 has been removed.  It probably hasn't been working for a
+while since nobody uses it.
+
 The SNiFF+ support has been removed.
 
 
 Minor incompatibilities: ~
 
-For filetype detection: ...
+Probably...
 
 ==============================================================================
 IMPROVEMENTS						*improvements-8*
@@ -356,8 +454,13 @@
 ==============================================================================
 COMPILE TIME CHANGES					*compile-changes-8*
 
-Dropped the support for MS-DOS.  It was too big to fit in memory.
+The Vim repository was moved from Google code to github, since Google code
+was shut down.  It can now be found at https://github.com/vim/vim.
 
+Functions now use ANSI-C declarations.  At least a C-89 compatible compiler is
+required.
+
+The +visual feature is now always included.
 
 ==============================================================================
 PATCHES						*patches-8* *bug-fixes-8*
@@ -2694,7 +2797,7 @@
 Problem:    Text drawing on newer MS-Windows systems is suboptimal.  Some
 	    multi-byte characters are not displayed, even though the same font
 	    in Notepad can display them. (Srinath Avadhanula)
-Solution:   Add the 'renderoptions' option to enable Direct-X drawing. (Taro
+Solution:   Add the 'renderoptions' option to enable DirectX drawing. (Taro
 	    Muraoka)
 Files:	    runtime/doc/eval.txt, runtime/doc/options.txt,
 	    runtime/doc/various.txt, src/Make_cyg.mak, src/Make_ming.mak,
@@ -8167,7 +8270,7 @@
 
 Patch 7.4.1306
 Problem:    Job control doesn't work well on MS-Windows.
-Solution:   Various fixes. (Ken Takata, Ozaki Kiichi , Yukihiro Nakadaira,
+Solution:   Various fixes. (Ken Takata, Ozaki Kiichi, Yukihiro Nakadaira,
             Yasuhiro Matsumoto)
 Files:      src/Make_mvc.mak, src/eval.c, src/os_unix.c, src/os_win32.c,
             src/proto/os_unix.pro, src/proto/os_win32.pro, src/structs.h
@@ -12641,6 +12744,604 @@
             src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt
 
 Patch 7.4.2078
+Problem:    Running checks in po directory fails.
+Solution:   Add colors used in syntax.c to the builtin color table.
+Files:      src/term.c
+
+Patch 7.4.2079
+Problem:    Netbeans test fails on non-Unix systems.
+Solution:   Only do the permission check on Unix systems.
+Files:      src/testdir/test_netbeans.vim
+
+Patch 7.4.2080
+Problem:    When using PERROR() on some systems assert_fails() does not see
+            the error.
+Solution:   Make PERROR() always report the error.
+Files:      src/vim.h, src/message.c, src/proto/message.pro
+
+Patch 7.4.2081
+Problem:    Line numbers in the error list are not always adjusted.
+Solution:   Set b_has_qf_entry properly. (Yegappan Lakshmanan)
+Files:      src/quickfix.c, src/structs.h, src/testdir/test_quickfix.vim
+
+Patch 7.4.2082
+Problem:    Not much test coverage for digraphs.
+Solution:   Add a new style digraph test. (Christian Brabandt)
+Files:      src/Makefile, src/testdir/test_alot.vim,
+            src/testdir/test_digraph.vim
+
+Patch 7.4.2083
+Problem:    Coverity complains about not restoring a value.
+Solution:   Restore the value, although it's not really needed.  Change return
+            to jump to cleanup, might leak memory.
+Files:      src/userfunc.c
+
+Patch 7.4.2084
+Problem:    New digraph test makes testing hang.
+Solution:   Don't set "nocp".
+Files:      src/testdir/test_digraph.vim
+
+Patch 7.4.2085
+Problem:    Digraph tests fails on some systems.
+Solution:   Run it separately and set 'encoding' early.
+Files:      src/testdir/Make_all.mak, src/testdir/test_alot.vim,
+            src/testdir/test_digraph.vim
+
+Patch 7.4.2086
+Problem:    Using the system default encoding makes tests unpredictable.
+Solution:   Always use utf-8 or latin1 in the new style tests.  Remove setting
+            encoding and scriptencoding where it is not needed.
+Files:      src/testdir/runtest.vim, src/testdir/test_channel.vim,
+            src/testdir/test_digraph.vim, src/testdir/test_expand_dllpath.vim,
+            src/testdir/test_expr_utf8.vim, src/testdir/test_json.vim,
+            src/testdir/test_matchadd_conceal_utf8.vim,
+            src/testdir/test_regexp_utf8.vim, src/testdir/test_visual.vim,
+            src/testdir/test_alot_utf8.vim,
+
+Patch 7.4.2087
+Problem:    Digraph code test coverage is still low.
+Solution:   Add more tests. (Christian Brabandt)
+Files:      src/testdir/test_digraph.vim
+
+Patch 7.4.2088 (after 7.4.2087)
+Problem:    Keymap test fails with normal features.
+Solution:   Bail out if the keymap feature is not supported.
+Files:      src/testdir/test_digraph.vim
+
+Patch 7.4.2089
+Problem:    Color handling of X11 GUIs is too complicated.
+Solution:   Simplify the code.  Use RGBA where appropriate. (Kazunobu
+            Kuriyama)
+Files:      src/gui.h, src/gui_beval.c, src/gui_gtk_x11.c, src/netbeans.c
+
+Patch 7.4.2090
+Problem:    Using submatch() in a lambda passed to substitute() is verbose.
+Solution:   Use a static list and pass it as an optional argument to the
+            function.  Fix memory leak.
+Files:      src/structs.h, src/list.c, src/userfunc.c, src/channel.c,
+            src/eval.c, src/evalfunc.c, src/ex_cmds2.c, src/regexp.c,
+            src/proto/list.pro, src/proto/userfunc.pro,
+            src/testdir/test_expr.vim, runtime/doc/eval.txt
+
+Patch 7.4.2091
+Problem:    Coverity reports a resource leak when out of memory.
+Solution:   Close the file before returning.
+Files:      src/term.c
+
+Patch 7.4.2092
+Problem:    GTK 3 build fails with older GTK version.
+Solution:   Check the pango version. (Kazunobu Kuriyama)
+Files:      src/gui_beval.c
+
+Patch 7.4.2093
+Problem:    Netbeans test fails once in a while.  Leaving log file behind.
+Solution:   Add it to the list of flaky tests.  Disable logfile.
+Files:      src/testdir/runtest.vim, src/testdir/test_channel.vim
+
+Patch 7.4.2094
+Problem:    The color allocation in X11 is overly complicated.
+Solution:   Remove find_closest_color(), XAllocColor() already does this.
+            (Kazunobu Kuriyama)
+Files:      src/gui_x11.c
+
+Patch 7.4.2095
+Problem:    Man test fails when run with the GUI.
+Solution:   Adjust for different behavior of GUI.  Add assert_inrange().
+Files:      src/eval.c, src/evalfunc.c, src/proto/eval.pro,
+            src/testdir/test_assert.vim, src/testdir/test_man.vim,
+            runtime/doc/eval.txt
+
+Patch 7.4.2096
+Problem:    Lambda functions show up with completion.
+Solution:   Don't show lambda functions. (Ken Takata)
+Files:      src/userfunc.c, src/testdir/test_cmdline.vim
+
+Patch 7.4.2097
+Problem:    Warning from 64 bit compiler.
+Solution:   use size_t instead of int. (Mike Williams)
+Files:      src/message.c
+
+Patch 7.4.2098
+Problem:    Text object tests are old style.
+Solution:   Turn them into new style tests. (James McCoy, closes #941)
+Files:      src/testdir/Make_all.mak, src/testdir/test_textobjects.in,
+            src/testdir/test_textobjects.ok, src/testdir/test_textobjects.vim,
+            src/Makefile
+
+Patch 7.4.2099
+Problem:    When a keymap is active only "(lang)" is displayed. (Ilya
+            Dogolazky)
+Solution:   Show the keymap name. (Dmitri Vereshchagin, closes #933)
+Files:      src/buffer.c, src/proto/screen.pro, src/screen.c
+
+Patch 7.4.2100
+Problem:    "cgn" and "dgn" do not work correctly with a single character
+            match and the replacement includes the searched pattern. (John
+            Beckett)
+Solution:   If the match is found in the wrong column try in the next column.
+            Turn the test into new style. (Christian Brabandt)
+Files:      src/search.c, src/testdir/Make_all.mak, src/Makefile,
+            src/testdir/test53.in, src/testdir/test53.ok,
+            src/testdir/test_gn.vim
+
+Patch 7.4.2101
+Problem:    Looping over windows, buffers and tab pages is inconsistent.
+Solution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
+Files:      src/buffer.c, src/diff.c, src/edit.c, src/eval.c, src/evalfunc.c,
+            src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/fileio.c,
+            src/globals.h, src/gui.c, src/gui_mac.c, src/if_lua.c,
+            src/if_mzsch.c, src/if_perl.xs, src/if_ruby.c, src/if_tcl.c,
+            src/main.c, src/mark.c, src/memfile.c, src/memline.c, src/misc1.c,
+            src/move.c, src/netbeans.c, src/normal.c, src/option.c,
+            src/quickfix.c, src/screen.c, src/spell.c, src/term.c,
+            src/window.c, src/workshop.c
+
+Patch 7.4.2102 (after 7.4.2101)
+Problem:    Tiny build with GUI fails.
+Solution:   Revert one FOR_ALL_ change.
+Files:      src/gui.c
+
+Patch 7.4.2103
+Problem:    Can't have "augroup END" right after ":au!".
+Solution:   Check for the bar character before the command argument.
+Files:      src/fileio.c, src/testdir/test_autocmd.vim,
+            runtime/doc/autocmd.txt
+
+Patch 7.4.2104
+Problem:    Code duplication when unreferencing a function.
+Solution:   De-duplicate.
+Files:      src/userfunc.c
+
+Patch 7.4.2105
+Problem:    Configure reports default features to be "normal" while it is
+            "huge".
+Solution:   Change the default text.  Build with newer autoconf.
+Files:      src/configure.in, src/auto/configure
+
+Patch 7.4.2106
+Problem:    Clang warns about missing field in initializer.
+Solution:   Define COMMA and use it.  (Kazunobu Kuriyama)
+Files:      src/ex_cmds.c, src/globals.h, src/vim.h
+
+Patch 7.4.2107 (after 7.4.2106)
+Problem:    Misplaced equal sign.
+Solution:   Remove it.
+Files:      src/globals.h
+
+Patch 7.4.2108
+Problem:    Netbeans test is flaky.
+Solution:   Wait for the cursor to be positioned.
+Files:      src/testdir/test_netbeans.vim
+
+Patch 7.4.2109
+Problem:    Setting 'display' to "lastline" is a drastic change, while
+            omitting it results in lots of "@" lines.
+Solution:   Add "truncate" to show "@@@" for a truncated line.
+Files:      src/option.h, src/screen.c, runtime/doc/options.txt
+
+Patch 7.4.2110
+Problem:    When there is an CmdUndefined autocmd then the error for a missing
+            command is E464 instead of E492. (Manuel Ortega)
+Solution:   Don't let the pointer be NULL.
+Files:      src/ex_docmd.c, src/testdir/test_usercommands.vim
+
+Patch 7.4.2111
+Problem:    Defaults are very conservative.
+Solution:   Move settings from vimrc_example.vim to defaults.vim.  Load
+            defaults.vim if no .vimrc was found.
+Files:      src/main.c, src/version.c, src/os_amiga.h, src/os_dos.h,
+            src/os_mac.h, src/os_unix.h, src/feature.h, src/Makefile,
+            runtime/vimrc_example.vim, runtime/defaults.vim,
+            runtime/evim.vim, Filelist, runtime/doc/starting.txt
+
+Patch 7.4.2112
+Problem:    getcompletion(.., 'dir') returns a match with trailing "*" when
+            there are no matches. (Chdiza)
+Solution:   Return an empty list when there are no matches.  Add a trailing
+            slash to directories. (Yegappan Lakshmanan)  Add tests for no
+            matches. (closes #947)
+Files:      src/evalfunc.c, src/testdir/test_cmdline.vim
+
+Patch 7.4.2113
+Problem:    Test for undo is flaky.
+Solution:   Turn it into a new style test.  Use test_settime() to avoid
+            flakyness.
+Files:      src/Makefile, src/undo.c, src/testdir/test61.in,
+            src/testdir/test61.ok, src/testdir/test_undo.vim,
+            src/testdir/test_undolevels.vim, src/testdir/Make_all.mak,
+            src/testdir/test_alot.vim
+
+Patch 7.4.2114
+Problem:    Tiny build fails.
+Solution:   Always include vim_time().
+Files:      src/ex_cmds.c
+
+Patch 7.4.2115
+Problem:    Loading defaults.vim with -C argument.
+Solution:   Don't load the defaults script with -C argument.  Test sourcing
+            the defaults script.  Set 'display' to "truncate".
+Files:      src/main.c, src/Makefile, runtime/defaults.vim,
+            src/testdir/test_startup.vim, src/testdir/Make_all.mak
+
+Patch 7.4.2116
+Problem:    The default vimrc for Windows is very conservative.
+Solution:   Use the defaults.vim in the Windows installer.
+Files:      src/dosinst.c
+
+Patch 7.4.2117
+Problem:    Deleting an augroup that still has autocmds does not give a
+            warning.  The next defined augroup takes its place.
+Solution:   Give a warning and prevent the index being used for another group
+            name.
+Files:      src/fileio.c, src/testdir/test_autocmd.vim
+
+Patch 7.4.2118
+Problem:    Mac: can't build with tiny features.
+Solution:   Don't define FEAT_CLIPBOARD unconditionally. (Kazunobu Kuriyama)
+Files:      src/vim.h
+
+Patch 7.4.2119
+Problem:    Closures are not supported.
+Solution:   Capture variables in lambdas from the outer scope. (Yasuhiro
+            Matsumoto, Ken Takata)
+Files:      runtime/doc/eval.txt, src/eval.c, src/ex_cmds2.c, src/globals.h,
+            src/proto/eval.pro, src/proto/userfunc.pro,
+            src/testdir/test_lambda.vim, src/userfunc.c
+
+Patch 7.4.2120
+Problem:    User defined functions can't be a closure.
+Solution:   Add the "closure" argument. Allow using :unlet on a bound
+            variable. (Yasuhiro Matsumoto, Ken Takata)
+Files:      runtime/doc/eval.txt, src/testdir/test_lambda.vim, src/userfunc.c,
+            src/eval.c src/proto/userfunc.pro
+
+Patch 7.4.2121
+Problem:    No easy way to check if lambda and closure are supported.
+Solution:   Add the +lambda feature.
+Files:      src/evalfunc.c, src/version.c, src/testdir/test_lambda.vim
+
+Patch 7.4.2122 (after 7.4.2118)
+Problem:    Mac: don't get +clipboard in huge build.
+Solution:   Move #define down below including feature.h
+Files:      src/vim.h
+
+Patch 7.4.2123
+Problem:    No new style test for diff mode.
+Solution:   Add a test.  Check that folds are in sync.
+Files:      src/Makefile, src/testdir/test_diffmode.vim,
+            src/testdir/Make_all.mak, src/testdir/test47.in,
+            src/testdir/test47.ok
+
+Patch 7.4.2124
+Problem:    diffmode test leaves files behind, breaking another test.
+Solution:   Delete the files.
+Files:      src/testdir/test_diffmode.vim
+
+Patch 7.4.2125
+Problem:    Compiler warning for loss of data.
+Solution:   Add a type cast. (Christian Brabandt)
+Files:      src/message.c
+
+Patch 7.4.2126
+Problem:    No tests for :diffget and :diffput
+Solution:   Add tests.
+Files:      src/testdir/test_diffmode.vim
+
+Patch 7.4.2127
+Problem:    The short form of ":noswapfile" is ":noswap" instead of ":nos".
+            (Kent Sibilev)
+Solution:   Only require three characters.  Add a test for the short forms.
+Files:      src/ex_docmd.c, src/testdir/test_usercommands.vim
+
+Patch 7.4.2128
+Problem:    Memory leak when saving for undo fails.
+Solution:   Free allocated memory. (Hirohito Higashi)
+Files:      src/ex_cmds.c
+
+Patch 7.4.2129
+Problem:    Memory leak when using timer_start(). (Dominique Pelle)
+Solution:   Don't copy the callback when using a partial.
+Files:      src/evalfunc.c
+
+Patch 7.4.2130
+Problem:    Pending timers cause false memory leak reports.
+Solution:   Free all timers on exit.
+Files:      src/ex_cmds2.c, src/proto/ex_cmds2.pro, src/misc2.c
+
+Patch 7.4.2131
+Problem:    More memory leaks when using partial, e.g. for "exit-cb".
+Solution:   Don't copy the callback when using a partial.
+Files:      src/channel.c
+
+Patch 7.4.2132
+Problem:    test_partial has memory leaks reported.
+Solution:   Add a note about why this happens.
+Files:      src/testdir/test_partial.vim
+
+Patch 7.4.2133 (after 7.4.2128)
+Problem:    Can't build with tiny features.
+Solution:   Add #ifdef.
+Files:      src/ex_cmds.c
+
+Patch 7.4.2134
+Problem:    No error for using function() badly.
+Solution:   Check for passing wrong function name. (Ken Takata)
+Files:      src/eval.c, src/evalfunc.c, src/proto/userfunc.pro,
+            src/testdir/test_expr.vim, src/userfunc.c, src/vim.h
+
+Patch 7.4.2135
+Problem:    Various tiny issues.
+Solution:   Update comments, white space, etc.
+Files:      src/diff.c, src/digraph.c, src/testdir/test80.in,
+            src/testdir/test_channel.vim, src/testdir/Makefile,
+            runtime/menu.vim, src/INSTALLpc.txt, src/xpm/README.txt
+
+Patch 7.4.2136
+Problem:    Closure function fails.
+Solution:   Don't reset uf_scoped when it points to another funccal.
+Files:      src/userfunc.c, src/testdir/test_lambda.vim
+
+Patch 7.4.2137
+Problem:    Using function() with a name will find another function when it is
+            redefined.
+Solution:   Add funcref().  Refer to lambda using a partial.  Fix several
+            reference counting issues.
+Files:      src/vim.h, src/structs.h, src/userfunc.c, src/eval.c,
+            src/evalfunc.c, src/channel.c, src/proto/eval.pro,
+            src/proto/userfunc.pro, src/if_mzsch.c, src/regexp.c, src/misc2.c,
+            src/if_py_both.h, src/testdir/test_expr.vim, runtime/doc/eval.txt
+
+Patch 7.4.2138
+Problem:    Test 86 and 87 fail.
+Solution:   Call func_ref() also for regular functions.
+Files:      src/if_py_both.h
+
+Patch 7.4.2139
+Problem:    :delfunction causes illegal memory access.
+Solution:   Correct logic when deciding to free a function.
+Files:      src/userfunc.c, src/testdir/test_lambda.vim
+
+Patch 7.4.2140
+Problem:    Tiny build fails.
+Solution:   Add dummy typedefs.
+Files:      src/structs.h
+
+Patch 7.4.2141
+Problem:    Coverity reports bogus NULL check.
+Solution:   When checking for a variable in the funccal scope don't pass the
+            varname.
+Files:      src/userfunc.c, src/proto/userfunc.pro, src/eval.c
+
+Patch 7.4.2142
+Problem:    Leaking memory when redefining a function.
+Solution:   Don't increment the function reference count when it's found by
+            name. Don't remove the wrong function from the hashtab.  More
+            reference counting fixes.
+Files:      src/structs.h, src/userfunc.c
+
+Patch 7.4.2143
+Problem:    A funccal is garbage collected while it can still be used.
+Solution:   Set copyID in all referenced functions.  Do not list lambda
+            functions with ":function".
+Files:      src/userfunc.c, src/proto/userfunc.pro, src/eval.c,
+            src/testdir/test_lambda.vim
+
+Patch 7.4.2144
+Problem:    On MS-Windows quickfix does not handle a line with 1023 bytes
+            ending in CR-LF properly.
+Solution:   Don't consider CR a line break. (Ken Takata)
+Files:      src/quickfix.c
+
+Patch 7.4.2145
+Problem:    Win32: Using CreateThread/ExitThread is not safe.
+Solution:   Use _beginthreadex and return from the thread. (Ken Takata)
+Files:      src/os_win32.c
+
+Patch 7.4.2146
+Problem:    Not enough testing for popup menu.  CTRL-E does not always work
+            properly.
+Solution:   Add more tests.  When using CTRL-E check if the popup menu is
+            visible. (Christian Brabandt)
+Files:      src/edit.c, src/testdir/test_popup.vim
+
+Patch 7.4.2147 (after 7.4.2146)
+Problem:    test_alot fails.
+Solution:   Close window.
+Files:      src/testdir/test_popup.vim
+
+Patch 7.4.2148
+Problem:    Not much testing for cscope.
+Solution:   Add a test that uses the cscope program. (Christian Brabandt)
+Files:      src/testdir/test_cscope.vim
+
+Patch 7.4.2149
+Problem:    If a test leaves a window open a following test may fail.
+Solution:   Always close extra windows after running a test.
+Files:      src/testdir/runtest.vim, src/testdir/test_popup.vim
+
+Patch 7.4.2150
+Problem:    Warning with MinGW 64. (John Marriott)
+Solution:   Change return type. (Ken Takata)
+Files:      src/os_win32.c
+
+Patch 7.4.2151
+Problem:    Quickfix test fails on MS-Windows.
+Solution:   Close the help window. (Christian Brabandt)
+Files:      src/testdir/test_quickfix.vim
+
+Patch 7.4.2152
+Problem:    No proper translation of messages with a count.
+Solution:   Use ngettext(). (Sergey Alyoshin)
+Files:      src/evalfunc.c, src/fold.c, src/os_win32.c, src/screen.c, src/vim.h
+
+Patch 7.4.2153
+Problem:    GUI test isn't testing much.
+Solution:   Turn into a new style test.  Execute a shell command.
+Files:      src/testdir/test_gui.vim, src/testdir/test16.in,
+            src/testdir/test16.ok, src/testdir/Make_all.mak, src/Makefile,
+            src/testdir/Make_vms.mms
+
+Patch 7.4.2154
+Problem:    Test_communicate() fails sometimes.
+Solution:   Add it to the flaky tests.
+Files:      src/testdir/runtest.vim
+
+Patch 7.4.2155
+Problem:    Quotes make GUI test fail on MS-Windows.
+Solution:   Remove quotes, strip white space.
+Files:      src/testdir/test_gui.vim
+
+Patch 7.4.2156
+Problem:    Compiler warning.
+Solution:   Add type cast. (Ken Takata, Mike Williams)
+Files:      src/os_win32.c
+
+Patch 7.4.2157
+Problem:    Test_job_start_fails() is expected to report memory leaks, making
+            it hard to see other leaks in test_partial.
+Solution:   Move Test_job_start_fails() to a separate test file.
+Files:      src/testdir/test_partial.vim, src/testdir/test_job_fails.vim,
+            src/Makefile, src/testdir/Make_all.mak
+
+Patch 7.4.2158
+Problem:    Result of getcompletion('', 'cscope') depends on previous
+            completion. (Christian Brabandt)
+Solution:   Call set_context_in_cscope_cmd().
+Files:      src/evalfunc.c, src/testdir/test_cmdline.vim
+
+Patch 7.4.2159
+Problem:    Insufficient testing for cscope.
+Solution:   Add more tests. (Dominique Pelle)
+Files:      src/testdir/test_cscope.vim
+
+Patch 7.4.2160
+Problem:    setmatches() mixes up values. (Nikolai Pavlov)
+Solution:   Save the string instead of reusing a shared buffer.
+Files:      src/dict.c, src/evalfunc.c, src/testdir/test_expr.vim,
+
+Patch 7.4.2161 (after 7.4.2160)
+Problem:    Expression test fails without conceal feature.
+Solution:   Only check "conceal" with the conceal feature.
+Files:      src/testdir/test_expr.vim
+
+Patch 7.4.2162
+Problem:    Result of getcompletion('', 'sign') depends on previous
+            completion.
+Solution:   Call set_context_in_sign_cmd(). (Dominique Pelle)
+Files:      src/evalfunc.c, src/testdir/test_cmdline.vim
+
+Patch 7.4.2063
+Problem:    eval.c is still too big.
+Solution:   Split off internal functions to evalfunc.c.
+Files:      src/eval.c, src/evalfunc.c, src/list.c, src/proto.h,
+            src/globals.h, src/vim.h, src/proto/eval.pro,
+            src/proto/evalfunc.pro, src/proto/list.pro, src/Makefile, Filelist,
+            src/Make_bc5.mak, src/Make_cyg_ming.mak, src/Make_dice.mak,
+            src/Make_ivc.mak, src/Make_manx.mak, src/Make_morph.mak,
+            src/Make_mvc.mak, src/Make_sas.mak
+
+Patch 7.4.2064
+Problem:    Coverity warns for possible buffer overflow.
+Solution:   Use vim_strcat() instead of strcat().
+Files:      src/quickfix.c
+
+Patch 7.4.2065
+Problem:    Compiler warns for uninitialzed variable. (John Marriott)
+Solution:   Set lnum to the right value.
+Files:      src/evalfunc.c
+
+Patch 7.4.2066
+Problem:    getcompletion() not well tested.
+Solution:   Add more testing.
+Files:      src/testdir/test_cmdline.vim
+
+Patch 7.4.2067
+Problem:    Compiler warning for char/char_u conversion. (Tony Mechelynck)
+            Inefficient code.
+Solution:   Use more lines to fill with spaces. (Nikolai Pavlov) Add type cast.
+Files:      src/quickfix.c
+
+Patch 7.4.2068
+Problem:    Not all arguments of trunc_string() are tested.  Memory access
+            error when running the message tests.
+Solution:   Add another test case. (Yegappan Lakshmanan)  Make it easy to run
+            unittests with valgrind.  Fix the access error.
+Files:      src/message.c, src/message_test.c, src/Makefile
+
+Patch 7.4.2069
+Problem:    spell.c is too big.
+Solution:   Split it in spell file handling and spell checking.
+Files:      src/spell.c, src/spellfile.c, src/spell.h, src/Makefile,
+            src/proto/spell.pro, src/proto/spellfile.pro, src/proto.h
+            Filelist, src/Make_bc5.mak, src/Make_cyg_ming.mak,
+            src/Make_dice.mak, src/Make_ivc.mak, src/Make_manx.mak,
+            src/Make_morph.mak, src/Make_mvc.mak, src/Make_sas.mak
+
+Patch 7.4.2070 (after 7.4.2069)
+Problem:    Missing change to include file.
+Solution:   Include the spell header file.
+Files:      src/vim.h
+
+Patch 7.4.2071
+Problem:    The return value of type() is difficult to use.
+Solution:   Define v:t_ constants. (Ken Takata)
+Files:      runtime/doc/eval.txt, src/eval.c, src/evalfunc.c,
+            src/testdir/test_channel.vim, src/testdir/test_viml.vim, src/vim.h
+
+Patch 7.4.2072
+Problem:    substitute() does not support a Funcref argument.
+Solution:   Support a Funcref like it supports  a string starting with "\=".
+Files:      src/evalfunc.c, src/regexp.c, src/eval.c, src/proto/eval.pro,
+            src/proto/regexp.pro, src/testdir/test_expr.vim
+
+Patch 7.4.2073
+Problem:    rgb.txt is read for every color name.
+Solution:   Load rgb.txt once. (Christian Brabandt)  Add a test.
+Files:      runtime/rgb.txt, src/term.c, src/testdir/test_syn_attr.vim
+
+Patch 7.4.2074
+Problem:    One more place using a dummy variable.
+Solution:   Use offsetof(). (Ken Takata)
+Files:      src/userfunc.c
+
+Patch 7.4.2075
+Problem:    No autocommand event to initialize a window or tab page.
+Solution:   Add WinNew and TabNew events. (partly by Felipe Morales)
+Files:      src/fileio.c, src/window.c, src/vim.h,
+            src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt
+
+Patch 7.4.2076
+Problem:    Syntax error when dict has '>' key.
+Solution:   Check for endchar. (Ken Takata)
+Files:      src/userfunc.c, src/testdir/test_lambda.vim
+
+Patch 7.4.2077
+Problem:    Cannot update 'tabline' when a tab was closed.
+Solution:   Add the TabClosed autocmd event. (partly by Felipe Morales)
+Files:      src/fileio.c, src/window.c, src/vim.h,
+            src/testdir/test_autocmd.vim, runtime/doc/autocmd.txt
+
+Patch 7.4.2078
 Problem:    Running checks in po diretory fails.
 Solution:   Add colors used in syntax.c to the builtiin color table.
 Files:      src/term.c
@@ -13147,6 +13848,329 @@
 Solution:   Call set_context_in_sign_cmd(). (Dominique Pelle)
 Files:      src/evalfunc.c, src/testdir/test_cmdline.vim
 
-[MORE COMING!]
+Patch 7.4.2163
+Problem:    match() and related functions tested with old style test.
+Solution:   Convert to new style test. (Hirohito Higashi)
+Files:      src/Makefile, src/testdir/Make_all.mak, src/testdir/test63.in,
+            src/testdir/test63.ok, src/testdir/test_alot.vim,
+            src/testdir/test_match.vim, src/testdir/test_matchstrpos.vim
+
+Patch 7.4.2164
+Problem:    It is not possible to use plugins in an "after" directory to tune
+            the behavior of a package.
+Solution:   First load plugins from non-after directories, then packages and
+            finally plugins in after directories.
+            Reset 'loadplugins' before executing --cmd arguments.
+Files:      src/main.c, src/vim.h, src/ex_cmds2.c, src/testdir/Makefile,
+            src/testdir/shared.vim, src/testdir/test_startup.vim,
+            src/testdir/setup.vim, runtime/doc/starting.txt
+
+Patch 7.4.2165 (after 7.4.2164)
+Problem:    Startup test fails on MS-Windows.
+Solution:   Don't check output if RunVim() returns zero.
+Files:      src/testdir/test_startup.vim
+
+Patch 7.4.2166 (after 7.4.2164)
+Problem:    Small build can't run startup test.
+Solution:   Skip the test.
+Files:      src/testdir/test_startup.vim
+
+Patch 7.4.2167 (after 7.4.2164)
+Problem:    Small build can't run tests.
+Solution:   Don't try setting 'packpath'.
+Files:      src/testdir/setup.vim
+
+Patch 7.4.2168
+Problem:    Not running the startup test on MS-Windows.
+Solution:   Write vimcmd.
+Files:      src/testdir/Make_ming.mak, src/testdir/Make_dos.mak
+
+Patch 7.4.2169 (after 7.4.2168)
+Problem:    Startup test gets stuck on MS-Windows.
+Solution:   Use double quotes.
+Files:      src/testdir/shared.vim, src/testdir/test_startup.vim
+
+Patch 7.4.2170
+Problem:    Cannot get information about timers.
+Solution:   Add timer_info().
+Files:      src/evalfunc.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
+            runtime/doc/eval.txt
+
+Patch 7.4.2171 (after 7.4.2170)
+Problem:    MS-Windows build fails.
+Solution:   Add QueryPerformanceCounter().
+Files:      src/ex_cmds2.c
+
+Patch 7.4.2172
+Problem:    No test for "vim --help".
+Solution:   Add a test.
+Files:      src/testdir/test_startup.vim, src/testdir/shared.vim
+
+Patch 7.4.2173 (after 7.4.2172)
+Problem:    Can't test help on MS-Windows.
+Solution:   Skip the test.
+Files:      src/testdir/test_startup.vim
+
+Patch 7.4.2174
+Problem:    Adding duplicate flags to 'whichwrap' leaves commas behind.
+Solution:   Also remove the commas. (Naruhiko Nishino)
+Files:      src/Makefile, src/option.c, src/testdir/Make_all.mak,
+            src/testdir/test_alot.vim, src/testdir/test_options.in,
+            src/testdir/test_options.ok, src/testdir/test_options.vim
+
+Patch 7.4.2175
+Problem:    Insufficient testing of cscope.
+Solution:   Add more tests. (Dominique Pelle)
+Files:      src/testdir/test_cscope.vim
+
+Patch 7.4.2176
+Problem:    #ifdefs in main() are complicated.
+Solution:   Always define vim_main2().  Move params to the file level.
+            (suggested by Ken Takata)
+Files:      src/main.c, src/structs.h, src/vim.h, src/if_mzsch.c,
+            src/proto/if_mzsch.pro
+
+Patch 7.4.2177
+Problem:    No testing for -C and -N command line flags, file arguments,
+            startuptime.
+Solution:   Add tests.
+Files:      src/testdir/test_startup.vim, src/testdir/shared.vim
+
+Patch 7.4.2178
+Problem:    No test for reading from stdin.
+Solution:   Add a test.
+Files:      src/testdir/test_startup.vim, src/testdir/shared.vim
+
+Patch 7.4.2179 (after 7.4.2178)
+Problem:    Reading from stdin test fails on MS-Windows.
+Solution:   Strip the extra space.
+Files:      src/testdir/test_startup.vim
+
+Patch 7.4.2180
+Problem:    There is no easy way to stop all timers.  There is no way to
+            temporary pause a timer.
+Solution:   Add timer_stopall() and timer_pause().
+Files:      src/evalfunc.c, src/ex_cmds2.c, src/proto/ex_cmds2.pro,
+            src/structs.h, src/testdir/test_timers.vim,
+            src/testdir/shared.vim, runtime/doc/eval.txt
+
+Patch 7.4.2181
+Problem:    Compiler warning for unused variable.
+Solution:   Remove it. (Dominique Pelle)
+Files:      src/ex_cmds2.c
+
+Patch 7.4.2182
+Problem:    Color Grey40 used in startup but not in the short list.
+Solution:   Add Grey40 to the builtin colors.
+Files:      src/term.c
+
+Patch 7.4.2183
+Problem:    Sign tests are old style.
+Solution:   Turn them into new style tests. (Dominique Pelle)
+Files:      src/Makefile, src/testdir/Make_all.mak, src/testdir/test_signs.in,
+            src/testdir/test_signs.ok, src/testdir/test_signs.vim,
+
+Patch 7.4.2184
+Problem:    Tests that use RunVim() do not actually perform the test.
+Solution:   Use "return" instead of "call". (Ken Takata)
+Files:      src/testdir/shared.vim
+
+Patch 7.4.2185
+Problem:    Test glob2regpat does not test much.
+Solution:   Add a few more test cases. (Dominique Pelle)
+Files:      src/testdir/test_glob2regpat.vim
+
+Patch 7.4.2186
+Problem:    Timers test is flaky.
+Solution:   Relax the sleep time check.
+Files:      src/testdir/test_timers.vim
+
+Patch 7.4.2187 (after 7.4.2185)
+Problem:    glob2regpat test fails on Windows.
+Solution:   Remove the checks that use backslashes.
+Files:      src/testdir/test_glob2regpat.vim
+
+Patch 7.4.2188 (after 7.4.2146)
+Problem:    Completion does not work properly with some plugins.
+Solution:   Revert the part related to typing CTRL-E. (closes #972)
+Files:      src/edit.c, src/testdir/test_popup.vim
+
+Patch 7.4.2189
+Problem:    Cannot detect encoding in a fifo.
+Solution:   Extend the stdin way of detecting encoding to fifo.  Add a test
+            for detecting encoding on stdin and fifo. (Ken Takata)
+Files:      src/buffer.c, src/fileio.c, src/Makefile,
+            src/testdir/Make_all.mak, src/testdir/test_startup_utf8.vim,
+            src/vim.h
+
+Patch 7.4.2190
+Problem:    When startup test fails it's not easy to find out why.
+            GUI test fails with Gnome.
+Solution:   Add the help entry matches to a list an assert that.
+            Set $HOME for Gnome to create .gnome2 directory.
+Files:      src/testdir/test_startup.vim, src/testdir/test_gui.vim
+
+Patch 7.4.2191
+Problem:    No automatic prototype for vim_main2().
+Solution:   Move the #endif. (Ken Takata)
+Files:      src/main.c, src/vim.h, src/proto/main.pro
+
+Patch 7.4.2192
+Problem:    Generating prototypes with Cygwin doesn't work well.
+Solution:   Change #ifdefs. (Ken Takata)
+Files:      src/gui.h, src/gui_w32.c, src/ops.c, src/proto/fileio.pro,
+            src/proto/message.pro, src/proto/normal.pro, src/proto/ops.pro,
+            src/vim.h
+
+Patch 7.4.2193
+Problem:    With Gnome when the GUI can't start test_startup hangs.
+Solution:   Call gui_mch_early_init_check(). (Hirohito Higashi)
+Files:      src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
+
+Patch 7.4.2194
+Problem:    Sign tests don't cover enough.
+Solution:   Add more test cases. (Dominique Pelle)
+Files:      src/testdir/test_signs.vim
+
+Patch 7.4.2195
+Problem:    MS-Windows: The vimrun program does not support Unicode.
+Solution:   Use GetCommandLineW().  Cleanup old #ifdefs. (Ken Takata)
+Files:      src/vimrun.c
+
+Patch 7.4.2196
+Problem:    glob2regpat test doesn't test everything on MS-Windows.
+Solution:   Add patterns with backslash handling.
+Files:      src/testdir/test_glob2regpat.vim
+
+Patch 7.4.2197
+Problem:    All functions are freed on exit, which may hide leaks.
+Solution:   Only free named functions, not reference counted ones.
+Files:      src/userfunc.c
+
+Patch 7.4.2198
+Problem:    Test alot sometimes fails under valgrind. (Dominique Pelle)
+Solution:   Avoid passing a callback with the wrong number of arguments.
+Files:      src/testdir/test_partial.vim
+
+Patch 7.4.2199
+Problem:    In the GUI the cursor is hidden when redrawing any window,
+            causing flicker.
+Solution:   Only undraw the cursor when updating the window it's in.
+Files:      src/screen.c, src/gui.c, src/proto/gui.pro, src/gui_gtk_x11.c
+
+Patch 7.4.2200
+Problem:    Cannot get all information about a quickfix list.
+Solution:   Add an optional argument to get/set loc/qf list(). (Yegappan
+            Lakshmanan)
+Files:      runtime/doc/eval.txt, src/evalfunc.c, src/proto/quickfix.pro,
+            src/quickfix.c, src/tag.c, src/testdir/test_quickfix.vim
+
+Patch 7.4.2201
+Problem:    The sign column disappears when the last sign is deleted.
+Solution:   Add the 'signcolumn' option. (Christian Brabandt)
+Files:      runtime/doc/options.txt, runtime/optwin.vim, src/edit.c,
+            src/move.c, src/option.c, src/option.h, src/proto/option.pro,
+            src/screen.c, src/structs.h, src/testdir/test_options.vim
+
+Patch 7.4.2202
+Problem:    Build fails with small features.
+Solution:   Correct option initialization.
+Files:      src/option.c
+
+Patch 7.4.2203
+Problem:    Test fails with normal features.
+Solution:   Check is signs are supported.
+Files:      src/testdir/test_options.vim
+
+Patch 7.4.2204
+Problem:    It is not easy to get information about buffers, windows and
+            tabpages.
+Solution:   Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan
+            Lakshmanan)
+Files:      runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/dict.c,
+            src/evalfunc.c, src/option.c, src/proto/dict.pro,
+            src/proto/option.pro, src/proto/window.pro,
+            src/testdir/Make_all.mak, src/testdir/test_bufwintabinfo.vim,
+            src/window.c, src/Makefile
+
+Patch 7.4.2205
+Problem:    'wildignore' always applies to getcompletion().
+Solution:   Add an option to use 'wildignore' or not. (Yegappan Lakshmanan)
+Files:      runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_cmdline.vim
+
+Patch 7.4.2206
+Problem:    Warning for unused function.
+Solution:   Put the function inside #ifdef. (John Marriott)
+Files:      src/evalfunc.c
+
+Patch 7.4.2207
+Problem:    The +xpm feature is not sorted properly in :version output.
+Solution:   Move it up. (Tony Mechelynck)
+Files:      src/version.c
+
+Patch 7.4.2208
+Problem:    Test for mappings is old style.
+Solution:   Convert the test to new style.
+Files:      src/testdir/test_mapping.vim, src/testdir/test_mapping.in,
+            src/testdir/test_mapping.ok, src/Makefile,
+            src/testdir/test_alot.vim, src/testdir/Make_all.mak
+
+Patch 7.4.2209
+Problem:    Cannot map <M-">. (Stephen Riehm)
+Solution:   Solve the memory access problem in another way. (Dominique Pelle)
+            Allow for using <M-\"> in a string.
+Files:      src/eval.c, src/gui_mac.c, src/misc2.c, src/option.c,
+            src/proto/misc2.pro, src/syntax.c, src/term.c,
+            src/testdir/test_mapping.vim
+
+Patch 7.4.2210
+Problem:    On OSX configure mixes up a Python framework and the Unix layout.
+Solution:   Make configure check properly. (Tim D. Smith, closes #980)
+Files:      src/configure.in, src/auto/configure
+
+Patch 7.4.2211
+Problem:    Mouse support is not automatically enabled with simple term.
+Solution:   Recognize "st" and other names. (Manuel Schiller, closes #963)
+Files:      src/os_unix.c
+
+Patch 7.4.2212
+Problem:    Mark " is not set when closing a window in another tab. (Guraga)
+Solution:   Check all tabs for the window to be valid. (based on patch by
+            Hirohito Higashi, closes #974)
+Files:      src/window.c, src/proto/window.pro, src/buffer.c,
+            src/testdir/test_viminfo.vim
+
+Patch 7.4.2213
+Problem:    Cannot highlight the "~" lines at the end of a window differently.
+Solution:   Add the EndOfBuffer highlighting. (Marco Hinz, James McCoy)
+Files:      runtime/doc/options.txt, runtime/doc/syntax.txt, src/option.c,
+            src/screen.c, src/syntax.c, src/vim.h
+
+Patch 7.4.2214
+Problem:    A font that uses ligatures messes up the screen display.
+Solution:   Put spaces between characters when building the glyph table.
+            (based on a patch from Manuel Schiller)
+Files:      src/gui_gtk_x11.c
+
+Patch 7.4.2215
+Problem:    It's not easy to find out if a window is a quickfix or location
+            list window.
+Solution:   Add "loclist" and "quickfix" entries to the dict returnec by
+            getwininfo(). (Yegappan Lakshmanan)
+Files:      runtime/doc/eval.txt, src/evalfunc.c,
+            src/testdir/test_bufwintabinfo.vim
+
+Patch 7.4.2216 (after 7.4.2215)
+Problem:    Test fails without the +sign feature.
+Solution:   Only check for signcolumn with the +sign feature.
+Files:      src/testdir/test_bufwintabinfo.vim
+
+Patch 7.4.2217
+Problem:    When using matchaddpos() a character after the end of the line can
+            be highlighted.
+Solution:   Only highlight existing characters. (Hirohito Higashi)
+Files:      src/screen.c, src/structs.h, src/testdir/test_match.vim
+
+[STILL MORE COMING!]
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt
index 4619b50..eeaadbc 100644
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt*   For Vim version 7.4.  Last change: 2016 Feb 12
+*vi_diff.txt*   For Vim version 7.4.  Last change: 2016 Aug 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -147,7 +147,7 @@
 	resource usage, esp. on MS-DOS.  For some outdated systems you need to
 	use an older Vim version.
 
-Multi level undo.					|undo|
+Multi level persistent undo.					|undo|
 	'u' goes backward in time, 'CTRL-R' goes forward again.  Set option
 	'undolevels' to the number of changes to be remembered (default 1000).
 	Set 'undolevels' to 0 for a Vi-compatible one level undo.  Set it to
@@ -158,6 +158,9 @@
 	create a branch in the undo tree.  This means you can go back to any
 	state of the text, there is no risk of a change causing text to be
 	lost forever. |undo-tree|
+	The undo information is stored in a file when the 'undofile' option is
+	set.  This means you can exit Vim, start Vim on a previously edited
+	file and undo changes that were made before exiting Vim.
 
 Graphical User Interface (GUI).				|gui|
 	Included support for GUI: menu's, mouse, scrollbars, etc.  You can
@@ -212,6 +215,15 @@
 	right directory.  That's an easy way to start using Vim scripts
 	written by others.  Plugins can be for all kind of files, or
 	specifically for a filetype.
+	Packages make this even easier. |packages|
+
+Asynchronous communication and timers.			|channel| |job| |timer|
+	Vim can exchange messages with other processes in the background.
+	This makes it possible to have servers do work and send back the
+	results to Vim. |channel|
+	Vim can start a job, communicate with it and stop it. |job|
+	Timers can fire once or repeatedly and invoke a function to do any
+	work. |timer|
 
 Repeat a series of commands.				|q|
 	"q{c}" starts recording typed characters into named register {c}.
diff --git a/runtime/indent/yaml.vim b/runtime/indent/yaml.vim
index aa4906c..3201462 100644
--- a/runtime/indent/yaml.vim
+++ b/runtime/indent/yaml.vim
@@ -37,7 +37,7 @@
     let curindent = a:0 ? a:1 : indent(a:lnum)
     while           prevlnum
                 \&&  indent(prevlnum) >=  curindent
-                \&& getline(prevlnum) !~# '^\s*#'
+                \&& getline(prevlnum) =~# '^\s*#'
         let prevlnum = prevnonblank(prevlnum-1)
     endwhile
     return prevlnum
@@ -51,11 +51,33 @@
     return plilnum
 endfunction
 
-let s:mapkeyregex='\v^\s*%(\''%([^'']|'''')*\'''.
-                \        '|\"%([^"\\]|\\.)*\"'.
-                \        '|%(%(\:\ )@!.)*)\:%(\ |$)'
+let s:mapkeyregex='\v^\s*\#@!\S@=%(\''%([^'']|\''\'')*\'''.
+                \                 '|\"%([^"\\]|\\.)*\"'.
+                \                 '|%(%(\:\ )@!.)*)\:%(\ |$)'
 let s:liststartregex='\v^\s*%(\-%(\ |$))'
 
+let s:c_ns_anchor_char = '\v%([\n\r\uFEFF \t,[\]{}]@!\p)'
+let s:c_ns_anchor_name = s:c_ns_anchor_char.'+'
+let s:c_ns_anchor_property =  '\v\&'.s:c_ns_anchor_name
+
+let s:ns_word_char = '\v[[:alnum:]_\-]'
+let s:ns_tag_char  = '\v%(%\x\x|'.s:ns_word_char.'|[#/;?:@&=+$.~*''()])'
+let s:c_named_tag_handle     = '\v\!'.s:ns_word_char.'+\!'
+let s:c_secondary_tag_handle = '\v\!\!'
+let s:c_primary_tag_handle   = '\v\!'
+let s:c_tag_handle = '\v%('.s:c_named_tag_handle.
+            \            '|'.s:c_secondary_tag_handle.
+            \            '|'.s:c_primary_tag_handle.')'
+let s:c_ns_shorthand_tag = '\v'.s:c_tag_handle . s:ns_tag_char.'+'
+let s:c_non_specific_tag = '\v\!'
+let s:ns_uri_char  = '\v%(%\x\x|'.s:ns_word_char.'\v|[#/;?:@&=+$,.!~*''()[\]])'
+let s:c_verbatim_tag = '\v\!\<'.s:ns_uri_char.'+\>'
+let s:c_ns_tag_property = '\v'.s:c_verbatim_tag.
+            \               '\v|'.s:c_ns_shorthand_tag.
+            \               '\v|'.s:c_non_specific_tag
+
+let s:block_scalar_header = '\v[|>]%([+-]?[1-9]|[1-9]?[+-])?'
+
 function GetYAMLIndent(lnum)
     if a:lnum == 1 || !prevnonblank(a:lnum-1)
         return 0
@@ -127,7 +149,10 @@
         " - List with
         "   multiline scalar
         return previndent+2
-    elseif prevline =~# s:mapkeyregex
+    elseif prevline =~# s:mapkeyregex . '\v\s*%(%('.s:c_ns_tag_property.
+                \                              '\v|'.s:c_ns_anchor_property.
+                \                              '\v|'.s:block_scalar_header.
+                \                             '\v)%(\s+|\s*%(\#.*)?$))*'
         " Mapping with: value
         "     that is multiline scalar
         return previndent+s:shiftwidth()
