changeset 32590:635de73eeb4c

Update runtime files Commit: https://github.com/vim/vim/commit/10e8ff9b26078994cae57c2422b145d37aaf714e Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 10 21:40:39 2023 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sat, 10 Jun 2023 22:45:05 +0200
parents 47f101f21004
children 92b93fe443e9
files runtime/doc/autocmd.txt runtime/doc/builtin.txt runtime/doc/cmdline.txt runtime/doc/eval.txt runtime/doc/map.txt runtime/doc/message.txt runtime/doc/options.txt runtime/doc/repeat.txt runtime/doc/spell.txt runtime/doc/starting.txt runtime/doc/tags runtime/doc/terminal.txt runtime/doc/testing.txt runtime/doc/todo.txt runtime/doc/userfunc.txt runtime/doc/vim9.txt runtime/filetype.vim runtime/ftplugin/corn.vim runtime/ftplugin/fennel.vim runtime/ftplugin/urlshortcut.vim runtime/scripts.vim runtime/syntax/meson.vim runtime/syntax/structurizr.vim runtime/syntax/swayconfig.vim runtime/syntax/urlshortcut.vim runtime/syntax/xpm.vim src/po/it.po src/po/nl.po src/po/sr.po
diffstat 29 files changed, 666 insertions(+), 164 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 9.0.  Last change: 2023 Feb 18
+*autocmd.txt*   For Vim version 9.0.  Last change: 2023 May 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1017,6 +1017,9 @@ OptionSet			After setting an option.  Th
 				the option. Similarly |v:option_oldglobal| is
 				only set when |:set| or |:setglobal| was used.
 
+				This does not set |<abuf>|, you could use
+				|bufnr()|.
+
 				Note that when setting a |global-local| string
 				option with |:set|, then |v:option_old| is the
 				old global value. However, for all other kinds
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt*	For Vim version 9.0.  Last change: 2023 May 12
+*builtin.txt*	For Vim version 9.0.  Last change: 2023 Jun 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1594,7 +1594,7 @@ clearmatches([{win}])					*clearmatches(
 		Can also be used as a |method|: >
 			GetWin()->clearmatches()
 <
-col({expr} [, {winid})					*col()*
+col({expr} [, {winid}])					*col()*
 		The result is a Number, which is the byte index of the column
 		position given with {expr}.  The accepted positions are:
 		    .	    the cursor position
@@ -1657,7 +1657,7 @@ complete({startcol}, {matches})			*compl
 		Example: >
 	inoremap <F5> <C-R>=ListMonths()<CR>
 
-	func! ListMonths()
+	func ListMonths()
 	  call complete(col('.'), ['January', 'February', 'March',
 		\ 'April', 'May', 'June', 'July', 'August', 'September',
 		\ 'October', 'November', 'December'])
@@ -1922,7 +1922,7 @@ cursor({list})
 		This is like the return value of |getpos()| or |getcurpos()|,
 		but without the first item.
 
-		To position the cursor using the character count, use
+		To position the cursor using {col} as the character count, use
 		|setcursorcharpos()|.
 
 		Does not change the jumplist.
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 9.0.  Last change: 2023 Feb 08
+*cmdline.txt*   For Vim version 9.0.  Last change: 2023 May 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -962,9 +962,10 @@ Note: these are typed literally, they ar
 		   write.  *E495*
 							*:<abuf>* *<abuf>*
 	<abuf>     When executing autocommands, is replaced with the currently
-		   effective buffer number (for ":r file" and ":so file" it is
-		   the current buffer, the file being read/sourced is not in a
-		   buffer).  *E496*
+		   effective buffer number.  It is not set for all events,
+		   also see |bufnr()|.  For ":r file" and ":so file" it is the
+		   current buffer, the file being read/sourced is not in a
+		   buffer.  *E496*
 							*:<amatch>* *<amatch>*
 	<amatch>   When executing autocommands, is replaced with the match for
 		   which this autocommand was executed.  *E497*
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 9.0.  Last change: 2023 Apr 24
+*eval.txt*	For Vim version 9.0.  Last change: 2023 Jun 01
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3091,7 +3091,7 @@ text...
 				let mylist = [1, 2, 3]
 				lockvar 0 mylist
 				let mylist[0] = 77	" OK
-				call add(mylist, 4]	" OK
+				call add(mylist, 4)	" OK
 				let mylist = [7, 8, 9]  " Error!
 <								*E743*
 			For unlimited depth use [!] and omit [depth].
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 9.0.  Last change: 2023 May 12
+*map.txt*       For Vim version 9.0.  Last change: 2023 May 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -400,7 +400,7 @@ Note:
 - The command is not echo'ed, no need for <silent>.
 - The {rhs} is not subject to abbreviations nor to other mappings, even if the
   mapping is recursive.
-- In Visual mode  you can use `line('v')` and `col('v')` to get one end of the
+- In Visual mode you can use `line('v')` and `col('v')` to get one end of the
   Visual area, the cursor is at the other end.
 
 							*E1255* *E1136*
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 9.0.  Last change: 2022 Oct 18
+*message.txt*   For Vim version 9.0.  Last change: 2023 May 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 9.0.  Last change: 2023 May 04
+*options.txt*	For Vim version 9.0.  Last change: 2023 Jun 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1813,7 +1813,7 @@ A jump table for the options with a shor
 	The screen column can be an absolute number, or a number preceded with
 	'+' or '-', which is added to or subtracted from 'textwidth'. >
 
-		:set cc=+1  " highlight column after 'textwidth'
+		:set cc=+1	  " highlight column after 'textwidth'
 		:set cc=+1,+2,+3  " highlight three columns after 'textwidth'
 		:hi ColorColumn ctermbg=lightgrey guibg=lightgrey
 <
@@ -7135,7 +7135,7 @@ A jump table for the options with a shor
 			local to buffer
 	Number of spaces to use for each step of (auto)indent.  Used for
 	|'cindent'|, |>>|, |<<|, etc.
-	When zero the 'ts' value will be used.  Use the |shiftwidth()|
+	When zero the 'tabstop' value will be used.  Use the |shiftwidth()|
 	function to get the effective shiftwidth value.
 
 						*'shortmess'* *'shm'*
@@ -7434,6 +7434,8 @@ A jump table for the options with a shor
 	line in the window wraps part of it may not be visible, as if it is
 	above the window. "<<<" is displayed at the start of the first line,
 	highlighted with |hl-NonText|.
+	You may also want to add "lastline" to the 'display' option to show as
+	much of the last line as possible.
 	NOTE: only partly implemented, currently works with CTRL-E, CTRL-Y
 	and scrolling with the mouse.
 
@@ -8044,13 +8046,25 @@ A jump table for the options with a shor
 	   (or 3 or whatever you prefer) and use 'noexpandtab'.  Then Vim
 	   will use a mix of tabs and spaces, but typing <Tab> and <BS> will
 	   behave like a tab appears every 4 (or 3) characters.
-	2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
+	   This is the recommended way, the file will look the same with other
+	   tools and when listing it in a terminal.
+	2. Set 'softtabstop' and 'shiftwidth' to whatever you prefer and use
+	   'expandtab'.  This way you will always insert spaces.  The
+	   formatting will never be messed up when 'tabstop' is changed (leave
+	   it at 8 just in case).  The file will be a bit larger.
+	   You do need to check if no Tabs exist in the file.  You can get rid
+	   of them by first setting 'expandtab' and using `%retab!`, making
+	   sure the value of 'tabstop' is set correctly.
+	3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
 	   'expandtab'.  This way you will always insert spaces.  The
 	   formatting will never be messed up when 'tabstop' is changed.
-	3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
+	   You do need to check if no Tabs exist in the file, just like in the
+	   item just above.
+	4. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
 	   |modeline| to set these values when editing the file again.  Only
-	   works when using Vim to edit the file.
-	4. Always set 'tabstop' and 'shiftwidth' to the same value, and
+	   works when using Vim to edit the file, other tools assume a tabstop
+	   is worth 8 spaces.
+	5. Always set 'tabstop' and 'shiftwidth' to the same value, and
 	   'noexpandtab'.  This should then work (for initial indents only)
 	   for any tabstop setting that people use.  It might be nice to have
 	   tabs after the first non-blank inserted as spaces if you do this
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 9.0.  Last change: 2023 May 01
+*repeat.txt*    For Vim version 9.0.  Last change: 2023 May 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -308,8 +308,8 @@ For writing a Vim script, see chapter 41
 			'runtimepath'.
 
 			If the filetype detection was not enabled yet (this
-			is usually done with a "syntax enable" or "filetype
-			on" command in your .vimrc file), this will also look
+			is usually done with a `syntax enable` or `filetype on`
+			command in your .vimrc file), this will also look
 			for "{name}/ftdetect/*.vim" files.
 
 			When the optional ! is added no plugin files or
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 9.0.  Last change: 2023 Apr 21
+*spell.txt*	For Vim version 9.0.  Last change: 2023 May 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -122,7 +122,7 @@ zuG			Undo |zW| and |zG|, remove the wor
 			list, like with |zW|.
 
 							*:spellra* *:spellrare*
-:[count]spellr[are] {word}
+:[count]spellra[re] {word}
 			Add {word} as a rare word to 'spellfile', similar to
 			|zw|.  Without count the first name is used, with
 			a count of two the second entry, etc.
@@ -135,7 +135,7 @@ zuG			Undo |zW| and |zG|, remove the wor
 		nnoremap z/  :exe ':spellrare! ' .. expand('<cWORD>')<CR>
 <			|:spellundo|, |zuw|, or |zuW| can be used to undo this.
 
-:spellr[rare]! {word}	Add {word} as a rare word to the internal word
+:spellra[re]! {word}	Add {word} as a rare word to the internal word
 			list, similar to |zW|.
 
 :[count]spellu[ndo] {word}				*:spellu* *:spellundo*
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 9.0.  Last change: 2022 Nov 30
+*starting.txt*  For Vim version 9.0.  Last change: 2023 May 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -792,9 +792,11 @@ 1. Set the 'shell' and 'term' option		*S
 
 2. Process the arguments
 	The options and file names from the command that start Vim are
-	inspected.  Buffers are created for all files (but not loaded yet).
+	inspected.
 	The |-V| argument can be used to display or log what happens next,
 	useful for debugging the initializations.
+	The |--cmd| arguments are executed.
+	Buffers are created for all files (but not loaded yet).
 
 3. Execute Ex commands, from environment variables and/or files
 	An environment variable is read as one Ex command line, where multiple
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4653,6 +4653,7 @@ E337	gui.txt	/*E337*
 E338	editing.txt	/*E338*
 E339	message.txt	/*E339*
 E34	various.txt	/*E34*
+E340	message.txt	/*E340*
 E341	message.txt	/*E341*
 E342	message.txt	/*E342*
 E343	options.txt	/*E343*
@@ -8158,6 +8159,7 @@ intel-itanium	syntax.txt	/*intel-itanium
 intellimouse-wheel-problems	gui_w32.txt	/*intellimouse-wheel-problems*
 interactive-functions	usr_41.txt	/*interactive-functions*
 interfaces-5.2	version5.txt	/*interfaces-5.2*
+internal-error	message.txt	/*internal-error*
 internal-variables	eval.txt	/*internal-variables*
 internal-wordlist	spell.txt	/*internal-wordlist*
 internet	intro.txt	/*internet*
@@ -10883,6 +10885,7 @@ vim9-declaration	vim9.txt	/*vim9-declara
 vim9-declarations	usr_41.txt	/*vim9-declarations*
 vim9-differences	vim9.txt	/*vim9-differences*
 vim9-export	vim9.txt	/*vim9-export*
+vim9-false-true	vim9.txt	/*vim9-false-true*
 vim9-final	vim9.txt	/*vim9-final*
 vim9-function-defined-later	vim9.txt	/*vim9-function-defined-later*
 vim9-gotchas	vim9.txt	/*vim9-gotchas*
@@ -10900,6 +10903,7 @@ vim9-rationale	vim9.txt	/*vim9-rationale
 vim9-reload	vim9.txt	/*vim9-reload*
 vim9-s-namespace	vim9.txt	/*vim9-s-namespace*
 vim9-scopes	vim9.txt	/*vim9-scopes*
+vim9-string-index	vim9.txt	/*vim9-string-index*
 vim9-types	vim9.txt	/*vim9-types*
 vim9-unpack-ignore	vim9.txt	/*vim9-unpack-ignore*
 vim9-user-command	vim9.txt	/*vim9-user-command*
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 9.0.  Last change: 2022 Nov 10
+*terminal.txt*	For Vim version 9.0.  Last change: 2023 Jun 09
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1452,8 +1452,8 @@ If there is no g:termdebug_config you ca
 	let g:termdebug_map_K = 0
 <
 						*termdebug_disasm_window*
-If you want the Asm window shown by default, set the flag to 1.
-the "disasm_window_height" entry can be used to set the window height: >
+If you want the Asm window shown by default, set the "disasm_window" flag to
+1.  The "disasm_window_height" entry can be used to set the window height: >
 	let g:termdebug_config['disasm_window'] = 1
 	let g:termdebug_config['disasm_window_height'] = 15
 If there is no g:termdebug_config you can use: >
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt*	For Vim version 9.0.  Last change: 2023 May 04
+*testing.txt*	For Vim version 9.0.  Last change: 2023 May 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -166,15 +166,17 @@ test_gui_event({event}, {args})
 		  Set or drag the left, right or horizontal scrollbar.  Only
 		  works when the scrollbar actually exists.  The supported
 		  items in {args} are:
-		    which:	scrollbar. The supported values are:
+		    which:	Selects the scrollbar. The supported values
+				are:
 				    left  Left scrollbar of the current window
 				    right Right scrollbar of the current window
 				    hor   Horizontal scrollbar
-		    value:	amount to scroll.  For the vertical scrollbars
-				the value can be 1 to the line-count of the
-				buffer.  For the horizontal scrollbar the
-				value can be between 1 and the maximum line
-				length, assuming 'wrap' is not set.
+		    value:	Amount to scroll.  For the vertical scrollbars
+				the value can be between 0 to the line-count
+				of the buffer minus one.  For the horizontal
+				scrollbar the value can be between 1 and the
+				maximum line length, assuming 'wrap' is not
+				set.
 		    dragging:	1 to drag the scrollbar and 0 to click in the
 				scrollbar.
 
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 9.0.  Last change: 2023 May 13
+*todo.txt*      For Vim version 9.0.  Last change: 2023 Jun 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,11 +38,12 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Crash when splitting window: #11961.  Set RedrawingDisabled in
-win_split_ins().
-
-CTRL-J mapping is not used if halfway another mapping. #12002
-Is simplified mapping not used but escape code has been simplified?
+FILETYPE_FILE is defined to the same value in multiple places.
+Only use the one in feature.h.  Others too.
+
+Mapping with modifier is not recognized after a partial mapping.  Probably
+because the typeahead was simplified when looking for a matching mapping.
+Need to somehow undo the simplification.  #12002
 
 Windows scroll when using the autocmd window.  #12085
 in restore_snapshot_rec() restore more values from the snapshot, instead of
@@ -57,6 +58,8 @@ When a help item can't be found, then op
 that file and gtive E149 only when not found.  Helps for a tiny Vim installed
 without all the help files.
 
+SpellCap highlight not updated - PR #12428
+
 Virtual text problems:
 -  Deleting character before a wrapping virtual text, causes for the following
    lines to dissapear (Issue #12244)
@@ -64,10 +67,15 @@ Virtual text problems:
    gone (Issue #12028)
 -  Virtual text aligned "above": Wrong indentation when using tabs  (Issue
    #12232)
+-  Virtual text to the right of the line that isn't visible doesn't cause the
+   'extends' character to show in 'list' mode.  #12478
 -  Virtual text to the right of the line that fits exactly on screen causes
    that line and all lines below it not to be displayed (Issue #12213)
 -  Window screen gets wrong when a virtual text is placed on 'above' or
    'below' on an empty line (Issue #11959)
+-  truncated Virtual text below an empty line causes display error #12493
+
+include #12403: window for Termdebug showing local variables
 
 include #12140: positional arguments in printf(), fixes #10577
 
@@ -80,6 +88,10 @@ highlighted. (van-de-bugger, 2018 Jan 23
 
 Improve profiling by caching matching functions:  PR  #12192
 
+With 'smoothscroll' set and "lastline" in 'display', moving the cursor to a
+wrapping line that makes the display scroll up may scroll much more than
+needed, thus jump-scrolling. (part of issue 12411)
+
 Add filecopy() ?  #12346
 
 Implement foreach()  PR  #12166
@@ -91,12 +103,18 @@ Errors when running tests with valgrind:
 - test_gui.vim:
     Found errors in Test_gui_mouse_event():
 
+When every block in if/elseif ends in "throw" or "return" code following after
+"endif" should give an "unreachable code" error.
+
 Upcoming larger works:
 - Make spell checking work with recent .dic/.aff files, e.g. French.  #4916
     Make Vim understand the format somehow?   Search for "spell" below.
     Make sure suggestions are speedy, also with composed words (German).
-- Make syntax highlighting faster and better.  Discuss alternatives for using
-  other grammars (treesitter, TextMate).
+- Make syntax highlighting faster and better.
+  Add a generic mechanism to test a syntax plugin: An input file for the
+  filetype and a screendump of expected result.  With a way to specify the
+  setup (global variables) and another dump file from that.
+  Discuss alternatives for using other grammars (treesitter, TextMate).
    - Possibly conversion to Vim syntax rules.
    - Other mechanism than group and cluster to nest syntax items, to be used
      for grammars.
@@ -116,11 +134,20 @@ Further Vim9 improvements, possibly afte
 - implement :class and :interface: See |vim9-classes
   - Change access: public by default, private by prefixing "_".
 	Check for error: can't have same name twice (ignoring "_" prefix).
+  - Private methods?
+	either: private def Func()
+	    or: def _Func()
+    Perhaps use "private" keyword instead of "_" prefix?
+  - "final" object members - can only be set in the constructor.
   - Cannot use class type of itself in the method (Issue #12369)
+  - Cannot use an object method in a lambda  #12417
+	Define all methods before compiling them?
   - class members initialized during definition (Issue #12041)
-  - cannot call class member of funcref type  (Issue #12324)
-  - nested function unable to directly modify private member (Issue #12076)
-      And: can't use "this" keyword in lambda function (Issue #12336)
+  - Cannot call class member of funcref type  (Issue #12324)
+	Also #12081 first case.
+  - Using list of functions does not work #12081 (repro in later message).
+  - Weird `class X not found on interface X` error (Issue #12023)
+  - First argument of call() cannot be "obj.Func". (#11865)
   - "return this" required for early return from constructor (inconsistent)
     (Issue #12040)
   - class/method confusion inside ":def" when using "class extends" (Issue
@@ -135,11 +162,6 @@ Further Vim9 improvements, possibly afte
 	email lifepillar 2023 Mar 26
   - Getting member of variable with "any" type should be handled at runtime.
     Remove temporary solution from #12096 / patch 9.0.1375.
-  - Private methods?
-	either: private def Func()
-	    or: def _Func()
-    Perhaps use "private" keyword instead of "_" prefix?
-  - "final" object members - can only be set in the constructor.
   - "obj.Method()" does not always work in a compiled function, assumes "obj"
     is a dictionary.  #12196  Issue #12024 might be the same problem.
     Issue #11822: any.Func() can be a dict or an object call, need to handle
@@ -173,20 +195,16 @@ Further Vim9 improvements, possibly afte
 - Implement as part of an expression: ++expr, --expr, expr++, expr--.
 
 Information missing in terminfo:
+- Codes used for focus gained and lost termcodes are hard-coded in
+  set_termname(), not named.
+- t_fe	enable focus-event tracking
+- t_fd	disable focus-event tracking
 - Accept "hyper" and "meta" modifiers (16 and 32) from Kitty like Meta?
     8 is actually "super".
 - t_RV	request terminal version string; xterm:	"\033[>c"
     change in terminfo for "RV" uses the wrong escape sequence 7 - 14 Jan only
 - Codes for <PasteStart> t_PS and <PasteEnd> t_PE; with bracketed paste:
     t_BE and t_BD.
-- Codes used for focus gained and lost (currently using use_xterm_like_mouse())
-  termcodes are hard-coded in set_termname(), not named.
-    Use the XF flag?  enables recognizing the focus in/out events.
-    Check if t_fe is not empty.
-    Check for "1004" in t_XM. (disadvantage: only focus events when mouse is
-    used)
-- t_fe	enable focus-event tracking
-- t_fd	disable focus-event tracking
 Modifiers for various keys
 - flag to indicate "xterm compatible modifiers" ?
 Underline and similar:
@@ -356,6 +374,12 @@ Autoconf: must use autoconf 2.69, later 
 Problem with Visual highlight when 'linebreak' and 'showbreak' are set.
 #11272
 
+'cindent': compound literal indented wrong.  Check for " = " before "{"?
+#12491
+
+GUI Scroll test fails on FreeBSD when using Motif.  See FIXME in
+Test_scrollbars in src/test_gui.vim
+
 Selected index returned by complete_info() does not match the index in the
 list of items.  #12230
 
@@ -383,6 +407,9 @@ Add BufDeletePost.  #11041
 
 Add winid arg to col() and charcol()  #11466 (request #11461)
 
+'switchbuf' set to "newtab" does not work for ":cfirst" when in the quickfix
+window.  #12436
+
 When :argument has a non-number argument, use it like :buffer to find the
 argument by name.  #12272
 
@@ -408,6 +435,10 @@ PR #11579 to add visualtext(), return Vi
 
 PR #12032: Support Python 3 stable ABI.
 
+PR #11860: Add more info to 'colorcolumn': display a character and highlight
+for each separate entry.  Disadvantage: option value gets very complicated
+with multiple entries, e.g. every 8 columns.
+
 Stray characters in the shell #11719, caused by requesting a response for:
 - XT key sequences
 - Whether modifyOtherKeys is active
@@ -472,6 +503,10 @@ To avoid flicker: add an option that whe
 of clearing it draws everything and uses "clear to end of line" for every line.
 Resetting 't_ut' already causes this?
 
+Instead of prefixing "INTERNAL" to internal messages, add a message in iemsg()
+and siemsg() and translate it.  Messages only given to them don't need
+translation.
+
 When scheme can't be found by configure there is no clear "not found" message:
     configure:5769: checking MzScheme install prefix
     configure:5781: result:
@@ -489,7 +524,10 @@ Idea: when typing ":e /some/dir/" and "d
 initialization to figure out the default value from 'shell'.  Add a test for
 this.
 
-Support translations for plugins: #11637
+Add a diff() function to use the built-in diff support in a script.
+#12321   Is the returned value in the right form now?
+
+Support translations for plugins: #11637  PR: #12447
 - Need a tool like xgettext for Vim script, generates a .pot file.
   Need the equivalent of _() and N_(), perhaps TR() and TRN().
 - Instructions for how to create .po files and translate.
@@ -541,6 +579,8 @@ New English spell files also have very s
 When 'spelloptions' is "camel" then zG doesn't work on some words.
 (Gary Johnson, 17 Oct 2022)
 
+SpellCap doesn't show below a closed fold. #12420
+
 'cdpath' problems:
 - Adding "~" to 'cdpath' doesn't work for completion?  (Davido, 2013 Aug 19)
 - Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME.
@@ -558,6 +598,11 @@ to tell which value from getvvcol() shou
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
+When 'wildignore' has an entry ending in "/*" this means nothing matching the
+path before it will be added.  When encountering a directory check this and if
+there is a match do not scan the directory (possibly speeds up :find a lot).
+#12482
+
 globpath() does not use 'wildignorecase' at all? (related to #8350)
 
 mksession uses :buffer instead of :edit in one place but not another. #10629
@@ -2270,10 +2315,6 @@ Diff mode out of sync. (Gary Johnson, 20
 Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", which
 does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)
 
-opening/closing window causes other window with 'winfixheight' to change
-height.  Also happens when there is another window in the frame, if it's not
-very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)
-
 Using ~ works OK on 'a' with composing char, but not on 0x0418  with composing
 char 0x0301. (Tony Mechelynck, 2009 Mar 4)
 
--- a/runtime/doc/userfunc.txt
+++ b/runtime/doc/userfunc.txt
@@ -1,4 +1,4 @@
-*userfunc.txt*	For Vim version 9.0.  Last change: 2023 Feb 02
+*userfunc.txt*	For Vim version 9.0.  Last change: 2023 May 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -51,6 +51,13 @@ define a global function.
 			{name} can also be a |Dictionary| entry that is a
 			|Funcref|: >
 				:function dict.init
+<			Note that {name} is not an expression, you cannot use
+			a variable that is a function reference.  You can use
+			this dirty trick to list the function referred to with
+			variable "Funcref": >
+				let g:MyFuncref = Funcref
+				func g:MyFuncref
+				unlet g:MyFuncref
 
 :fu[nction] /{pattern}	List functions with a name matching {pattern}.
 			Example that lists all functions ending with "File": >
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 9.0.  Last change: 2023 Mar 07
+*vim9.txt*	For Vim version 9.0.  Last change: 2023 Jun 10
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -117,6 +117,9 @@ script and `:def` functions; details are
 - Unless mentioned specifically, the highest |scriptversion| is used.
 - When defining an expression mapping, the expression will be evaluated in the
   context of the script where it was defined.
+- When indexing a string the index is counted in characters, not bytes:
+  |vim9-string-index|
+- Some possibly unexpected differences: |vim9-gotchas|.
 
 
 Comments starting with # ~
@@ -190,8 +193,8 @@ created yet.  In this case you can call 
 used for the command or the error was caught a `:try` block), does not get a
 range passed, cannot be a "dict" function, and can always be a closure.
 						*vim9-no-dict-function*
-Later classes will be added, which replaces the "dict function" mechanism.
-For now you will need to pass the dictionary explicitly: >
+You can use a Vim9 Class (|Vim9-class|) instead of a "dict function".
+You can also pass the dictionary explicitly: >
 	def DictFunc(self: dict<any>, arg: string)
 	   echo self[arg]
 	enddef
@@ -1056,11 +1059,11 @@ It is possible to compare `null`  with a
 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`.
-
+							*vim9-false-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.
-
+							*vim9-string-index*
 Indexing a string with [idx] or taking a slice with [idx : idx] uses character
 indexes instead of byte indexes.  Composing characters are included.
 Example: >
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2023 May 10
+" Last Change:	2023 Jun 09
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/corn.vim
@@ -0,0 +1,18 @@
+" Vim filetype plugin
+" Language:         Corn
+" Original Author:  Jake Stanger (mail@jstanger.dev) 
+" License:          MIT
+" Last Change:      2023 May 28
+
+if exists('b:did_ftplugin')
+  finish
+endif
+let b:did_ftplugin = 1
+
+setlocal formatoptions-=t
+
+" Set comment (formatting) related options.
+setlocal commentstring=//\ %s comments=:// 
+
+" Let Vim know how to disable the plug-in.
+let b:undo_ftplugin = 'setlocal commentstring< comments< formatoptions<'
--- a/runtime/ftplugin/fennel.vim
+++ b/runtime/ftplugin/fennel.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:     Fennel
 " Maintainer:   Gregory Anders <greg[NOSPAM]@gpanders.com>
-" Last Update:  2022 Apr 20
+" Last Update:  2023 Jun 9
 
 if exists('b:did_ftplugin')
   finish
@@ -13,6 +13,6 @@ setlocal comments=:;;,:;
 setlocal formatoptions-=t
 setlocal suffixesadd=.fnl
 setlocal lisp
-setlocal lispwords=accumulate,collect,do,doto,each,eval-compiler,fn,for,icollect,lambda,let,macro,macros,match,match-try,when,while,with-open
+setlocal lispwords=accumulate,case,case-try,collect,do,doto,each,eval-compiler,faccumulate,fcollect,fn,for,icollect,lambda,let,macro,macros,match,match-try,when,while,with-open
 
 let b:undo_ftplugin = 'setlocal commentstring< comments< formatoptions< suffixesadd< lisp< lispwords<'
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/urlshortcut.vim
@@ -0,0 +1,20 @@
+" Vim filetype plugin file
+" Language:             MS Windows URL shortcut file
+" Maintainer:           ObserverOfTime <chronobserver@disroot.org>
+" Latest Revision:      2023-06-04
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpoptions
+set cpoptions&vim
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:; commentstring=;\ %s
+setlocal formatoptions-=t formatoptions+=croql
+
+let &cpoptions = s:cpo_save
+unlet s:cpo_save
--- a/runtime/scripts.vim
+++ b/runtime/scripts.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types in scripts
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last change:	2022 Feb 13
+" Last change:	2023 Jun 08
 
 " This file is called by an autocommand for every file that has just been
 " loaded into a buffer.  It checks if the type of file can be recognized by
--- a/runtime/syntax/meson.vim
+++ b/runtime/syntax/meson.vim
@@ -3,7 +3,7 @@
 " License:	VIM License
 " Maintainer:	Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
 "		Liam Beguin <liambeguin@gmail.com>
-" Last Change:	2021 Aug 16
+" Last Change:	2023 May 27
 " Credits:	Zvezdan Petkovic <zpetkovic@acm.org>
 "		Neil Schemenauer <nas@meson.ca>
 "		Dmitry Vasiliev
@@ -68,6 +68,7 @@ syn keyword mesonBuiltin
   \ add_global_link_arguments
   \ add_languages
   \ add_project_arguments
+  \ add_project_dependencies
   \ add_project_link_arguments
   \ add_test_setup
   \ alias_target
@@ -99,6 +100,7 @@ syn keyword mesonBuiltin
   \ install_headers
   \ install_man
   \ install_subdir
+  \ install_symlink
   \ install_emptydir
   \ is_disabler
   \ is_variable
@@ -115,6 +117,7 @@ syn keyword mesonBuiltin
   \ shared_library
   \ shared_module
   \ static_library
+  \ structured_sources
   \ subdir
   \ subdir_done
   \ subproject
@@ -125,6 +128,7 @@ syn keyword mesonBuiltin
   \ vcs_tag
   \ warning
   \ range
+  \ debug
 
 if exists("meson_space_error_highlight")
   " trailing whitespace
@@ -146,7 +150,7 @@ hi def link mesonEscape		Special
 hi def link mesonNumber		Number
 hi def link mesonBuiltin	Function
 hi def link mesonBoolean	Boolean
-if exists("meson_space_error_higlight")
+if exists("meson_space_error_highlight")
   hi def link mesonSpaceError	Error
 endif
 
--- a/runtime/syntax/structurizr.vim
+++ b/runtime/syntax/structurizr.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:      Structurizr DSL
 " Maintainer:    Bastian Venthur <venthur@debian.org>
-" Last Change:   2022-02-15
+" Last Change:   2022-05-22
 " Remark:        For a language reference, see
 "                https://github.com/structurizr/dsl
 
@@ -26,6 +26,7 @@ syn keyword skeyword configuration
 syn keyword skeyword container
 syn keyword skeyword containerinstance
 syn keyword skeyword custom
+syn keyword skeyword default
 syn keyword skeyword deployment
 syn keyword skeyword deploymentenvironment
 syn keyword skeyword deploymentgroup
@@ -40,6 +41,7 @@ syn keyword skeyword group
 syn keyword skeyword healthcheck
 syn keyword skeyword include
 syn keyword skeyword infrastructurenode
+syn keyword skeyword instances
 syn keyword skeyword model
 syn keyword skeyword person
 syn keyword skeyword perspectives
@@ -54,6 +56,7 @@ syn keyword skeyword tags
 syn keyword skeyword technology
 syn keyword skeyword terminology
 syn keyword skeyword theme
+syn keyword skeyword themes
 syn keyword skeyword title
 syn keyword skeyword url
 syn keyword skeyword users
--- a/runtime/syntax/swayconfig.vim
+++ b/runtime/syntax/swayconfig.vim
@@ -2,9 +2,9 @@
 " Language: sway window manager config
 " Original Author: James Eapen <james.eapen@vai.org>
 " Maintainer: James Eapen <james.eapen@vai.org>
-" Version: 0.1.6
-" Reference version (jamespeapen/swayconfig.vim): 0.11.6
-" Last Change: 2022 Aug 08
+" Version: 0.2.1
+" Reference version (jamespeapen/swayconfig.vim): 0.12.1
+" Last Change: 2023 Mar 20
 
 " References:
 " http://i3wm.org/docs/userguide.html#configuring
@@ -58,6 +58,10 @@ syn match swayConfigClientColor /^\s*cli
 syn keyword swayConfigInputKeyword input contained
 syn match swayConfigInput /^\s*input\s\+.*$/ contains=swayConfigInputKeyword
 
+" Seat config
+syn keyword swayConfigSeatKeyword seat contained
+syn match swayConfigSeat /^\s*seat\s\+.*$/ contains=swayConfigSeatKeyword
+
 " set display outputs
 syn match swayConfigOutput /^\s*output\s\+.*$/ contains=i3ConfigOutput
 
@@ -66,6 +70,10 @@ syn keyword swayConfigFocusKeyword focus
 syn keyword swayConfigFocusType output contained
 syn match swayConfigFocus /^\s*focus\soutput\s.*$/ contains=swayConfigFocusKeyword,swayConfigFocusType
 
+" mouse warping
+syn keyword swayConfigMouseWarpingType container contained
+syn match swayConfigMouseWarping /^\s*mouse_warping\s\+\(output\|container\|none\)\s\?$/ contains=i3ConfigMouseWarpingKeyword,i3ConfigMouseWarpingType,swayConfigMouseWarpingType
+
 " focus follows mouse
 syn clear i3ConfigFocusFollowsMouseType
 syn clear i3ConfigFocusFollowsMouse
@@ -80,7 +88,7 @@ syn match swayConfigXwaylandModifier /^\
 
 " Group mode/bar
 syn clear i3ConfigBlock
-syn region swayConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigInitializeKeyword,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable,swayConfigInputKeyword,i3ConfigOutput transparent keepend extend
+syn region swayConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigInitializeKeyword,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable,swayConfigInputKeyword,swayConfigSeatKeyword,i3ConfigOutput transparent keepend extend
 
 "hi def link swayConfigError                         Error
 hi def link i3ConfigFloating                        Error
@@ -89,6 +97,8 @@ hi def link swayConfigFloatingMouseActio
 hi def link swayConfigFocusKeyword                  Type
 hi def link swayConfigSmartBorderKeyword            Type
 hi def link swayConfigInputKeyword                  Type
+hi def link swayConfigSeatKeyword                   Type
+hi def link swayConfigMouseWarpingType              Type
 hi def link swayConfigFocusFollowsMouseType         Type
 hi def link swayConfigBindGestureCommand            Identifier
 hi def link swayConfigBindGestureDirection          Constant
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/urlshortcut.vim
@@ -0,0 +1,14 @@
+" Vim syntax file
+" Language:      MS Windows URL shortcut file
+" Maintainer:    ObserverOfTime <chronobserver@disroot.org>
+" LastChange:    2023-06-04
+
+" Quit when a syntax file was already loaded.
+if exists("b:current_syntax")
+   finish
+endif
+
+" Just use the dosini syntax for now
+runtime! syntax/dosini.vim
+
+let b:current_syntax = "urlshortcut"
--- a/runtime/syntax/xpm.vim
+++ b/runtime/syntax/xpm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	X Pixmap
 " Maintainer:	Ronald Schild <rs@scutum.de>
-" Last Change:	2023 May 11
+" Last Change:	2023 May 24
 " Version:	5.4n.2
 "               Jemma Nelson added termguicolors support
 "               Dominique Pellé fixed spelling support
@@ -42,7 +42,7 @@ def s:CreateSyntax(): void
 	    var values = split(s[1 : -2])
 
 	    # Values string invalid, bail out
-	    if len(values) != 4
+ 	    if len(values) != 4 && len(values) != 6 && len(values) != 7
 	       return
 	    endif
 
@@ -100,8 +100,8 @@ def s:CreateSyntax(): void
 	    endif
 
 	    # escape meta characters in patterns
-	    s = escape(s, '/\*^$.~[] ')
-	    chars = escape(chars, '/\*^$.~[] ')
+	    s = escape(s, '/\*^$.~[]')
+ 	    chars = escape(chars, '/\*^$.~[]')
 
 	    # now create syntax items
 	    # highlight the color string as normal string (no pixel string)
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -3,6 +3,7 @@
 # Antonio Colombo <azc100@gmail.com>, 2000
 # Vlad Sandrini <vlad.gently@gmail.com>, 2002
 # Luciano Montanaro <mikelima@cirulla.net>, 2006
+# Roberto Boriotti <roberto.boriotti@canon.it>, 2023
 #
 # Ogni commento è benvenuto...
 # Every remark is very welcome...
@@ -14,8 +15,8 @@
 msgid ""
 msgstr ""
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-25 09:28+0200\n"
-"PO-Revision-Date: 2022-08-25 10:10+0100\n"
+"POT-Creation-Date: 2023-05-12 18:03+0200\n"
+"PO-Revision-Date: 2023-05-13 17:00+0100\n"
 "Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
 "Language-Team: Italian\n"
 "Language: it\n"
@@ -50,6 +51,7 @@ msgstr "auto-rimozione dell'autocomando:
 msgid "W19: Deleting augroup that is still in use"
 msgstr "W19: Cancello augroup, ma è ancora in uso"
 
+#. Highlight title
 msgid ""
 "\n"
 "--- Autocommands ---"
@@ -128,6 +130,7 @@ msgstr "riga %ld di %ld --%d%%-- col "
 msgid "[No Name]"
 msgstr "[Senza nome]"
 
+#. must be a help buffer
 msgid "help"
 msgstr "aiuto"
 
@@ -146,6 +149,10 @@ msgstr "Fon"
 msgid "Top"
 msgstr "Cim"
 
+#. localized percentage value
+msgid "%d%%"
+msgstr "%d%%"
+
 msgid "[Prompt]"
 msgstr "[Richiesta]"
 
@@ -155,6 +162,9 @@ msgstr "[Dinamico]"
 msgid "[Scratch]"
 msgstr "[Volatile]"
 
+#. don't overwrite messages here
+#. must give this prompt
+#. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "AVVISO: File modificato dopo essere stato letto!!!"
 
@@ -210,9 +220,11 @@ msgstr "W10: Avviso: Modifica a un file 
 msgid "No display"
 msgstr "Manca display"
 
+#. Failed to send, abort.
 msgid ": Send failed.\n"
 msgstr ": Invio fallito.\n"
 
+#. Let vim start normally.
 msgid ": Send failed. Trying to execute locally\n"
 msgstr ": Invio fallito. Tento di eseguire localmente\n"
 
@@ -257,6 +269,30 @@ msgstr "Le chiavi non corrispondono!"
 msgid "[crypted]"
 msgstr "[cifrato]"
 
+msgid "xchacha20v2: using custom opslimit \"%llu\" for Key derivation."
+msgstr "xchacha20v2: uso opslimit personalizzato \"%llu\" per ricavare la "
+"Chiave."
+
+msgid "xchacha20v2: using default opslimit \"%llu\" for Key derivation."
+msgstr "xchacha20v2: uso opslimit predefinito \"%llu\" per ricavare la "
+"Chiave."
+
+msgid "xchacha20v2: using custom memlimit \"%lu\" for Key derivation."
+msgstr "xchacha20v2: uso memlimit personalizzato \"%lu\" per ricavare la "
+"Chiave."
+
+msgid "xchacha20v2: using default memlimit \"%lu\" for Key derivation."
+msgstr "xchacha20v2: uso memlimit predefinito \"%lu\" per ricavare la "
+"Chiave."
+
+msgid "xchacha20v2: using custom algorithm \"%d\" for Key derivation."
+msgstr "xchacha20v2: uso algoritmo personalizzato \"%d\" per ricavare la "
+"Chiave."
+
+msgid "xchacha20v2: using default algorithm \"%d\" for Key derivation."
+msgstr "xchacha20v2: uso algoritmo predefinito \"%d\" per ricavare la "
+"Chiave."
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "Entro modalità Debug.  Batti \"cont\" per continuare."
 
@@ -384,6 +420,11 @@ msgstr ""
 "\n"
 "\tImpostata l'ultima volta da "
 
+#.
+#. * Yes this is ugly, I don't particularly like it either.  But doing it
+#. * this way has the compelling advantage that translations need not to
+#. * be touched at all.  See below what 'ok' and 'ync' are used for.
+#.
 msgid "&Ok"
 msgstr "&OK"
 
@@ -566,6 +607,7 @@ msgstr "Salva Ridirezione"
 msgid "Untitled"
 msgstr "Senza Nome"
 
+#. always scroll up, don't overwrite
 msgid "Exception thrown: %s"
 msgstr "Eccezione lanciata: %s"
 
@@ -578,6 +620,7 @@ msgstr "Eccezione scartata: %s"
 msgid "%s, line %ld"
 msgstr "%s, riga %ld"
 
+#. always scroll up, don't overwrite
 msgid "Exception caught: %s"
 msgstr "Eccezione intercettata: %s"
 
@@ -599,6 +642,7 @@ msgstr "Errore ed interruzione"
 msgid "Error"
 msgstr "Errore"
 
+#. if (pending & CSTP_INTERRUPT)
 msgid "Interrupt"
 msgstr "Interruzione"
 
@@ -629,6 +673,7 @@ msgstr "[Tipo di accesso non consentito]
 msgid "Vim: Reading from stdin...\n"
 msgstr "Vim: Leggo da stdin...\n"
 
+#. make a copy, gui_write() may try to change it
 msgid "Reading from stdin..."
 msgstr "Leggo da stdin..."
 
@@ -814,15 +859,18 @@ msgstr "Trova cosa:"
 msgid "Replace with:"
 msgstr "Sostituisci con:"
 
+#. whole word only button
 msgid "Match whole word only"
 msgstr "Cerca solo la parola intera"
 
+#. match case button
 msgid "Match case"
 msgstr "Maiuscole/minuscole"
 
 msgid "Direction"
 msgstr "Direzione"
 
+#. 'Up' and 'Down' buttons
 msgid "Up"
 msgstr "Su"
 
@@ -904,6 +952,8 @@ msgstr "Trova stringa"
 msgid "Find & Replace"
 msgstr "Trova & Sostituisci"
 
+#. We fake this: Use a filter that doesn't select anything and a default
+#. file name that won't be used.
 msgid "Not Used"
 msgstr "Non Utilizzato"
 
@@ -940,6 +990,7 @@ msgstr "Vim - Selettore Caratteri"
 msgid "Name:"
 msgstr "Nome:"
 
+#. create toggle button
 msgid "Show size in Points"
 msgstr "Mostra dimensione in Punti"
 
@@ -1138,6 +1189,7 @@ msgstr "numero buffer non valido"
 msgid "not implemented yet"
 msgstr "non ancora implementato"
 
+#. ???
 msgid "cannot set line(s)"
 msgstr "non posso impostare riga/he"
 
@@ -1167,7 +1219,7 @@ msgstr "interruzione dalla tastiera"
 
 msgid "cannot create buffer/window command: object is being deleted"
 msgstr ""
-"non riesco a creare comando buffer/finestra: oggetto in via di cancellazione"
+"non riesco a creare comando buffer/finestra: Object in via di cancellazione"
 
 msgid ""
 "cannot register callback command: buffer/window is already being deleted"
@@ -1196,9 +1248,11 @@ msgstr[1] "%ld righe rientrate "
 msgid " Keyword completion (^N^P)"
 msgstr " Completamento parola (^N^P)"
 
+#. CTRL_X_NORMAL, ^P/^N compl.
 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 msgstr " modalità ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
+#. CTRL_X_SCROLL: depends on state
 msgid " Whole line completion (^L^N^P)"
 msgstr " Completamento riga intera (^L^N^P)"
 
@@ -1214,12 +1268,14 @@ msgstr " Completamento Modello percorso 
 msgid " Definition completion (^D^N^P)"
 msgstr " Completamento Definizione (^D^N^P)"
 
+#. CTRL_X_FINISHED
 msgid " Dictionary completion (^K^N^P)"
 msgstr " Completamento Dizionario (^K^N^P)"
 
 msgid " Thesaurus completion (^T^N^P)"
 msgstr " Completamento Thesaurus (^T^N^P)"
 
+#. CTRL_X_EVAL doesn't use msg.
 msgid " Command-line completion (^V^N^P)"
 msgstr " Completamento riga-di-comando (^V^N^P)"
 
@@ -1235,9 +1291,6 @@ msgstr " Suggerimento ortografico (s^N^P
 msgid " Keyword Local completion (^N^P)"
 msgstr " Completamento Parola Locale (^N^P)"
 
-msgid "Hit end of paragraph"
-msgstr "Giunto alla fine del paragrafo"
-
 msgid "'dictionary' option is empty"
 msgstr "l'opzione 'dictionary' non è impostata"
 
@@ -1253,9 +1306,11 @@ msgstr " (inserisci) Scroll (^E/^Y)"
 msgid " (replace) Scroll (^E/^Y)"
 msgstr " (sostituisci) Scroll (^E/^Y)"
 
+#. reset in msg_trunc_attr()
 msgid "Scanning: %s"
 msgstr "Scansione: %s"
 
+#. reset in msg_trunc_attr()
 msgid "Scanning tags."
 msgstr "Scansione tag."
 
@@ -1265,9 +1320,18 @@ msgstr "corrispondenza nel file"
 msgid " Adding"
 msgstr " Aggiungo"
 
+#. showmode might reset the internal line pointers, so it must
+#. be called before line = ml_get(), or when this address is no
+#. longer needed.  -- Acevedo.
 msgid "-- Searching..."
 msgstr "-- Ricerca..."
 
+msgid "Hit end of paragraph"
+msgstr "Giunto alla fine del paragrafo"
+
+msgid "Pattern not found"
+msgstr "Espressione non trovata"
+
 msgid "Back at original"
 msgstr "Ritorno all'originale"
 
@@ -1365,6 +1429,7 @@ msgstr "Vim: Avviso: Output non diretto 
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim: Avviso: Input non proveniente da un terminale\n"
 
+#. just in case..
 msgid "pre-vimrc command line"
 msgstr "riga comandi prima di vimrc"
 
@@ -1704,6 +1769,30 @@ msgstr "-P <titolo padre>\tApri Vim in u
 msgid "--windowid <HWND>\tOpen Vim inside another win32 widget"
 msgstr "--windowid <HWND>\tApri Vim dentro un altro widget win32"
 
+msgid "Seen modifyOtherKeys: true\n"
+msgstr "Visto modifyOtherKeys: vero\n"
+
+msgid "Unknown"
+msgstr "Sconosciuto"
+
+msgid "Off"
+msgstr "Off"
+
+msgid "On"
+msgstr "On"
+
+msgid "Disabled"
+msgstr "Disabilitato"
+
+msgid "Cleared"
+msgstr "Annullato"
+
+msgid "modifyOtherKeys detected: %s\n"
+msgstr "rilevato modifyOtherKeys: %s\n"
+
+msgid "Kitty keyboard protocol: %s\n"
+msgstr "Protocollo di tastiera Kitty: %s\n"
+
 msgid "No abbreviation found"
 msgstr "Non trovo l'abbreviazione"
 
@@ -1713,6 +1802,7 @@ msgstr "Non trovo la mappatura"
 msgid "No marks set"
 msgstr "Nessuna marcatura impostata"
 
+#. Highlight title
 msgid ""
 "\n"
 "mark line  col file/text"
@@ -1720,6 +1810,7 @@ msgstr ""
 "\n"
 "mark riga  col.file/testo"
 
+#. Highlight title
 msgid ""
 "\n"
 " jump line  col file/text"
@@ -1727,6 +1818,7 @@ msgstr ""
 "\n"
 " salt.riga  col.file/testo"
 
+#. Highlight title
 msgid ""
 "\n"
 "change line  col text"
@@ -1829,6 +1921,9 @@ msgid "??? from here until ???END lines 
 msgstr ""
 "??? da qui fino a ???END righe possono essere state inserite/cancellate"
 
+msgid "??? lines may be missing"
+msgstr "??? forse mancano righe"
+
 msgid "???END"
 msgstr "???END"
 
@@ -1859,6 +1954,8 @@ msgstr ""
 "\n"
 "Adesso si potrebbe cancellare il file di .swp."
 
+#. Warn there could be an active Vim on the same file, the user may
+#. want to kill it.
 msgid ""
 "\n"
 "Note: process STILL RUNNING: "
@@ -1869,6 +1966,7 @@ msgstr ""
 msgid "Using crypt key from swap file for the text file.\n"
 msgstr "Uso la chiave di cifratura del file swap per il file di testo.\n"
 
+#. use msg() to start the scrolling properly
 msgid "Swap files found:"
 msgstr "Swap file trovati:"
 
@@ -1993,6 +2091,8 @@ msgstr "      NON TROVATO"
 msgid "      NEWER than swap file!\n"
 msgstr "      PIÙ RECENTE dello swap file!\n"
 
+#. Some of these messages are long to allow translation to
+#. other languages.
 msgid ""
 "\n"
 "(1) Another program may be editing the same file.  If this is the case,\n"
@@ -2070,6 +2170,7 @@ msgstr ""
 "&Q Esci\n"
 "&Annulla"
 
+#. list the matching menu mappings
 msgid ""
 "\n"
 "--- Menus ---"
@@ -2089,6 +2190,8 @@ msgstr "Trovato errore eseguendo %s:"
 msgid "line %4ld:"
 msgstr "riga %4ld:"
 
+#. Translator: Please replace the name and email address
+#. with the appropriate text for your translation.
 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
 msgstr "Manutentore messaggi: Antonio Colombo <azc100@gmail.com>"
 
@@ -2098,9 +2201,6 @@ msgstr "Interruzione: "
 msgid "Press ENTER or type command to continue"
 msgstr "Premi INVIO o un comando per proseguire"
 
-msgid "Unknown"
-msgstr "Sconosciuto"
-
 msgid "%s line %ld"
 msgstr "%s riga %ld"
 
@@ -2179,6 +2279,7 @@ msgid_plural "%ld lines %sed %d times"
 msgstr[0] "%ld righe %sa %d volta"
 msgstr[1] "%ld righe %se %d volte"
 
+#. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "non riesco a salvare in un registro; cancello comunque"
 
@@ -2484,6 +2585,7 @@ msgid_plural "%ld lines yanked%s"
 msgstr[0] "%ld riga messa in registro%s"
 msgstr[1] "%ld righe messe in registro%s"
 
+#. Highlight title
 msgid ""
 "\n"
 "Type Name Content"
@@ -2599,6 +2701,7 @@ msgstr "W15: Avviso: Separatore di riga 
 msgid " (includes previously listed match)"
 msgstr " (comprese corrispondenze elencate prima)"
 
+#. cursor at status line
 msgid "--- Included files "
 msgstr "--- File inclusi "
 
@@ -2666,6 +2769,8 @@ msgstr "Avviso: Non trovo lista parole \
 msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
 msgstr "Avviso: Non trovo lista parole \"%s.%s.spl\" o \"%s.ascii.spl\""
 
+#. This is probably an error.  Give a warning and
+#. accept the words anyway.
 msgid "Warning: region %s not supported"
 msgstr "Avviso: regione %s non supportata"
 
@@ -2840,6 +2945,10 @@ msgstr "Compressi %s: %ld di %ld nodi; n
 msgid "Reading back spell file..."
 msgstr "Rilettura file ortografico..."
 
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
 msgid "Performing soundfolding..."
 msgstr "Eseguo soundfolding..."
 
@@ -2879,6 +2988,8 @@ msgstr "Spiacente, nessun suggerimento"
 msgid "Sorry, only %ld suggestions"
 msgstr "Spiacente, solo %ld suggerimenti"
 
+#. for when 'cmdheight' > 1
+#. avoid more prompt
 msgid "Change \"%.*s\" to:"
 msgstr "Cambiare \"%.*s\" in:"
 
@@ -2953,6 +3064,7 @@ msgstr ""
 msgid "File \"%s\" does not exist"
 msgstr "Il file \"%s\" non esiste"
 
+#. Give an indication of the number of matching tags
 msgid "tag %d of %d%s"
 msgstr "tag %d di %d%s"
 
@@ -2968,6 +3080,7 @@ msgstr "  # pri tipo tag"
 msgid "file\n"
 msgstr "file\n"
 
+#. Highlight title
 msgid ""
 "\n"
 "  # TO tag         FROM line  in file/text"
@@ -2993,6 +3106,7 @@ msgstr "' non noto. Terminali disponibil
 msgid "defaulting to '"
 msgstr "predefinito a '"
 
+#. Highlight title
 msgid ""
 "\n"
 "--- Terminal keys ---"
@@ -3018,6 +3132,10 @@ msgstr "in esecuzione"
 msgid "finished"
 msgstr "terminato"
 
+#. Quoting "man strftime":
+#. > If the length of the result string (including the terminating
+#. > null byte) would exceed max bytes, then strftime() returns 0,
+#. > and the contents of the array are undefined.
 msgid "(Invalid)"
 msgstr "(Non valido)"
 
@@ -3036,6 +3154,7 @@ msgstr "fatto eseguire nuova shell\n"
 msgid "Vim: Error reading input, exiting...\n"
 msgstr "Vim: Errore leggendo l'input, esco...\n"
 
+#. must display the prompt
 msgid "No undo possible; continue anyway"
 msgstr "'undo' non più possibile; continuo comunque"
 
@@ -3238,13 +3357,6 @@ msgstr ""
 
 msgid ""
 "\n"
-"Big version "
-msgstr ""
-"\n"
-"Versione grande "
-
-msgid ""
-"\n"
 "Normal version "
 msgstr ""
 "\n"
@@ -3252,13 +3364,6 @@ msgstr ""
 
 msgid ""
 "\n"
-"Small version "
-msgstr ""
-"\n"
-"Versione piccola "
-
-msgid ""
-"\n"
 "Tiny version "
 msgstr ""
 "\n"
@@ -3518,6 +3623,7 @@ msgstr ""
 "\n"
 "# File mark:\n"
 
+#. Write the jumplist with -'
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
@@ -3525,6 +3631,7 @@ msgstr ""
 "\n"
 "# Jumplist (dai più recenti):\n"
 
+#. Write the info:
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Questo file viminfo è stato generato da Vim %s.\n"
 
@@ -3602,8 +3709,8 @@ msgstr "Interrotto"
 msgid "E10: \\ should be followed by /, ? or &"
 msgstr "E10: \\ dovrebbe essere seguito da /, ? oppure &"
 
-msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
-msgstr "E11: Non valido nella finestra comandi; <INVIO> esegue, CTRL-C ignora"
+msgid "E11: Invalid in command-line window; :q<CR> closes the window"
+msgstr "E11: Non valido nella finestra comandi; :q<INVIO> chiude finestra"
 
 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
 msgstr ""
@@ -4375,7 +4482,7 @@ msgstr ""
 "programmi Python."
 
 msgid "E264: Python: Error initialising I/O objects"
-msgstr "E264: Python: Errore di inizializzazione oggetti I/O"
+msgstr "E264: Python: Errore di inizializzazione Object I/O"
 
 msgid "E265: $_ must be an instance of String"
 msgstr "E265: $_ dev'essere un'istanza di Stringa"
@@ -5030,7 +5137,7 @@ msgid "E472: Command failed"
 msgstr "E472: Comando fallito"
 
 msgid "E473: Internal error in regexp"
-msgstr "E473: Errore interno espressione regolare"
+msgstr "E473: Errore interno in espressione regolare"
 
 msgid "E474: Invalid argument"
 msgstr "E474: Argomento non valido"
@@ -5050,8 +5157,11 @@ msgstr "E476: Comando non valido"
 msgid "E476: Invalid command: %s"
 msgstr "E476: Comando non valido: %s"
 
+msgid "E476: Invalid command: %s, expected %s"
+msgstr "E476: Comando non valido: %s, atteso %s"
+
 msgid "E477: No ! allowed"
-msgstr "E477: ! non consentito"
+msgstr "E477: \"!\" non consentito"
 
 msgid "E478: Don't panic!"
 msgstr "E478: Non lasciarti prendere dal panico!"
@@ -5597,8 +5707,8 @@ msgstr "E674: printmbcharset non può essere nullo con codifica multi-byte."
 msgid "E675: No default font specified for multi-byte printing."
 msgstr "E675: Carattere predefinito non specificato per stampa multi-byte."
 
-msgid "E676: No matching autocommands for acwrite buffer"
-msgstr "E676: Nessun autocomando corrispondente per buffer acwrite"
+msgid "E676: No matching autocommands for buftype=%s buffer"
+msgstr "E676: Nessun autocomando trovato per buffer con buftype=%s"
 
 msgid "E677: Error writing temp file"
 msgstr "E677: Errore in scrittura su file temporaneo"
@@ -6163,11 +6273,11 @@ msgid "E857: Dictionary key \"%s\" requi
 msgstr "E857: Chiave di Dizionario \"%s\" richiesta"
 
 msgid "E858: Eval did not return a valid python object"
-msgstr "E858: Eval non ha restituito un oggetto python valido"
+msgstr "E858: Eval non ha restituito un Object Python valido"
 
 msgid "E859: Failed to convert returned python object to a Vim value"
 msgstr ""
-"E859: Conversione non riuscita dell'oggetto python risultato a un valore vim"
+"E859: Conversione non riuscita di risultato Object Python a un valore vim"
 
 msgid "E860: Need 'id' and 'type' or 'types' with 'both'"
 msgstr "E860: Servono 'id' e 'type' o 'types' specificando 'both'"
@@ -6202,7 +6312,7 @@ msgid "E867: (NFA regexp) Unknown operat
 msgstr "E867: (Espressione regolare NFA) Operatore sconosciuto '\\%%%c'"
 
 msgid "E868: Error building NFA with equivalence class!"
-msgstr "E868: Errore costruendo NFA con classe di equivalenza!"
+msgstr "E868: Errore costruendo NFA con Classe di equivalenza!"
 
 msgid "E869: (NFA regexp) Unknown operator '\\@%c'"
 msgstr "E869: (NFA) Operatore sconosciuto '\\@%c'"
@@ -6391,9 +6501,6 @@ msgstr "E920: Il file _io necessita di i
 msgid "E921: Invalid callback argument"
 msgstr "E921: Argomento callback non valido"
 
-msgid "E922: Expected a dict"
-msgstr "E922: Atteso un Dizionario"
-
 msgid "E923: Second argument of function() must be a list or a dict"
 msgstr ""
 "E923: Il secondo argomento di function() dev'essere una Lista o un Dizionario"
@@ -6460,10 +6567,10 @@ msgid "E943: Command table needs to be u
 msgstr "E943: Tabella dei comandi da aggiornare, eseguire 'make cmdidxs'"
 
 msgid "E944: Reverse range in character class"
-msgstr "E944: Intervallo invertito nella classe di caratteri"
+msgstr "E944: Intervallo invertito nella Classe di caratteri"
 
 msgid "E945: Range too large in character class"
-msgstr "E945: Intervallo troppo ampio nella classe di caratteri"
+msgstr "E945: Intervallo troppo ampio nella Classe di caratteri"
 
 msgid "E946: Cannot make a terminal with running job modifiable"
 msgstr ""
@@ -6602,7 +6709,7 @@ msgid "E988: GUI cannot be used. Cannot 
 msgstr "E988: GUI non utilizzabile. Non riesco a eseguire gvim.exe."
 
 msgid "E989: Non-default argument follows default argument"
-msgstr "E989: Argomento non di default dopo argomento di default"
+msgstr "E989: Argomento non predefinito dopo argomento predefinito"
 
 msgid "E990: Missing end marker '%s'"
 msgstr "E990: Manca marcatore di fine '%s'"
@@ -6876,11 +6983,6 @@ msgstr "E1074: Nessuno spazio bianco con
 msgid "E1075: Namespace not supported: %s"
 msgstr "E1075: Spazio-dei-nomi non supportato: %s"
 
-msgid "E1076: This Vim is not compiled with float support"
-msgstr ""
-"E1076: Questo Vim non è stato compilato col supporto per i Numeri-a-virgola-"
-"mobile"
-
 msgid "E1077: Missing argument type for %s"
 msgstr "E1077: Manca tipo di argomento per %s"
 
@@ -6977,9 +7079,6 @@ msgstr "E1106: %d argomenti di troppo"
 msgid "E1107: String, List, Dict or Blob required"
 msgstr "E1107: Necessaria Stringa, Lista, Dizionario o Blob"
 
-msgid "E1108: Item not found: %s"
-msgstr "E1108: Elemento non trovato: %s"
-
 msgid "E1109: List item %d is not a List"
 msgstr "E1109: L'elemento di Lista %d non è una Lista"
 
@@ -7067,9 +7166,6 @@ msgstr ""
 "E1136: La mappatura di <Cmd> deve terminare con un <CR> prima di un secondo "
 "<Cmd>"
 
-msgid "E1137: <Cmd> mapping must not include %s key"
-msgstr "E1137: La mappatura di <Cmd> non deve includere il tasto %s"
-
 msgid "E1138: Using a Bool as a Number"
 msgstr "E1138: Uso di un valore Booleano come un Numero"
 
@@ -7142,7 +7238,7 @@ msgstr ""
 
 msgid "E1160: Cannot use a default for variable arguments"
 msgstr ""
-"E1160: Non posso usare un valore di default per argomenti di tipo variabile"
+"E1160: Non posso usare un valore predefinito per argomenti di tipo variabile"
 
 msgid "E1161: Cannot json encode a %s"
 msgstr "E1161: Non si può codificare JSON un/a %s"
@@ -7183,7 +7279,7 @@ msgid "E1171: Missing } after inline fun
 msgstr "E1171: Manca } dopo una funzione in-linea"
 
 msgid "E1172: Cannot use default values in a lambda"
-msgstr "E1172: Non si possono usare valori di default in un'espressione lambda"
+msgstr "E1172: Non si possono usare valori predefiniti in un'espressione lambda"
 
 msgid "E1173: Text found after %s: %s"
 msgstr "E1173: Trovato del testo dopo %s: %s"
@@ -7217,7 +7313,7 @@ msgid "E1181: Cannot use an underscore h
 msgstr "E1181: Non si può usare un trattino basso qui"
 
 msgid "E1182: Cannot define a dict function in Vim9 script: %s"
-msgstr "E1182: Non posso definite una funzione dict negli script Vim9: %s"
+msgstr "E1182: Non posso definire una funzione dict negli script Vim9: %s"
 
 msgid "E1183: Cannot use a range with an assignment operator: %s"
 msgstr ""
@@ -7439,9 +7535,6 @@ msgstr "E1251: Lista, Dizionario, Blob o
 msgid "E1252: String, List or Blob required for argument %d"
 msgstr "E1252: Stringa, Lista o Blob richiesto per argomento %d"
 
-msgid "E1253: String expected for argument %d"
-msgstr "E1253: Stringa richiesta per argomento %d"
-
 msgid "E1254: Cannot use script variable in for loop"
 msgstr "E1254: Non si può usare una variabile di script in un ciclo for"
 
@@ -7567,8 +7660,9 @@ msgid "E1292: Command-line window is alr
 msgstr "E1292: Finestra della riga-di-comando già aperta"
 
 msgid "E1293: Cannot use a negative id after adding a textprop with text"
-msgstr "E1293: Non posso usare un id negativo dopo aver aggiunto del testo "
-"a una 'textprop'"
+msgstr ""
+"E1293: Non posso usare un id negativo dopo aver aggiunto del testo a una "
+"'textprop'"
 
 msgid "E1294: Can only use text_align when column is zero"
 msgstr "E1294: Si può usare 'text_align' solo quando la colonna è zero"
@@ -7577,12 +7671,236 @@ msgid "E1295: Cannot specify both 'type'
 msgstr "E1295: Non si può specificare sia 'type' che 'types'"
 
 msgid "E1296: Can only use left padding when column is zero"
-msgstr "E1296: Si può usare il riempimento a sinistra solo quando la colonna "
-"è zero"
-
+msgstr ""
+"E1296: Si può usare il riempimento a sinistra solo quando la colonna è zero"
+
+msgid "E1297: Non-NULL Dictionary required for argument %d"
+msgstr "E1297: Dizionario Non-NULL richiesto per argomento %d"
+
+msgid "E1298: Non-NULL List required for argument %d"
+msgstr "E1298: Lista Non-NULL richiesta per argomento %d"
+
+msgid "E1299: Window unexpectedly closed while searching for tags"
+msgstr "E1299: Chiusura inattesa di finestra durante ricerca di tag"
+
+msgid "E1300: Cannot use a partial with dictionary for :defer"
+msgstr "E1300: Non si può usare un Partial con un Dizionario per :defer"
+
+msgid "E1301: String, Number, List or Blob required for argument %d"
+msgstr "E1301: Stringa, Numero, Lista o Blob richiesto per argomento %d"
+
+msgid "E1302: Script variable was deleted"
+msgstr "E1302: La variabile di script è stata annullata"
+
+msgid "E1303: Custom list completion function does not return a List but a %s"
+msgstr "E1303: La funzione personalizzata di completamento della Lista "
+"non restituisce una Lista ma un %s"
+
+msgid "E1304: Cannot use type with this variable: %s"
+msgstr "E1304: Non si può assegnare il tipo a questa variabile: %s"
+
+msgid ""
+"E1305: Cannot use \"length\", \"end_col\" and \"end_lnum\" with \"text\""
+msgstr ""
+"E1305: Non si può usare \"length\", \"end_col\" e \"end_lnum\" con \"text\""
+
+msgid "E1306: Loop nesting too deep"
+msgstr "E1306: Nidificazione troppo estesa"
+
+msgid "E1307: Argument %d: Trying to modify a const %s"
+msgstr "E1307: Argomento %d: Tenta di modificare la costante %s"
+
+msgid "E1308: Cannot resize a window in another tab page"
+msgstr "E1308: Non posso ridimensionare una finestra in un'altra "
+"pagine di linguette"
+
+msgid "E1309: Cannot change mappings while listing"
+msgstr "E1309: Non posso modificare mappature mentre le sto elencando"
+
+msgid "E1310: Cannot change menus while listing"
+msgstr "E1310: Non posso modificare menù mentre lo sto visualizzando"
+
+msgid "E1311: Cannot change user commands while listing"
+msgstr "E1311: Non posso modificare comandi utente mentre li sto elencando"
+
+msgid "E1312: Not allowed to change the window layout in this autocmd"
+msgstr "E1312: Non si può modificare il formato della finestra in questo "
+"autocomando"
+
+msgid "E1313: Not allowed to add or remove entries (%s)"
+msgstr "E1313: Not è consentito aggiungere o togliere elementi (%s)"
+
+msgid "E1314: Class name must start with an uppercase letter: %s"
+msgstr "E1314: Il nome di una Classe deve iniziare con una lettera "
+"maiuscola: %s"
+
+msgid "E1315: White space required after name: %s"
+msgstr "E1315: Spazio bianco necessario dopo il nome: %s"
+
+msgid "E1316: Class can only be defined in Vim9 script"
+msgstr "E1316: Class può essere usato solo negli script Vim9"
+
+msgid "E1317: Invalid object member declaration: %s"
+msgstr "E1317: Dichiarazione di elemento Object non valida: %s"
+
+msgid "E1318: Not a valid command in a class: %s"
+msgstr "E1318: Comando non valido in una Classe: %s"
+
+msgid "E1319: Using a class as a Number"
+msgstr "E1319: Uso di una Classe come Numero"
+
+msgid "E1320: Using an object as a Number"
+msgstr "E1320: Uso di un Object come Numero"
+
+msgid "E1321: Using a class as a Float"
+msgstr "E1321: Uso di una Classe come un Numero-a-virgola-mobile"
+
+msgid "E1322: Using an object as a Float"
+msgstr "E1322: Uso di un Object come Numero-a-virgola-mobile"
+
+msgid "E1323: Using a class as a String"
+msgstr "E1323: Uso di una Classe come una Stringa"
+
+msgid "E1324: Using an object as a String"
+msgstr "E1324: Uso di un Object come Stringa"
+
+msgid "E1325: Method not found on class \"%s\": %s"
+msgstr "E1325: Metodo non trovato nella Classe \"%s\": %s"
+
+msgid "E1326: Member not found on object \"%s\": %s"
+msgstr "E1326: Metodo non trovato in Object \"%s\": %s"
+
+msgid "E1327: Object required, found %s"
+msgstr "E1327: Object necessario, trovato %s"
+
+msgid "E1328: Constructor default value must be v:none: %s"
+msgstr "E1328: Il valore predefinito del costruttore dev'essere v:none: %s"
+
+msgid "E1329: Cannot get object member type from initializer: %s"
+msgstr "E1329: Non riesco a ottenere il tipo dell'elemento Object "
+"dall'inizializzatore: %s"
+
+msgid "E1330: Invalid type for object member: %s"
+msgstr "E1330: Tipo non valido per elemento Object: %s"
+
+msgid "E1331: Public must be followed by \"this\" or \"static\""
+msgstr "E1331: Public dev'essere seguito da \"this\" o \"static\""
+
+msgid "E1332: Public member name cannot start with underscore: %s"
+msgstr "E1332: Il nome di un elemento Pubblico non può iniziare con "
+"un trattino basso: %s"
+
+msgid "E1333: Cannot access private member: %s"
+msgstr "E1333: Non posso accedere elemento privato: %s"
+
+msgid "E1334: Object member not found: %s"
+msgstr "E1334: Elemento Object non trovato: %s"
+
+msgid "E1335: Member is not writable: %s"
+msgstr "E1335: Elemento non riscrivibile: %s"
+
+msgid "E1336: Internal error: shortmess too long"
+msgstr "E1336: Errore interno: shortmess troppo lungo"
+
+msgid "E1337: Class member not found: %s"
+msgstr "E1337: Elemento di Classe non trovato: %s"
+
+msgid "E1338: Member not found on class \"%s\": %s"
+msgstr "E1338: Elemento non trovato nella Classe \"%s\": %s"
+
+msgid ""
+"E1339: Cannot add a textprop with text after using a textprop with a "
+"negative id"
+msgstr ""
+"E1339: Non posso aggiungere textprop a un testo dopo aver usato una "
+"textprop con un identificativo negativo"
+
+msgid "E1340: Argument already declared in the class: %s"
+msgstr "E1340: Argomento già dichiarato nella Classe: %s"
+
+msgid "E1341: Variable already declared in the class: %s"
+msgstr "E1341: Variabile già dichiarata nella Classe: %s"
+
+msgid "E1342: Interface can only be defined in Vim9 script"
+msgstr "E1342: L'interfaccia può essere definita solo negli script Vim9"
+
+msgid "E1343: Interface name must start with an uppercase letter: %s"
+msgstr ""
+"E1343: I comandi definiti dall'utente devono iniziare con lettera "
+"maiuscola: %s"
+
+msgid "E1344: Cannot initialize a member in an interface"
+msgstr "E1344: Non riesco a inizializzare elemento di un'interfaccia"
+
+msgid "E1345: Not a valid command in an interface: %s"
+msgstr "E1345: Comando non valido in un'interfaccia: %s"
+
+msgid "E1346: Interface name not found: %s"
+msgstr "E1346: Nome interfaccia non trovato: %s"
+
+msgid "E1347: Not a valid interface: %s"
+msgstr "E1347: Interfaccia non valida: %s"
+
+msgid "E1348: Member \"%s\" of interface \"%s\" not implemented"
+msgstr "E1348: Elemento \"%s\" dell'interfaccia \"%s\" non implementato"
+
+msgid "E1349: Function \"%s\" of interface \"%s\" not implemented"
+msgstr "E1349: Funzione \"%s\" dell'interfaccia \"%s\" non implementata"
+
+msgid "E1350: Duplicate \"implements\""
+msgstr "E1350: \"implements\" specificato due volte"
+
+msgid "E1351: Duplicate interface after \"implements\": %s"
+msgstr "E1351: Interfaccia duplicata dopo \"implements\": %s"
+
+msgid "E1352: Duplicate \"extends\""
+msgstr "E1352: \"extends\" specificato due volte"
+
+msgid "E1353: Class name not found: %s"
+msgstr "E1353: Nome di Classe non trovato: %s"
+
+msgid "E1354: Cannot extend %s"
+msgstr "E1354: Non si può estendere %s"
+
+msgid "E1355: Duplicate function: %s"
+msgstr "E1355: Funzione duplicata: %s"
+
+msgid "E1356: \"super\" must be followed by a dot"
+msgstr "E1356: \"super\" deve essere seguito da un punto"
+
+msgid "E1357: Using \"super\" not in a class function"
+msgstr "E1357: Uso di \"super\" fuori da una funzione di Classe"
+
+msgid "E1358: Using \"super\" not in a child class"
+msgstr "E1358: Uso di \"super\" fuori da una Classe-figlia"
+
+msgid "E1359: Cannot define a \"new\" function in an abstract class"
+msgstr ""
+"E1359: Non posso definire una funzione \"new\" in una Classe astratta"
+
+msgid "E1360: Using a null object"
+msgstr "E1360: Uso di un Object nullo"
+
+msgid "E1361: Cannot use color \"none\", did you mean \"NONE\"?"
+msgstr "E1361: Non posso usare il colore \"none\", si intendeva \"NONE\"?"
+
+msgid "E1362: Cannot use a non-null object"
+msgstr "E1362: Non posso usare un Object non-NULL"
+
+msgid "E1363: Incomplete type"
+msgstr "E1363: Tipo incompleto"
+
+msgid "E1364: Warning: Pointer block corrupted"
+msgstr "E1364: Attenzione: Blocco puntatore non valido"
+
+#. type of cmdline window or 0
+#. result of cmdline window or 0
 msgid "--No lines in buffer--"
 msgstr "--File vuoto--"
 
+#.
+#. * Some messages that can be shared are included here.
+#.
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "raggiunta la CIMA nella ricerca, continuo dal FONDO"
 
@@ -7681,6 +7999,7 @@ msgstr "il costruttore di lista non acce
 msgid "list index out of range"
 msgstr "Indice di Lista fuori intervallo"
 
+#. No more suitable format specifications in python-2.3
 msgid "internal error: failed to get Vim list item %d"
 msgstr ""
 "errore interno: non sono riuscito a ottenere l'elemento di Lista di Vim %d"
@@ -7767,13 +8086,13 @@ msgid "mark name must be a single charac
 msgstr "il nome marcatura dev'essere un carattere singolo"
 
 msgid "expected vim.Buffer object, but got %s"
-msgstr "atteso oggetto vim.Buffer, ottenuto %s"
+msgstr "atteso Object vim.Buffer, ottenuto %s"
 
 msgid "failed to switch to buffer %d"
 msgstr "passaggio non riuscito al buffer %d"
 
 msgid "expected vim.Window object, but got %s"
-msgstr "atteso oggetto vim.Window, ottenuto %s"
+msgstr "atteso Object vim.Window, ottenuto %s"
 
 msgid "failed to find window in the current tab page"
 msgstr ""
@@ -7783,7 +8102,7 @@ msgid "did not switch to the specified w
 msgstr "passaggio alla finestra specificata non effettuato"
 
 msgid "expected vim.TabPage object, but got %s"
-msgstr "atteso oggetto vim.TabPage, ottenuto %s"
+msgstr "atteso Object vim.TabPage, ottenuto %s"
 
 msgid "did not switch to the specified tab page"
 msgstr "passaggio alla pagina di linguette specificata non effettuato"
@@ -7869,18 +8188,23 @@ msgstr ""
 "Sorgenti C++ (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
 "File di Vim (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
 
+#. Translators: This is the Application Name used in the GVim desktop file
 msgid "GVim"
 msgstr "GVim"
 
+#. Translators: This is the Generic Application Name used in the Vim desktop file
 msgid "Text Editor"
 msgstr "Editor di testi"
 
+#. Translators: This is the comment used in the Vim desktop file
 msgid "Edit text files"
 msgstr "Edita file di testo"
 
+#. Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
 msgid "Text;editor;"
 msgstr "Testo;editor;"
 
+#. Translators: This is the Application Name used in the Vim desktop file
 msgid "Vim"
 msgstr "Vim"
 
@@ -7932,7 +8256,7 @@ msgid "list of flags to specify Vi compa
 msgstr "lista di flag per specificare il grado di compatibilità con Vi"
 
 msgid "use Insert mode as the default mode"
-msgstr "usa modo Insert come modo di default"
+msgstr "usa modo Insert come modo predefinito"
 
 msgid "paste mode, insert typed text literally"
 msgstr "mode Paste, inserisce letteralmente testo battuto"
@@ -8000,7 +8324,7 @@ msgstr ""
 "regolari di ricerca"
 
 msgid "select the default regexp engine used"
-msgstr "scegli l'algoritmo di ricerca di default da usare nelle ricerche"
+msgstr "scegli l'algoritmo di ricerca predefinito da usare nelle ricerche"
 
 msgid "ignore case when using a search pattern"
 msgstr "ignora maiuscolo/minuscolo nelle espressioni di ricerca"
@@ -8090,6 +8414,9 @@ msgstr "visualizza del testo"
 msgid "number of lines to scroll for CTRL-U and CTRL-D"
 msgstr "numero di righe da scorrere con i comandi CTRL-U e CTRL-D"
 
+msgid "scroll by screen line"
+msgstr "scorrimento per riga schermo"
+
 msgid "number of screen lines to show around the cursor"
 msgstr ""
 "numero di righe dello schermo da mostrare attorno alla riga che contiene il "
@@ -8286,7 +8613,7 @@ msgid "use a popup window for preview"
 msgstr "usa una finestra dinamica per le anteprime"
 
 msgid "default height for the preview window"
-msgstr "altezza di default per la finestra precedente"
+msgstr "altezza predefinita per la finestra precedente"
 
 msgid "identifies the preview window"
 msgstr "identifica la finestra di anteprima"
@@ -8303,6 +8630,9 @@ msgstr ""
 msgid "a new window is put below the current one"
 msgstr "una nuova finestra va sotto quella corrente"
 
+msgid "determines scroll behavior for split windows"
+msgstr "determina comportamento scorrimento per finestre con divisioni"
+
 msgid "a new window is put right of the current one"
 msgstr "una nuova finestra va a destra di quella corrente"
 
@@ -8373,11 +8703,14 @@ msgstr "richiesta codici tasti terminale
 msgid "terminal that requires extra redrawing"
 msgstr "terminale che richiede ulteriore ridisegno"
 
+msgid "what keyboard protocol to use for which terminal"
+msgstr "che protocollo di tastiera usare per quale terminale"
+
 msgid "recognize keys that start with <Esc> in Insert mode"
 msgstr "riconosci tasti funzione che iniziano con <Esc> in modo Insert"
 
 msgid "minimal number of lines to scroll at a time"
-msgstr "numero minimo di righe da scorrere per volta"
+msgstr "numero minimo di righe da scorrere ogni volta"
 
 msgid "maximum number of lines to use scrolling instead of redrawing"
 msgstr ""
@@ -8548,8 +8881,12 @@ msgstr "aggiungi 's' flag in 'shortmess'
 msgid "list of flags to make messages shorter"
 msgstr "lista di flag su come abbreviare messaggi"
 
-msgid "show (partial) command keys in the status line"
-msgstr "mostra (in parte) tasti di comando nella riga di status"
+msgid "show (partial) command keys in location given by 'showcmdloc'"
+msgstr "mostra (una parte dei) tasti di comando nella riga di status"
+
+msgid "location where to show the (partial) command keys for 'showcmd'"
+msgstr "posizione in cui mostrare (una parte dei) tasti di comando per "
+"'showcmd'"
 
 msgid "display the current mode in the status line"
 msgstr "visualizza modo corrente nella riga di status"
@@ -8763,13 +9100,13 @@ msgid "enable specific indenting for C c
 msgstr "abilitare indentatura specifica per codice C"
 
 msgid "options for C-indenting"
-msgstr "opzioni per indentatura-C"
+msgstr "opzioni per indentatura C"
 
 msgid "keys that trigger C-indenting in Insert mode"
-msgstr "tasti che iniziano indentatura-C in modo Insert"
+msgstr "tasti che iniziano indentatura C in modo Insert"
 
 msgid "list of words that cause more C-indent"
-msgstr "lista di parole che innescano ulteriore indentatura-C"
+msgstr "lista di parole che innescano ulteriore indentatura C"
 
 msgid "list of scope declaration names used by cino-g"
 msgstr "lista di dichiarazioni di ambito usate da cino-g"
@@ -8792,6 +9129,9 @@ msgstr "abilita Modo Lisp"
 msgid "words that change how lisp indenting works"
 msgstr "parole che modificano funzionamento indentatura Lisp"
 
+msgid "options for Lisp indenting"
+msgstr "opzioni per indentatura Lisp"
+
 msgid "folding"
 msgstr "piegatura"
 
@@ -8899,6 +9239,9 @@ msgstr "modifica di file binario"
 msgid "last line in the file has an end-of-line"
 msgstr "l'ultima riga del file ha una fine-riga"
 
+msgid "last line in the file followed by CTRL-Z"
+msgstr "l'ultima riga del file è seguita da CTRL-Z"
+
 msgid "fixes missing end-of-line at end of text file"
 msgstr "rimediare alla mancanza di una fine-riga a fine file"
 
@@ -9339,3 +9682,6 @@ msgstr "nome della libreria dinamica MzS
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "nome della libreria dinamica MzScheme GC"
+
+msgid "You discovered the command-line window! You can close it with \":q\"."
+msgstr ""
--- a/src/po/nl.po
+++ b/src/po/nl.po
@@ -728,6 +728,13 @@ msgstr "E131: functie %s wordt gebruikt 
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
 msgstr "E132: diepte functieaanroep overstijgt 'maxfuncdepth'"
 
+#: ../errors.h:2848
+#, c-format
+msgid "E1106: One argument too many"
+msgid_plural "E1106: %d arguments too many"
+msgstr[0] "E1106: Een argument te veel"
+msgstr[1] "E1106: %d argumenten te veel"
+
 #, c-format
 msgid "calling %s"
 msgstr "%s aanroepen"
--- a/src/po/sr.po
+++ b/src/po/sr.po
@@ -10,8 +10,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Serbian)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-05-02 14:10+0400\n"
-"PO-Revision-Date: 2023-05-02 14:54+0400\n"
+"POT-Creation-Date: 2023-05-15 10:13+0400\n"
+"PO-Revision-Date: 2023-05-15 11:50+0400\n"
 "Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
 "Language-Team: Serbian\n"
 "Language: sr\n"
@@ -10377,3 +10377,6 @@ msgstr "име MzScheme динамичке библиотеке"
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "име MzScheme GC динамичке библиотеке"
+
+msgid "You discovered the command-line window! You can close it with \":q\"."
+msgstr "Открили сте прозор командне линије! Можете да га затворите са „:q”."