patch 8.0.0591: changes to eval functionality not documented

Problem:    Changes to eval functionality not documented.
Solution:   Include all the changes.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 56aa255..141f586 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.0.  Last change: 2017 Apr 22
+*eval.txt*	For Vim version 8.0.  Last change: 2017 Apr 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4584,6 +4584,7 @@
 		If the optional {what} dictionary argument is supplied, then
 		returns only the items listed in {what} as a dictionary. The
 		following string items are supported in {what}:
+			context	get the context stored with |setqflist()|
 			nr	get information for this quickfix list; zero
 				means the current quickfix list
 			title	get the list title
@@ -4595,6 +4596,7 @@
 		returned.
 
 		The returned dictionary contains the following entries:
+			context	context information stored with |setqflist()|
 			nr	quickfix list number
 			title	quickfix list title text
 			winid	quickfix |window-ID| (if opened)
@@ -5265,9 +5267,14 @@
 		0 if "how" is not supported on the system.
 		Note that even when the operation was executed, whether the
 		job was actually stopped needs to be checked with
-		job_status().
-		The status of the job isn't checked, the operation will even
-		be done when Vim thinks the job isn't running.
+		|job_status()|.
+
+		If the status of the job is "dead", the signal will not be
+		sent.  This is to avoid to stop the wrong job (esp. on Unix,
+		where process numbers are recycled).
+
+		When using "kill" Vim will assume the job will die and close
+		the channel.
 
 		{only available when compiled with the |+job| feature}
 
@@ -6982,6 +6989,7 @@
 		only the items listed in {what} are set. The first {list}
 		argument is ignored.  The following items can be specified in
 		{what}:
+		    context	any Vim type can be stored as a context
 		    nr		list number in the quickfix stack
 		    title	quickfix list title text
 		Unsupported keys in {what} are ignored.
@@ -10675,18 +10683,19 @@
 
 To execute a command only when the |+eval| feature is disabled requires a trick,
 as this example shows: >
-	if 1
-	  nnoremap : :"
-	endif
-	normal :set history=111<CR>
-	if 1
-	  nunmap :
-	endif
+
+	silent! while 0
+	  set history=111
+	silent! endwhile
+
+When the |+eval| feature is available the command is skipped because of the
+"while 0".  Without the |+eval| feature the "while 0" is an error, which is
+silently ignored, and the command is executed.
 
 The "<CR>" here is a real CR character, type CTRL-V Enter to get it.
 
 When the |+eval| feature is available the ":" is remapped to add a double
-quote, which has the effect of commenting-out the command.  without the
+quote, which has the effect of commenting-out the command.  Without the
 |+eval| feature the nnoremap command is skipped and the command is executed.
 
 ==============================================================================
diff --git a/src/version.c b/src/version.c
index 3177f77..45f80ee 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    591,
+/**/
     590,
 /**/
     589,