runtime(doc): include some vim9 script examples in the help

closes: #14848

Signed-off-by: Christian Brabandt <cb@256bit.org>
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*