]> granicus.if.org Git - vim/commitdiff
Update runtime files
authorBram Moolenaar <Bram@vim.org>
Sun, 1 Mar 2020 18:06:45 +0000 (19:06 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 1 Mar 2020 18:06:45 +0000 (19:06 +0100)
12 files changed:
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

index 30b09f1261eb7f0d2de8c1e9ab50b1e6fb50641b..c89c8784b90bea62465812c52cf277e4b46457dc 100644 (file)
@@ -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, '')
index 6bd508172af728f59dcd452d884229c45736532a..a01d4b97f15e33f6b643a8655a8dcb6425f550d8 100644 (file)
@@ -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 autolist=ambiguous:
 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,
index d99d4510142b3166b41ecf8e83ad8acfebedcdfb..7771a505ba7b4c8787a5b526d81dd4a5642896f3 100644 (file)
@@ -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:
index 28b328b4dfbb53558a0222a3af0c0316aa160e68..686c98adfbfcf13a28209636b6560c7cb1b6506d 100644 (file)
@@ -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 must consist of ASCII letters, digits
 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.
index fdba199a0408538f4ce3669a6ddb9bc26c95f860..3ba0ccc222dd4881bceced2306698bfb47a1926a 100644 (file)
@@ -5823,6 +5823,7 @@ complete-item-kind        insert.txt      /*complete-item-kind*
 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*
index aff7bf05c0de82227c188637cef96608d404ff80..60ba4bd82c706a15d6f3d4d5003991b51ead237a 100644 (file)
@@ -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/issues/1234
                                                        *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 the tests.
 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 BufNew events while doing omni-complete.
 (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)
index c0250887ee9e809bb80f23bea08e1d33f00e7efc..38b36dde17dd7d5fb87a2ae71fab24b7e1a0e728 100644 (file)
@@ -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 cursor: >
 
 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: >
 
index 3ba92dbcaf66cd1c16459748f3430b59db7a7c41..b79ed695341592b892e825a8ad410eb65469ec82 100644 (file)
@@ -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
index f56e9e223da311a839ccd31d441314f26b62aa50..4f3dd8ff9e7f62237134ee13e49d4935f08c60bb 100644 (file)
@@ -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, forward, mode) range
     execute "normal! gv\<Esc>"
   elseif a:mode == "o" && mode(1) !~# '[\16vV]'
     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(".")]
index 689278a902fbf57debcc2b91e02656ac21c17daf..f2c51e10b27feda77ea8906457e2c57dd4c523fc 100644 (file)
@@ -4,7 +4,7 @@ For instructions on installing this file, type
        `: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
index 4d0f4e014a13a0175578c45a6ab77c4bacc349be..b62cc3913a966a1187a368388951489ebcad6d8d 100644 (file)
@@ -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
index 097cf8823c86ad88a2499f4a1c46875e2bf16fda..fe423cbc92a4f88655cb1354e4fe8b9c0587a102 100644 (file)
@@ -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
 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
 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 indexieren."
 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 verwendet"
 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 senden."
 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 auflisten: %s"
 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 sperren bzw. entsperren."
 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 :for"
 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-Fenster"
 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
 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 bereits definiert"
 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
 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"
 
@@ -6127,22 +6072,10 @@ msgstr "%s lieferte \"%s\" zur
 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"
@@ -6176,18 +6109,32 @@ msgstr "E124: Fehlendes '(': %s"
 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
 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"
 
@@ -7044,6 +7241,14 @@ msgstr "E978: Unzul
 msgid "E118: Too many arguments for function: %s"
 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 Liste oder ein Dictionary sein."
 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 Skript-Umgebung benutzt"
 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
 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: "