diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 3e99858..e37dec7 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 Apr 20
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Apr 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -46,6 +46,7 @@
 		{only when compiled with the |+float| feature}
 		Examples: 123.456  1.15e-6  -1.1e3
 
+							*E928*
 String		A NUL terminated string of 8-bit unsigned characters (bytes).
 		|expr-string| Examples: "ab\txx\"--"  'x-z''a,c'
 
@@ -2922,8 +2923,11 @@
 		Return the status of {handle}:
 			"fail"		failed to open the channel
 			"open"		channel can be used
+			"buffered"	channel can be read, not written to
 			"closed"	channel can not be used
 		{handle} can be Channel or a Job that has a Channel.
+		"buffered" is used when the channel was closed but there is
+		still data that can be obtained with |ch_read()|.
 
 							*copy()*
 copy({expr})	Make a copy of {expr}.	For Numbers and Strings this isn't
@@ -6314,6 +6318,7 @@
 		Note that the list is not exactly the same as what
 		|getqflist()| returns.
 
+							*E927*
 		If {action} is set to 'a', then the items from {list} are
 		added to the existing quickfix list. If there is no existing
 		list, then a new list is created. If {action} is set to 'r',
@@ -7739,6 +7744,7 @@
 tcl			Compiled with Tcl interface.
 terminfo		Compiled with terminfo instead of termcap.
 termresponse		Compiled with support for |t_RV| and |v:termresponse|.
+termtruecolor		Compiled with true color in terminal support.
 textobjects		Compiled with support for |text-objects|.
 tgetent			Compiled with tgetent support, able to use a termcap
 			or terminfo file.
