diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 9e5b6f2..062ccc3 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -9034,7 +9034,7 @@
 					entry depends on the language specific
 					kind values.  Only available when
 					using a tags file generated by
-					Exuberant ctags or hdrtag.
+					Universal/Exuberant ctags or hdrtag.
 			static		A file specific tag.  Refer to
 					|static-tag| for more information.
 		More entries may be present, depending on the content of the
diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt
index 9adfea9..8645ad9 100644
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -1,4 +1,4 @@
-*ft_ada.txt*	For Vim version 8.2.  Last change: 2010 Jul 20
+*ft_ada.txt*	For Vim version 8.2.  Last change: 2022 Mar 13
 
 
 		    ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
@@ -89,9 +89,9 @@
 								 *ft-ada-omni*
 
 The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either
-by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net).  The
-complete function will automatically detect which tool was used to create the
-tags file.
+by "gnat xref -v" or the "Universal Ctags" (https://ctags.io).  The complete
+function will automatically detect which tool was used to create the tags
+file.
 
 ------------------------------------------------------------------------------
 3.1 Omni Completion with "gnat xref" ~
@@ -125,18 +125,18 @@
 3.2 Omni Completion with "ctags"~
 								   *ada-ctags*
 
-Exuberant Ctags uses its own multi-language code parser. The parser is quite
-fast, produces a lot of extra information (hence the name "Exuberant Ctags")
-and can run on files which currently do not compile.
+Universal/Exuberant Ctags use their own multi-language code parser.  The
+parser is quite fast, produces a lot of extra information and can run on files
+which currently do not compile.
 
-There are also lots of other Vim-tools which use exuberant Ctags.
+There are also lots of other Vim-tools which use Universal/Exuberant Ctags.
+Universal Ctags is preferred, Exuberant Ctags is no longer being developed.
 
-You will need to install a version of the Exuberant Ctags which has Ada
-support patched in. Such a version is available from the GNU Ada Project
-(http://gnuada.sourceforge.net).
+You will need to install Universal Ctags which is available from
+https://ctags.io
 
-The Ada parser for Exuberant Ctags is fairly new - don't expect complete
-support yet.
+The Ada parser for Universal/Exuberant Ctags is fairly new - don't expect
+complete support yet.
 
 ==============================================================================
 4. Compiler Support ~
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index e434286..93f68bd 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt*   For Vim version 8.2.  Last change: 2021 Oct 24
+*gui_w32.txt*   For Vim version 8.2.  Last change: 2022 Mar 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -236,7 +236,8 @@
 
 When the "unnamed" string is included in the 'clipboard' option, the unnamed
 register is the same.  Thus you can yank to and paste from the clipboard
-without prepending "* to commands.
+without prepending "* to commands. If this doesn't work use the "unnamedplus"
+string in the 'clipboard' option.
 
 The 'a' flag in 'guioptions' is not included by default.  This means that text
 is only put on the clipboard when an operation is performed on it.  Just
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index f1060e8..61ad7c9 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 8.2.  Last change: 2022 Jan 28
+*if_perl.txt*   For Vim version 8.2.  Last change: 2022 Mar 13
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
@@ -22,9 +22,9 @@
 Perl script (see scripts.vim in Vim's syntax directory).  Vim assumes a file
 is POD text if the filename has a .POD suffix.
 
-To use tags with Perl, you need a recent version of Exuberant ctags.  Look
-here:
-	http://ctags.sourceforge.net
+To use tags with Perl, you need Universal/Exuberant Ctags.  Look here:
+	Universal Ctags (preferred): https://ctags.io
+	Exuberant Ctags: http://ctags.sourceforge.net
 
 Alternatively, you can use the Perl script pltags.pl, which is shipped with
 Vim in the $VIMRUNTIME/tools directory.  This script has currently more
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 3153d46..5dc3348 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.2.  Last change: 2022 Mar 06
+*insert.txt*    For Vim version 8.2.  Last change: 2022 Mar 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1409,11 +1409,16 @@
 
 C							*ft-c-omni*
 
-Completion of C code requires a tags file.  You should use Exuberant ctags,
-because it adds extra information that is needed for completion.  You can find
-it here: http://ctags.sourceforge.net/  Version 5.6 or later is recommended.
+Completion of C code requires a tags file.  You should use Universal/
+Exuberant ctags, because it adds extra information that is needed for
+completion.  You can find it here:
+	Universal Ctags: https://ctags.io
+	Exuberant Ctags: http://ctags.sourceforge.net
 
-For version 5.5.4 you should add a patch that adds the "typename:" field:
+Universal Ctags is preferred, Exuberant Ctags is no longer being developed.
+
+For Exuberant ctags, version 5.6 or later is recommended.  For version 5.5.4
+you should add a patch that adds the "typename:" field:
 	ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
 A compiled .exe for MS-Windows can be found at:
 	http://ctags.sourceforge.net/
@@ -1534,8 +1539,11 @@
 PHP							*ft-php-omni*
 
 Completion of PHP code requires a tags file for completion of data from
-external files and for class aware completion. You should use Exuberant ctags
-version 5.5.4 or newer. You can find it here: http://ctags.sourceforge.net/
+external files and for class aware completion. You should use Universal/
+Exuberant ctags version 5.5.4 or newer. You can find it here:
+
+	Universal Ctags: https://ctags.io
+	Exuberant Ctags: http://ctags.sourceforge.net
 
 Script completes:
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 9d353ac..5bafaff 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 Feb 18
+*options.txt*	For Vim version 8.2.  Last change: 2022 Mar 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7859,9 +7859,10 @@
 	linear search can be avoided when case is ignored.  Use a value of '2'
 	in the "!_TAG_FILE_SORTED" line for this.  A tag file can be case-fold
 	sorted with the -f switch to "sort" in most unices, as in the command:
-	"sort -f -o tags tags".  For "Exuberant ctags" version 5.x or higher
-	(at least 5.5) the --sort=foldcase switch can be used for this as
-	well.  Note that case must be folded to uppercase for this to work.
+	"sort -f -o tags tags".  For Universal ctags and Exuberant ctags
+	version 5.x or higher (at least 5.5) the --sort=foldcase switch can be
+	used for this as well.  Note that case must be folded to uppercase for
+	this to work.
 
 	By default, tag searches are case-sensitive.  Case is ignored when
 	'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index f43ab7c..9451ff2 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -5553,11 +5553,12 @@
 memory Vim will consume.
 
 Only highlighting typedefs, unions and structs can be done too.  For this you
-must use Exuberant ctags (found at http://ctags.sf.net).
+must use Universal Ctags (found at https://ctags.io) or Exuberant ctags (found
+at http://ctags.sf.net).
 
 Put these lines in your Makefile:
 
-# Make a highlight file for types.  Requires Exuberant ctags and awk
+# Make a highlight file for types.  Requires Universal/Exuberant ctags and awk
 types: types.vim
 types.vim: *.[ch]
 	ctags --c-kinds=gstu -o- *.[ch] |\
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 81ba7d9..e64bdd5 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4254,6 +4254,7 @@
 E1266	if_pyth.txt	/*E1266*
 E127	eval.txt	/*E127*
 E1270	change.txt	/*E1270*
+E1271	vim9.txt	/*E1271*
 E128	eval.txt	/*E128*
 E129	eval.txt	/*E129*
 E13	message.txt	/*E13*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index b53131b..e239119 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -561,7 +561,8 @@
 
 The second format is new.  It includes additional information in optional
 fields at the end of each line.  It is backwards compatible with Vi.  It is
-only supported by new versions of ctags (such as Exuberant ctags).
+only supported by new versions of ctags (such as Universal ctags or Exuberant
+ctags).
 
 {tagname}	The identifier.  Normally the name of a function, but it can
 		be any identifier.  It cannot contain a <Tab>.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 57a84e5..fd0817d 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 Mar 08
+*todo.txt*      For Vim version 8.2.  Last change: 2022 Mar 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,27 +38,10 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Allow for assigning v:null to job/channel/funcref etc.
-- Check that the declared type is not lost.
-- Check: var d: dict<func> = {a: function('tr'), b: null}
-
-Fix that with s being an empty string, this returns TRUE:
-    echo s is null_string
-
-Make sure null types work to:
-- assign to a variable
-- use as an argument
-- use as default value of optional argument
-- use as return value
-- use in a list/dict constant, type is correct
-- revert comparing with null?
-
-TODO item in eval.c
-
-Really drop the Athena GUI?  And NeXtaw?
+Really drop the Athena and NeXtaw GUI?  Decide end of March.
 
 Once Vim9 is stable:
-- Use Vim9 for runtime files.
+- Use Vim9 for more runtime files.
 - Check code coverage, add more tests if needed.
 	vim9execute.c  line 1900
 	vim9expr.c
@@ -123,7 +106,6 @@
 - Should popup_getoptions() also return the mask?  #7774
 - Add a way to use popup_menu() synchronously: instead of invoking the
   callback, return the choice. (Ben Jackson, #6534)
-- Use popup (or popup menu) for command line completion
 - When using a popup for the info of a completion menu, and there is not
   enough space, let the popup overlap with the menu. (#4544)
 - Implement flip option.
@@ -2231,10 +2213,6 @@
 
 Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
 
-With 'wildmode' set to "longest:full,full" and pressing Tab once the first
-entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011
-Feb 12)
-
 Display error when 'tabline' that includes a file name with double-width
 characters. (2010 Aug 14, bootleq)
 
@@ -2437,10 +2415,6 @@
 first line. (Ingo Karkat, 2008 Jul 1)  Ian Kelling is working on this.
 Similar problem with ":e". (Marc Montu, 2014 Apr 22)
 
-Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
-laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
-Works OK with Vim in an xterm.
-
 Cursor line moves in other window when using CTRL-W J that doesn't change
 anything.  (Dasn, 2009 Apr 7)
 
@@ -2473,10 +2447,6 @@
 When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
 line.  It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
 
-After using <Tab> for command line completion after ":ta blah" and getting E33
-(no tags file), further editing the command to e.g., ":echo 'blah'", the
-command is not executed.  Fix by Ian Kelling?
-
 ":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
 Chase)  Fix by Ian Kelling, 2008 Jul 14.
 
@@ -2652,16 +2622,6 @@
 When a register contains illegal bytes, writing viminfo in utf-8 and reading
 it back doesn't result in utf-8. (Devin Bayer)
 
-Command line completion: Scanning for tags doesn't check for typed key now and
-then?  Hangs for about 5 seconds.  Appears to be caused by finding include
-files with "foo/**" in 'path'.  (Kalisiak, 2006 July 15)
-Additional info: When using the |wildcards| ** globing, vim hangs
-indefinitely on lots of directories. The |file-searching| globing, like in
-":set path=/**" does not hang as often as with globing with |wildcards|, like
-in ":1find /**/file".  This is for files that unix "find" can find very
-quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian
-Kelling, 2008 July 4)
-
 When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
 parenthesis escaped but not the space.  That's inconsistent.  Either escape
 neither or both.  No escaping might be best, because it doesn't depend on
@@ -2740,8 +2700,6 @@
 When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008
 Jun 18)
 
-If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
-
 In debug mode, using CTRL-R = to evaluate a function causes stepping through
 the function. (Hari Krishna Dara, 2006 Jun 28)
 
@@ -2850,13 +2808,6 @@
 
 For Aap: include a config.arg.example file with hints how to use config.arg.
 
-Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
-only one buffer line displayed, causes display errors.
-
-Completing with 'wildmenu' and using <Up> and <Down> to move through directory
-tree stops unexpectedly when using ":cd " and entering a directory that
-doesn't contain other directories.
-
 Default for 'background' is wrong when using xterm with 256 colors.
 Table with estimates from Matteo Cavalleri, 2014 Jan 10.
 
@@ -3538,8 +3489,6 @@
 8   When doing Insert mode completion a mapping cannot recursively call
     edit(), because the completion information is global.  Put everything in
     an allocated structure?
-8   Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
-    ":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
 7   mb_off2cells() doesn't work correctly on the tail byte of a double-byte
     character. (Yasuhiro Matsumoto)  It should return 1 when used on a tail
     byte, like for utf-8.  Store second byte of double-byte in ScreenLines2[]
@@ -4274,8 +4223,6 @@
 7   CTRL-] checks the highlight group for finding out what the tag is.
 7   Add an explanation how a list of words can be used to highlight misspelled
     words.
-8   Add more command line completion for :syntax.
-8   Add more command line completion for :highlight.
 7   Should find a better way to parse the :syntax and :highlight commands.
     Use tables or lists that can be shared by parsing for execution and
     completion?
@@ -5061,6 +5008,35 @@
 -   Add 'wildlongest' option: Key to use to find longest common match for
     command line completion (default CTRL-L), like 'wildchar'. (Cregut)
     Also: when there are several matches, show them line a CTRL-D.
+-   With 'wildmode' set to "longest:full,full" and pressing Tab once the first
+    entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe,
+    2011 Feb 12)
+-   After using <Tab> for command line completion after ":ta blah" and getting
+    E33 (no tags file), further editing the command to e.g., ":echo 'blah'",
+    the command is not executed.  Fix by Ian Kelling?
+-   Command line completion: Scanning for tags doesn't check for typed key now
+    and then?  Hangs for about 5 seconds.  Appears to be caused by finding
+    include files with "foo/**" in 'path'.  (Kalisiak, 2006 July 15)
+    Additional info: When using the |wildcards| ** globing, vim hangs
+    indefinitely on lots of directories. The |file-searching| globing, like in
+    ":set path=/**" does not hang as often as with globing with |wildcards|,
+    like in ":1find /**/file".  This is for files that unix "find" can find
+    very quickly. Merging the 2 kinds of globing might make this an easier
+    fix. (Ian Kelling, 2008 July 4)
+-   Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
+    only one buffer line displayed, causes display errors.
+-   Completing with 'wildmenu' and using <Up> and <Down> to move through
+    directory tree stops unexpectedly when using ":cd " and entering a
+    directory that doesn't contain other directories.
+8   Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
+    ":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
+8   Add more command line completion for :syntax.
+8   Add more command line completion for :highlight.
+-   Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
+    laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1) Works
+    OK with Vim in an xterm.
+-   If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't
+    work.
 
 
 Command line history:
diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt
index 5940206..de1b911 100644
--- a/runtime/doc/usr_29.txt
+++ b/runtime/doc/usr_29.txt
@@ -1,4 +1,4 @@
-*usr_29.txt*	For Vim version 8.2.  Last change: 2016 Feb 27
+*usr_29.txt*	For Vim version 8.2.  Last change: 2022 Mar 13
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -33,10 +33,12 @@
 	ctags *.c
 
 "ctags" is a separate program.  Most Unix systems already have it installed.
-If you do not have it yet, you can find Exuberant ctags here:
-
+If you do not have it yet, you can find Universal/Exuberant ctags at:
+	http://ctags.io ~
 	http://ctags.sf.net ~
 
+Universal ctags is preferred, Exuberant ctags is no longer being developed.
+
 Now when you are in Vim and you want to go to a function definition, you can
 jump to it by using the following command: >
 
@@ -142,15 +144,15 @@
 When Vim has to search many places for tags files, you can hear the disk
 rattling.  It may get a bit slow.  In that case it's better to spend this
 time while generating one big tags file.  You might do this overnight.
-   This requires the Exuberant ctags program, mentioned above.  It offers an
-argument to search a whole directory tree: >
+   This requires the Universal or Exuberant ctags program, mentioned above.
+It offers an argument to search a whole directory tree: >
 
 	cd ~/proj
 	ctags -R .
 
-The nice thing about this is that Exuberant ctags recognizes various file
-types.  Thus this doesn't work just for C and C++ programs, also for Eiffel
-and even Vim scripts.  See the ctags documentation to tune this.
+The nice thing about this is that Universal/Exuberant ctags recognizes various
+file types.  Thus this doesn't work just for C and C++ programs, also for
+Eiffel and even Vim scripts.  See the ctags documentation to tune this.
    Now you only need to tell Vim where your big tags file is: >
 
 	:set tags=~/proj/tags
@@ -232,7 +234,8 @@
 Since CTRL-] takes you to the definition of the identifier under the cursor,
 you can use a list of identifier names as a table of contents.  Here is an
 example.
-   First create a list of identifiers (this requires Exuberant ctags): >
+   First create a list of identifiers (this requires Universal or Exuberant
+ctags): >
 
 	ctags --c-types=f -f functions *.c
 
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index 0e1ecf5..7d5c258 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -837,7 +837,7 @@
 Patch 8.2.0107
 Problem:    Hgignore is out of sync from gitignore.
 Solution:   Add lines to hgignore. (Ken Takata)
-Files:      .hgigmore
+Files:      .hgignore
 
 Patch 8.2.0108
 Problem:    When sign text is changed a manual redraw is needed. (Pontus
@@ -2474,7 +2474,7 @@
 Patch 8.2.0367
 Problem:    Can use :pedit in a popup window.
 Solution:   Disallow it.
-Files:      src/ex_docmd.c, src/testdir/test_popuwin.vim
+Files:      src/ex_docmd.c, src/testdir/test_popupwin.vim
 
 Patch 8.2.0368
 Problem:    Vim9: import that redefines local variable does not fail.
@@ -2513,7 +2513,7 @@
 Problem:    Prop_find() may not find text property at start of the line.
 Solution:   Adjust the loop to find properties. (Axel Forsman, closes #5761,
             closes #5663)
-Files:      src/testprop.c, src/testdir/test_textprop.vim
+Files:      src/textprop.c, src/testdir/test_textprop.vim
 
 Patch 8.2.0373
 Problem:    Type of term_sendkeys() is unknown.
@@ -3743,7 +3743,7 @@
 Problem:    Vim9: no error when omitting type from argument.
 Solution:   Enforce specifying argument types.
 Files:      src/userfunc.c, src/ex_eval.c, src/testdir/test_vim9_script.vim,
-            src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim
+            src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim,
             src/testdir/test_vim9_disassemble.vim
 
 Patch 8.2.0571
@@ -3921,7 +3921,7 @@
 Patch 8.2.0600
 Problem:    Vim9: cannot read or write w:, t: and b: variables.
 Solution:   Implement load and store for w:, t: and b: variables.
-            (closes #5950) 
+            (closes #5950)
 Files:      src/testdir/test_vim9_disassemble.vim,
             src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim,
             src/vim9.h, src/vim9compile.c, src/vim9execute.c
@@ -4042,7 +4042,7 @@
 
 Patch 8.2.0618
 Problem:    Echoing a null list results in no output. (Yegappan Lakshmanan)
-Solution:   Return "[]" instead of NULL in echo_string_core(). 
+Solution:   Return "[]" instead of NULL in echo_string_core().
 Files:      src/eval.c, src/testdir/test_messages.vim
 
 Patch 8.2.0619
@@ -4095,7 +4095,7 @@
             (closes #5670)
 Files:      src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/userfunc.c,
             src/eval.c, src/globals.h, src/testdir/test_vim9_func.vim,
-            src/testdir/test_vim9_disassemble.vim
+            src/testdir/test_vim9_disassemble.vim,
             src/testdir/test_vim9_script.vim
 
 Patch 8.2.0627
@@ -5205,8 +5205,9 @@
 Solution:   Include revision 727, but add the index instead of switching
             between RGB and indexed.
 Files:      src/terminal.c, src/term.c, src/libvterm/include/vterm.h,
-            src/libvterm/src/pen.c src/libvterm/src/screen.c
-            src/libvterm/src/vterm_internal.h src/libvterm/t/30state_pen.test
+            src/libvterm/src/pen.c, src/libvterm/src/screen.c,
+            src/libvterm/src/vterm_internal.h,
+            src/libvterm/t/30state_pen.test,
             src/libvterm/t/harness.c, src/libvterm/src/state.c,
             src/libvterm/t/26state_query.test,
             src/libvterm/t/64screen_pen.test
@@ -5299,7 +5300,7 @@
             src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c,
             src/proto/vim9compile.pro, src/vim9execute.c, src/ex_cmds.h,
             src/ex_docmd.c, src/ex_cmdidxs.h, src/vim.h, src/testdir/vim9.vim,
-            src/testdir/test_vim9_disassemble.vim
+            src/testdir/test_vim9_disassemble.vim,
             src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim
 
 Patch 8.2.0819
@@ -5667,7 +5668,7 @@
 Problem:    Getting attributes for directory entries is slow.
 Solution:   Add readdirex(). (Ken Takata, closes #5619)
 Files:      runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c,
-            src/fileio.c, src/filepath.c src/proto/fileio.pro,
+            src/fileio.c, src/filepath.c, src/proto/fileio.pro,
             src/proto/filepath.pro, src/testdir/test_functions.vim
 
 Patch 8.2.0876
@@ -6292,7 +6293,7 @@
 Problem:    Vim9: cannot compile "[var, var] = list".
 Solution:   Implement list assignment.
 Files:      src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/evalvars.c,
-            src/proto/evalvars.pro src/eval.c, src/testdir/test_vim9_script.vim
+            src/proto/evalvars.pro, src/eval.c, src/testdir/test_vim9_script.vim
 
 Patch 8.2.0982
 Problem:    Insufficient testing for reading/writing files.
@@ -6335,7 +6336,7 @@
             src/cmdexpand.c, src/config.h.in, src/configure.ac,
             src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/fileio.c,
             src/filepath.c, src/globals.h, src/proto/fileio.pro,
-            src/testdir/test_cmdline.vim, src/testdir/test_functions.vim
+            src/testdir/test_cmdline.vim, src/testdir/test_functions.vim,
             src/vim.h
 
 Patch 8.2.0989
@@ -9545,7 +9546,7 @@
 Problem:    Vim9: cannot assign to local option.
 Solution:   Skip over "&l:" and "&g:". (closes #6749)
 Files:      src/ex_docmd.c, src/proto/ex_docmd.pro, src/testdir/vim9.vim,
-            src/vim9compile.c src/testdir/test_vim9_script.vim
+            src/vim9compile.c, src/testdir/test_vim9_script.vim
 
 Patch 8.2.1519
 Problem:    Vim9: Ex command default range is not set.
@@ -11740,7 +11741,7 @@
 Patch 8.2.1898
 Problem:    Command modifier parsing always uses global cmdmod.
 Solution:   Pass in cmdmod_T to use.  Rename struct fields consistently.
-Files:      src/structs.h, src/arglist.c src/buffer.c, src/bufwrite.c,
+Files:      src/structs.h, src/arglist.c, src/buffer.c, src/bufwrite.c,
             src/diff.c, src/change.c, src/cmdhist.c, src/edit.c,
             src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c,
             src/fileio.c, src/filepath.c, src/gui.c, src/gui_gtk_x11.c,
@@ -13549,7 +13550,7 @@
 Problem:    Vim9: return type of => lambda not parsed.
 Solution:   Parse and use the return type.
 Files:      src/vim9compile.c, src/userfunc.c, src/vim9type.c,
-            src/proto/vim9type.pro, src/vim9script.c, src/eval.c
+            src/proto/vim9type.pro, src/vim9script.c, src/eval.c,
             src/testdir/test_vim9_expr.vim
 
 Patch 8.2.2210
@@ -13776,7 +13777,7 @@
 Files:      src/term.c
 
 Patch 8.2.2249
-Problem:    Termcodes test is flaky when used over ssh with X forwarding. 
+Problem:    Termcodes test is flaky when used over ssh with X forwarding.
 Solution:   Set 'mousetime' to a larger value. (Dominique Pellé, closes #7576,
             closes #7563)
 Files:      src/testdir/test_termcodes.vim
@@ -15482,7 +15483,7 @@
 Solution:   Implement ISN_UNLETRANGE.
 Files:      src/errors.h, src/eval.c, src/evalvars.c, src/list.c,
             src/proto/evalvars.pro, src/proto/list.pro, src/vim9.h,
-            src/vim9compile.c, src/vim9execute.c
+            src/vim9compile.c, src/vim9execute.c,
             src/testdir/test_vim9_assign.vim
 
 Patch 8.2.2534
@@ -15518,7 +15519,7 @@
 Solution:   Store both the finally and endtry indexes. (closes #7885)
 Files:      src/vim9execute.c, src/vim9compile.c, src/vim9.h,
             src/testdir/test_vim9_script.vim,
- 
+
 Patch 8.2.2540
 Problem:    Vim9: no error for using script var name for argument.
 Solution:   Check for this error. (closes #7868)
@@ -17249,7 +17250,7 @@
 
 Patch 8.2.2841
 Problem:    MS-Windows: cursor in wrong position when 'lazyredraw' and
-            'statusline' are set. 
+            'statusline' are set.
 Solution:   Call compute_cmdrow(). (closes #8170, closes #8184)
 Files:      src/os_win32.c
 
@@ -17936,7 +17937,7 @@
 Problem:    Using getchar() in Vim9 script is problematic.
 Solution:   Add getcharstr(). (closes #8343)
 Files:      runtime/doc/eval.txt, src/evalfunc.c, src/getchar.c,
-            src/proto/getchar.pro, src/testdir/test_getchar.vim
+            src/proto/getchar.pro, src/testdir/test_functions.vim
 
 Patch 8.2.2958 (after 8.2.2957)
 Problem:    Function list test fails.
@@ -18849,7 +18850,7 @@
 Files:      src/testdir/check.vim
 
 Patch 8.2.3110
-Problem:    A pattern that matches the cursor position is bit complicated.
+Problem:    A pattern that matches the cursor position is a bit complicated.
 Solution:   Use a dot to indicate the cursor line and column. (Christian
             Brabandt, closes #8497, closes #8179)
 Files:      runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c,
@@ -18864,7 +18865,7 @@
 Problem:    With concealing enabled and indirectly closing a fold the cursor
             may be somewhere in a folded line when it is not on the first line
             of the fold.
-Solution:   Check if he cursor is somewhere in the folded text.
+Solution:   Check if the cursor is somewhere in the folded text.
 Files:      src/drawscreen.c
 
 Patch 8.2.3113
@@ -23950,7 +23951,7 @@
 Problem:    Error messages are spread out.
 Solution:   Move more errors to errors.h.
 Files:      src/errors.h, src/globals.h, src/arglist.c, src/bufwrite.c,
-            src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c src/ex_eval.c,
+            src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
             src/help.c, src/scriptfile.c, src/usercmd.c, src/userfunc.c,
             src/vim9cmds.c, src/vim9compile.c
 
@@ -23975,7 +23976,7 @@
 Patch 8.2.3961
 Problem:    Error messages are spread out.
 Solution:   Move more errors to errors.h.
-Files:      src/errors.h, src/globals.h src/arglist.c, src/autocmd.c,
+Files:      src/errors.h, src/globals.h, src/arglist.c, src/autocmd.c,
             src/blob.c, src/bufwrite.c, src/channel.c, src/clipboard.c,
             src/cmdexpand.c, src/debugger.c, src/dict.c, src/eval.c,
             src/evalfunc.c, src/evalvars.c, src/evalwindow.c, src/ex_cmds.c,
@@ -24291,7 +24292,7 @@
 
 Patch 8.2.4004
 Problem:    Old compiler complains about struct init with variable.
-Solution:   Set the struct member later. (John Marriott) 
+Solution:   Set the struct member later. (John Marriott)
 Files:      src/evalfunc.c
 
 Patch 8.2.4005
@@ -24494,7 +24495,7 @@
 Patch 8.2.4036
 Problem:    Vim9: script test file is getting too long.
 Solution:   Split the import/export functionality to a separate file.
-Files:      src/testdir/test_vim9_script.vim src/testdir/test_vim9_import.vim,
+Files:      src/testdir/test_vim9_script.vim, src/testdir/test_vim9_import.vim,
             src/testdir/Make_all.mak
 
 Patch 8.2.4037
@@ -25457,7 +25458,7 @@
 Problem:    Vim9: cannot export function that exists globally.
 Solution:   When checking if a function already exists only check for
             script-local functions. (closes #9615)
-Files:      src/userfunc.c, src/proto/userfunc.pro, src/vim.h, 
+Files:      src/userfunc.c, src/proto/userfunc.pro, src/vim.h,
             src/vim9compile.c, src/vim9instr.c,
             src/testdir/test_vim9_import.vim
 
@@ -25853,7 +25854,7 @@
 Problem:    Autoload tests fails.
 Solution:   Use export instead of name with #.
 Files:      src/testdir/sautest/autoload/auto9.vim,
-            src/testdir/test_autoload.vim src/testdir/test_ins_complete.vim
+            src/testdir/test_autoload.vim, src/testdir/test_ins_complete.vim
 
 Patch 8.2.4266
 Problem:    Compiler warning for uninitialized variable.
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 54e02ae..f494880 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 Mar 08
+*vim9.txt*	For Vim version 8.2.  Last change: 2022 Mar 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -995,6 +995,11 @@
 	   if b == null_blob
 	      # b argument was not given
 
+It is possible to compare `null`  with any value, this will not give a type
+error.  However, comparing `null` with a number, float or bool will always
+result in `false`.  This is different from legacy script, where comparing
+`null` with zero or `false` would return `true`.
+
 When converting a boolean to a string `false` and `true` are used, not
 `v:false` and `v:true` like in legacy script.  `v:none` has no `none`
 replacement, it has no equivalent in other languages.
@@ -1234,6 +1239,11 @@
 	endfor
 	echo range(5)->map((i, _) => flist[i]())
 	# Result: [4, 4, 4, 4, 4]
+<							*E1271*
+A closure must be compiled in the context that it is defined in, so that
+variables in that context can be found.  This mostly happens correctly, except
+when a function is marked for debugging with `breakadd` after it was compiled.
+Make sure the define the breakpoint before compiling the outerh function.
 
 The "inloop" variable will exist only once, all closures put in the list refer
 to the same instance, which in the end will have the value 4.  This is
@@ -1739,7 +1749,8 @@
    prefix is obtained from the file name, as you would to manually in a
    legacy autoload script.  Thus the exported function can be found with
    "for#search#Stuff", but you would normally use `import autoload` and not
-   use the prefix.
+   use the prefix (which has the side effect of loading the autoload script
+   when compiling a function that encounters this name).
 
    You can split up the functionality and import other scripts from the
    autoload script as you like.  This way you can share code between plugins.
@@ -1751,7 +1762,17 @@
 When compiling a `:def` function and a function in an autoload script is
 encountered, the script is not loaded until the `:def` function is called.
 This also means you get any errors only at runtime, since the argument and
-return types are not known yet.
+return types are not known yet.  If you would use the name with '#' characters
+then the autoload script IS loaded.
+
+Be careful to not refer to an item in an autoload script that does trigger
+loading it unintentionally.  For example, when setting an option that takes a
+function name, make sure to use a string, not a function reference: >
+	import autoload 'qftf.vim'
+	&quickfixtextfunc = 'qftf.Func'  # autoload script NOT loaded
+	&quickfixtextfunc = qftf.Func    # autoload script IS loaded
+On the other hand, it can be useful to load the script early, at a time when
+any errors should be given.
 
 For testing the |test_override()| function can be used to have the
 `import autoload` load the script right away, so that the items and types can
