Update runtime files
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index acd0f5c..cd66041 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt*	For Vim version 8.2.  Last change: 2022 Apr 25
+*builtin.txt*	For Vim version 8.2.  Last change: 2022 May 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2425,7 +2425,7 @@
 			all typeahead will be consumed by the last call.
 		'c'	Remove any script context when executing, so that
 			legacy script syntax applies, "s:var" does not work,
-			etc.  Note that if the keys being using set a script
+			etc.  Note that if the string being fed sets a script
 			context this still applies.
 		'!'	When used with 'x' will not end Insert mode. Can be
 			used in a test when a timer is set to exit Insert mode
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index ff6995d..d3e0a9c 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.2.  Last change: 2022 Mar 05
+*change.txt*    For Vim version 8.2.  Last change: 2022 May 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 8b49134..b2928a5 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.2.  Last change: 2022 Apr 09
+*cmdline.txt*   For Vim version 8.2.  Last change: 2022 Apr 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 39208e4..ac61023 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2022 Apr 17
+*eval.txt*	For Vim version 8.2.  Last change: 2022 May 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -523,8 +523,8 @@
 A key is always a String.  You can use a Number, it will be converted to a
 String automatically.  Thus the String '4' and the number 4 will find the same
 entry.  Note that the String '04' and the Number 04 are different, since the
-Number will be converted to the String '4'.  The empty string can also be used
-as a key.
+Number will be converted to the String '4', leading zeros are dropped.  The
+empty string can also be used as a key.
 
 In |Vim9| script literaly keys can be used if the key consists of alphanumeric
 characters, underscore and dash, see |vim9-literal-dict|.
@@ -534,7 +534,8 @@
 digits, '-' and '_'.  Example: >
 	:let mydict = #{zero: 0, one_key: 1, two-key: 2, 333: 3}
 Note that 333 here is the string "333".  Empty keys are not possible with #{}.
-In |Vim9| script the #{} form cannot be used.
+In |Vim9| script the #{} form cannot be used because it can be confused with
+the start of a comment.
 
 A value can be any expression.  Using a Dictionary for a value creates a
 nested Dictionary: >
@@ -3252,20 +3253,20 @@
 			{endmarker}.
 
 			If "eval" is not specified, then each line of text is
-			used as a |literal-string|.  If "eval" is specified,
-			then any Vim expression in the form ``={expr}`` is
-			evaluated and the result replaces the expression.
+			used as a |literal-string|, except that single quotes
+			doe not need to be doubled.
+			If "eval" is specified, then any Vim expression in the
+			form {expr} is evaluated and the result replaces the
+			expression, like with |interp-string|.
 			Example where $HOME is expanded: >
 				let lines =<< trim eval END
 				  some text
-				  See the file `=$HOME`/.vimrc
+				  See the file {$HOME}/.vimrc
 				  more text
 				END
 <			There can be multiple Vim expressions in a single line
 			but an expression cannot span multiple lines.  If any
 			expression evaluation fails, then the assignment fails.
-			once the "`=" has been found {expr} and a backtick
-			must follow.  {expr} cannot be empty.
 
 			{endmarker} must not contain white space.
 			{endmarker} cannot start with a lower case character.
@@ -3318,10 +3319,10 @@
 				DATA
 
 				let code =<< trim eval CODE
-				   let v = `=10 + 20`
-				   let h = "`=$HOME`"
-				   let s = "`=Str1()` abc `=Str2()`"
-				   let n = `=MyFunc(3, 4)`
+				   let v = {10 + 20}
+				   let h = "{$HOME}"
+				   let s = "{Str1()} abc {Str2()}"
+				   let n = {MyFunc(3, 4)}
 				CODE
 <
 								*E121*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 124cfee..8668233 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2022 Apr 13
+*options.txt*	For Vim version 8.2.  Last change: 2022 May 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index f8b5cac..09549b5 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.2.  Last change: 2022 Apr 06
+*quickref.txt*  For Vim version 8.2.  Last change: 2022 May 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1350,7 +1350,7 @@
 |CTRL-W_^|	CTRL-W ^		split window and edit alternate file
 |CTRL-W_n|	CTRL-W n  or  :new	create new empty window
 |CTRL-W_q|	CTRL-W q  or  :q[uit]	quit editing and close window
-|CTRL-W_c|	CTRL-W c  or  :cl[ose]	make buffer hidden and close window
+|CTRL-W_c|	CTRL-W c  or  :clo[se]	make buffer hidden and close window
 |CTRL-W_o|	CTRL-W o  or  :on[ly]	make current window only one on the
 					   screen
 
diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt
index 0126195..8035d3c 100644
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt*    For Vim version 8.2.  Last change: 2022 Apr 03
+*scroll.txt*    For Vim version 8.2.  Last change: 2022 May 07
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index e0919b8..9e9a0f1 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.2.  Last change: 2022 Apr 24
+*syntax.txt*	For Vim version 8.2.  Last change: 2022 May 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5238,6 +5238,9 @@
 'highlight' option default.  Note that the highlighting depends on the value
 of 'background'.  You can see the current settings with the ":highlight"
 command.
+When possible the name is highlighted in the used colors.  If this makes it
+unreadable use Visual selection.
+
 							*hl-ColorColumn*
 ColorColumn	used for the columns set with 'colorcolumn'
 							*hl-Conceal*
@@ -5329,6 +5332,8 @@
 		Also used for similar items that need to stand out.
 							*hl-CurSearch*
 CurSearch	Current match for the last search pattern (see 'hlsearch').
+		Note: this is correct after a search, but may get outdated if
+		changes are made or the screen is redrawn. 
 							*hl-SpecialKey*
 SpecialKey	Meta and special keys listed with ":map", also for text used
 		to show unprintable characters in the text, 'listchars'.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 1a84eb4..5bf28e2 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2022 Apr 27
+*todo.txt*      For Vim version 8.2.  Last change: 2022 May 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -41,7 +41,6 @@
 Once Vim9 is stable:
 - Use Vim9 for more runtime files.
 - Check code coverage, add more tests if needed.
-	vim9execute.c  line 3500
 	vim9expr.c
 	vim9instr.c
 	vim9script.c
@@ -128,6 +127,9 @@
 - Popup attached to text property stays visible when text is deleted with
   "cc". (#7737)  "C" works OK.  "dd" also files in a buffer with a single
   line.
+- Add text property that shifts text to make room for annotation (e.g.
+  variable type).  Like the opposite of conceal.  Requires fixing the cursor
+  positioning and mouse clicks as with conceal mode.
 - Auto-indenting may cause highlighting to shift. (#7719)
 - "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
 - Combining text property with 'cursorline' does not always work (Billie
@@ -152,6 +154,7 @@
 - Make prompt-buffer variant work better.
 - Add option to not open the program window.  It's not used when attaching to
   an already running program. (M. Kelly)
+- Use the optional token on requests, match the result with it. #10300
 - When only gdb window exists, on "quit" edit another buffer.
 - Termdebug does not work when Vim was built with mzscheme: gdb hangs just
   after "run".  Everything else works, including communication channel.  Not
@@ -203,7 +206,11 @@
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
 
+String interpolation: Handle backslash and quotes in the expression normally,
+do not require escaping.
+
 Add autocmd functions. PR #10291
+  a couple of outstanding comments, wait for Yegappan to respond
 
 Can deref_func_name() and deref_function_name() be merged?
 
@@ -223,9 +230,6 @@
 Test_communicate_ipv6(): is flaky on many systems
 Fails in line 64 of Ch_communicate, no exception is thrown.
 
-Patch for Template string: #4634
-Have another look at the implementation.
-
 Rename getdigraphlist -> digraph_getlist() etc.
 
 Can "CSI nr X" be used instead of outputting spaces?  Is it faster?  #8002
@@ -328,6 +332,8 @@
 Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co
 changes.
 
+Add ??= operator, "a ??= b" works like "a = a ?? b". #10343
+
 Add an option to start_timer() to return from the input loop with K_IGNORE.
 This is useful e.g. when a popup was created that disables mappings, we need
 to return from vgetc() to make this happen.  #7011
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index adf0353..1877129 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2022 Apr 14
+*vim9.txt*	For Vim version 8.2.  Last change: 2022 Apr 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -857,10 +857,16 @@
 	var dict = {["key" .. nr]: value}
 
 The key type can be string, number, bool or float.  Other types result in an
-error.  A number can be given with and without the []: >
-	var dict = {123: 'without', [456]: 'with'}
+error.  Without using [] the value is used as a string, keeping leading zeros.
+An expression given with [] is evaluated and then converted to a string.
+Leading zeros will then be dropped: >
+	var dict = {000123: 'without', [000456]: 'with'}
 	echo dict
-	{'456': 'with', '123': 'without'}
+	{'456': 'with', '000123': 'without'}
+A float only works inside [] because the dot is not accepted otherwise: >
+	var dict = {[00.013]: 'float'}
+	echo dict
+	{'0.013': 'float'}
 
 
 No :xit, :t, :k, :append, :change or :insert ~
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index e9862b1..d703d98 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt*    For Vim version 8.2.  Last change: 2022 Jan 20
+*visual.txt*    For Vim version 8.2.  Last change: 2022 May 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar