changeset 19574:d4deb2e50667

Update runtime files Commit: https://github.com/vim/vim/commit/eab6dff19f387469a200011bc6cf3508f5e43a4a Author: Bram Moolenaar <Bram@vim.org> Date: Sun Mar 1 19:06:45 2020 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 01 Mar 2020 19:15:04 +0100
parents 9d0db06b6ad2
children 3c0de44077cd
files runtime/autoload/xmlformat.vim runtime/doc/cmdline.txt runtime/doc/helphelp.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_03.txt runtime/doc/vim9.txt runtime/pack/dist/opt/matchit/autoload/matchit.vim runtime/pack/dist/opt/matchit/doc/matchit.txt runtime/pack/dist/opt/matchit/plugin/matchit.vim src/po/de.po
diffstat 12 files changed, 460 insertions(+), 150 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/xmlformat.vim
+++ b/runtime/autoload/xmlformat.vim
@@ -1,6 +1,6 @@
 " Vim plugin for formatting XML
-" Last Change: 2019 Oct 24
-"     Version: 0.2
+" Last Change: 2020 Jan 06
+"     Version: 0.3
 "      Author: Christian Brabandt <cb@256bit.org>
 "  Repository: https://github.com/chrisbra/vim-xml-ftplugin
 "     License: VIM License
@@ -15,7 +15,7 @@ let s:keepcpo       = &cpo
 set cpo&vim
 
 " Main function: Format the input {{{1
-func! xmlformat#Format()
+func! xmlformat#Format() abort
   " only allow reformatting through the gq command
   " (e.g. Vim is in normal mode)
   if mode() != 'n'
@@ -40,14 +40,16 @@ func! xmlformat#Format()
       continue
     elseif line !~# '<[/]\?[^>]*>'
       let nextmatch = match(list, '<[/]\?[^>]*>', current)
-      let line .= join(list[(current + 1):(nextmatch-1)], "\n")
-      call remove(list, current+1, nextmatch-1)
+      if nextmatch > -1 
+        let line .= ' '. join(list[(current + 1):(nextmatch-1)], " ")
+        call remove(list, current+1, nextmatch-1)
+      endif
     endif
     " split on `>`, but don't split on very first opening <
     " this means, items can be like ['<tag>', 'tag content</tag>']
     for item in split(line, '.\@<=[>]\zs')
       if s:EndTag(item)
-        let s:indent = s:DecreaseIndent()
+        call s:DecreaseIndent()
         call add(result, s:Indent(item))
       elseif s:EmptyTag(lastitem)
         call add(result, s:Indent(item))
@@ -59,13 +61,23 @@ func! xmlformat#Format()
           " Simply split on '<', if there is one,
           " but reformat according to &textwidth
           let t=split(item, '.<\@=\zs')
+
+          " if the content fits well within a single line, add it there
+          " so that the output looks like this:
+          "
+          " <foobar>1</foobar>
+          if s:TagContent(lastitem) is# s:TagContent(t[1]) && strlen(result[-1]) + strlen(item) <= s:Textwidth()
+            let result[-1] .= item
+            let lastitem = t[1]
+            continue
+          endif
           " t should only contain 2 items, but just be safe here
           if s:IsTag(lastitem)
             let s:indent+=1
           endif
           let result+=s:FormatContent([t[0]])
           if s:EndTag(t[1])
-            let s:indent = s:DecreaseIndent()
+            call s:DecreaseIndent()
           endif
           "for y in t[1:]
             let result+=s:FormatContent(t[1:])
@@ -97,15 +109,15 @@ func! xmlformat#Format()
   return 0
 endfunc
 " Check if given tag is XML Declaration header {{{1
-func! s:IsXMLDecl(tag)
+func! s:IsXMLDecl(tag) abort
   return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
 endfunc
 " Return tag indented by current level {{{1
-func! s:Indent(item)
+func! s:Indent(item) abort
   return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
 endfu
 " Return item trimmed from leading whitespace {{{1
-func! s:Trim(item)
+func! s:Trim(item) abort
   if exists('*trim')
     return trim(a:item)
   else
@@ -113,44 +125,53 @@ func! s:Trim(item)
   endif
 endfunc
 " Check if tag is a new opening tag <tag> {{{1
-func! s:StartTag(tag)
+func! s:StartTag(tag) abort
   let is_comment = s:IsComment(a:tag)
   return a:tag =~? '^\s*<[^/?]' && !is_comment
 endfunc
 " Check if tag is a Comment start {{{1
-func! s:IsComment(tag)
+func! s:IsComment(tag) abort
   return a:tag =~? '<!--'
 endfunc
 " Remove one level of indentation {{{1
-func! s:DecreaseIndent()
-  return (s:indent > 0 ? s:indent - 1 : 0)
+func! s:DecreaseIndent() abort
+  let s:indent = (s:indent > 0 ? s:indent - 1 : 0)
 endfunc
 " Check if tag is a closing tag </tag> {{{1
-func! s:EndTag(tag)
+func! s:EndTag(tag) abort
   return a:tag =~? '^\s*</'
 endfunc
 " Check that the tag is actually a tag and not {{{1
 " something like "foobar</foobar>"
-func! s:IsTag(tag)
+func! s:IsTag(tag) abort
   return s:Trim(a:tag)[0] == '<'
 endfunc
 " Check if tag is empty <tag/> {{{1
-func! s:EmptyTag(tag)
+func! s:EmptyTag(tag) abort
   return a:tag =~ '/>\s*$'
 endfunc
+func! s:TagContent(tag) abort "{{{1
+  " Return content of a tag
+  return substitute(a:tag, '^\s*<[/]\?\([^>]*\)>\s*$', '\1', '')
+endfunc
+func! s:Textwidth() abort "{{{1
+  " return textwidth (or 80 if not set)
+  return &textwidth == 0 ? 80 : &textwidth
+endfunc
 " Format input line according to textwidth {{{1
-func! s:FormatContent(list)
+func! s:FormatContent(list) abort
   let result=[]
-  let limit = 80
-  if &textwidth > 0
-    let limit = &textwidth
-  endif
+  let limit = s:Textwidth()
   let column=0
   let idx = -1
   let add_indent = 0
   let cnt = 0
   for item in a:list
     for word in split(item, '\s\+\S\+\zs') 
+      if match(word, '^\s\+$') > -1
+        " skip empty words
+        continue
+      endif
       let column += strdisplaywidth(word, column)
       if match(word, "^\\s*\n\\+\\s*$") > -1
         call add(result, '')
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.2.  Last change: 2020 Feb 15
+*cmdline.txt*   For Vim version 8.2.  Last change: 2020 Feb 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -476,6 +476,10 @@ emulate it.  For example, this mimics au
 This will find the longest match with the first 'wildchar', then list all
 matching files with the next.
 
+					*complete-script-local-functions*
+When completing user function names, prepend "s:" to find script-local
+functions.
+
 							*suffixes*
 For file name completion you can use the 'suffixes' option to set a priority
 between files with almost the same name.  If there are multiple matches,
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt*	For Vim version 8.2.  Last change: 2019 Oct 18
+*helphelp.txt*	For Vim version 8.2.  Last change: 2020 Mar 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -368,4 +368,15 @@ highlighting.  So do these:
 
 You can find the details in $VIMRUNTIME/syntax/help.vim
 
+							*inclusion*
+Some people make a big deal about using "his" when referring to the user,
+thinking it means we assume the user is male.  That is of course not the case,
+it's just a habit of writing help text, which quite often is many years old.
+Also, a lot of the text is written by contributors for who English is not
+their first language.  We do not make any assumptions about the gender of the
+user, no matter how the text is phrased.  And we do not want to waste time on
+this discussion.  The goal is that the reader understands how Vim works, the
+exact wording is secondary.
+
+
  vim:tw=78:ts=8:noet:ft=help:norl:
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.2.  Last change: 2019 Dec 19
+*syntax.txt*	For Vim version 8.2.  Last change: 2020 Feb 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -217,7 +217,7 @@ The name for a highlight or syntax group
 and the underscore.  As a regexp: "[a-zA-Z0-9_]*".  However, Vim does not give
 an error when using other characters.
 
-To be able to allow each user to pick his favorite set of colors, there must
+To be able to allow each user to pick their favorite set of colors, there must
 be preferred names for highlight groups that are common for many languages.
 These are the suggested group names (if syntax highlighting works properly
 you can see the actual color, except for "Ignore"):
@@ -4512,8 +4512,8 @@ two different ways:
 	  (e.g., "syntax/pod.vim") the file is searched for in 'runtimepath'.
 	  All matching files are loaded.  Using a relative path is
 	  recommended, because it allows a user to replace the included file
-	  with his own version, without replacing the file that does the ":syn
-	  include".
+	  with their own version, without replacing the file that does the
+	  ":syn include".
 
 						*E847*
 The maximum number of includes is 999.
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5823,6 +5823,7 @@ complete-item-kind	insert.txt	/*complete
 complete-items	insert.txt	/*complete-items*
 complete-popup	insert.txt	/*complete-popup*
 complete-popuphidden	insert.txt	/*complete-popuphidden*
+complete-script-local-functions	cmdline.txt	/*complete-script-local-functions*
 complete_CTRL-E	insert.txt	/*complete_CTRL-E*
 complete_CTRL-Y	insert.txt	/*complete_CTRL-Y*
 complete_add()	eval.txt	/*complete_add()*
@@ -7371,6 +7372,7 @@ in_name	channel.txt	/*in_name*
 in_top	channel.txt	/*in_top*
 inactive-buffer	windows.txt	/*inactive-buffer*
 include-search	tagsrch.txt	/*include-search*
+inclusion	helphelp.txt	/*inclusion*
 inclusive	motion.txt	/*inclusive*
 incomp-small-6	version6.txt	/*incomp-small-6*
 incompatible-5	version5.txt	/*incompatible-5*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Feb 25
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Mar 01
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,13 +38,9 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Patch for this (#5696):
-- Empty text prop which includes start/end does not grow when inserting text.
-  (Axel Forsman, #5679)
-
 Vim9 script:
+- better implementation for partial and tests.
 - "func" inside "vim9script" doesn't work?  (Ben Jackson, #5670)
-- Completion for :disassemble
 - "echo Func()" is an error if Func() does not return anything.
 - Make "g:imported = Export.exported" work in Vim9 script.
 - Make Foo.Bar() work to call the dict function. (#5676)
@@ -193,8 +189,6 @@ Flag in 'formatoptions' is not used in t
 Patch to add 'vtp' option. (#5344)
 Needs better docs.  Is there a better name?
 
-Patch for Haiku support. (Emir Sarı, #5605)
-
 undo result wrong: Masato Nishihata, #4798
 
 When 'lazyredraw' is set sometimes the title is not updated.
@@ -204,6 +198,7 @@ Strange sequence of BufWipeout and BufNe
 (Paul Jolly, #5656)
 Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
 BufWinenter event not fired when saving unnamed buffer. (Paul Jolly, #5655)
+Another spurious BufDelete. (Dani Dickstein, #5701)
 
 Patch to add function to return the text used in the quickfix window.
 (Yegappan, #5465)
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt*	For Vim version 8.2.  Last change: 2019 Nov 21
+*usr_03.txt*	For Vim version 8.2.  Last change: 2020 Feb 29
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -346,7 +346,8 @@ to find the first #include after the cur
 
 And then type "n" several times.  You will move to each #include in the text.
 You can also use a count if you know which match you want.  Thus "3n" finds
-the third match.  Using a count with "/" doesn't work.
+the third match.  You can also use a count with "/": "4/the" goes to the
+fourth match of "the".
 
 The "?" command works like "/" but searches backwards: >
 
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Feb 22
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Feb 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
--- a/runtime/pack/dist/opt/matchit/autoload/matchit.vim
+++ b/runtime/pack/dist/opt/matchit/autoload/matchit.vim
@@ -1,6 +1,6 @@
 "  matchit.vim: (global plugin) Extended "%" matching
 "  autload script of matchit plugin, see ../plugin/matchit.vim
-"  Last Change: 2019 Oct 24
+"  Last Change: Mar 01, 2020
 
 let s:last_mps = ""
 let s:last_words = ":"
@@ -48,6 +48,8 @@ function matchit#Match_wrapper(word, for
     execute "normal! gv\<Esc>"
   elseif a:mode == "o" && mode(1) !~# '[vV]'
     exe "norm! v"
+  elseif a:mode == "n" && mode(1) =~# 'ni'
+    exe "norm! v"
   endif
   " In s:CleanUp(), we may need to check whether the cursor moved forward.
   let startpos = [line("."), col(".")]
--- a/runtime/pack/dist/opt/matchit/doc/matchit.txt
+++ b/runtime/pack/dist/opt/matchit/doc/matchit.txt
@@ -4,7 +4,7 @@ For instructions on installing this file
 	`:help matchit-install`
 inside Vim.
 
-For Vim version 8.1.  Last change:  2019 Oct 24
+For Vim version 8.1.  Last change:  2020 Mar 01
 
 
 		  VIM REFERENCE MANUAL    by Benji Fisher et al
--- a/runtime/pack/dist/opt/matchit/plugin/matchit.vim
+++ b/runtime/pack/dist/opt/matchit/plugin/matchit.vim
@@ -1,6 +1,6 @@
 "  matchit.vim: (global plugin) Extended "%" matching
 "  Maintainer:  Christian Brabandt
-"  Version:     1.16
+"  Version:     1.17
 "  Last Change: 2019 Oct 24
 "  Repository:  https://github.com/chrisbra/matchit
 "  Previous URL:http://www.vim.org/script.php?script_id=39
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-12-02 17:17+0100\n"
+"POT-Creation-Date: 2020-02-29 23:12+0100\n"
 "PO-Revision-Date: 2008-05-24 17:26+0200\n"
 "Last-Translator: Christian Brabandt <cb@256bit.org>\n"
 "Language-Team: German\n"
@@ -71,7 +71,7 @@ msgstr ""
 
 #, c-format
 msgid "E680: <buffer=%d>: invalid buffer number "
-msgstr "E680: <buffer=%d>: Ungültige Puffer Nummer "
+msgstr "E680: <buffer=%d>: Ungültige Puffernummer "
 
 msgid "E217: Can't execute autocommands for ALL events"
 msgstr "E217: Autokommandos können nicht für ALL Ereignisse ausgeführt werden"
@@ -541,22 +541,6 @@ msgstr "%3d  %s %s  Zeile %ld"
 msgid "%3d  expr %s"
 msgstr "%3d expr %s"
 
-#, c-format
-msgid "E720: Missing colon in Dictionary: %s"
-msgstr "E720: Fehlender Doppelpunkt im Dictionary: %s"
-
-#, c-format
-msgid "E721: Duplicate key in Dictionary: \"%s\""
-msgstr "E721: Doppelter Schlüssel im Dictionary: \"%s\""
-
-#, c-format
-msgid "E722: Missing comma in Dictionary: %s"
-msgstr "E722: Fehlendes Komma im Dictionary: %s"
-
-#, c-format
-msgid "E723: Missing end of Dictionary '}': %s"
-msgstr "E723: Fehlendes Ende des Dictionary '}': %s"
-
 msgid "extend() argument"
 msgstr "extend() Argument"
 
@@ -705,18 +689,12 @@ msgstr "E105: :loadkeymap außerhalb einer eingelesenen Datei."
 msgid "E791: Empty keymap entry"
 msgstr "E791: Leerer keymap Eintrag"
 
-msgid "E111: Missing ']'"
-msgstr "E111: Fehlende ']'"
-
 msgid "E719: Cannot use [:] with a Dictionary"
 msgstr "E719: Kann [:] nicht mit einem Dictionary verwenden"
 
 msgid "E806: using Float as a String"
 msgstr "E806: Float als String benutzt."
 
-msgid "E274: No white space allowed before parenthesis"
-msgstr "E274: Keine Leerzeichen vor Klammern erlaubt"
-
 msgid "E689: Can only index a List, Dictionary or Blob"
 msgstr "E689: Kann nur Listen, Dictionary oder Blob indizieren"
 
@@ -741,21 +719,6 @@ msgstr "E711: Listenwert hat nicht genügend Einträge."
 msgid "E996: Cannot lock a list or dict"
 msgstr "E996: Kann List oder Dictionary nicht sperren"
 
-msgid "E690: Missing \"in\" after :for"
-msgstr "E690: Fehlendes \"in\" nach :for"
-
-msgid "E109: Missing ':' after '?'"
-msgstr "E109: Fehlender ':' nach '?'"
-
-msgid "E804: Cannot use '%' with Float"
-msgstr "E804: Kann '%' mit Floats benutzen."
-
-msgid "E973: Blob literal should have an even number of hex characters"
-msgstr "E973: Blob-Literal sollte eine gerade Anzahl von Hex-Zeichen haben"
-
-msgid "E110: Missing ')'"
-msgstr "E110: Fehlendes ')'"
-
 msgid "E260: Missing name after ->"
 msgstr "E260: Fehlende Name nach ->"
 
@@ -769,9 +732,8 @@ msgstr "E909: Kann Spezialvariable nicht
 msgid "E112: Option name missing: %s"
 msgstr "E112: Optionsname fehlt: %s"
 
-#, c-format
-msgid "E113: Unknown option: %s"
-msgstr "E113: Unbekannte Option: %s"
+msgid "E973: Blob literal should have an even number of hex characters"
+msgstr "E973: Blob-Literal sollte eine gerade Anzahl von Hex-Zeichen haben"
 
 #, c-format
 msgid "E114: Missing quote: %s"
@@ -822,6 +784,9 @@ msgstr "E893: Liste als Float verwendet.
 msgid "E894: Using a Dictionary as a Float"
 msgstr "E894: Dictionary als Float verwendet."
 
+msgid "E362: Using a boolean value as a Float"
+msgstr "E362: Benutze Boolvariable als Float."
+
 msgid "E907: Using a special value as a Float"
 msgstr "E907: Benutze Spezialvariable als Float."
 
@@ -846,9 +811,6 @@ msgstr "E731: Dictionary als String verw
 msgid "E976: using Blob as a String"
 msgstr "E976: Blob als String verwendet"
 
-msgid "E908: using an invalid value as a String"
-msgstr "E908: Ungültiger Wert als String verwendet."
-
 msgid "E698: variable nested too deep for making a copy"
 msgstr "E698: Variable ist zu tief verschachtelt für eine Kopie"
 
@@ -859,9 +821,6 @@ msgstr ""
 "\n"
 "\tZuletzt gesetzt in "
 
-msgid " line "
-msgstr " Zeile "
-
 msgid "E977: Can only compare Blob with Blob"
 msgstr "E977: Kann nur einen Blob mit einem Blob vergleichen"
 
@@ -950,16 +909,10 @@ msgstr "E258: Kann nicht zum Client send
 msgid "E962: Invalid action: '%s'"
 msgstr "E962: Ungültige Aktion '%s'"
 
-msgid "(Invalid)"
-msgstr "(Ungültig)"
-
 #, c-format
 msgid "E935: invalid submatch number: %d"
 msgstr "E935: Ungültige Submatch Nummer: %d"
 
-msgid "E18: Unexpected characters in :let"
-msgstr "E18: Unerwartete Zeichen in :let"
-
 msgid "E991: cannot use =<< here"
 msgstr "E991: =<< kann hier nicht genutzt werden"
 
@@ -992,9 +945,6 @@ msgstr "E738: Kann Variablen nicht aufli
 msgid "E996: Cannot lock an environment variable"
 msgstr "E996: Kann Umgebungsvariable nicht sperren"
 
-msgid "E996: Cannot lock an option"
-msgstr "E996: Kann Option nicht sperren"
-
 msgid "E996: Cannot lock a register"
 msgstr "E996: Kann Register nicht sperren"
 
@@ -1009,6 +959,13 @@ msgstr "E940: Kann Variable \"%s\" nicht
 msgid "E743: variable nested too deep for (un)lock"
 msgstr "E743: Variable ist zu tief verschachtelt zum (ent)sperren."
 
+msgid "E1063: type mismatch for v: variable"
+msgstr "E1063: Typendiskrepanz für v: Variable"
+
+#, c-format
+msgid "E1041: Redefining script item %s"
+msgstr "E1041: Neudefinition von Scriptelement %s"
+
 #, c-format
 msgid "E963: setting %s to value with wrong type"
 msgstr "E963: %s auf Wert mit falschem Typ gesetzt"
@@ -1519,15 +1476,6 @@ msgstr "Unterbrechung"
 msgid "E579: :if nesting too deep"
 msgstr "E579: :if Schachtelung zu tief"
 
-msgid "E580: :endif without :if"
-msgstr "E580: :endif ohne :if"
-
-msgid "E581: :else without :if"
-msgstr "E581: :else ohne :if"
-
-msgid "E582: :elseif without :if"
-msgstr "E582: :elseif ohne :if"
-
 msgid "E583: multiple :else"
 msgstr "E583: Mehrere :else"
 
@@ -1537,12 +1485,6 @@ msgstr "E584: :elseif nach :else"
 msgid "E585: :while/:for nesting too deep"
 msgstr "E585: :while/:for Schachtelung zu tief"
 
-msgid "E586: :continue without :while or :for"
-msgstr "E586: :continue ohne :while or :for"
-
-msgid "E587: :break without :while or :for"
-msgstr "E587: :break ohne :while oder :for"
-
 msgid "E732: Using :endfor with :while"
 msgstr "E732: Nutzung von :endfor mit :while"
 
@@ -1552,21 +1494,9 @@ msgstr "E733: Nutzung von :endwhile mit 
 msgid "E601: :try nesting too deep"
 msgstr "E601: :try Schachtelung zu tief"
 
-msgid "E603: :catch without :try"
-msgstr "E603: :catch ohne :try"
-
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch nach :finally"
 
-msgid "E606: :finally without :try"
-msgstr "E606: :finally ohne :try"
-
-msgid "E607: multiple :finally"
-msgstr "E607: Mehrere :finally"
-
-msgid "E602: :endtry without :try"
-msgstr "E602: :endtry ohne :try"
-
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction außerhalb einer Funktion"
 
@@ -3612,10 +3542,6 @@ msgstr "   Im Verzeichnis "
 msgid "      -- none --\n"
 msgstr "      -- Nichts --\n"
 
-# no-c-format
-msgid "%a %b %d %H:%M:%S %Y"
-msgstr "%a, %d %b %Y %H:%M:%S"
-
 msgid "          owned by: "
 msgstr "      Eigentum von: "
 
@@ -3996,12 +3922,6 @@ msgstr "Beep!"
 msgid "E677: Error writing temp file"
 msgstr "E677: Fehler beim Schreiben einer temporären Datei"
 
-#, c-format
-msgid "%ld second ago"
-msgid_plural "%ld seconds ago"
-msgstr[0] "vor %ld Sekunde"
-msgstr[1] "vor %ld Sekunden"
-
 msgid "ERROR: "
 msgstr "FEHLER: "
 
@@ -4555,8 +4475,8 @@ msgstr "Vim Achtung"
 msgid "shell returned %d"
 msgstr "Shell gab %d zurück"
 
-msgid "E278: Cannot put a terminal buffer in a popup window"
-msgstr "E278: Terminal kann nicht in einem Popup-Fenster geöffnet werden."
+msgid "E450: buffer number, text or a list required"
+msgstr "E450: Puffernummer, Text oder Liste erforderlich"
 
 #, c-format
 msgid "E997: Tabpage not found: %d"
@@ -4569,6 +4489,9 @@ msgstr "E993: Fenster %d ist kein Popup-
 msgid "E994: Not allowed in a popup window"
 msgstr "E994: Nicht innerhalb eines Popup-Fensters erlaubt"
 
+msgid "E863: Not allowed for a terminal in a popup window"
+msgstr "E863: Nicht erlaubt für ein Terminal innerhalb eines Popup-Fensters"
+
 msgid "E750: First use \":profile start {fname}\""
 msgstr "E750: Benutze vorher :profile start <fname>"
 
@@ -4991,6 +4914,9 @@ msgstr "E167: :scriptencoding außerhalb einer eingelesenen Datei"
 msgid "E984: :scriptversion used outside of a sourced file"
 msgstr "E984: :scriptversion außerhalb einer eingelesenen Datei"
 
+msgid "E1040: Cannot use :scriptversion after :vim9script"
+msgstr "E1040: :scriptversion kann nicht nach :vim9script verwendet werden"
+
 #, c-format
 msgid "E999: scriptversion not supported: %d"
 msgstr "E999: scriptversion nicht unterstützt: %d"
@@ -5865,6 +5791,19 @@ msgstr "E969: Eigenschaftentyp %s bereit
 msgid "E970: Unknown highlight group name: '%s'"
 msgstr "E970: Unbekannter Highlighting-Gruppenname: '%s'"
 
+msgid "(Invalid)"
+msgstr "(Ungültig)"
+
+# no-c-format
+msgid "%a %b %d %H:%M:%S %Y"
+msgstr "%a, %d %b %Y %H:%M:%S"
+
+#, c-format
+msgid "%ld second ago"
+msgid_plural "%ld seconds ago"
+msgstr[0] "vor %ld Sekunde"
+msgstr[1] "vor %ld Sekunden"
+
 msgid "new shell started\n"
 msgstr "neue Shell gestartet\n"
 
@@ -6094,6 +6033,12 @@ msgstr "E125: Unzulässiges Argument: %s"
 msgid "E853: Duplicate argument name: %s"
 msgstr "E853: Doppelter Argumentname: %s"
 
+msgid "E1059: No white space allowed before :"
+msgstr "E1059: Keine Leerzeichen erlaubt for :"
+
+msgid "E1055: Missing name after ..."
+msgstr "E1055: Fehlender Name nach ..."
+
 msgid "E989: Non-default argument follows default argument"
 msgstr "E989: Nicht-default Argument folgt auf default Argument"
 
@@ -6128,22 +6073,10 @@ msgid "E699: Too many arguments"
 msgstr "E699: Zu viele Argumente"
 
 #, c-format
-msgid "E117: Unknown function: %s"
-msgstr "E117: Unbekannte Funktion: %s"
-
-#, c-format
 msgid "E276: Cannot use function as a method: %s"
 msgstr "E276: Funktion %s kann nicht als Methode genutzt werden"
 
 #, c-format
-msgid "E933: Function was deleted: %s"
-msgstr "E933: Funktion wurde gelöscht: %s"
-
-#, c-format
-msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: Zu wenige Argumente für Funktion: %s"
-
-#, c-format
 msgid "E120: Using <SID> not in a script context: %s"
 msgstr "E120: <SID> wurde nicht in einer Skript-Umgebung benutzt: %s"
 
@@ -6177,17 +6110,31 @@ msgid "E862: Cannot use g: here"
 msgstr "E862: g: kann hier nicht genutzt werden"
 
 #, c-format
+msgid "E1056: expected a type: %s"
+msgstr "E1056: Typ erwartet: %s"
+
+#, c-format
 msgid "E932: Closure function should not be at top level: %s"
 msgstr ""
 "E932: Closure Funktion kann nicht auf äussersten Level definiert sein: %s"
 
+msgid "E1057: Missing :enddef"
+msgstr "E1057: Fehlendes :enddef"
+
 msgid "E126: Missing :endfunction"
 msgstr "E126: Fehlendes :endfunction"
 
 #, c-format
+msgid "W1001: Text found after :enddef: %s"
+msgstr "W1001: Überschüssiger Text nach :enddef: %s"
+
+#, c-format
 msgid "W22: Text found after :endfunction: %s"
 msgstr "W22: Überschüssiger Text nach :endfunction: %s"
 
+msgid "E1058: function nesting too deep"
+msgstr "E1058: Funktions-Schachtelung zu tief"
+
 #, c-format
 msgid "E707: Function name conflicts with variable: %s"
 msgstr "E707: Funktionsname kollidiert mit Variable: %s"
@@ -6361,6 +6308,9 @@ msgstr "mit X11-neXtaw GUI."
 msgid "with X11-Athena GUI."
 msgstr "mit X11-Athena GUI."
 
+msgid "with Haiku GUI."
+msgstr "mit Haiku GUI."
+
 msgid "with Photon GUI."
 msgstr "mit Photon GUI."
 
@@ -6501,6 +6451,238 @@ msgstr "Tippe  :help register<Enter>    für mehr Informationen    "
 msgid "menu  Help->Sponsor/Register  for information    "
 msgstr "Menü   Hilfe->Sponsor/Register  für mehr Informationen    "
 
+#, c-format
+msgid "E1001: variable not found: %s"
+msgstr "E1001: Variable nicht gefunden: %s"
+
+#, c-format
+msgid "E1002: Syntax error at %s"
+msgstr "E1002: Syntaxfehler bei %s"
+
+msgid "E1035: wrong argument type for +"
+msgstr "E1035: Falscher Argumenttyp für +"
+
+#, c-format
+msgid "E1036: %c requires number or float arguments"
+msgstr "E1036: %c benötigt eine Nummer oder ein Float als Argument"
+
+msgid "E1035: % requires number arguments"
+msgstr "E1035: % benötigt numerische Argumente"
+
+#, c-format
+msgid "E1037: Cannot use \"%s\" with %s"
+msgstr "E1037: Kann nicht \"%s\" mit %s verwenden"
+
+#, c-format
+msgid "E1037: Cannot compare %s with %s"
+msgstr "E1037: Kann %s nicht mit %s vergleichen"
+
+#, c-format
+msgid "E1004: white space required before and after '%s'"
+msgstr "E1004: Leerzeichen vor und nach '%s' benötigt"
+
+#, c-format
+msgid "E1006: %s is used as an argument"
+msgstr "E1006: %s wird als Argument verwendet"
+
+msgid "E1007: No white space allowed before <"
+msgstr "E1007: Keine Leerzeichen vor < erlaubt"
+
+msgid "E1008: Missing <type>"
+msgstr "E1008: Fehlendes <type>"
+
+msgid "E1009: Missing > after type"
+msgstr "E1009: Fehlendes '>' nach Typ"
+
+msgid "E1055: This Vim is not compiled with float support"
+msgstr "E1055: Vim wurde nicht mit der \"float\"-Eigenschaft übersetzt."
+
+#, c-format
+msgid "E1010: Type not recognized: %s"
+msgstr "E1010: Unbekannter Typ: %s"
+
+#, c-format
+msgid "E1060: expected dot after name: %s"
+msgstr "E1060: erwarte Punkt nach Name: %s"
+
+#, c-format
+msgid "E1050: Item not found: %s"
+msgstr "E1050: Element nicht gefunden: %s"
+
+msgid "E1068: No white space allowed before ,"
+msgstr "E1068: Keine Leerzeichen vor , erlaubt"
+
+msgid "E1069: white space required after ,"
+msgstr "E1069: Leerzeichen benötigt nach ,"
+
+#, c-format
+msgid "E1011: name too long: %s"
+msgstr "E1011: Name zu lang: %s"
+
+#, c-format
+msgid "E1013: type mismatch, expected %s but got %s"
+msgstr "E1013: Typendiskrepanz, erwarte %s erhielt jedoch %s"
+
+#, c-format
+msgid "E1014: Invalid key: %s"
+msgstr "E1014: Ungültiger Schlüssel: %s"
+
+#, c-format
+msgid "E1015: Name expected: %s"
+msgstr "E1015: Name erwartet: %s"
+
+msgid "E1003: Missing return value"
+msgstr "E1003: Fehlender Returnwert"
+
+#, c-format
+msgid "E1052: Cannot declare an option: %s"
+msgstr "E1052: Kann keine Option deklarieren: %s"
+
+#, c-format
+msgid "E1065: Cannot declare an environment variable: %s"
+msgstr "E1065: Kann keine Umgebungsvariable deklarieren: %s"
+
+#, c-format
+msgid "E1066: Cannot declare a register: %s"
+msgstr "E1066: Kann kein Register deklarieren: %s"
+
+#, c-format
+msgid "E1016: Cannot declare a global variable: %s"
+msgstr "E1016: Kann keine globale Variable deklarieren: %s"
+
+#, c-format
+msgid "E1064: Cannot declare a v: variable: %s"
+msgstr "E1064: Kann keine v: Variable deklarieren: %s"
+
+#, c-format
+msgid "E1034: Cannot use reserved name %s"
+msgstr "E1034: Kann reservierten Namen nicht benutzen %s"
+
+#, c-format
+msgid "E1017: Variable already declared: %s"
+msgstr "E1017: Variable bereits deklariert: %s"
+
+#, c-format
+msgid "E1018: Cannot assign to a constant: %s"
+msgstr "E1018: Kann nicht einer Konstante zuweisen: %s"
+
+#, c-format
+msgid "E1054: Variable already declared in the script: %s"
+msgstr "E1054: Variable bereits in Script %s deklariert"
+
+msgid "E1019: Can only concatenate to string"
+msgstr "E1019: Kann nur zu einer Zeichenkette verkettet werden"
+
+#, c-format
+msgid "E1020: cannot use an operator on a new variable: %s"
+msgstr "E1020: kann Operator nicht auf eine neue Variable %s anwenden"
+
+msgid "E1031: Cannot use void value"
+msgstr "E1031: Kann nicht void Wert verwenden"
+
+msgid "E1021: const requires a value"
+msgstr "E1021: const erfordert einen Wert"
+
+msgid "E1022: type or initialization required"
+msgstr "E1022: Typ oder Initialisierung erforderlich"
+
+#, c-format
+msgid "E1023: variable already defined: %s"
+msgstr "E1023: Variable existiert bereits: %s"
+
+msgid "E1024: need a List to iterate over"
+msgstr "E1024: benötige Liste zum iterieren"
+
+msgid "E1033: catch unreachable after catch-all"
+msgstr "E1033: catch unerreichbar nach catch-all"
+
+#, c-format
+msgid "E1067: Separator mismatch: %s"
+msgstr "E1067: Separator-Unstimmigkeit %s"
+
+msgid "E1032: missing :catch or :finally"
+msgstr "E1032: fehlendes :catch oder :finally"
+
+#, c-format
+msgid "E488: Trailing characters: %s"
+msgstr "E488: Überschüssige Zeichen: %s"
+
+msgid "E1025: using } outside of a block scope"
+msgstr "E1025: } außerhalb eines Blockbereichs verwendet"
+
+msgid "E1026: Missing }"
+msgstr "E1026: Fehlendes }"
+
+msgid "E1027: Missing return statement"
+msgstr "E1027: Fehlende Return Anweisung"
+
+msgid "E1028: compile_def_function failed"
+msgstr "E1028: compile_def_function fehlgeschlagen"
+
+#, c-format
+msgid "E121: Undefined variable: g:%s"
+msgstr "E121: Undefinierte Variable: g:%s"
+
+msgid "E1051: Expected string or number"
+msgstr "E1051: Erwartete Zeichenkette oder Nummer"
+
+#, c-format
+msgid "E1029: Expected %s but got %s"
+msgstr "E1029: Erwartete %s, aber erhielt %s"
+
+#, c-format
+msgid "E1061: Cannot find function %s"
+msgstr "E1061: Funktion %s nicht gefunden"
+
+#, c-format
+msgid "E1062: Function %s is not compiled"
+msgstr "E1062: Funktion %s ist nicht kompiliert"
+
+msgid "E1030: Using a String as a Number"
+msgstr "E1030: Verwende Zeichenkette als Nummer"
+
+msgid "E1042: import/export can only be used in vim9script"
+msgstr "E1042: import/export kann nur für vim9script verwendet werden"
+
+msgid "E1038: vim9script can only be used in a script"
+msgstr "E1038: vim9script kann nur innerhalb eines Scripts verwendet werden"
+
+msgid "E1039: vim9script must be the first command in a script"
+msgstr "E1039: vim9script muss erster Befehl in einem Script sein"
+
+msgid "E1044: export with invalid argument"
+msgstr "E1044: export mit ungültigem Argument"
+
+msgid "E1043: Invalid command after :export"
+msgstr "E1043: Ungültiger Befehl nach :export"
+
+#, c-format
+msgid "E1049: Item not exported in script: %s"
+msgstr "E1049: Element nicht exportiert in Script: %s"
+
+#, c-format
+msgid "E1048: Item not found in script: %s"
+msgstr "E1048: Element nicht in Script %s gefunden"
+
+msgid "E1045: Missing \"as\" after *"
+msgstr "E1045: Fehlendes \"as\" nach *"
+
+msgid "E1070: Missing \"from\""
+msgstr "E1070: Fehlendes \"from\""
+
+msgid "E1071: Invalid string after \"from\""
+msgstr "E1071: Ungültige Zeichenkette nach \"from\""
+
+#, c-format
+msgid "E1053: Could not import \"%s\""
+msgstr "E1053: Konnte \"%s\" nicht importieren"
+
+msgid "E1046: Missing comma in import"
+msgstr "E1046: Fehlendes Komma in import"
+
+msgid "E1047: syntax error in import"
+msgstr "E1047: Syntaxfehler in import"
+
 msgid ""
 "\n"
 "# Buffer list:\n"
@@ -6703,6 +6885,9 @@ msgstr ""
 msgid "E445: Other window contains changes"
 msgstr "E445: Anderes Fenster enthält Änderungen"
 
+msgid "E366: Not allowed to enter a popup window"
+msgstr "E366: Popup-Fenster zu betreten nicht erlaubt"
+
 #, c-format
 msgid "E370: Could not load library %s"
 msgstr "E370: Konnte Bibliothek %s nicht laden"
@@ -6770,9 +6955,21 @@ msgstr ""
 msgid "E171: Missing :endif"
 msgstr "E171: Fehlendes :endif"
 
+msgid "E603: :catch without :try"
+msgstr "E603: :catch ohne :try"
+
+msgid "E606: :finally without :try"
+msgstr "E606: :finally ohne :try"
+
+msgid "E607: multiple :finally"
+msgstr "E607: Mehrere :finally"
+
 msgid "E600: Missing :endtry"
 msgstr "E600: Fehlendes :endtry"
 
+msgid "E602: :endtry without :try"
+msgstr "E602: :endtry ohne :try"
+
 msgid "E170: Missing :endwhile"
 msgstr "E170: fehlendes :endwhile"
 
@@ -7045,6 +7242,14 @@ msgid "E118: Too many arguments for func
 msgstr "E118: Zu viele Argumente für Funktion: %s"
 
 #, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119: Zu wenige Argumente für Funktion: %s"
+
+#, c-format
+msgid "E933: Function was deleted: %s"
+msgstr "E933: Funktion wurde gelöscht: %s"
+
+#, c-format
 msgid "E716: Key not present in Dictionary: %s"
 msgstr "E716: Schlüssel %s nicht im Dictionary vorhanden."
 
@@ -7062,6 +7267,22 @@ msgstr "E712: Argument von %s muss eine 
 msgid "E896: Argument of %s must be a List, Dictionary or Blob"
 msgstr "E896: Argument von %s muss eine Liste, Dictionary oder ein Blob sein."
 
+msgid "E804: Cannot use '%' with Float"
+msgstr "E804: Kann '%' mit Floats benutzen."
+
+msgid "E908: using an invalid value as a String"
+msgstr "E908: Ungültiger Wert als String verwendet."
+
+msgid "E996: Cannot lock an option"
+msgstr "E996: Kann Option nicht sperren"
+
+#, c-format
+msgid "E113: Unknown option: %s"
+msgstr "E113: Unbekannte Option: %s"
+
+msgid "E18: Unexpected characters in :let"
+msgstr "E18: Unerwartete Zeichen in :let"
+
 msgid "E47: Error while reading errorfile"
 msgstr "E47: Fehler während des Lesens der Fehlerdatei"
 
@@ -7129,6 +7350,25 @@ msgstr "E81: <SID> wurde nicht in einer 
 msgid "E107: Missing parentheses: %s"
 msgstr "E107: Fehlende Klammern: %s"
 
+msgid "E110: Missing ')'"
+msgstr "E110: Fehlendes ')'"
+
+#, c-format
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Fehlender Doppelpunkt im Dictionary: %s"
+
+#, c-format
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Doppelter Schlüssel im Dictionary: \"%s\""
+
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Fehlendes Komma im Dictionary: %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Fehlendes Ende des Dictionary '}': %s"
+
 msgid "E449: Invalid expression received"
 msgstr "E449: Ungültiger Ausdruck"
 
@@ -7178,12 +7418,46 @@ msgstr "E957: Ungültige Fensternummer"
 msgid "E686: Argument of %s must be a List"
 msgstr "E686: Argument von %s muss eine Liste sein."
 
+msgid "E109: Missing ':' after '?'"
+msgstr "E109: Fehlender ':' nach '?'"
+
+msgid "E690: Missing \"in\" after :for"
+msgstr "E690: Fehlendes \"in\" nach :for"
+
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Unbekannte Funktion: %s"
+
+msgid "E111: Missing ']'"
+msgstr "E111: Fehlende ']'"
+
+msgid "E581: :else without :if"
+msgstr "E581: :else ohne :if"
+
+msgid "E582: :elseif without :if"
+msgstr "E582: :elseif ohne :if"
+
+msgid "E580: :endif without :if"
+msgstr "E580: :endif ohne :if"
+
+msgid "E586: :continue without :while or :for"
+msgstr "E586: :continue ohne :while or :for"
+
+msgid "E587: :break without :while or :for"
+msgstr "E587: :break ohne :while oder :for"
+
+msgid "E274: No white space allowed before parenthesis"
+msgstr "E274: Keine Leerzeichen vor Klammern erlaubt"
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "Suche erreichte den ANFANG und wurde am ENDE fortgesetzt"
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "Suche erreichte das ENDE und wurde am ANFANG fortgesetzt"
 
+msgid " line "
+msgstr " Zeile "
+
 #, c-format
 msgid "Need encryption key for \"%s\""
 msgstr "Geben Sie bitte den Schlüssel für \"%s\" ein: "