diff --git a/runtime/doc/tags b/runtime/doc/tags
index 1eeed4f..73aefe1 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2015,6 +2015,7 @@
 52.3	usr_52.txt	/*52.3*
 52.4	usr_52.txt	/*52.4*
 52.5	usr_52.txt	/*52.5*
+52.6	usr_52.txt	/*52.6*
 8g8	various.txt	/*8g8*
 90.1	usr_90.txt	/*90.1*
 90.2	usr_90.txt	/*90.2*
diff --git a/runtime/doc/usr_52.txt b/runtime/doc/usr_52.txt
index 8607cf9..553ed88 100644
--- a/runtime/doc/usr_52.txt
+++ b/runtime/doc/usr_52.txt
@@ -1,4 +1,4 @@
-*usr_52.txt*	For Vim version 9.1.  Last change: 2024 May 16
+*usr_52.txt*	For Vim version 9.1.  Last change: 2024 May 31
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -13,6 +13,7 @@
 |52.3|	Autoloading without import/export
 |52.4|	Other mechanisms to use
 |52.5|	Using a Vim9 script from legacy script
+|52.6|	Vim9 script examples: comment package, highlight-yank plugin
 
      Next chapter: |usr_90.txt|  Installing Vim
  Previous chapter: |usr_51.txt|  Create a plugin
@@ -336,6 +337,46 @@
 	call g:NicePluginTest()
 
 ==============================================================================
+*52.6*	Vim9 script examples: comment package, highlight-yank plugin
+
+COMMENT PACKAGE
+
+Vim comes with a comment plugin, written in Vim9 script |comment-install|.
+Have a look at the package located at $VIMRUNTIME/pack/dist/opt/comment/
+
+HIGHLIGHT YANK PLUGIN
+
+Here is an example for highlighting the yanked region. It makes use of the
+|getregionpos()| function, available since Vim 9.1.0446.
+
+Copy the following example into a new file and place it into your plugin directory
+and it will be active next time you start Vim |add-plugin|: >
+
+	vim9script
+
+	def HighlightedYank(hlgroup = 'IncSearch', duration = 300, in_visual = true)
+	  if v:event.operator ==? 'y'
+		  if !in_visual && visualmode() != null_string
+			visualmode(1)
+			return
+		  endif
+		  var [beg, end] = [getpos("'["), getpos("']")]
+		  var type = v:event.regtype ?? 'v'
+		  var pos = getregionpos(beg, end, {type: type})
+		  var end_offset = (type == 'V' || v:event.inclusive) ? 1 : 0
+		  var m = matchaddpos(hlgroup, pos->mapnew((_, v) => {
+			var col_beg = v[0][2] + v[0][3]
+			var col_end = v[1][2] + v[1][3] + end_offset
+			return [v[0][1], col_beg, col_end - col_beg]
+		  }))
+		  var winid = win_getid()
+		  timer_start(duration, (_) => m->matchdelete(winid))
+	  endif
+	enddef
+
+	autocmd TextYankPost * HighlightedYank()
+<
+==============================================================================
 
 Next chapter: |usr_90.txt|  Installing Vim
 
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 7a49aa0..68e5d99 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 9.1.  Last change: 2024 Apr 13
+*vim9.txt*	For Vim version 9.1.  Last change: 2024 May 31
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -67,6 +67,7 @@
 		Note that {cmd} cannot use local variables, since it is parsed
 		with legacy expression syntax.
 
+See some examples of Vim9 script at |52.6|.
 ==============================================================================
 
 2. Differences from legacy Vim script			*vim9-differences*
