]> granicus.if.org Git - vim/commitdiff
Update runtime files
authorBram Moolenaar <Bram@vim.org>
Mon, 27 Dec 2021 21:33:07 +0000 (21:33 +0000)
committerBram Moolenaar <Bram@vim.org>
Mon, 27 Dec 2021 21:33:07 +0000 (21:33 +0000)
16 files changed:
runtime/autoload/ccomplete.vim
runtime/doc/change.txt
runtime/doc/cmdline.txt
runtime/doc/editing.txt
runtime/doc/fold.txt
runtime/doc/help.txt
runtime/doc/insert.txt
runtime/doc/map.txt
runtime/doc/motion.txt
runtime/doc/options.txt
runtime/doc/remote.txt
runtime/doc/repeat.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/filetype.vim
src/po/tr.po

index 95a20e16b0507e5d203ddc8e15195b7e049826c8..d8675faf6ba22c9e561b31cd9cedb49561a1222d 100644 (file)
-" Vim completion script
-" Language:    C
-" Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2020 Nov 14
-
-let s:cpo_save = &cpo
-set cpo&vim
-
-" This function is used for the 'omnifunc' option.
-func ccomplete#Complete(findstart, base)
-  if a:findstart
-    " Locate the start of the item, including ".", "->" and "[...]".
-    let line = getline('.')
-    let start = col('.') - 1
-    let lastword = -1
+vim9script noclear
+
+# Vim completion script
+# Language:     C
+# Maintainer:   Bram Moolenaar <Bram@vim.org>
+#              Rewritten in Vim9 script by github user lacygoill
+# Last Change:  2021 Dec 27
+
+var prepended: string
+var grepCache: dict<list<dict<any>>>
+
+# This function is used for the 'omnifunc' option.
+def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
+  if findstart
+    # Locate the start of the item, including ".", "->" and "[...]".
+    var line: string = getline('.')
+    var start: number = charcol('.') - 1
+    var lastword: number = -1
     while start > 0
       if line[start - 1] =~ '\w'
-       let start -= 1
+        --start
       elseif line[start - 1] =~ '\.'
-       if lastword == -1
-         let lastword = start
-       endif
-       let start -= 1
-      elseif start > 1 && line[start - 2] == '-' && line[start - 1] == '>'
-       if lastword == -1
-         let lastword = start
-       endif
-       let start -= 2
+        if lastword == -1
+          lastword = start
+        endif
+        --start
+      elseif start > 1 && line[start - 2] == '-'
+        && line[start - 1] == '>'
+        if lastword == -1
+          lastword = start
+        endif
+        start -= 2
       elseif line[start - 1] == ']'
-       " Skip over [...].
-       let n = 0
-       let start -= 1
-       while start > 0
-         let start -= 1
-         if line[start] == '['
-           if n == 0
-             break
-           endif
-           let n -= 1
-         elseif line[start] == ']'  " nested []
-           let n += 1
-         endif
-       endwhile
+        # Skip over [...].
+        var n: number = 0
+        --start
+        while start > 0
+          --start
+          if line[start] == '['
+            if n == 0
+              break
+            endif
+            --n
+          elseif line[start] == ']'  # nested []
+            ++n
+          endif
+        endwhile
       else
-       break
+        break
       endif
     endwhile
 
-    " Return the column of the last word, which is going to be changed.
-    " Remember the text that comes before it in s:prepended.
+    # Return the column of the last word, which is going to be changed.
+    # Remember the text that comes before it in prepended.
     if lastword == -1
-      let s:prepended = ''
-      return start
+      prepended = ''
+      return byteidx(line, start)
     endif
-    let s:prepended = strpart(line, start, lastword - start)
-    return lastword
+    prepended = line[start : lastword - 1]
+    return byteidx(line, lastword)
   endif
 
-  " Return list of matches.
+  # Return list of matches.
 
-  let base = s:prepended . a:base
+  var base: string = prepended .. abase
 
-  " Don't do anything for an empty base, would result in all the tags in the
-  " tags file.
+  # Don't do anything for an empty base, would result in all the tags in the
+  # tags file.
   if base == ''
     return []
   endif
 
-  " init cache for vimgrep to empty
-  let s:grepCache = {}
+  # init cache for vimgrep to empty
+  grepCache = {}
 
-  " Split item in words, keep empty word after "." or "->".
-  " "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc.
-  " We can't use split, because we need to skip nested [...].
-  " "aa[...]" -> ['aa', '[...]'], "aa.bb[...]" -> ['aa', 'bb', '[...]'], etc.
-  let items = []
-  let s = 0
-  let arrays = 0
+  # Split item in words, keep empty word after "." or "->".
+  # "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc.
+  # We can't use split, because we need to skip nested [...].
+  # "aa[...]" -> ['aa', '[...]'], "aa.bb[...]" -> ['aa', 'bb', '[...]'], etc.
+  var items: list<string>
+  var s: number = 0
+  var arrays: number = 0
   while 1
-    let e = match(base, '\.\|->\|\[', s)
+    var e: number = base->charidx(match(base, '\.\|->\|\[', s))
     if e < 0
       if s == 0 || base[s - 1] != ']'
-       call add(items, strpart(base, s))
+        items->add(base[s :])
       endif
       break
     endif
     if s == 0 || base[s - 1] != ']'
-      call add(items, strpart(base, s, e - s))
+      items->add(base[s : e - 1])
     endif
     if base[e] == '.'
-      let s = e + 1    " skip over '.'
+      # skip over '.'
+      s = e + 1
     elseif base[e] == '-'
-      let s = e + 2    " skip over '->'
+      # skip over '->'
+      s = e + 2
     else
-      " Skip over [...].
-      let n = 0
-      let s = e
-      let e += 1
-      while e < len(base)
-       if base[e] == ']'
-         if n == 0
-           break
-         endif
-         let n -= 1
-       elseif base[e] == '['  " nested [...]
-         let n += 1
-       endif
-       let e += 1
+      # Skip over [...].
+      var n: number = 0
+      s = e
+      ++e
+      while e < strcharlen(base)
+        if base[e] == ']'
+          if n == 0
+            break
+          endif
+          --n
+        elseif base[e] == '['  # nested [...]
+          ++n
+        endif
+        ++e
       endwhile
-      let e += 1
-      call add(items, strpart(base, s, e - s))
-      let arrays += 1
-      let s = e
+      ++e
+      items->add(base[s : e - 1])
+      ++arrays
+      s = e
     endif
   endwhile
 
-  " Find the variable items[0].
-  " 1. in current function (like with "gd")
-  " 2. in tags file(s) (like with ":tag")
-  " 3. in current file (like with "gD")
-  let res = []
-  if searchdecl(items[0], 0, 1) == 0
-    " Found, now figure out the type.
-    " TODO: join previous line if it makes sense
-    let line = getline('.')
-    let col = col('.')
-    if stridx(strpart(line, 0, col), ';') != -1
-      " Handle multiple declarations on the same line.
-      let col2 = col - 1
+  # Find the variable items[0].
+  # 1. in current function (like with "gd")
+  # 2. in tags file(s) (like with ":tag")
+  # 3. in current file (like with "gD")
+  var res: list<dict<any>>
+  if items[0]->searchdecl(false, true) == 0
+    # Found, now figure out the type.
+    # TODO: join previous line if it makes sense
+    var line: string = getline('.')
+    var col: number = charcol('.')
+    if line[: col - 1]->stridx(';') >= 0
+      # Handle multiple declarations on the same line.
+      var col2: number = col - 1
       while line[col2] != ';'
-       let col2 -= 1
+        --col2
       endwhile
-      let line = strpart(line, col2 + 1)
-      let col -= col2
+      line = line[col2 + 1 :]
+      col -= col2
     endif
-    if stridx(strpart(line, 0, col), ',') != -1
-      " Handle multiple declarations on the same line in a function
-      " declaration.
-      let col2 = col - 1
+    if line[: col - 1]->stridx(',') >= 0
+      # Handle multiple declarations on the same line in a function
+      # declaration.
+      var col2: number = col - 1
       while line[col2] != ','
-       let col2 -= 1
+        --col2
       endwhile
-      if strpart(line, col2 + 1, col - col2 - 1) =~ ' *[^ ][^ ]*  *[^ ]'
-       let line = strpart(line, col2 + 1)
-       let col -= col2
+      if line[col2 + 1 : col - 1] =~ ' *[^ ][^ ]*  *[^ ]'
+        line = line[col2 + 1 :]
+        col -= col2
       endif
     endif
     if len(items) == 1
-      " Completing one word and it's a local variable: May add '[', '.' or
-      " '->'.
-      let match = items[0]
-      let kind = 'v'
-      if match(line, '\<' . match . '\s*\[') > 0
-       let match .= '['
+      # Completing one word and it's a local variable: May add '[', '.' or
+      # '->'.
+      var match: string = items[0]
+      var kind: string = 'v'
+      if match(line, '\<' .. match .. '\s*\[') > 0
+        match ..= '['
       else
-       let res = s:Nextitem(strpart(line, 0, col), [''], 0, 1)
-       if len(res) > 0
-         " There are members, thus add "." or "->".
-         if match(line, '\*[ \t(]*' . match . '\>') > 0
-           let match .= '->'
-         else
-           let match .= '.'
-         endif
-       endif
+        res = line[: col - 1]->Nextitem([''], 0, true)
+        if len(res) > 0
+          # There are members, thus add "." or "->".
+          if match(line, '\*[ \t(]*' .. match .. '\>') > 0
+            match ..= '->'
+          else
+            match ..= '.'
+          endif
+        endif
       endif
-      let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}]
+      res = [{match: match, tagline: '', kind: kind, info: line}]
     elseif len(items) == arrays + 1
-      " Completing one word and it's a local array variable: build tagline
-      " from declaration line
-      let match = items[0]
-      let kind = 'v'
-      let tagline = "\t/^" . line . '$/'
-      let res = [{'match': match, 'tagline' : tagline, 'kind' : kind, 'info' : line}]
+      # Completing one word and it's a local array variable: build tagline
+      # from declaration line
+      var match: string = items[0]
+      var kind: string = 'v'
+      var tagline: string = "\t/^" .. line .. '$/'
+      res = [{match: match, tagline: tagline, kind: kind, info: line}]
     else
-      " Completing "var.", "var.something", etc.
-      let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1)
+      # Completing "var.", "var.something", etc.
+      res = line[: col - 1]->Nextitem(items[1 :], 0, true)
     endif
   endif
 
   if len(items) == 1 || len(items) == arrays + 1
-    " Only one part, no "." or "->": complete from tags file.
+    # Only one part, no "." or "->": complete from tags file.
+    var tags: list<dict<any>>
     if len(items) == 1
-      let tags = taglist('^' . base)
+      tags = taglist('^' .. base)
     else
-      let tags = taglist('^' . items[0] . '$')
+      tags = taglist('^' .. items[0] .. '$')
     endif
 
-    " Remove members, these can't appear without something in front.
-    call filter(tags, 'has_key(v:val, "kind") ? v:val["kind"] != "m" : 1')
-
-    " Remove static matches in other files.
-    call filter(tags, '!has_key(v:val, "static") || !v:val["static"] || bufnr("%") == bufnr(v:val["filename"])')
-
-    call extend(res, map(tags, 's:Tag2item(v:val)'))
+    tags
+      # Remove members, these can't appear without something in front.
+      ->filter((_, v: dict<any>): bool =>
+                v->has_key('kind') ? v.kind != 'm' : true)
+      # Remove static matches in other files.
+      ->filter((_, v: dict<any>): bool =>
+                 !v->has_key('static')
+              || !v['static']
+              || bufnr('%') == bufnr(v['filename']))
+
+    res = extendnew(res, tags->map((_, v: dict<any>) => Tag2item(v)))
   endif
 
   if len(res) == 0
-    " Find the variable in the tags file(s)
-    let diclist = taglist('^' . items[0] . '$')
-
-    " Remove members, these can't appear without something in front.
-    call filter(diclist, 'has_key(v:val, "kind") ? v:val["kind"] != "m" : 1')
-
-    let res = []
-    for i in range(len(diclist))
-      " New ctags has the "typeref" field.  Patched version has "typename".
-      if has_key(diclist[i], 'typename')
-       call extend(res, s:StructMembers(diclist[i]['typename'], items[1:], 1))
-      elseif has_key(diclist[i], 'typeref')
-       call extend(res, s:StructMembers(diclist[i]['typeref'], items[1:], 1))
+    # Find the variable in the tags file(s)
+    var diclist: list<dict<any>> = taglist('^' .. items[0] .. '$')
+      # Remove members, these can't appear without something in front.
+      ->filter((_, v: dict<string>): bool =>
+                v->has_key('kind') ? v.kind != 'm' : true)
+
+    res = []
+    for i: number in len(diclist)->range()
+      # New ctags has the "typeref" field.  Patched version has "typename".
+      if diclist[i]->has_key('typename')
+        res = extendnew(res, diclist[i]['typename']->StructMembers(items[1 :], true))
+      elseif diclist[i]->has_key('typeref')
+        res = extendnew(res, diclist[i]['typeref']->StructMembers(items[1 :], true))
       endif
 
-      " For a variable use the command, which must be a search pattern that
-      " shows the declaration of the variable.
+      # For a variable use the command, which must be a search pattern that
+      # shows the declaration of the variable.
       if diclist[i]['kind'] == 'v'
-       let line = diclist[i]['cmd']
-       if line[0] == '/' && line[1] == '^'
-         let col = match(line, '\<' . items[0] . '\>')
-         call extend(res, s:Nextitem(strpart(line, 2, col - 2), items[1:], 0, 1))
-       endif
+        var line: string = diclist[i]['cmd']
+        if line[: 1] == '/^'
+          var col: number = line->charidx(match(line, '\<' .. items[0] .. '\>'))
+          res = extendnew(res, line[2 : col - 1]->Nextitem(items[1 :], 0, true))
+        endif
       endif
     endfor
   endif
 
-  if len(res) == 0 && searchdecl(items[0], 1) == 0
-    " Found, now figure out the type.
-    " TODO: join previous line if it makes sense
-    let line = getline('.')
-    let col = col('.')
-    let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1)
+  if len(res) == 0 && items[0]->searchdecl(true) == 0
+    # Found, now figure out the type.
+    # TODO: join previous line if it makes sense
+    var line: string = getline('.')
+    var col: number = charcol('.')
+    res = line[: col - 1]->Nextitem(items[1 :], 0, true)
   endif
 
-  " If the last item(s) are [...] they need to be added to the matches.
-  let last = len(items) - 1
-  let brackets = ''
+  # If the last item(s) are [...] they need to be added to the matches.
+  var last: number = len(items) - 1
+  var brackets: string = ''
   while last >= 0
     if items[last][0] != '['
       break
     endif
-    let brackets = items[last] . brackets
-    let last -= 1
+    brackets = items[last] .. brackets
+    --last
   endwhile
 
-  return map(res, 's:Tagline2item(v:val, brackets)')
-endfunc
-
-func s:GetAddition(line, match, memarg, bracket)
-  " Guess if the item is an array.
-  if a:bracket && match(a:line, a:match . '\s*\[') > 0
+  return res->map((_, v: dict<any>): dict<string> => Tagline2item(v, brackets))
+enddef
+
+def GetAddition( # {{{1
+  line: string,
+  match: string,
+  memarg: list<dict<any>>,
+  bracket: bool
+): string
+  # Guess if the item is an array.
+  if bracket && match(line, match .. '\s*\[') > 0
     return '['
   endif
 
-  " Check if the item has members.
-  if len(s:SearchMembers(a:memarg, [''], 0)) > 0
-    " If there is a '*' before the name use "->".
-    if match(a:line, '\*[ \t(]*' . a:match . '\>') > 0
+  # Check if the item has members.
+  if SearchMembers(memarg, [''], false)->len() > 0
+    # If there is a '*' before the name use "->".
+    if match(line, '\*[ \t(]*' .. match .. '\>') > 0
       return '->'
     else
       return '.'
     endif
   endif
   return ''
-endfunc
+enddef
 
-" Turn the tag info "val" into an item for completion.
-" "val" is is an item in the list returned by taglist().
-" If it is a variable we may add "." or "->".  Don't do it for other types,
-" such as a typedef, by not including the info that s:GetAddition() uses.
-func s:Tag2item(val)
-  let res = {'match': a:val['name']}
+def Tag2item(val: dict<any>): dict<any> # {{{1
+# Turn the tag info "val" into an item for completion.
+# "val" is is an item in the list returned by taglist().
+# If it is a variable we may add "." or "->".  Don't do it for other types,
+# such as a typedef, by not including the info that GetAddition() uses.
+  var res: dict<any> = {match: val['name']}
 
-  let res['extra'] = s:Tagcmd2extra(a:val['cmd'], a:val['name'], a:val['filename'])
+  res['extra'] = Tagcmd2extra(val['cmd'], val['name'], val['filename'])
 
-  let s = s:Dict2info(a:val)
+  var s: string = Dict2info(val)
   if s != ''
-    let res['info'] = s
+    res['info'] = s
   endif
 
-  let res['tagline'] = ''
-  if has_key(a:val, "kind")
-    let kind = a:val['kind']
-    let res['kind'] = kind
+  res['tagline'] = ''
+  if val->has_key('kind')
+    var kind: string = val['kind']
+    res['kind'] = kind
     if kind == 'v'
-      let res['tagline'] = "\t" . a:val['cmd']
-      let res['dict'] = a:val
+      res['tagline'] = "\t" .. val['cmd']
+      res['dict'] = val
     elseif kind == 'f'
-      let res['match'] = a:val['name'] . '('
+      res['match'] = val['name'] .. '('
     endif
   endif
 
   return res
-endfunc
+enddef
 
-" Use all the items in dictionary for the "info" entry.
-func s:Dict2info(dict)
-  let info = ''
-  for k in sort(keys(a:dict))
-    let info  .= k . repeat(' ', 10 - len(k))
+def Dict2info(dict: dict<any>): string # {{{1
+# Use all the items in dictionary for the "info" entry.
+  var info: string = ''
+  for k: string in dict->keys()->sort()
+    info  ..= k .. repeat(' ', 10 - strlen(k))
     if k == 'cmd'
-      let info .= substitute(matchstr(a:dict['cmd'], '/^\s*\zs.*\ze$/'), '\\\(.\)', '\1', 'g')
+      info ..= dict['cmd']
+        ->matchstr('/^\s*\zs.*\ze$/')
+        ->substitute('\\\(.\)', '\1', 'g')
     else
-      let info .= a:dict[k]
+      var dictk: any = dict[k]
+      if typename(dictk) != 'string'
+        info ..= dictk->string()
+      else
+        info ..= dictk
+      endif
     endif
-    let info .= "\n"
+    info ..= "\n"
   endfor
   return info
-endfunc
+enddef
 
-" Parse a tag line and return a dictionary with items like taglist()
-func s:ParseTagline(line)
-  let l = split(a:line, "\t")
-  let d = {}
+def ParseTagline(line: string): dict<any> # {{{1
+# Parse a tag line and return a dictionary with items like taglist()
+  var l: list<string> = split(line, "\t")
+  var d: dict<any>
   if len(l) >= 3
-    let d['name'] = l[0]
-    let d['filename'] = l[1]
-    let d['cmd'] = l[2]
-    let n = 2
+    d['name'] = l[0]
+    d['filename'] = l[1]
+    d['cmd'] = l[2]
+    var n: number = 2
     if l[2] =~ '^/'
-      " Find end of cmd, it may contain Tabs.
+      # Find end of cmd, it may contain Tabs.
       while n < len(l) && l[n] !~ '/;"$'
-       let n += 1
-       let d['cmd'] .= "  " . l[n]
+        ++n
+        d['cmd'] ..= '  ' .. l[n]
       endwhile
     endif
-    for i in range(n + 1, len(l) - 1)
+    for i: number in range(n + 1, len(l) - 1)
       if l[i] == 'file:'
-       let d['static'] = 1
+        d['static'] = 1
       elseif l[i] !~ ':'
-       let d['kind'] = l[i]
+        d['kind'] = l[i]
       else
-       let d[matchstr(l[i], '[^:]*')] = matchstr(l[i], ':\zs.*')
+        d[l[i]->matchstr('[^:]*')] = l[i]->matchstr(':\zs.*')
       endif
     endfor
   endif
 
   return d
-endfunc
-
-" Turn a match item "val" into an item for completion.
-" "val['match']" is the matching item.
-" "val['tagline']" is the tagline in which the last part was found.
-func s:Tagline2item(val, brackets)
-  let line = a:val['tagline']
-  let add = s:GetAddition(line, a:val['match'], [a:val], a:brackets == '')
-  let res = {'word': a:val['match'] . a:brackets . add }
-
-  if has_key(a:val, 'info')
-    " Use info from Tag2item().
-    let res['info'] = a:val['info']
+enddef
+
+def Tagline2item(val: dict<any>, brackets: string): dict<string> # {{{1
+# Turn a match item "val" into an item for completion.
+# "val['match']" is the matching item.
+# "val['tagline']" is the tagline in which the last part was found.
+  var line: string = val['tagline']
+  var add: string = GetAddition(line, val['match'], [val], brackets == '')
+  var res: dict<string> = {word: val['match'] .. brackets .. add}
+
+  if val->has_key('info')
+    # Use info from Tag2item().
+    res['info'] = val['info']
   else
-    " Parse the tag line and add each part to the "info" entry.
-    let s = s:Dict2info(s:ParseTagline(line))
+    # Parse the tag line and add each part to the "info" entry.
+    var s: string = ParseTagline(line)->Dict2info()
     if s != ''
-      let res['info'] = s
+      res['info'] = s
     endif
   endif
 
-  if has_key(a:val, 'kind')
-    let res['kind'] = a:val['kind']
+  if val->has_key('kind')
+    res['kind'] = val['kind']
   elseif add == '('
-    let res['kind'] = 'f'
+    res['kind'] = 'f'
   else
-    let s = matchstr(line, '\t\(kind:\)\=\zs\S\ze\(\t\|$\)')
+    var s: string = line->matchstr('\t\(kind:\)\=\zs\S\ze\(\t\|$\)')
     if s != ''
-      let res['kind'] = s
+      res['kind'] = s
     endif
   endif
 
-  if has_key(a:val, 'extra')
-    let res['menu'] = a:val['extra']
+  if val->has_key('extra')
+    res['menu'] = val['extra']
     return res
   endif
 
-  " Isolate the command after the tag and filename.
-  let s = matchstr(line, '[^\t]*\t[^\t]*\t\zs\(/^.*$/\|[^\t]*\)\ze\(;"\t\|\t\|$\)')
+  # Isolate the command after the tag and filename.
+  var s: string = line->matchstr('[^\t]*\t[^\t]*\t\zs\(/^.*$/\|[^\t]*\)\ze\(;"\t\|\t\|$\)')
   if s != ''
-    let res['menu'] = s:Tagcmd2extra(s, a:val['match'], matchstr(line, '[^\t]*\t\zs[^\t]*\ze\t'))
+    res['menu'] = s->Tagcmd2extra(val['match'], line->matchstr('[^\t]*\t\zs[^\t]*\ze\t'))
   endif
   return res
-endfunc
-
-" Turn a command from a tag line to something that is useful in the menu
-func s:Tagcmd2extra(cmd, name, fname)
-  if a:cmd =~ '^/^'
-    " The command is a search command, useful to see what it is.
-    let x = matchstr(a:cmd, '^/^\s*\zs.*\ze$/')
-    let x = substitute(x, '\<' . a:name . '\>', '@@', '')
-    let x = substitute(x, '\\\(.\)', '\1', 'g')
-    let x = x . ' - ' . a:fname
-  elseif a:cmd =~ '^\d*$'
-    " The command is a line number, the file name is more useful.
-    let x = a:fname . ' - ' . a:cmd
+enddef
+
+def Tagcmd2extra( # {{{1
+  cmd: string,
+  name: string,
+  fname: string
+): string
+# Turn a command from a tag line to something that is useful in the menu
+  var x: string
+  if cmd =~ '^/^'
+    # The command is a search command, useful to see what it is.
+    x = cmd
+      ->matchstr('^/^\s*\zs.*\ze$/')
+      ->substitute('\<' .. name .. '\>', '@@', '')
+      ->substitute('\\\(.\)', '\1', 'g')
+      .. ' - ' .. fname
+  elseif cmd =~ '^\d*$'
+    # The command is a line number, the file name is more useful.
+    x = fname .. ' - ' .. cmd
   else
-    " Not recognized, use command and file name.
-    let x = a:cmd . ' - ' . a:fname
+    # Not recognized, use command and file name.
+    x = cmd .. ' - ' .. fname
   endif
   return x
-endfunc
-
-" Find composing type in "lead" and match items[0] with it.
-" Repeat this recursively for items[1], if it's there.
-" When resolving typedefs "depth" is used to avoid infinite recursion.
-" Return the list of matches.
-func s:Nextitem(lead, items, depth, all)
-
-  " Use the text up to the variable name and split it in tokens.
-  let tokens = split(a:lead, '\s\+\|\<')
-
-  " Try to recognize the type of the variable.  This is rough guessing...
-  let res = []
-  for tidx in range(len(tokens))
-
-    " Skip tokens starting with a non-ID character.
+enddef
+
+def Nextitem( # {{{1
+  lead: string,
+  items: list<string>,
+  depth: number,
+  all: bool
+): list<dict<string>>
+# Find composing type in "lead" and match items[0] with it.
+# Repeat this recursively for items[1], if it's there.
+# When resolving typedefs "depth" is used to avoid infinite recursion.
+# Return the list of matches.
+
+  # Use the text up to the variable name and split it in tokens.
+  var tokens: list<string> = split(lead, '\s\+\|\<')
+
+  # Try to recognize the type of the variable.  This is rough guessing...
+  var res: list<dict<string>>
+  for tidx: number in len(tokens)->range()
+
+    # Skip tokens starting with a non-ID character.
     if tokens[tidx] !~ '^\h'
       continue
     endif
 
-    " Recognize "struct foobar" and "union foobar".
-    " Also do "class foobar" when it's C++ after all (doesn't work very well
-    " though).
-    if (tokens[tidx] == 'struct' || tokens[tidx] == 'union' || tokens[tidx] == 'class') && tidx + 1 < len(tokens)
-      let res = s:StructMembers(tokens[tidx] . ':' . tokens[tidx + 1], a:items, a:all)
+    # Recognize "struct foobar" and "union foobar".
+    # Also do "class foobar" when it's C++ after all (doesn't work very well
+    # though).
+    if (tokens[tidx] == 'struct'
+      || tokens[tidx] == 'union'
+      || tokens[tidx] == 'class')
+      && tidx + 1 < len(tokens)
+      res = StructMembers(tokens[tidx] .. ':' .. tokens[tidx + 1], items, all)
       break
     endif
 
-    " TODO: add more reserved words
-    if index(['int', 'short', 'char', 'float', 'double', 'static', 'unsigned', 'extern'], tokens[tidx]) >= 0
+    # TODO: add more reserved words
+    if ['int', 'short', 'char', 'float',
+        'double', 'static', 'unsigned', 'extern']->index(tokens[tidx]) >= 0
       continue
     endif
 
-    " Use the tags file to find out if this is a typedef.
-    let diclist = taglist('^' . tokens[tidx] . '$')
-    for tagidx in range(len(diclist))
-      let item = diclist[tagidx]
+    # Use the tags file to find out if this is a typedef.
+    var diclist: list<dict<any>> = taglist('^' .. tokens[tidx] .. '$')
+    for tagidx: number in len(diclist)->range()
+      var item: dict<any> = diclist[tagidx]
 
-      " New ctags has the "typeref" field.  Patched version has "typename".
-      if has_key(item, 'typeref')
-       call extend(res, s:StructMembers(item['typeref'], a:items, a:all))
-       continue
+      # New ctags has the "typeref" field.  Patched version has "typename".
+      if item->has_key('typeref')
+        res = extendnew(res, item['typeref']->StructMembers(items, all))
+        continue
       endif
-      if has_key(item, 'typename')
-       call extend(res, s:StructMembers(item['typename'], a:items, a:all))
-       continue
+      if item->has_key('typename')
+        res = extendnew(res, item['typename']->StructMembers(items, all))
+        continue
       endif
 
-      " Only handle typedefs here.
+      # Only handle typedefs here.
       if item['kind'] != 't'
-       continue
+        continue
       endif
 
-      " Skip matches local to another file.
-      if has_key(item, 'static') && item['static'] && bufnr('%') != bufnr(item['filename'])
-       continue
+      # Skip matches local to another file.
+      if item->has_key('static') && item['static']
+        && bufnr('%') != bufnr(item['filename'])
+        continue
       endif
 
-      " For old ctags we recognize "typedef struct aaa" and
-      " "typedef union bbb" in the tags file command.
-      let cmd = item['cmd']
-      let ei = matchend(cmd, 'typedef\s\+')
+      # For old ctags we recognize "typedef struct aaa" and
+      # "typedef union bbb" in the tags file command.
+      var cmd: string = item['cmd']
+      var ei: number = cmd->charidx(matchend(cmd, 'typedef\s\+'))
       if ei > 1
-       let cmdtokens = split(strpart(cmd, ei), '\s\+\|\<')
-       if len(cmdtokens) > 1
-         if cmdtokens[0] == 'struct' || cmdtokens[0] == 'union' || cmdtokens[0] == 'class'
-           let name = ''
-           " Use the first identifier after the "struct" or "union"
-           for ti in range(len(cmdtokens) - 1)
-             if cmdtokens[ti] =~ '^\w'
-               let name = cmdtokens[ti]
-               break
-             endif
-           endfor
-           if name != ''
-             call extend(res, s:StructMembers(cmdtokens[0] . ':' . name, a:items, a:all))
-           endif
-         elseif a:depth < 10
-           " Could be "typedef other_T some_T".
-           call extend(res, s:Nextitem(cmdtokens[0], a:items, a:depth + 1, a:all))
-         endif
-       endif
+        var cmdtokens: list<string> = cmd[ei :]->split('\s\+\|\<')
+        if len(cmdtokens) > 1
+          if cmdtokens[0] == 'struct'
+            || cmdtokens[0] == 'union'
+            || cmdtokens[0] == 'class'
+            var name: string = ''
+            # Use the first identifier after the "struct" or "union"
+            for ti: number in (len(cmdtokens) - 1)->range()
+              if cmdtokens[ti] =~ '^\w'
+                name = cmdtokens[ti]
+                break
+              endif
+            endfor
+            if name != ''
+              res = extendnew(res, StructMembers(cmdtokens[0] .. ':' .. name, items, all))
+            endif
+          elseif depth < 10
+            # Could be "typedef other_T some_T".
+            res = extendnew(res, cmdtokens[0]->Nextitem(items, depth + 1, all))
+          endif
+        endif
       endif
     endfor
     if len(res) > 0
@@ -485,155 +526,173 @@ func s:Nextitem(lead, items, depth, all)
   endfor
 
   return res
-endfunc
-
-
-" Search for members of structure "typename" in tags files.
-" Return a list with resulting matches.
-" Each match is a dictionary with "match" and "tagline" entries.
-" When "all" is non-zero find all, otherwise just return 1 if there is any
-" member.
-func s:StructMembers(typename, items, all)
-  " Todo: What about local structures?
-  let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
+enddef
+
+def StructMembers( # {{{1
+  atypename: string,
+  items: list<string>,
+  all: bool
+): list<dict<string>>
+
+# Search for members of structure "typename" in tags files.
+# Return a list with resulting matches.
+# Each match is a dictionary with "match" and "tagline" entries.
+# When "all" is true find all, otherwise just return 1 if there is any member.
+
+  # Todo: What about local structures?
+  var fnames: string = tagfiles()
+    ->map((_, v: string) => escape(v, ' \#%'))
+    ->join()
   if fnames == ''
     return []
   endif
 
-  let typename = a:typename
-  let qflist = []
-  let cached = 0
-  if a:all == 0
-    let n = '1'        " stop at first found match
-    if has_key(s:grepCache, a:typename)
-      let qflist = s:grepCache[a:typename]
-      let cached = 1
+  var typename: string = atypename
+  var qflist: list<dict<any>>
+  var cached: number = 0
+  var n: string
+  if !all
+    n = '1'  # stop at first found match
+    if grepCache->has_key(typename)
+      qflist = grepCache[typename]
+      cached = 1
     endif
   else
-    let n = ''
+    n = ''
   endif
   if !cached
     while 1
-      exe 'silent! keepj noautocmd ' . n . 'vimgrep /\t' . typename . '\(\t\|$\)/j ' . fnames
+      execute 'silent! keepjumps noautocmd '
+        .. n .. 'vimgrep ' .. '/\t' .. typename .. '\(\t\|$\)/j '
+        .. fnames
 
-      let qflist = getqflist()
-      if len(qflist) > 0 || match(typename, "::") < 0
-       break
+      qflist = getqflist()
+      if len(qflist) > 0 || match(typename, '::') < 0
+        break
       endif
-      " No match for "struct:context::name", remove "context::" and try again.
-      let typename = substitute(typename, ':[^:]*::', ':', '')
+      # No match for "struct:context::name", remove "context::" and try again.
+      typename = typename->substitute(':[^:]*::', ':', '')
     endwhile
 
-    if a:all == 0
-      " Store the result to be able to use it again later.
-      let s:grepCache[a:typename] = qflist
+    if !all
+      # Store the result to be able to use it again later.
+      grepCache[typename] = qflist
     endif
   endif
 
-  " Skip over [...] items
-  let idx = 0
+  # Skip over [...] items
+  var idx: number = 0
+  var target: string
   while 1
-    if idx >= len(a:items)
-      let target = ''          " No further items, matching all members
+    if idx >= len(items)
+      target = ''  # No further items, matching all members
       break
     endif
-    if a:items[idx][0] != '['
-      let target = a:items[idx]
+    if items[idx][0] != '['
+      target = items[idx]
       break
     endif
-    let idx += 1
+    ++idx
   endwhile
-  " Put matching members in matches[].
-  let matches = []
-  for l in qflist
-    let memb = matchstr(l['text'], '[^\t]*')
-    if memb =~ '^' . target
-      " Skip matches local to another file.
-      if match(l['text'], "\tfile:") < 0 || bufnr('%') == bufnr(matchstr(l['text'], '\t\zs[^\t]*'))
-       let item = {'match': memb, 'tagline': l['text']}
-
-       " Add the kind of item.
-       let s = matchstr(l['text'], '\t\(kind:\)\=\zs\S\ze\(\t\|$\)')
-       if s != ''
-         let item['kind'] = s
-         if s == 'f'
-           let item['match'] = memb . '('
-         endif
-       endif
-
-       call add(matches, item)
+  # Put matching members in matches[].
+  var matches: list<dict<string>>
+  for l: dict<any> in qflist
+    var memb: string = l['text']->matchstr('[^\t]*')
+    if memb =~ '^' .. target
+      # Skip matches local to another file.
+      if match(l['text'], "\tfile:") < 0
+        || bufnr('%') == l['text']->matchstr('\t\zs[^\t]*')->bufnr()
+        var item: dict<string> = {match: memb, tagline: l['text']}
+
+        # Add the kind of item.
+        var s: string = l['text']->matchstr('\t\(kind:\)\=\zs\S\ze\(\t\|$\)')
+        if s != ''
+          item['kind'] = s
+          if s == 'f'
+            item['match'] = memb .. '('
+          endif
+        endif
+
+        matches->add(item)
       endif
     endif
   endfor
 
   if len(matches) > 0
-    " Skip over next [...] items
-    let idx += 1
+    # Skip over next [...] items
+    ++idx
     while 1
-      if idx >= len(a:items)
-       return matches          " No further items, return the result.
+      if idx >= len(items)
+        return matches  # No further items, return the result.
       endif
-      if a:items[idx][0] != '['
-       break
+      if items[idx][0] != '['
+        break
       endif
-      let idx += 1
+      ++idx
     endwhile
 
-    " More items following.  For each of the possible members find the
-    " matching following members.
-    return s:SearchMembers(matches, a:items[idx :], a:all)
+    # More items following.  For each of the possible members find the
+    # matching following members.
+    return SearchMembers(matches, items[idx :], all)
   endif
 
-  " Failed to find anything.
+  # Failed to find anything.
   return []
-endfunc
-
-" For matching members, find matches for following items.
-" When "all" is non-zero find all, otherwise just return 1 if there is any
-" member.
-func s:SearchMembers(matches, items, all)
-  let res = []
-  for i in range(len(a:matches))
-    let typename = ''
-    if has_key(a:matches[i], 'dict')
-      if has_key(a:matches[i].dict, 'typename')
-       let typename = a:matches[i].dict['typename']
-      elseif has_key(a:matches[i].dict, 'typeref')
-       let typename = a:matches[i].dict['typeref']
+enddef
+
+def SearchMembers( # {{{1
+  matches: list<dict<any>>,
+  items: list<string>,
+  all: bool
+): list<dict<string>>
+
+# For matching members, find matches for following items.
+# When "all" is true find all, otherwise just return 1 if there is any member.
+  var res: list<dict<string>>
+  for i: number in len(matches)->range()
+    var typename: string = ''
+    var line: string
+    if matches[i]->has_key('dict')
+      if matches[i]['dict']->has_key('typename')
+        typename = matches[i]['dict']['typename']
+      elseif matches[i]['dict']->has_key('typeref')
+        typename = matches[i]['dict']['typeref']
       endif
-      let line = "\t" . a:matches[i].dict['cmd']
+      line = "\t" .. matches[i]['dict']['cmd']
     else
-      let line = a:matches[i]['tagline']
-      let e = matchend(line, '\ttypename:')
+      line = matches[i]['tagline']
+      var eb: number = matchend(line, '\ttypename:')
+      var e: number = charidx(line, eb)
       if e < 0
-       let e = matchend(line, '\ttyperef:')
+        eb = matchend(line, '\ttyperef:')
+        e = charidx(line, eb)
       endif
       if e > 0
-       " Use typename field
-       let typename = matchstr(line, '[^\t]*', e)
+        # Use typename field
+        typename = line->matchstr('[^\t]*', eb)
       endif
     endif
 
     if typename != ''
-      call extend(res, s:StructMembers(typename, a:items, a:all))
+      res = extendnew(res, StructMembers(typename, items, all))
     else
-      " Use the search command (the declaration itself).
-      let s = match(line, '\t\zs/^')
+      # Use the search command (the declaration itself).
+      var sb: number = line->match('\t\zs/^')
+      var s: number = charidx(line, sb)
       if s > 0
-       let e = match(line, '\<' . a:matches[i]['match'] . '\>', s)
-       if e > 0
-         call extend(res, s:Nextitem(strpart(line, s, e - s), a:items, 0, a:all))
-       endif
+        var e: number = line
+          ->charidx(match(line, '\<' .. matches[i]['match'] .. '\>', sb))
+        if e > 0
+          res = extendnew(res, line[s : e - 1]->Nextitem(items, 0, all))
+        endif
       endif
     endif
-    if a:all == 0 && len(res) > 0
+    if !all && len(res) > 0
       break
     endif
   endfor
   return res
-endfunc
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
+enddef
+#}}}1
 
-" vim: noet sw=2 sts=2
+# vim: noet sw=2 sts=2
index 31843eea5c35a45189669776a6239bbd6c8c4850..c877ddb07326bcf96b3ab3b5e33ca473b20039d2 100644 (file)
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.2.  Last change: 2021 Jun 23
+*change.txt*    For Vim version 8.2.  Last change: 2021 Dec 27
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -259,6 +259,9 @@ Or use "caw" (see |aw|).
                        line.
                        Adding [!] toggles 'autoindent' for the time this
                        command is executed.
+                       This command is not supported in |Vim9| script,
+                       because it is too easily confused with a variable
+                       name.
 
 ==============================================================================
 3. Simple changes                                      *simple-change*
@@ -1374,6 +1377,9 @@ The next three commands always work on whole lines.
 
                                                        *:t*
 :t                     Synonym for copy.
+                       This command is not supported in |Vim9| script,
+                       because it is too easily confused with a variable
+                       name.
 
 :[range]m[ove] {address}                       *:m* *:mo* *:move* *E134*
                        Move the lines given by [range] to below the line
index 1dc3ebe5d48820fba00f4eaaa2f9836a06084b0b..1d812207b83b5052addb2d41d3f6057bba246d5e 100644 (file)
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.2.  Last change: 2021 Dec 04
+*cmdline.txt*   For Vim version 8.2.  Last change: 2021 Dec 26
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -705,6 +705,15 @@ Some Ex commands accept a line range in front of them.  This is noted as
 
 The basics are explained in section |10.3| of the user manual.
 
+In |Vim9| script a range needs to be prefixed with a colon to avoid ambiguity
+with continuation lines.  For example, "+" can be used for a range but is also
+a continuation of an expression: >
+       var result = start
+       + print
+If the "+" is a range then it must be prefixed with a colon: >
+       var result = start
+       :+ print
+<
                                                *:,* *:;*
 When separated with ';' the cursor position will be set to that line
 before interpreting the next line specifier.  This doesn't happen for ','.
index fc4080cd8d9190f083d3c62f5a2f4d6192f09b8b..d6161b11ac09a0486a654f94ffaffa3163556d50 100644 (file)
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.2.  Last change: 2021 Dec 11
+*editing.txt*   For Vim version 8.2.  Last change: 2021 Dec 27
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1147,6 +1147,9 @@ The names can be in upper- or lowercase.
                        made.
                        When 'hidden' is set and there are more windows, the
                        current buffer becomes hidden, after writing the file.
+                       This command is not supported in |Vim9| script,
+                       because it is too easily confused with a variable
+                       name.
 
                                                        *:exi* *:exit*
 :[range]exi[t][!] [++opt] [file]
index cac76bad98d5ff3e0630caa97b43b12c461f00ec..9fd7f968c65a526f1e669cf673095cbf78c0a069 100644 (file)
@@ -553,8 +553,6 @@ A closed fold is indicated with a '+'.
 
 These characters can be changed with the 'fillchars' option.
 
-These characters can be changed with the 'fillchars' option.
-
 Where the fold column is too narrow to display all nested folds, digits are
 shown to indicate the nesting level.
 
index 13d6c8a5941a5c90756e21fa48edf7b787c77576..b9a0600eae4730109bb09459e626d79b6a82d51b 100644 (file)
@@ -1,4 +1,4 @@
-*help.txt*     For Vim version 8.2.  Last change: 2020 Aug 15
+*help.txt*     For Vim version 8.2.  Last change: 2021 Dec 27
 
                        VIM - main help file
                                                                         k
index 230afb1ed34cb680752abf24ed337c6759342ffb..5d25847aa88a89562719560c1a0466c1c1e7764a 100644 (file)
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.2.  Last change: 2021 Oct 24
+*insert.txt*    For Vim version 8.2.  Last change: 2021 Dec 27
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1958,6 +1958,9 @@ too long when appending characters a line break is automatically inserted.
                        inserted after the current line.
                        Adding [!] toggles 'autoindent' for the time this
                        command is executed.
+                       This command is not supported in |Vim9| script,
+                       because it is too easily confused with a variable
+                       name.
 
                                                        *:i* *:in* *:insert*
 :{range}i[nsert][!]    Insert several lines of text above the specified
@@ -1965,6 +1968,9 @@ too long when appending characters a line break is automatically inserted.
                        inserted before the current line.
                        Adding [!] toggles 'autoindent' for the time this
                        command is executed.
+                       This command is not supported in |Vim9| script,
+                       because it is too easily confused with a variable
+                       name.
 
 These two commands will keep on asking for lines, until you type a line
 containing only a ".".  Watch out for lines starting with a backslash, see
index b8806d2cadb7a7d7e4439934b4d26d02e9cf500b..479f447e5e537f6ea7c5f38891fa4a3ac2e23b52 100644 (file)
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 8.2.  Last change: 2021 Dec 20
+*map.txt*       For Vim version 8.2.  Last change: 2021 Dec 24
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -356,7 +356,7 @@ Note:
 - In Select mode, |:map| and |:vmap| command mappings are executed in
   Visual mode.  Use |:smap| to handle Select mode differently.
 
-                                                       *E1135* *E1136*
+                                                       *E1255* *E1136*
 <Cmd> commands must terminate, that is, they must be followed by <CR> in the
 {rhs} of the mapping definition.  |Command-line| mode is never entered.
 
index 4412d56d1d42b32e2fe1aec33d18b5e9a049c19c..36a7309a3bc69d293047e83643a6bce528a8c4c3 100644 (file)
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 8.2.  Last change: 2021 Dec 13
+*motion.txt*    For Vim version 8.2.  Last change: 2021 Dec 27
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -788,6 +788,9 @@ m<  or  m>          Set the |'<| or |'>| mark.  Useful to change what the
                                                *:k*
 :[range]k{a-zA-Z'}     Same as :mark, but the space before the mark name can
                        be omitted.
+                       This command is not supported in |Vim9| script,
+                       because it is too easily confused with a variable
+                       name.
 
                                                *'* *'a* *`* *`a*
 '{a-z}  `{a-z}         Jump to the mark {a-z} in the current buffer.
index e8773d9275ae2cc9fd2d6c35f73543704667be84..1967167b1716a3dac0f13728d90393c1ed41ef6e 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 8.2.  Last change: 2021 Dec 21
+*options.txt*  For Vim version 8.2.  Last change: 2021 Dec 26
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 02b675a74753d8dfab2f6089be2d3651688ae37f..83fc193d1fd5bb63180840f9ad468ffd64e2c4ee 100644 (file)
@@ -1,4 +1,4 @@
-*remote.txt*    For Vim version 8.2.  Last change: 2019 May 05
+*remote.txt*    For Vim version 8.2.  Last change: 2021 Dec 27
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 049fabb30e52f98a26e9965520cd01be80294695..25f375e6fc908d670cb45b600288aa69f4b0917a 100644 (file)
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 8.2.  Last change: 2021 Nov 24
+*repeat.txt*    For Vim version 8.2.  Last change: 2021 Dec 27
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -495,6 +495,9 @@ space at the end of a line is hard to see and may be accidentally deleted. >
                \ "very long regexp"
                \ keepend
 
+In |Vim9| script the backslash can often be omitted, but not always.
+See |vim9-line-continuation|.
+
 There is a problem with the ":append" and ":insert" commands: >
    :1append
    \asdf
index 9b5fe38c12a7166c4a13bda5bba3036279664969..c2db4e6bb0915c8c14aa128ac4f0daf9d80008a0 100644 (file)
@@ -1414,7 +1414,7 @@ $VIM_POSIX        vi_diff.txt     /*$VIM_POSIX*
 +timers        various.txt     /*+timers*
 +title various.txt     /*+title*
 +toolbar       various.txt     /*+toolbar*
-+unix  eval.txt        /*+unix*
++unix  builtin.txt     /*+unix*
 +user_commands various.txt     /*+user_commands*
 +vartabs       various.txt     /*+vartabs*
 +vertsplit     various.txt     /*+vertsplit*
@@ -2123,6 +2123,8 @@ $VIM_POSIX        vi_diff.txt     /*$VIM_POSIX*
 :arga  editing.txt     /*:arga*
 :argadd        editing.txt     /*:argadd*
 :argd  editing.txt     /*:argd*
+:argded        editing.txt     /*:argded*
+:argdedupe     editing.txt     /*:argdedupe*
 :argdelete     editing.txt     /*:argdelete*
 :argdo editing.txt     /*:argdo*
 :arge  editing.txt     /*:arge*
@@ -3584,7 +3586,7 @@ $VIM_POSIX        vi_diff.txt     /*$VIM_POSIX*
 <F9>   term.txt        /*<F9>*
 <Help> helphelp.txt    /*<Help>*
 <Home> motion.txt      /*<Home>*
-<Ignore>       eval.txt        /*<Ignore>*
+<Ignore>       builtin.txt     /*<Ignore>*
 <Insert>       insert.txt      /*<Insert>*
 <Leader>       map.txt /*<Leader>*
 <Left> motion.txt      /*<Left>*
@@ -3960,15 +3962,14 @@ E1091   vim9.txt        /*E1091*
 E1094  vim9.txt        /*E1094*
 E11    cmdline.txt     /*E11*
 E110   eval.txt        /*E110*
-E1109  eval.txt        /*E1109*
+E1109  builtin.txt     /*E1109*
 E111   eval.txt        /*E111*
-E1110  eval.txt        /*E1110*
-E1111  eval.txt        /*E1111*
-E1112  eval.txt        /*E1112*
-E1113  eval.txt        /*E1113*
+E1110  builtin.txt     /*E1110*
+E1111  builtin.txt     /*E1111*
+E1112  builtin.txt     /*E1112*
+E1113  builtin.txt     /*E1113*
 E112   eval.txt        /*E112*
 E113   eval.txt        /*E113*
-E1135  map.txt /*E1135*
 E1136  map.txt /*E1136*
 E1137  map.txt /*E1137*
 E114   eval.txt        /*E114*
@@ -3991,21 +3992,22 @@ E12     message.txt     /*E12*
 E120   eval.txt        /*E120*
 E1200  options.txt     /*E1200*
 E1201  options.txt     /*E1201*
-E1205  eval.txt        /*E1205*
+E1205  builtin.txt     /*E1205*
 E121   eval.txt        /*E121*
-E1214  eval.txt        /*E1214*
+E1214  builtin.txt     /*E1214*
 E122   eval.txt        /*E122*
 E123   eval.txt        /*E123*
 E1231  map.txt /*E1231*
-E1232  eval.txt        /*E1232*
-E1233  eval.txt        /*E1233*
+E1232  builtin.txt     /*E1232*
+E1233  builtin.txt     /*E1233*
 E1237  map.txt /*E1237*
-E1239  eval.txt        /*E1239*
+E1239  builtin.txt     /*E1239*
 E124   eval.txt        /*E124*
 E1243  options.txt     /*E1243*
 E1244  message.txt     /*E1244*
 E1245  cmdline.txt     /*E1245*
 E125   eval.txt        /*E125*
+E1255  map.txt /*E1255*
 E126   eval.txt        /*E126*
 E127   eval.txt        /*E127*
 E128   eval.txt        /*E128*
@@ -4131,7 +4133,7 @@ E238      print.txt       /*E238*
 E239   sign.txt        /*E239*
 E24    message.txt     /*E24*
 E240   remote.txt      /*E240*
-E241   eval.txt        /*E241*
+E241   builtin.txt     /*E241*
 E242   windows.txt     /*E242*
 E243   if_ole.txt      /*E243*
 E244   gui.txt /*E244*
@@ -4257,10 +4259,10 @@ E359    term.txt        /*E359*
 E36    windows.txt     /*E36*
 E360   various.txt     /*E360*
 E363   options.txt     /*E363*
-E364   eval.txt        /*E364*
+E364   builtin.txt     /*E364*
 E365   print.txt       /*E365*
 E367   autocmd.txt     /*E367*
-E368   eval.txt        /*E368*
+E368   builtin.txt     /*E368*
 E369   pattern.txt     /*E369*
 E37    message.txt     /*E37*
 E370   various.txt     /*E370*
@@ -4348,7 +4350,7 @@ E445      windows.txt     /*E445*
 E446   editing.txt     /*E446*
 E447   editing.txt     /*E447*
 E448   various.txt     /*E448*
-E449   eval.txt        /*E449*
+E449   builtin.txt     /*E449*
 E45    message.txt     /*E45*
 E452   eval.txt        /*E452*
 E453   syntax.txt      /*E453*
@@ -4358,7 +4360,7 @@ E457      print.txt       /*E457*
 E458   message.txt     /*E458*
 E459   message.txt     /*E459*
 E46    message.txt     /*E46*
-E460   eval.txt        /*E460*
+E460   builtin.txt     /*E460*
 E461   eval.txt        /*E461*
 E462   editing.txt     /*E462*
 E463   netbeans.txt    /*E463*
@@ -4561,7 +4563,7 @@ E65       pattern.txt     /*E65*
 E650   netbeans.txt    /*E650*
 E651   netbeans.txt    /*E651*
 E652   netbeans.txt    /*E652*
-E655   eval.txt        /*E655*
+E655   builtin.txt     /*E655*
 E656   netbeans.txt    /*E656*
 E657   netbeans.txt    /*E657*
 E658   netbeans.txt    /*E658*
@@ -4585,7 +4587,7 @@ E673      print.txt       /*E673*
 E674   print.txt       /*E674*
 E675   print.txt       /*E675*
 E676   options.txt     /*E676*
-E677   eval.txt        /*E677*
+E677   builtin.txt     /*E677*
 E678   pattern.txt     /*E678*
 E679   syntax.txt      /*E679*
 E68    pattern.txt     /*E68*
@@ -4607,12 +4609,12 @@ E694    eval.txt        /*E694*
 E695   eval.txt        /*E695*
 E696   eval.txt        /*E696*
 E697   eval.txt        /*E697*
-E698   eval.txt        /*E698*
-E699   eval.txt        /*E699*
+E698   builtin.txt     /*E698*
+E699   builtin.txt     /*E699*
 E70    pattern.txt     /*E70*
-E700   eval.txt        /*E700*
-E701   eval.txt        /*E701*
-E702   eval.txt        /*E702*
+E700   builtin.txt     /*E700*
+E701   builtin.txt     /*E701*
+E702   builtin.txt     /*E702*
 E703   eval.txt        /*E703*
 E704   eval.txt        /*E704*
 E705   eval.txt        /*E705*
@@ -4635,10 +4637,10 @@ E720    eval.txt        /*E720*
 E721   eval.txt        /*E721*
 E722   eval.txt        /*E722*
 E723   eval.txt        /*E723*
-E724   eval.txt        /*E724*
+E724   builtin.txt     /*E724*
 E725   eval.txt        /*E725*
-E726   eval.txt        /*E726*
-E727   eval.txt        /*E727*
+E726   builtin.txt     /*E726*
+E727   builtin.txt     /*E727*
 E728   eval.txt        /*E728*
 E729   eval.txt        /*E729*
 E73    tagsrch.txt     /*E73*
@@ -4649,9 +4651,9 @@ E733      eval.txt        /*E733*
 E734   eval.txt        /*E734*
 E735   eval.txt        /*E735*
 E736   eval.txt        /*E736*
-E737   eval.txt        /*E737*
+E737   builtin.txt     /*E737*
 E738   eval.txt        /*E738*
-E739   eval.txt        /*E739*
+E739   builtin.txt     /*E739*
 E74    message.txt     /*E74*
 E740   eval.txt        /*E740*
 E741   eval.txt        /*E741*
@@ -4681,8 +4683,8 @@ E762      spell.txt       /*E762*
 E763   spell.txt       /*E763*
 E764   options.txt     /*E764*
 E765   options.txt     /*E765*
-E766   eval.txt        /*E766*
-E767   eval.txt        /*E767*
+E766   builtin.txt     /*E766*
+E767   builtin.txt     /*E767*
 E768   message.txt     /*E768*
 E769   pattern.txt     /*E769*
 E77    message.txt     /*E77*
@@ -4702,8 +4704,8 @@ E781      spell.txt       /*E781*
 E782   spell.txt       /*E782*
 E783   spell.txt       /*E783*
 E784   tabpage.txt     /*E784*
-E785   eval.txt        /*E785*
-E786   eval.txt        /*E786*
+E785   builtin.txt     /*E785*
+E786   builtin.txt     /*E786*
 E787   diff.txt        /*E787*
 E788   autocmd.txt     /*E788*
 E789   syntax.txt      /*E789*
@@ -4716,17 +4718,17 @@ E794    eval.txt        /*E794*
 E795   eval.txt        /*E795*
 E796   editing.txt     /*E796*
 E797   spell.txt       /*E797*
-E798   eval.txt        /*E798*
-E799   eval.txt        /*E799*
+E798   builtin.txt     /*E798*
+E799   builtin.txt     /*E799*
 E80    message.txt     /*E80*
 E800   arabic.txt      /*E800*
-E801   eval.txt        /*E801*
-E802   eval.txt        /*E802*
-E803   eval.txt        /*E803*
+E801   builtin.txt     /*E801*
+E802   builtin.txt     /*E802*
+E803   builtin.txt     /*E803*
 E804   eval.txt        /*E804*
 E805   eval.txt        /*E805*
 E806   eval.txt        /*E806*
-E807   eval.txt        /*E807*
+E807   builtin.txt     /*E807*
 E808   eval.txt        /*E808*
 E809   cmdline.txt     /*E809*
 E81    map.txt /*E81*
@@ -4780,8 +4782,8 @@ E852      gui_x11.txt     /*E852*
 E853   eval.txt        /*E853*
 E854   options.txt     /*E854*
 E855   autocmd.txt     /*E855*
-E858   eval.txt        /*E858*
-E859   eval.txt        /*E859*
+E858   builtin.txt     /*E858*
+E859   builtin.txt     /*E859*
 E86    windows.txt     /*E86*
 E860   textprop.txt    /*E860*
 E861   popup.txt       /*E861*
@@ -4807,8 +4809,8 @@ E879      syntax.txt      /*E879*
 E88    windows.txt     /*E88*
 E880   if_pyth.txt     /*E880*
 E881   autocmd.txt     /*E881*
-E882   eval.txt        /*E882*
-E883   eval.txt        /*E883*
+E882   builtin.txt     /*E882*
+E883   builtin.txt     /*E883*
 E884   eval.txt        /*E884*
 E885   sign.txt        /*E885*
 E886   starting.txt    /*E886*
@@ -4827,7 +4829,7 @@ E897      eval.txt        /*E897*
 E898   channel.txt     /*E898*
 E899   eval.txt        /*E899*
 E90    message.txt     /*E90*
-E900   eval.txt        /*E900*
+E900   builtin.txt     /*E900*
 E901   channel.txt     /*E901*
 E902   channel.txt     /*E902*
 E903   channel.txt     /*E903*
@@ -4851,29 +4853,29 @@ E919    repeat.txt      /*E919*
 E92    message.txt     /*E92*
 E920   channel.txt     /*E920*
 E921   channel.txt     /*E921*
-E922   eval.txt        /*E922*
-E923   eval.txt        /*E923*
+E922   builtin.txt     /*E922*
+E923   builtin.txt     /*E923*
 E924   quickfix.txt    /*E924*
 E925   quickfix.txt    /*E925*
 E926   quickfix.txt    /*E926*
-E927   eval.txt        /*E927*
+E927   builtin.txt     /*E927*
 E928   message.txt     /*E928*
 E929   starting.txt    /*E929*
 E93    windows.txt     /*E93*
-E930   eval.txt        /*E930*
+E930   builtin.txt     /*E930*
 E931   message.txt     /*E931*
 E932   eval.txt        /*E932*
 E933   eval.txt        /*E933*
 E934   sign.txt        /*E934*
-E935   eval.txt        /*E935*
+E935   builtin.txt     /*E935*
 E936   autocmd.txt     /*E936*
 E937   autocmd.txt     /*E937*
-E938   eval.txt        /*E938*
+E938   builtin.txt     /*E938*
 E939   change.txt      /*E939*
 E94    windows.txt     /*E94*
 E940   eval.txt        /*E940*
-E941   eval.txt        /*E941*
-E942   eval.txt        /*E942*
+E941   builtin.txt     /*E941*
+E942   builtin.txt     /*E942*
 E943   message.txt     /*E943*
 E944   pattern.txt     /*E944*
 E945   pattern.txt     /*E945*
@@ -4889,13 +4891,13 @@ E953    terminal.txt    /*E953*
 E954   options.txt     /*E954*
 E955   terminal.txt    /*E955*
 E956   pattern.txt     /*E956*
-E957   eval.txt        /*E957*
+E957   builtin.txt     /*E957*
 E958   terminal.txt    /*E958*
 E959   diff.txt        /*E959*
 E96    diff.txt        /*E96*
 E960   options.txt     /*E960*
 E961   cmdline.txt     /*E961*
-E962   eval.txt        /*E962*
+E962   builtin.txt     /*E962*
 E963   eval.txt        /*E963*
 E964   textprop.txt    /*E964*
 E965   textprop.txt    /*E965*
@@ -4915,7 +4917,7 @@ E977      eval.txt        /*E977*
 E978   eval.txt        /*E978*
 E979   eval.txt        /*E979*
 E98    diff.txt        /*E98*
-E980   eval.txt        /*E980*
+E980   builtin.txt     /*E980*
 E981   starting.txt    /*E981*
 E982   terminal.txt    /*E982*
 E983   message.txt     /*E983*
@@ -4930,11 +4932,11 @@ E990    eval.txt        /*E990*
 E991   eval.txt        /*E991*
 E992   options.txt     /*E992*
 E993   popup.txt       /*E993*
-E994   eval.txt        /*E994*
+E994   builtin.txt     /*E994*
 E995   eval.txt        /*E995*
 E996   eval.txt        /*E996*
 E997   popup.txt       /*E997*
-E998   eval.txt        /*E998*
+E998   builtin.txt     /*E998*
 E999   repeat.txt      /*E999*
 EX     intro.txt       /*EX*
 EXINIT starting.txt    /*EXINIT*
@@ -5069,7 +5071,7 @@ Operator-pending-mode     intro.txt       /*Operator-pending-mode*
 OptionSet      autocmd.txt     /*OptionSet*
 OverTheSpot    mbyte.txt       /*OverTheSpot*
 P      change.txt      /*P*
-PATHEXT        eval.txt        /*PATHEXT*
+PATHEXT        builtin.txt     /*PATHEXT*
 PEP8   filetype.txt    /*PEP8*
 PHP_BracesAtCodeLevel  indent.txt      /*PHP_BracesAtCodeLevel*
 PHP_IndentFunctionCallParameters       indent.txt      /*PHP_IndentFunctionCallParameters*
@@ -5394,8 +5396,8 @@ ab        motion.txt      /*ab*
 abandon        editing.txt     /*abandon*
 abbreviations  map.txt /*abbreviations*
 abel.vim       syntax.txt      /*abel.vim*
-abs()  eval.txt        /*abs()*
-acos() eval.txt        /*acos()*
+abs()  builtin.txt     /*abs()*
+acos() builtin.txt     /*acos()*
 active-buffer  windows.txt     /*active-buffer*
 ada#Create_Tags()      ft_ada.txt      /*ada#Create_Tags()*
 ada#Jump_Tag() ft_ada.txt      /*ada#Jump_Tag()*
@@ -5407,7 +5409,7 @@ ada-ctags ft_ada.txt      /*ada-ctags*
 ada-extra-plugins      ft_ada.txt      /*ada-extra-plugins*
 ada-reference  ft_ada.txt      /*ada-reference*
 ada.vim        ft_ada.txt      /*ada.vim*
-add()  eval.txt        /*add()*
+add()  builtin.txt     /*add()*
 add-filetype-plugin    usr_05.txt      /*add-filetype-plugin*
 add-global-plugin      usr_05.txt      /*add-global-plugin*
 add-local-help usr_05.txt      /*add-local-help*
@@ -5447,30 +5449,30 @@ alt     intro.txt       /*alt*
 alt-input      debugger.txt    /*alt-input*
 alternate-file editing.txt     /*alternate-file*
 amiga-window   starting.txt    /*amiga-window*
-and()  eval.txt        /*and()*
+and()  builtin.txt     /*and()*
 anonymous-function     eval.txt        /*anonymous-function*
 ant.vim        syntax.txt      /*ant.vim*
 ap     motion.txt      /*ap*
 apache.vim     syntax.txt      /*apache.vim*
-append()       eval.txt        /*append()*
-appendbufline()        eval.txt        /*appendbufline()*
+append()       builtin.txt     /*append()*
+appendbufline()        builtin.txt     /*appendbufline()*
 aquote motion.txt      /*aquote*
 arabic.txt     arabic.txt      /*arabic.txt*
 arabicfonts    arabic.txt      /*arabicfonts*
 arabickeymap   arabic.txt      /*arabickeymap*
 arg-functions  usr_41.txt      /*arg-functions*
-argc() eval.txt        /*argc()*
-argidx()       eval.txt        /*argidx()*
+argc() builtin.txt     /*argc()*
+argidx()       builtin.txt     /*argidx()*
 arglist        editing.txt     /*arglist*
 arglist-position       editing.txt     /*arglist-position*
 arglist-quit   usr_07.txt      /*arglist-quit*
-arglistid()    eval.txt        /*arglistid()*
+arglistid()    builtin.txt     /*arglistid()*
 argument-list  editing.txt     /*argument-list*
-argv() eval.txt        /*argv()*
+argv() builtin.txt     /*argv()*
 argv-variable  eval.txt        /*argv-variable*
 arrow_modifiers        term.txt        /*arrow_modifiers*
 as     motion.txt      /*as*
-asin() eval.txt        /*asin()*
+asin() builtin.txt     /*asin()*
 asm.vim        syntax.txt      /*asm.vim*
 asm68k syntax.txt      /*asm68k*
 asmh8300.vim   syntax.txt      /*asmh8300.vim*
@@ -5490,8 +5492,8 @@ assert_notmatch() testing.txt     /*assert_notmatch()*
 assert_report()        testing.txt     /*assert_report()*
 assert_true()  testing.txt     /*assert_true()*
 at     motion.txt      /*at*
-atan() eval.txt        /*atan()*
-atan2()        eval.txt        /*atan2()*
+atan() builtin.txt     /*atan()*
+atan2()        builtin.txt     /*atan2()*
 athena-intellimouse    gui.txt /*athena-intellimouse*
 attr-list      syntax.txt      /*attr-list*
 author intro.txt       /*author*
@@ -5553,9 +5555,9 @@ backup-changed    version4.txt    /*backup-changed*
 backup-extension       version4.txt    /*backup-extension*
 backup-table   editing.txt     /*backup-table*
 balloon-eval   debugger.txt    /*balloon-eval*
-balloon_gettext()      eval.txt        /*balloon_gettext()*
-balloon_show() eval.txt        /*balloon_show()*
-balloon_split()        eval.txt        /*balloon_split()*
+balloon_gettext()      builtin.txt     /*balloon_gettext()*
+balloon_show() builtin.txt     /*balloon_show()*
+balloon_split()        builtin.txt     /*balloon_split()*
 bar    motion.txt      /*bar*
 bars   help.txt        /*bars*
 base_font_name_list    mbyte.txt       /*base_font_name_list*
@@ -5577,7 +5579,7 @@ blob-identity     eval.txt        /*blob-identity*
 blob-index     eval.txt        /*blob-index*
 blob-literal   eval.txt        /*blob-literal*
 blob-modification      eval.txt        /*blob-modification*
-blob2list()    eval.txt        /*blob2list()*
+blob2list()    builtin.txt     /*blob2list()*
 blockwise-examples     visual.txt      /*blockwise-examples*
 blockwise-operators    visual.txt      /*blockwise-operators*
 blockwise-register     change.txt      /*blockwise-register*
@@ -5591,28 +5593,28 @@ bookmark        usr_03.txt      /*bookmark*
 books  intro.txt       /*books*
 boolean        options.txt     /*boolean*
 break-finally  eval.txt        /*break-finally*
-browse()       eval.txt        /*browse()*
-browsedir()    eval.txt        /*browsedir()*
+browse()       builtin.txt     /*browse()*
+browsedir()    builtin.txt     /*browsedir()*
 browsefilter   editing.txt     /*browsefilter*
-bufadd()       eval.txt        /*bufadd()*
-bufexists()    eval.txt        /*bufexists()*
+bufadd()       builtin.txt     /*bufadd()*
+bufexists()    builtin.txt     /*bufexists()*
 buffer-functions       usr_41.txt      /*buffer-functions*
 buffer-hidden  windows.txt     /*buffer-hidden*
 buffer-list    windows.txt     /*buffer-list*
 buffer-variable        eval.txt        /*buffer-variable*
 buffer-write   editing.txt     /*buffer-write*
-buffer_exists()        eval.txt        /*buffer_exists()*
-buffer_name()  eval.txt        /*buffer_name()*
-buffer_number()        eval.txt        /*buffer_number()*
+buffer_exists()        builtin.txt     /*buffer_exists()*
+buffer_name()  builtin.txt     /*buffer_name()*
+buffer_number()        builtin.txt     /*buffer_number()*
 buffers        windows.txt     /*buffers*
 buffers-menu   gui.txt /*buffers-menu*
-buflisted()    eval.txt        /*buflisted()*
-bufload()      eval.txt        /*bufload()*
-bufloaded()    eval.txt        /*bufloaded()*
-bufname()      eval.txt        /*bufname()*
-bufnr()        eval.txt        /*bufnr()*
-bufwinid()     eval.txt        /*bufwinid()*
-bufwinnr()     eval.txt        /*bufwinnr()*
+buflisted()    builtin.txt     /*buflisted()*
+bufload()      builtin.txt     /*bufload()*
+bufloaded()    builtin.txt     /*bufloaded()*
+bufname()      builtin.txt     /*bufname()*
+bufnr()        builtin.txt     /*bufnr()*
+bufwinid()     builtin.txt     /*bufwinid()*
+bufwinnr()     builtin.txt     /*bufwinnr()*
 bug-fixes-5    version5.txt    /*bug-fixes-5*
 bug-fixes-6    version6.txt    /*bug-fixes-6*
 bug-fixes-7    version7.txt    /*bug-fixes-7*
@@ -5620,13 +5622,17 @@ bug-fixes-8     version8.txt    /*bug-fixes-8*
 bug-reports    intro.txt       /*bug-reports*
 bugreport.vim  intro.txt       /*bugreport.vim*
 bugs   intro.txt       /*bugs*
+builtin-function-details       builtin.txt     /*builtin-function-details*
+builtin-function-list  builtin.txt     /*builtin-function-list*
+builtin-functions      builtin.txt     /*builtin-functions*
 builtin-terms  term.txt        /*builtin-terms*
 builtin-tools  gui.txt /*builtin-tools*
+builtin.txt    builtin.txt     /*builtin.txt*
 builtin_terms  term.txt        /*builtin_terms*
 byte-count     editing.txt     /*byte-count*
-byte2line()    eval.txt        /*byte2line()*
-byteidx()      eval.txt        /*byteidx()*
-byteidxcomp()  eval.txt        /*byteidxcomp()*
+byte2line()    builtin.txt     /*byte2line()*
+byteidx()      builtin.txt     /*byteidx()*
+byteidxcomp()  builtin.txt     /*byteidxcomp()*
 bzip2  pi_gzip.txt     /*bzip2*
 c      change.txt      /*c*
 c.vim  syntax.txt      /*c.vim*
@@ -5742,7 +5748,7 @@ c_no_utf  syntax.txt      /*c_no_utf*
 c_space_errors syntax.txt      /*c_space_errors*
 c_syntax_for_h syntax.txt      /*c_syntax_for_h*
 c_wildchar     cmdline.txt     /*c_wildchar*
-call() eval.txt        /*call()*
+call() builtin.txt     /*call()*
 carriage-return        intro.txt       /*carriage-return*
 case   change.txt      /*case*
 catch-all      eval.txt        /*catch-all*
@@ -5751,7 +5757,7 @@ catch-interrupt   eval.txt        /*catch-interrupt*
 catch-order    eval.txt        /*catch-order*
 catch-text     eval.txt        /*catch-text*
 cc     change.txt      /*cc*
-ceil() eval.txt        /*ceil()*
+ceil() builtin.txt     /*ceil()*
 cfilter-plugin quickfix.txt    /*cfilter-plugin*
 ch.vim syntax.txt      /*ch.vim*
 ch_canread()   channel.txt     /*ch_canread()*
@@ -5796,7 +5802,7 @@ changed-8.1       version8.txt    /*changed-8.1*
 changed-8.2    version8.txt    /*changed-8.2*
 changelist     motion.txt      /*changelist*
 changelog.vim  syntax.txt      /*changelog.vim*
-changenr()     eval.txt        /*changenr()*
+changenr()     builtin.txt     /*changenr()*
 changetick     eval.txt        /*changetick*
 changing       change.txt      /*changing*
 channel        channel.txt     /*channel*
@@ -5818,22 +5824,22 @@ channel-timeout channel.txt     /*channel-timeout*
 channel-use    channel.txt     /*channel-use*
 channel.txt    channel.txt     /*channel.txt*
 char-variable  eval.txt        /*char-variable*
-char2nr()      eval.txt        /*char2nr()*
+char2nr()      builtin.txt     /*char2nr()*
 characterwise  motion.txt      /*characterwise*
 characterwise-register change.txt      /*characterwise-register*
 characterwise-visual   visual.txt      /*characterwise-visual*
-charclass()    eval.txt        /*charclass()*
-charcol()      eval.txt        /*charcol()*
+charclass()    builtin.txt     /*charclass()*
+charcol()      builtin.txt     /*charcol()*
 charconvert_from-variable      eval.txt        /*charconvert_from-variable*
 charconvert_to-variable        eval.txt        /*charconvert_to-variable*
-charidx()      eval.txt        /*charidx()*
+charidx()      builtin.txt     /*charidx()*
 charity        uganda.txt      /*charity*
 charset        mbyte.txt       /*charset*
 charset-conversion     mbyte.txt       /*charset-conversion*
-chdir()        eval.txt        /*chdir()*
+chdir()        builtin.txt     /*chdir()*
 chill.vim      syntax.txt      /*chill.vim*
-chmod  eval.txt        /*chmod*
-cindent()      eval.txt        /*cindent()*
+chmod  builtin.txt     /*chmod*
+cindent()      builtin.txt     /*cindent()*
 cinkeys-format indent.txt      /*cinkeys-format*
 cino-# indent.txt      /*cino-#*
 cino-( indent.txt      /*cino-(*
@@ -5874,7 +5880,7 @@ cino-{    indent.txt      /*cino-{*
 cino-} indent.txt      /*cino-}*
 cinoptions-values      indent.txt      /*cinoptions-values*
 clear-undo     undo.txt        /*clear-undo*
-clearmatches() eval.txt        /*clearmatches()*
+clearmatches() builtin.txt     /*clearmatches()*
 client-server  remote.txt      /*client-server*
 client-server-name     remote.txt      /*client-server-name*
 clientserver   remote.txt      /*clientserver*
@@ -5907,7 +5913,7 @@ cmdwin-char       cmdline.txt     /*cmdwin-char*
 cobol.vim      syntax.txt      /*cobol.vim*
 codeset        mbyte.txt       /*codeset*
 coding-style   develop.txt     /*coding-style*
-col()  eval.txt        /*col()*
+col()  builtin.txt     /*col()*
 coldfusion.vim syntax.txt      /*coldfusion.vim*
 collapse       tips.txt        /*collapse*
 collate-variable       eval.txt        /*collate-variable*
@@ -5950,7 +5956,7 @@ compl-thesaurus   insert.txt      /*compl-thesaurus*
 compl-thesaurusfunc    insert.txt      /*compl-thesaurusfunc*
 compl-vim      insert.txt      /*compl-vim*
 compl-whole-line       insert.txt      /*compl-whole-line*
-complete()     eval.txt        /*complete()*
+complete()     builtin.txt     /*complete()*
 complete-functions     insert.txt      /*complete-functions*
 complete-item-kind     insert.txt      /*complete-item-kind*
 complete-items insert.txt      /*complete-items*
@@ -5959,17 +5965,17 @@ 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()*
-complete_check()       eval.txt        /*complete_check()*
-complete_info()        eval.txt        /*complete_info()*
-complete_info_mode     eval.txt        /*complete_info_mode*
+complete_add() builtin.txt     /*complete_add()*
+complete_check()       builtin.txt     /*complete_check()*
+complete_info()        builtin.txt     /*complete_info()*
+complete_info_mode     builtin.txt     /*complete_info_mode*
 completed_item-variable        eval.txt        /*completed_item-variable*
 completion-functions   usr_41.txt      /*completion-functions*
 complex-change change.txt      /*complex-change*
 complex-repeat repeat.txt      /*complex-repeat*
 compress       pi_gzip.txt     /*compress*
 conceal        syntax.txt      /*conceal*
-confirm()      eval.txt        /*confirm()*
+confirm()      builtin.txt     /*confirm()*
 connection-refused     message.txt     /*connection-refused*
 console-menus  gui.txt /*console-menus*
 control        intro.txt       /*control*
@@ -5977,15 +5983,15 @@ conversion-server       mbyte.txt       /*conversion-server*
 convert-to-HTML        syntax.txt      /*convert-to-HTML*
 convert-to-XHTML       syntax.txt      /*convert-to-XHTML*
 convert-to-XML syntax.txt      /*convert-to-XML*
-copy() eval.txt        /*copy()*
+copy() builtin.txt     /*copy()*
 copy-diffs     diff.txt        /*copy-diffs*
 copy-move      change.txt      /*copy-move*
 copying        uganda.txt      /*copying*
 copyright      uganda.txt      /*copyright*
-cos()  eval.txt        /*cos()*
-cosh() eval.txt        /*cosh()*
+cos()  builtin.txt     /*cos()*
+cosh() builtin.txt     /*cosh()*
 count  intro.txt       /*count*
-count()        eval.txt        /*count()*
+count()        builtin.txt     /*count()*
 count-bytes    tips.txt        /*count-bytes*
 count-items    tips.txt        /*count-items*
 count-variable eval.txt        /*count-variable*
@@ -6068,7 +6074,7 @@ cscope-limitations        if_cscop.txt    /*cscope-limitations*
 cscope-options if_cscop.txt    /*cscope-options*
 cscope-suggestions     if_cscop.txt    /*cscope-suggestions*
 cscope-win32   if_cscop.txt    /*cscope-win32*
-cscope_connection()    eval.txt        /*cscope_connection()*
+cscope_connection()    builtin.txt     /*cscope_connection()*
 cscopepathcomp if_cscop.txt    /*cscopepathcomp*
 cscopeprg      if_cscop.txt    /*cscopeprg*
 cscopequickfix if_cscop.txt    /*cscopequickfix*
@@ -6095,7 +6101,7 @@ curpos-visual     version6.txt    /*curpos-visual*
 current-directory      editing.txt     /*current-directory*
 current-file   editing.txt     /*current-file*
 current_compiler       quickfix.txt    /*current_compiler*
-cursor()       eval.txt        /*cursor()*
+cursor()       builtin.txt     /*cursor()*
 cursor-blinking        options.txt     /*cursor-blinking*
 cursor-down    intro.txt       /*cursor-down*
 cursor-functions       usr_41.txt      /*cursor-functions*
@@ -6135,22 +6141,22 @@ debug-vs2005    debug.txt       /*debug-vs2005*
 debug-win32    debug.txt       /*debug-win32*
 debug-windbg   debug.txt       /*debug-windbg*
 debug.txt      debug.txt       /*debug.txt*
-debugbreak()   eval.txt        /*debugbreak()*
+debugbreak()   builtin.txt     /*debugbreak()*
 debugger-compilation   debugger.txt    /*debugger-compilation*
 debugger-features      debugger.txt    /*debugger-features*
 debugger-support       debugger.txt    /*debugger-support*
 debugger.txt   debugger.txt    /*debugger.txt*
 dec-mouse      options.txt     /*dec-mouse*
 decada_members ft_ada.txt      /*decada_members*
-deepcopy()     eval.txt        /*deepcopy()*
+deepcopy()     builtin.txt     /*deepcopy()*
 defaults.vim   starting.txt    /*defaults.vim*
 defaults.vim-explained usr_05.txt      /*defaults.vim-explained*
 definition-search      tagsrch.txt     /*definition-search*
 definitions    intro.txt       /*definitions*
-delete()       eval.txt        /*delete()*
+delete()       builtin.txt     /*delete()*
 delete-insert  change.txt      /*delete-insert*
 delete-menus   gui.txt /*delete-menus*
-deletebufline()        eval.txt        /*deletebufline()*
+deletebufline()        builtin.txt     /*deletebufline()*
 deleting       change.txt      /*deleting*
 demoserver.py  channel.txt     /*demoserver.py*
 design-assumptions     develop.txt     /*design-assumptions*
@@ -6180,7 +6186,7 @@ dict      eval.txt        /*dict*
 dict-functions usr_41.txt      /*dict-functions*
 dict-identity  eval.txt        /*dict-identity*
 dict-modification      eval.txt        /*dict-modification*
-did_filetype() eval.txt        /*did_filetype()*
+did_filetype() builtin.txt     /*did_filetype()*
 diff   diff.txt        /*diff*
 diff-diffexpr  diff.txt        /*diff-diffexpr*
 diff-mode      diff.txt        /*diff-mode*
@@ -6190,8 +6196,8 @@ diff-patchexpr    diff.txt        /*diff-patchexpr*
 diff-slow      diff.txt        /*diff-slow*
 diff.txt       diff.txt        /*diff.txt*
 diff.vim       syntax.txt      /*diff.vim*
-diff_filler()  eval.txt        /*diff_filler()*
-diff_hlID()    eval.txt        /*diff_hlID()*
+diff_filler()  builtin.txt     /*diff_filler()*
+diff_hlID()    builtin.txt     /*diff_hlID()*
 diff_translations      diff.txt        /*diff_translations*
 digraph        digraph.txt     /*digraph*
 digraph-arg    change.txt      /*digraph-arg*
@@ -6199,10 +6205,10 @@ digraph-encoding        digraph.txt     /*digraph-encoding*
 digraph-table  digraph.txt     /*digraph-table*
 digraph-table-mbyte    digraph.txt     /*digraph-table-mbyte*
 digraph.txt    digraph.txt     /*digraph.txt*
-digraph_get()  eval.txt        /*digraph_get()*
-digraph_getlist()      eval.txt        /*digraph_getlist()*
-digraph_set()  eval.txt        /*digraph_set()*
-digraph_setlist()      eval.txt        /*digraph_setlist()*
+digraph_get()  builtin.txt     /*digraph_get()*
+digraph_getlist()      builtin.txt     /*digraph_getlist()*
+digraph_set()  builtin.txt     /*digraph_set()*
+digraph_setlist()      builtin.txt     /*digraph_setlist()*
 digraphs       digraph.txt     /*digraphs*
 digraphs-changed       version6.txt    /*digraphs-changed*
 digraphs-default       digraph.txt     /*digraphs-default*
@@ -6252,7 +6258,7 @@ dtd2vim   insert.txt      /*dtd2vim*
 dying-variable eval.txt        /*dying-variable*
 e      motion.txt      /*e*
 easy   starting.txt    /*easy*
-echoraw()      eval.txt        /*echoraw()*
+echoraw()      builtin.txt     /*echoraw()*
 echospace-variable     eval.txt        /*echospace-variable*
 edit-a-file    editing.txt     /*edit-a-file*
 edit-binary    editing.txt     /*edit-binary*
@@ -6271,7 +6277,7 @@ elixir.vim        syntax.txt      /*elixir.vim*
 emacs-keys     tips.txt        /*emacs-keys*
 emacs-tags     tagsrch.txt     /*emacs-tags*
 emacs_tags     tagsrch.txt     /*emacs_tags*
-empty()        eval.txt        /*empty()*
+empty()        builtin.txt     /*empty()*
 encoding-names mbyte.txt       /*encoding-names*
 encoding-table mbyte.txt       /*encoding-table*
 encoding-values        mbyte.txt       /*encoding-values*
@@ -6279,7 +6285,7 @@ encryption        editing.txt     /*encryption*
 end    intro.txt       /*end*
 end-of-file    pattern.txt     /*end-of-file*
 enlightened-terminal   syntax.txt      /*enlightened-terminal*
-environ()      eval.txt        /*environ()*
+environ()      builtin.txt     /*environ()*
 erlang.vim     syntax.txt      /*erlang.vim*
 err_buf        channel.txt     /*err_buf*
 err_cb channel.txt     /*err_cb*
@@ -6305,17 +6311,17 @@ errorformats    quickfix.txt    /*errorformats*
 errors message.txt     /*errors*
 errors-variable        eval.txt        /*errors-variable*
 escape intro.txt       /*escape*
-escape()       eval.txt        /*escape()*
+escape()       builtin.txt     /*escape()*
 escape-bar     version4.txt    /*escape-bar*
 euphoria3.vim  syntax.txt      /*euphoria3.vim*
 euphoria4.vim  syntax.txt      /*euphoria4.vim*
 eval   eval.txt        /*eval*
-eval() eval.txt        /*eval()*
+eval() builtin.txt     /*eval()*
 eval-examples  eval.txt        /*eval-examples*
 eval-sandbox   eval.txt        /*eval-sandbox*
 eval.txt       eval.txt        /*eval.txt*
 event-variable eval.txt        /*event-variable*
-eventhandler() eval.txt        /*eventhandler()*
+eventhandler() builtin.txt     /*eventhandler()*
 eview  starting.txt    /*eview*
 evim   starting.txt    /*evim*
 evim-keys      starting.txt    /*evim-keys*
@@ -6342,20 +6348,20 @@ exception-handling      eval.txt        /*exception-handling*
 exception-variable     eval.txt        /*exception-variable*
 exclusive      motion.txt      /*exclusive*
 exclusive-linewise     motion.txt      /*exclusive-linewise*
-executable()   eval.txt        /*executable()*
-execute()      eval.txt        /*execute()*
+executable()   builtin.txt     /*executable()*
+execute()      builtin.txt     /*execute()*
 execute-menus  gui.txt /*execute-menus*
-exepath()      eval.txt        /*exepath()*
+exepath()      builtin.txt     /*exepath()*
 exim   starting.txt    /*exim*
-exists()       eval.txt        /*exists()*
-exists_compiled()      eval.txt        /*exists_compiled()*
+exists()       builtin.txt     /*exists()*
+exists_compiled()      builtin.txt     /*exists_compiled()*
 exiting        starting.txt    /*exiting*
 exiting-variable       eval.txt        /*exiting-variable*
-exp()  eval.txt        /*exp()*
-expand()       eval.txt        /*expand()*
+exp()  builtin.txt     /*exp()*
+expand()       builtin.txt     /*expand()*
 expand-env     options.txt     /*expand-env*
 expand-environment-var options.txt     /*expand-environment-var*
-expandcmd()    eval.txt        /*expandcmd()*
+expandcmd()    builtin.txt     /*expandcmd()*
 expr   eval.txt        /*expr*
 expr-! eval.txt        /*expr-!*
 expr-!=        eval.txt        /*expr-!=*
@@ -6415,6 +6421,7 @@ expr-unary-+      eval.txt        /*expr-unary-+*
 expr-unary--   eval.txt        /*expr-unary--*
 expr-variable  eval.txt        /*expr-variable*
 expr1  eval.txt        /*expr1*
+expr10 eval.txt        /*expr10*
 expr2  eval.txt        /*expr2*
 expr3  eval.txt        /*expr3*
 expr4  eval.txt        /*expr4*
@@ -6427,8 +6434,8 @@ expression        eval.txt        /*expression*
 expression-commands    eval.txt        /*expression-commands*
 expression-syntax      eval.txt        /*expression-syntax*
 exrc   starting.txt    /*exrc*
-extend()       eval.txt        /*extend()*
-extendnew()    eval.txt        /*extendnew()*
+extend()       builtin.txt     /*extend()*
+extendnew()    builtin.txt     /*extendnew()*
 extension-removal      cmdline.txt     /*extension-removal*
 extensions-improvements        todo.txt        /*extensions-improvements*
 f      motion.txt      /*f*
@@ -6443,8 +6450,8 @@ fasm.vim  syntax.txt      /*fasm.vim*
 fast-functions vim9.txt        /*fast-functions*
 fcs_choice-variable    eval.txt        /*fcs_choice-variable*
 fcs_reason-variable    eval.txt        /*fcs_reason-variable*
-feature-list   eval.txt        /*feature-list*
-feedkeys()     eval.txt        /*feedkeys()*
+feature-list   builtin.txt     /*feature-list*
+feedkeys()     builtin.txt     /*feedkeys()*
 fetch  pi_netrw.txt    /*fetch*
 file-browser-5.2       version5.txt    /*file-browser-5.2*
 file-formats   editing.txt     /*file-formats*
@@ -6454,11 +6461,11 @@ file-read       insert.txt      /*file-read*
 file-searching editing.txt     /*file-searching*
 file-type      filetype.txt    /*file-type*
 file-types     filetype.txt    /*file-types*
-file_readable()        eval.txt        /*file_readable()*
+file_readable()        builtin.txt     /*file_readable()*
 fileencoding-changed   version6.txt    /*fileencoding-changed*
 filename-backslash     cmdline.txt     /*filename-backslash*
 filename-modifiers     cmdline.txt     /*filename-modifiers*
-filereadable() eval.txt        /*filereadable()*
+filereadable() builtin.txt     /*filereadable()*
 filetype       filetype.txt    /*filetype*
 filetype-detect        filetype.txt    /*filetype-detect*
 filetype-ignore        filetype.txt    /*filetype-ignore*
@@ -6468,14 +6475,14 @@ filetype-plugins        filetype.txt    /*filetype-plugins*
 filetype.txt   filetype.txt    /*filetype.txt*
 filetypedetect-changed version6.txt    /*filetypedetect-changed*
 filetypes      filetype.txt    /*filetypes*
-filewritable() eval.txt        /*filewritable()*
+filewritable() builtin.txt     /*filewritable()*
 filler-lines   windows.txt     /*filler-lines*
 filter change.txt      /*filter*
-filter()       eval.txt        /*filter()*
+filter()       builtin.txt     /*filter()*
 find-manpage   usr_12.txt      /*find-manpage*
 find-replace   usr_10.txt      /*find-replace*
-finddir()      eval.txt        /*finddir()*
-findfile()     eval.txt        /*findfile()*
+finddir()      builtin.txt     /*finddir()*
+findfile()     builtin.txt     /*findfile()*
 fixed-5.1      version5.txt    /*fixed-5.1*
 fixed-5.2      version5.txt    /*fixed-5.2*
 fixed-5.3      version5.txt    /*fixed-5.3*
@@ -6492,24 +6499,24 @@ fixed-7.1       version7.txt    /*fixed-7.1*
 fixed-7.2      version7.txt    /*fixed-7.2*
 fixed-7.3      version7.txt    /*fixed-7.3*
 fixed-7.4      version7.txt    /*fixed-7.4*
-flatten()      eval.txt        /*flatten()*
-flattennew()   eval.txt        /*flattennew()*
+flatten()      builtin.txt     /*flatten()*
+flattennew()   builtin.txt     /*flattennew()*
 flexwiki.vim   syntax.txt      /*flexwiki.vim*
 float-e        eval.txt        /*float-e*
 float-functions        usr_41.txt      /*float-functions*
 float-pi       eval.txt        /*float-pi*
-float2nr()     eval.txt        /*float2nr()*
+float2nr()     builtin.txt     /*float2nr()*
 floating-point-format  eval.txt        /*floating-point-format*
 floating-point-precision       eval.txt        /*floating-point-precision*
-floor()        eval.txt        /*floor()*
-fmod() eval.txt        /*fmod()*
+floor()        builtin.txt     /*floor()*
+fmod() builtin.txt     /*fmod()*
 fname-variable eval.txt        /*fname-variable*
 fname_diff-variable    eval.txt        /*fname_diff-variable*
 fname_in-variable      eval.txt        /*fname_in-variable*
 fname_new-variable     eval.txt        /*fname_new-variable*
 fname_out-variable     eval.txt        /*fname_out-variable*
-fnameescape()  eval.txt        /*fnameescape()*
-fnamemodify()  eval.txt        /*fnamemodify()*
+fnameescape()  builtin.txt     /*fnameescape()*
+fnamemodify()  builtin.txt     /*fnamemodify()*
 fo-1   change.txt      /*fo-1*
 fo-2   change.txt      /*fo-2*
 fo-B   change.txt      /*fo-B*
@@ -6547,22 +6554,22 @@ fold-methods    fold.txt        /*fold-methods*
 fold-options   fold.txt        /*fold-options*
 fold-syntax    fold.txt        /*fold-syntax*
 fold.txt       fold.txt        /*fold.txt*
-foldclosed()   eval.txt        /*foldclosed()*
-foldclosedend()        eval.txt        /*foldclosedend()*
+foldclosed()   builtin.txt     /*foldclosed()*
+foldclosedend()        builtin.txt     /*foldclosedend()*
 folddashes-variable    eval.txt        /*folddashes-variable*
 foldend-variable       eval.txt        /*foldend-variable*
 folding        fold.txt        /*folding*
 folding-functions      usr_41.txt      /*folding-functions*
-foldlevel()    eval.txt        /*foldlevel()*
+foldlevel()    builtin.txt     /*foldlevel()*
 foldlevel-variable     eval.txt        /*foldlevel-variable*
 folds  fold.txt        /*folds*
 foldstart-variable     eval.txt        /*foldstart-variable*
-foldtext()     eval.txt        /*foldtext()*
-foldtextresult()       eval.txt        /*foldtextresult()*
+foldtext()     builtin.txt     /*foldtext()*
+foldtextresult()       builtin.txt     /*foldtextresult()*
 font-sizes     gui_x11.txt     /*font-sizes*
 fontset        mbyte.txt       /*fontset*
 forced-motion  motion.txt      /*forced-motion*
-foreground()   eval.txt        /*foreground()*
+foreground()   builtin.txt     /*foreground()*
 fork   os_unix.txt     /*fork*
 form.vim       syntax.txt      /*form.vim*
 format-bullet-list     tips.txt        /*format-bullet-list*
@@ -6749,9 +6756,9 @@ ftplugin-name     usr_05.txt      /*ftplugin-name*
 ftplugin-overrule      filetype.txt    /*ftplugin-overrule*
 ftplugin-special       usr_41.txt      /*ftplugin-special*
 ftplugins      usr_05.txt      /*ftplugins*
-fullcommand()  eval.txt        /*fullcommand()*
-funcref()      eval.txt        /*funcref()*
-function()     eval.txt        /*function()*
+fullcommand()  builtin.txt     /*fullcommand()*
+funcref()      builtin.txt     /*funcref()*
+function()     builtin.txt     /*function()*
 function-argument      eval.txt        /*function-argument*
 function-key   intro.txt       /*function-key*
 function-list  usr_41.txt      /*function-list*
@@ -7054,67 +7061,67 @@ g_CTRL-]        tagsrch.txt     /*g_CTRL-]*
 g`     motion.txt      /*g`*
 g`a    motion.txt      /*g`a*
 ga     various.txt     /*ga*
-garbagecollect()       eval.txt        /*garbagecollect()*
+garbagecollect()       builtin.txt     /*garbagecollect()*
 gd     pattern.txt     /*gd*
 gdb    debug.txt       /*gdb*
 gdb-version    terminal.txt    /*gdb-version*
 ge     motion.txt      /*ge*
-get()  eval.txt        /*get()*
+get()  builtin.txt     /*get()*
 get-ms-debuggers       debug.txt       /*get-ms-debuggers*
-getbufinfo()   eval.txt        /*getbufinfo()*
-getbufline()   eval.txt        /*getbufline()*
-getbufvar()    eval.txt        /*getbufvar()*
-getchangelist()        eval.txt        /*getchangelist()*
-getchar()      eval.txt        /*getchar()*
-getcharmod()   eval.txt        /*getcharmod()*
-getcharpos()   eval.txt        /*getcharpos()*
-getcharsearch()        eval.txt        /*getcharsearch()*
-getcharstr()   eval.txt        /*getcharstr()*
-getcmdline()   eval.txt        /*getcmdline()*
-getcmdpos()    eval.txt        /*getcmdpos()*
-getcmdtype()   eval.txt        /*getcmdtype()*
-getcmdwintype()        eval.txt        /*getcmdwintype()*
-getcompletion()        eval.txt        /*getcompletion()*
-getcurpos()    eval.txt        /*getcurpos()*
-getcursorcharpos()     eval.txt        /*getcursorcharpos()*
-getcwd()       eval.txt        /*getcwd()*
-getenv()       eval.txt        /*getenv()*
-getfontname()  eval.txt        /*getfontname()*
-getfperm()     eval.txt        /*getfperm()*
-getfsize()     eval.txt        /*getfsize()*
-getftime()     eval.txt        /*getftime()*
-getftype()     eval.txt        /*getftype()*
-getimstatus()  eval.txt        /*getimstatus()*
-getjumplist()  eval.txt        /*getjumplist()*
+getbufinfo()   builtin.txt     /*getbufinfo()*
+getbufline()   builtin.txt     /*getbufline()*
+getbufvar()    builtin.txt     /*getbufvar()*
+getchangelist()        builtin.txt     /*getchangelist()*
+getchar()      builtin.txt     /*getchar()*
+getcharmod()   builtin.txt     /*getcharmod()*
+getcharpos()   builtin.txt     /*getcharpos()*
+getcharsearch()        builtin.txt     /*getcharsearch()*
+getcharstr()   builtin.txt     /*getcharstr()*
+getcmdline()   builtin.txt     /*getcmdline()*
+getcmdpos()    builtin.txt     /*getcmdpos()*
+getcmdtype()   builtin.txt     /*getcmdtype()*
+getcmdwintype()        builtin.txt     /*getcmdwintype()*
+getcompletion()        builtin.txt     /*getcompletion()*
+getcurpos()    builtin.txt     /*getcurpos()*
+getcursorcharpos()     builtin.txt     /*getcursorcharpos()*
+getcwd()       builtin.txt     /*getcwd()*
+getenv()       builtin.txt     /*getenv()*
+getfontname()  builtin.txt     /*getfontname()*
+getfperm()     builtin.txt     /*getfperm()*
+getfsize()     builtin.txt     /*getfsize()*
+getftime()     builtin.txt     /*getftime()*
+getftype()     builtin.txt     /*getftype()*
+getimstatus()  builtin.txt     /*getimstatus()*
+getjumplist()  builtin.txt     /*getjumplist()*
 getlatestvimscripts-install    pi_getscript.txt        /*getlatestvimscripts-install*
-getline()      eval.txt        /*getline()*
-getloclist()   eval.txt        /*getloclist()*
-getmarklist()  eval.txt        /*getmarklist()*
-getmatches()   eval.txt        /*getmatches()*
-getmousepos()  eval.txt        /*getmousepos()*
-getpid()       eval.txt        /*getpid()*
-getpos()       eval.txt        /*getpos()*
-getqflist()    eval.txt        /*getqflist()*
+getline()      builtin.txt     /*getline()*
+getloclist()   builtin.txt     /*getloclist()*
+getmarklist()  builtin.txt     /*getmarklist()*
+getmatches()   builtin.txt     /*getmatches()*
+getmousepos()  builtin.txt     /*getmousepos()*
+getpid()       builtin.txt     /*getpid()*
+getpos()       builtin.txt     /*getpos()*
+getqflist()    builtin.txt     /*getqflist()*
 getqflist-examples     quickfix.txt    /*getqflist-examples*
-getreg()       eval.txt        /*getreg()*
-getreginfo()   eval.txt        /*getreginfo()*
-getregtype()   eval.txt        /*getregtype()*
+getreg()       builtin.txt     /*getreg()*
+getreginfo()   builtin.txt     /*getreginfo()*
+getregtype()   builtin.txt     /*getregtype()*
 getscript      pi_getscript.txt        /*getscript*
 getscript-autoinstall  pi_getscript.txt        /*getscript-autoinstall*
 getscript-data pi_getscript.txt        /*getscript-data*
 getscript-history      pi_getscript.txt        /*getscript-history*
 getscript-plugins      pi_getscript.txt        /*getscript-plugins*
 getscript-start        pi_getscript.txt        /*getscript-start*
-gettabinfo()   eval.txt        /*gettabinfo()*
-gettabvar()    eval.txt        /*gettabvar()*
-gettabwinvar() eval.txt        /*gettabwinvar()*
-gettagstack()  eval.txt        /*gettagstack()*
-gettext()      eval.txt        /*gettext()*
-getwininfo()   eval.txt        /*getwininfo()*
-getwinpos()    eval.txt        /*getwinpos()*
-getwinposx()   eval.txt        /*getwinposx()*
-getwinposy()   eval.txt        /*getwinposy()*
-getwinvar()    eval.txt        /*getwinvar()*
+gettabinfo()   builtin.txt     /*gettabinfo()*
+gettabvar()    builtin.txt     /*gettabvar()*
+gettabwinvar() builtin.txt     /*gettabwinvar()*
+gettagstack()  builtin.txt     /*gettagstack()*
+gettext()      builtin.txt     /*gettext()*
+getwininfo()   builtin.txt     /*getwininfo()*
+getwinpos()    builtin.txt     /*getwinpos()*
+getwinposx()   builtin.txt     /*getwinposx()*
+getwinposy()   builtin.txt     /*getwinposy()*
+getwinvar()    builtin.txt     /*getwinvar()*
 gex    starting.txt    /*gex*
 gf     editing.txt     /*gf*
 gg     motion.txt      /*gg*
@@ -7122,13 +7129,13 @@ gh      visual.txt      /*gh*
 gi     insert.txt      /*gi*
 gj     motion.txt      /*gj*
 gk     motion.txt      /*gk*
-glob() eval.txt        /*glob()*
-glob2regpat()  eval.txt        /*glob2regpat()*
+glob() builtin.txt     /*glob()*
+glob2regpat()  builtin.txt     /*glob2regpat()*
 global-ime     mbyte.txt       /*global-ime*
 global-local   options.txt     /*global-local*
 global-variable        eval.txt        /*global-variable*
 global_markfilelist    pi_netrw.txt    /*global_markfilelist*
-globpath()     eval.txt        /*globpath()*
+globpath()     builtin.txt     /*globpath()*
 glvs   pi_getscript.txt        /*glvs*
 glvs-alg       pi_getscript.txt        /*glvs-alg*
 glvs-algorithm pi_getscript.txt        /*glvs-algorithm*
@@ -7228,7 +7235,7 @@ gui-x11-printing  gui_x11.txt     /*gui-x11-printing*
 gui-x11-start  gui_x11.txt     /*gui-x11-start*
 gui-x11-various        gui_x11.txt     /*gui-x11-various*
 gui.txt        gui.txt /*gui.txt*
-gui_running    eval.txt        /*gui_running*
+gui_running    builtin.txt     /*gui_running*
 gui_w32.txt    gui_w32.txt     /*gui_w32.txt*
 gui_x11.txt    gui_x11.txt     /*gui_x11.txt*
 guifontwide_gtk        gui.txt /*guifontwide_gtk*
@@ -7266,14 +7273,14 @@ haiku-user-settings-dir os_haiku.txt    /*haiku-user-settings-dir*
 haiku-vimdir   os_haiku.txt    /*haiku-vimdir*
 hangul hangulin.txt    /*hangul*
 hangulin.txt   hangulin.txt    /*hangulin.txt*
-has()  eval.txt        /*has()*
-has-patch      eval.txt        /*has-patch*
+has()  builtin.txt     /*has()*
+has-patch      builtin.txt     /*has-patch*
 has-python     if_pyth.txt     /*has-python*
 has-pythonx    if_pyth.txt     /*has-pythonx*
-has_key()      eval.txt        /*has_key()*
+has_key()      builtin.txt     /*has_key()*
 haskell.vim    syntax.txt      /*haskell.vim*
-haslocaldir()  eval.txt        /*haslocaldir()*
-hasmapto()     eval.txt        /*hasmapto()*
+haslocaldir()  builtin.txt     /*haslocaldir()*
+hasmapto()     builtin.txt     /*hasmapto()*
 hebrew hebrew.txt      /*hebrew*
 hebrew.txt     hebrew.txt      /*hebrew.txt*
 help   helphelp.txt    /*help*
@@ -7312,14 +7319,14 @@ highlight-guisp syntax.txt      /*highlight-guisp*
 highlight-start        syntax.txt      /*highlight-start*
 highlight-stop syntax.txt      /*highlight-stop*
 highlight-term syntax.txt      /*highlight-term*
-highlightID()  eval.txt        /*highlightID()*
-highlight_exists()     eval.txt        /*highlight_exists()*
+highlightID()  builtin.txt     /*highlightID()*
+highlight_exists()     builtin.txt     /*highlight_exists()*
 highlighting-functions usr_41.txt      /*highlighting-functions*
-hist-names     eval.txt        /*hist-names*
-histadd()      eval.txt        /*histadd()*
-histdel()      eval.txt        /*histdel()*
-histget()      eval.txt        /*histget()*
-histnr()       eval.txt        /*histnr()*
+hist-names     builtin.txt     /*hist-names*
+histadd()      builtin.txt     /*histadd()*
+histdel()      builtin.txt     /*histdel()*
+histget()      builtin.txt     /*histget()*
+histnr()       builtin.txt     /*histnr()*
 history        cmdline.txt     /*history*
 history-functions      usr_41.txt      /*history-functions*
 hit-enter      message.txt     /*hit-enter*
@@ -7391,15 +7398,15 @@ hl-WarningMsg   syntax.txt      /*hl-WarningMsg*
 hl-WildMenu    syntax.txt      /*hl-WildMenu*
 hl-debugBreakpoint     terminal.txt    /*hl-debugBreakpoint*
 hl-debugPC     terminal.txt    /*hl-debugPC*
-hlID() eval.txt        /*hlID()*
-hlexists()     eval.txt        /*hlexists()*
-hlget()        eval.txt        /*hlget()*
+hlID() builtin.txt     /*hlID()*
+hlexists()     builtin.txt     /*hlexists()*
+hlget()        builtin.txt     /*hlget()*
 hlsearch-variable      eval.txt        /*hlsearch-variable*
-hlset()        eval.txt        /*hlset()*
+hlset()        builtin.txt     /*hlset()*
 holy-grail     index.txt       /*holy-grail*
 home   intro.txt       /*home*
 home-replace   editing.txt     /*home-replace*
-hostname()     eval.txt        /*hostname()*
+hostname()     builtin.txt     /*hostname()*
 how-do-i       howto.txt       /*how-do-i*
 how-to howto.txt       /*how-to*
 howdoi howto.txt       /*howdoi*
@@ -7543,7 +7550,7 @@ iccf-donations    uganda.txt      /*iccf-donations*
 icon-changed   version4.txt    /*icon-changed*
 iconise        starting.txt    /*iconise*
 iconize        starting.txt    /*iconize*
-iconv()        eval.txt        /*iconv()*
+iconv()        builtin.txt     /*iconv()*
 iconv-dynamic  mbyte.txt       /*iconv-dynamic*
 ident-search   tips.txt        /*ident-search*
 idl-syntax     syntax.txt      /*idl-syntax*
@@ -7582,24 +7589,24 @@ incompatible-5  version5.txt    /*incompatible-5*
 incompatible-6 version6.txt    /*incompatible-6*
 incompatible-7 version7.txt    /*incompatible-7*
 incompatible-8 version8.txt    /*incompatible-8*
-indent()       eval.txt        /*indent()*
+indent()       builtin.txt     /*indent()*
 indent-expression      indent.txt      /*indent-expression*
 indent.txt     indent.txt      /*indent.txt*
 indentkeys-format      indent.txt      /*indentkeys-format*
 index  index.txt       /*index*
-index()        eval.txt        /*index()*
+index()        builtin.txt     /*index()*
 index.txt      index.txt       /*index.txt*
 info-message   starting.txt    /*info-message*
 inform.vim     syntax.txt      /*inform.vim*
 informix       ft_sql.txt      /*informix*
 initialization starting.txt    /*initialization*
 inline-function        vim9.txt        /*inline-function*
-input()        eval.txt        /*input()*
-inputdialog()  eval.txt        /*inputdialog()*
-inputlist()    eval.txt        /*inputlist()*
-inputrestore() eval.txt        /*inputrestore()*
-inputsave()    eval.txt        /*inputsave()*
-inputsecret()  eval.txt        /*inputsecret()*
+input()        builtin.txt     /*input()*
+inputdialog()  builtin.txt     /*inputdialog()*
+inputlist()    builtin.txt     /*inputlist()*
+inputrestore() builtin.txt     /*inputrestore()*
+inputsave()    builtin.txt     /*inputsave()*
+inputsecret()  builtin.txt     /*inputsecret()*
 ins-completion insert.txt      /*ins-completion*
 ins-completion-menu    insert.txt      /*ins-completion-menu*
 ins-expandtab  insert.txt      /*ins-expandtab*
@@ -7610,7 +7617,7 @@ ins-special-keys  insert.txt      /*ins-special-keys*
 ins-special-special    insert.txt      /*ins-special-special*
 ins-textwidth  insert.txt      /*ins-textwidth*
 insert insert.txt      /*insert*
-insert()       eval.txt        /*insert()*
+insert()       builtin.txt     /*insert()*
 insert-index   index.txt       /*insert-index*
 insert.txt     insert.txt      /*insert.txt*
 insert_expand  insert.txt      /*insert_expand*
@@ -7628,21 +7635,21 @@ interfaces-5.2  version5.txt    /*interfaces-5.2*
 internal-variables     eval.txt        /*internal-variables*
 internal-wordlist      spell.txt       /*internal-wordlist*
 internet       intro.txt       /*internet*
-interrupt()    eval.txt        /*interrupt()*
+interrupt()    builtin.txt     /*interrupt()*
 intro  intro.txt       /*intro*
 intro.txt      intro.txt       /*intro.txt*
 inverse        syntax.txt      /*inverse*
-invert()       eval.txt        /*invert()*
+invert()       builtin.txt     /*invert()*
 ip     motion.txt      /*ip*
 iquote motion.txt      /*iquote*
 is     motion.txt      /*is*
-isdirectory()  eval.txt        /*isdirectory()*
-isinf()        eval.txt        /*isinf()*
-islocked()     eval.txt        /*islocked()*
-isnan()        eval.txt        /*isnan()*
+isdirectory()  builtin.txt     /*isdirectory()*
+isinf()        builtin.txt     /*isinf()*
+islocked()     builtin.txt     /*islocked()*
+isnan()        builtin.txt     /*isnan()*
 it     motion.txt      /*it*
 italic syntax.txt      /*italic*
-items()        eval.txt        /*items()*
+items()        builtin.txt     /*items()*
 iw     motion.txt      /*iw*
 i{     motion.txt      /*i{*
 i}     motion.txt      /*i}*
@@ -7680,13 +7687,13 @@ job_setoptions()        channel.txt     /*job_setoptions()*
 job_start()    channel.txt     /*job_start()*
 job_status()   channel.txt     /*job_status()*
 job_stop()     channel.txt     /*job_stop()*
-join() eval.txt        /*join()*
-js_decode()    eval.txt        /*js_decode()*
-js_encode()    eval.txt        /*js_encode()*
+join() builtin.txt     /*join()*
+js_decode()    builtin.txt     /*js_decode()*
+js_encode()    builtin.txt     /*js_encode()*
 jsbterm-mouse  options.txt     /*jsbterm-mouse*
 json.vim       syntax.txt      /*json.vim*
-json_decode()  eval.txt        /*json_decode()*
-json_encode()  eval.txt        /*json_encode()*
+json_decode()  builtin.txt     /*json_decode()*
+json_encode()  builtin.txt     /*json_encode()*
 jtags  tagsrch.txt     /*jtags*
 jump-motions   motion.txt      /*jump-motions*
 jumplist       motion.txt      /*jumplist*
@@ -7716,7 +7723,7 @@ keypad-page-down  intro.txt       /*keypad-page-down*
 keypad-page-up intro.txt       /*keypad-page-up*
 keypad-plus    intro.txt       /*keypad-plus*
 keypad-point   intro.txt       /*keypad-point*
-keys() eval.txt        /*keys()*
+keys() builtin.txt     /*keys()*
 known-bugs     todo.txt        /*known-bugs*
 l      motion.txt      /*l*
 l:     eval.txt        /*l:*
@@ -7728,7 +7735,7 @@ lang-variable     eval.txt        /*lang-variable*
 language-mapping       map.txt /*language-mapping*
 last-pattern   pattern.txt     /*last-pattern*
 last-position-jump     usr_05.txt      /*last-position-jump*
-last_buffer_nr()       eval.txt        /*last_buffer_nr()*
+last_buffer_nr()       builtin.txt     /*last_buffer_nr()*
 latex-syntax   syntax.txt      /*latex-syntax*
 lc_time-variable       eval.txt        /*lc_time-variable*
 lcs-conceal    options.txt     /*lcs-conceal*
@@ -7742,27 +7749,27 @@ lcs-space       options.txt     /*lcs-space*
 lcs-tab        options.txt     /*lcs-tab*
 lcs-trail      options.txt     /*lcs-trail*
 left-right-motions     motion.txt      /*left-right-motions*
-len()  eval.txt        /*len()*
+len()  builtin.txt     /*len()*
 less   various.txt     /*less*
 letter print.txt       /*letter*
 lex.vim        syntax.txt      /*lex.vim*
 lhaskell.vim   syntax.txt      /*lhaskell.vim*
-libcall()      eval.txt        /*libcall()*
-libcallnr()    eval.txt        /*libcallnr()*
+libcall()      builtin.txt     /*libcall()*
+libcallnr()    builtin.txt     /*libcallnr()*
 license        uganda.txt      /*license*
 lid    quickfix.txt    /*lid*
 lifelines.vim  syntax.txt      /*lifelines.vim*
 limits vi_diff.txt     /*limits*
-line() eval.txt        /*line()*
+line() builtin.txt     /*line()*
 line-continuation      repeat.txt      /*line-continuation*
 line-continuation-comment      repeat.txt      /*line-continuation-comment*
-line2byte()    eval.txt        /*line2byte()*
+line2byte()    builtin.txt     /*line2byte()*
 linefeed       intro.txt       /*linefeed*
 linewise       motion.txt      /*linewise*
 linewise-register      change.txt      /*linewise-register*
 linewise-visual        visual.txt      /*linewise-visual*
 lisp.vim       syntax.txt      /*lisp.vim*
-lispindent()   eval.txt        /*lispindent()*
+lispindent()   builtin.txt     /*lispindent()*
 list   eval.txt        /*list*
 list-concatenation     eval.txt        /*list-concatenation*
 list-functions usr_41.txt      /*list-functions*
@@ -7770,11 +7777,11 @@ list-identity   eval.txt        /*list-identity*
 list-index     eval.txt        /*list-index*
 list-modification      eval.txt        /*list-modification*
 list-repeat    windows.txt     /*list-repeat*
-list2blob()    eval.txt        /*list2blob()*
-list2str()     eval.txt        /*list2str()*
-listener_add() eval.txt        /*listener_add()*
-listener_flush()       eval.txt        /*listener_flush()*
-listener_remove()      eval.txt        /*listener_remove()*
+list2blob()    builtin.txt     /*list2blob()*
+list2str()     builtin.txt     /*list2str()*
+listener_add() builtin.txt     /*listener_add()*
+listener_flush()       builtin.txt     /*listener_flush()*
+listener_remove()      builtin.txt     /*listener_remove()*
 lite.vim       syntax.txt      /*lite.vim*
 literal-Dict   eval.txt        /*literal-Dict*
 literal-string eval.txt        /*literal-string*
@@ -7789,12 +7796,12 @@ local-variables eval.txt        /*local-variables*
 local_markfilelist     pi_netrw.txt    /*local_markfilelist*
 locale mbyte.txt       /*locale*
 locale-name    mbyte.txt       /*locale-name*
-localtime()    eval.txt        /*localtime()*
+localtime()    builtin.txt     /*localtime()*
 location-list  quickfix.txt    /*location-list*
 location-list-file-window      quickfix.txt    /*location-list-file-window*
 location-list-window   quickfix.txt    /*location-list-window*
-log()  eval.txt        /*log()*
-log10()        eval.txt        /*log10()*
+log()  builtin.txt     /*log()*
+log10()        builtin.txt     /*log10()*
 logiPat        pi_logipat.txt  /*logiPat*
 logiPat-arg    pi_logipat.txt  /*logiPat-arg*
 logiPat-caveat pi_logipat.txt  /*logiPat-caveat*
@@ -7826,7 +7833,7 @@ lua-vim   if_lua.txt      /*lua-vim*
 lua-vim-variables      if_lua.txt      /*lua-vim-variables*
 lua-window     if_lua.txt      /*lua-window*
 lua.vim        syntax.txt      /*lua.vim*
-luaeval()      eval.txt        /*luaeval()*
+luaeval()      builtin.txt     /*luaeval()*
 m      motion.txt      /*m*
 m'     motion.txt      /*m'*
 m<     motion.txt      /*m<*
@@ -7853,7 +7860,7 @@ make.vim  syntax.txt      /*make.vim*
 man.vim        filetype.txt    /*man.vim*
 manpager.vim   filetype.txt    /*manpager.vim*
 manual-copyright       usr_01.txt      /*manual-copyright*
-map()  eval.txt        /*map()*
+map()  builtin.txt     /*map()*
 map-<SID>      map.txt /*map-<SID>*
 map-CTRL-C     map.txt /*map-CTRL-C*
 map-ambiguous  map.txt /*map-ambiguous*
@@ -7885,8 +7892,8 @@ map_empty_rhs     map.txt /*map_empty_rhs*
 map_return     map.txt /*map_return*
 map_space_in_lhs       map.txt /*map_space_in_lhs*
 map_space_in_rhs       map.txt /*map_space_in_rhs*
-maparg()       eval.txt        /*maparg()*
-mapcheck()     eval.txt        /*mapcheck()*
+maparg()       builtin.txt     /*maparg()*
+mapcheck()     builtin.txt     /*mapcheck()*
 maple.vim      syntax.txt      /*maple.vim*
 mapleader      map.txt /*mapleader*
 maplocalleader map.txt /*maplocalleader*
@@ -7901,33 +7908,33 @@ mapmode-s       map.txt /*mapmode-s*
 mapmode-t      map.txt /*mapmode-t*
 mapmode-v      map.txt /*mapmode-v*
 mapmode-x      map.txt /*mapmode-x*
-mapnew()       eval.txt        /*mapnew()*
+mapnew()       builtin.txt     /*mapnew()*
 mapping        map.txt /*mapping*
 mapping-functions      usr_41.txt      /*mapping-functions*
-mapset()       eval.txt        /*mapset()*
+mapset()       builtin.txt     /*mapset()*
 mark   motion.txt      /*mark*
 mark-functions usr_41.txt      /*mark-functions*
 mark-motions   motion.txt      /*mark-motions*
 markfilelist   pi_netrw.txt    /*markfilelist*
 masm.vim       syntax.txt      /*masm.vim*
-match()        eval.txt        /*match()*
+match()        builtin.txt     /*match()*
 match-highlight        pattern.txt     /*match-highlight*
 match-parens   tips.txt        /*match-parens*
-matchadd()     eval.txt        /*matchadd()*
-matchaddpos()  eval.txt        /*matchaddpos()*
-matcharg()     eval.txt        /*matcharg()*
-matchdelete()  eval.txt        /*matchdelete()*
-matchend()     eval.txt        /*matchend()*
-matchfuzzy()   eval.txt        /*matchfuzzy()*
-matchfuzzypos()        eval.txt        /*matchfuzzypos()*
+matchadd()     builtin.txt     /*matchadd()*
+matchaddpos()  builtin.txt     /*matchaddpos()*
+matcharg()     builtin.txt     /*matcharg()*
+matchdelete()  builtin.txt     /*matchdelete()*
+matchend()     builtin.txt     /*matchend()*
+matchfuzzy()   builtin.txt     /*matchfuzzy()*
+matchfuzzypos()        builtin.txt     /*matchfuzzypos()*
 matchit-install        usr_05.txt      /*matchit-install*
-matchlist()    eval.txt        /*matchlist()*
+matchlist()    builtin.txt     /*matchlist()*
 matchparen     pi_paren.txt    /*matchparen*
-matchstr()     eval.txt        /*matchstr()*
-matchstrpos()  eval.txt        /*matchstrpos()*
+matchstr()     builtin.txt     /*matchstr()*
+matchstrpos()  builtin.txt     /*matchstrpos()*
 matlab-indent  indent.txt      /*matlab-indent*
 matlab-indenting       indent.txt      /*matlab-indenting*
-max()  eval.txt        /*max()*
+max()  builtin.txt     /*max()*
 mbyte-IME      mbyte.txt       /*mbyte-IME*
 mbyte-XIM      mbyte.txt       /*mbyte-XIM*
 mbyte-combining        mbyte.txt       /*mbyte-combining*
@@ -7952,7 +7959,7 @@ menu-shortcut     gui.txt /*menu-shortcut*
 menu-text      gui.txt /*menu-text*
 menu-tips      gui.txt /*menu-tips*
 menu.vim       gui.txt /*menu.vim*
-menu_info()    eval.txt        /*menu_info()*
+menu_info()    builtin.txt     /*menu_info()*
 menus  gui.txt /*menus*
 merge  diff.txt        /*merge*
 message-history        message.txt     /*message-history*
@@ -7960,12 +7967,12 @@ message.txt     message.txt     /*message.txt*
 messages       message.txt     /*messages*
 meta   intro.txt       /*meta*
 method eval.txt        /*method*
-min()  eval.txt        /*min()*
+min()  builtin.txt     /*min()*
 missing-options        vi_diff.txt     /*missing-options*
-mkdir()        eval.txt        /*mkdir()*
+mkdir()        builtin.txt     /*mkdir()*
 mlang.txt      mlang.txt       /*mlang.txt*
 mma.vim        syntax.txt      /*mma.vim*
-mode() eval.txt        /*mode()*
+mode() builtin.txt     /*mode()*
 mode-Ex        intro.txt       /*mode-Ex*
 mode-cmdline   cmdline.txt     /*mode-cmdline*
 mode-ins-repl  insert.txt      /*mode-ins-repl*
@@ -8012,7 +8019,7 @@ mysql     ft_sql.txt      /*mysql*
 mysyntaxfile   syntax.txt      /*mysyntaxfile*
 mysyntaxfile-add       syntax.txt      /*mysyntaxfile-add*
 mysyntaxfile-replace   syntax.txt      /*mysyntaxfile-replace*
-mzeval()       eval.txt        /*mzeval()*
+mzeval()       builtin.txt     /*mzeval()*
 mzscheme       if_mzsch.txt    /*mzscheme*
 mzscheme-buffer        if_mzsch.txt    /*mzscheme-buffer*
 mzscheme-commands      if_mzsch.txt    /*mzscheme-commands*
@@ -8376,7 +8383,7 @@ new-vimgrep       version7.txt    /*new-vimgrep*
 new-vimscript-8.2      version8.txt    /*new-vimscript-8.2*
 new-virtedit   version6.txt    /*new-virtedit*
 news   intro.txt       /*news*
-nextnonblank() eval.txt        /*nextnonblank()*
+nextnonblank() builtin.txt     /*nextnonblank()*
 no-eval-feature        eval.txt        /*no-eval-feature*
 no-type-checking       eval.txt        /*no-type-checking*
 no_buffers_menu        gui.txt /*no_buffers_menu*
@@ -8392,7 +8399,7 @@ not-compatible    usr_01.txt      /*not-compatible*
 not-edited     editing.txt     /*not-edited*
 notation       intro.txt       /*notation*
 notepad        gui_w32.txt     /*notepad*
-nr2char()      eval.txt        /*nr2char()*
+nr2char()      builtin.txt     /*nr2char()*
 nroff.vim      syntax.txt      /*nroff.vim*
 null   vim9.txt        /*null*
 null-variable  eval.txt        /*null-variable*
@@ -8445,7 +8452,7 @@ options-changed   version5.txt    /*options-changed*
 options-in-terminal    terminal.txt    /*options-in-terminal*
 options.txt    options.txt     /*options.txt*
 optwin options.txt     /*optwin*
-or()   eval.txt        /*or()*
+or()   builtin.txt     /*or()*
 oracle ft_sql.txt      /*oracle*
 os2    os_os2.txt      /*os2*
 os390  os_390.txt      /*os390*
@@ -8484,13 +8491,13 @@ page_up intro.txt       /*page_up*
 pager  message.txt     /*pager*
 papp.vim       syntax.txt      /*papp.vim*
 paragraph      motion.txt      /*paragraph*
-partial        eval.txt        /*partial*
+partial        builtin.txt     /*partial*
 pascal.vim     syntax.txt      /*pascal.vim*
 patches-8      version8.txt    /*patches-8*
 patches-8.1    version8.txt    /*patches-8.1*
 patches-8.2    version8.txt    /*patches-8.2*
 patches-after-8.2      version8.txt    /*patches-after-8.2*
-pathshorten()  eval.txt        /*pathshorten()*
+pathshorten()  builtin.txt     /*pathshorten()*
 pattern        pattern.txt     /*pattern*
 pattern-atoms  pattern.txt     /*pattern-atoms*
 pattern-delimiter      change.txt      /*pattern-delimiter*
@@ -8529,7 +8536,7 @@ perl-overview     if_perl.txt     /*perl-overview*
 perl-patterns  pattern.txt     /*perl-patterns*
 perl-using     if_perl.txt     /*perl-using*
 perl.vim       syntax.txt      /*perl.vim*
-perleval()     eval.txt        /*perleval()*
+perleval()     builtin.txt     /*perleval()*
 persistent-undo        undo.txt        /*persistent-undo*
 pexpr-option   print.txt       /*pexpr-option*
 pfn-option     print.txt       /*pfn-option*
@@ -8626,33 +8633,33 @@ postscript-print-encoding       print.txt       /*postscript-print-encoding*
 postscript-print-trouble       print.txt       /*postscript-print-trouble*
 postscript-print-util  print.txt       /*postscript-print-util*
 postscript-printing    print.txt       /*postscript-printing*
-pow()  eval.txt        /*pow()*
+pow()  builtin.txt     /*pow()*
 ppwiz.vim      syntax.txt      /*ppwiz.vim*
 press-enter    message.txt     /*press-enter*
 press-return   message.txt     /*press-return*
 prevcount-variable     eval.txt        /*prevcount-variable*
 preview-popup  windows.txt     /*preview-popup*
 preview-window windows.txt     /*preview-window*
-prevnonblank() eval.txt        /*prevnonblank()*
+prevnonblank() builtin.txt     /*prevnonblank()*
 print-intro    print.txt       /*print-intro*
 print-options  print.txt       /*print-options*
 print.txt      print.txt       /*print.txt*
-printf()       eval.txt        /*printf()*
-printf-%       eval.txt        /*printf-%*
-printf-B       eval.txt        /*printf-B*
-printf-E       eval.txt        /*printf-E*
-printf-G       eval.txt        /*printf-G*
-printf-S       eval.txt        /*printf-S*
-printf-X       eval.txt        /*printf-X*
-printf-b       eval.txt        /*printf-b*
-printf-c       eval.txt        /*printf-c*
-printf-d       eval.txt        /*printf-d*
-printf-e       eval.txt        /*printf-e*
-printf-f       eval.txt        /*printf-f*
-printf-g       eval.txt        /*printf-g*
-printf-o       eval.txt        /*printf-o*
-printf-s       eval.txt        /*printf-s*
-printf-x       eval.txt        /*printf-x*
+printf()       builtin.txt     /*printf()*
+printf-%       builtin.txt     /*printf-%*
+printf-B       builtin.txt     /*printf-B*
+printf-E       builtin.txt     /*printf-E*
+printf-G       builtin.txt     /*printf-G*
+printf-S       builtin.txt     /*printf-S*
+printf-X       builtin.txt     /*printf-X*
+printf-b       builtin.txt     /*printf-b*
+printf-c       builtin.txt     /*printf-c*
+printf-d       builtin.txt     /*printf-d*
+printf-e       builtin.txt     /*printf-e*
+printf-f       builtin.txt     /*printf-f*
+printf-g       builtin.txt     /*printf-g*
+printf-o       builtin.txt     /*printf-o*
+printf-s       builtin.txt     /*printf-s*
+printf-x       builtin.txt     /*printf-x*
 printing       print.txt       /*printing*
 printing-formfeed      print.txt       /*printing-formfeed*
 profile        repeat.txt      /*profile*
@@ -8662,10 +8669,10 @@ progname-variable       eval.txt        /*progname-variable*
 progpath-variable      eval.txt        /*progpath-variable*
 progress.vim   syntax.txt      /*progress.vim*
 prompt-buffer  channel.txt     /*prompt-buffer*
-prompt_getprompt()     eval.txt        /*prompt_getprompt()*
-prompt_setcallback()   eval.txt        /*prompt_setcallback()*
-prompt_setinterrupt()  eval.txt        /*prompt_setinterrupt()*
-prompt_setprompt()     eval.txt        /*prompt_setprompt()*
+prompt_getprompt()     builtin.txt     /*prompt_getprompt()*
+prompt_setcallback()   builtin.txt     /*prompt_setcallback()*
+prompt_setinterrupt()  builtin.txt     /*prompt_setinterrupt()*
+prompt_setprompt()     builtin.txt     /*prompt_setprompt()*
 promptbuffer-functions usr_41.txt      /*promptbuffer-functions*
 pronounce      intro.txt       /*pronounce*
 prop_add()     textprop.txt    /*prop_add()*
@@ -8687,12 +8694,12 @@ ps1-syntax      ft_ps1.txt      /*ps1-syntax*
 psql   ft_sql.txt      /*psql*
 ptcap.vim      syntax.txt      /*ptcap.vim*
 pterm-mouse    options.txt     /*pterm-mouse*
-pum_getpos()   eval.txt        /*pum_getpos()*
-pumvisible()   eval.txt        /*pumvisible()*
+pum_getpos()   builtin.txt     /*pum_getpos()*
+pumvisible()   builtin.txt     /*pumvisible()*
 put    change.txt      /*put*
 put-Visual-mode        change.txt      /*put-Visual-mode*
-py3eval()      eval.txt        /*py3eval()*
-pyeval()       eval.txt        /*pyeval()*
+py3eval()      builtin.txt     /*py3eval()*
+pyeval()       builtin.txt     /*pyeval()*
 python if_pyth.txt     /*python*
 python-.locked if_pyth.txt     /*python-.locked*
 python-2-and-3 if_pyth.txt     /*python-2-and-3*
@@ -8741,7 +8748,7 @@ python_x  if_pyth.txt     /*python_x*
 python_x-special-comments      if_pyth.txt     /*python_x-special-comments*
 pythonx        if_pyth.txt     /*pythonx*
 pythonx-directory      if_pyth.txt     /*pythonx-directory*
-pyxeval()      eval.txt        /*pyxeval()*
+pyxeval()      builtin.txt     /*pyxeval()*
 q      repeat.txt      /*q*
 q/     cmdline.txt     /*q\/*
 q:     cmdline.txt     /*q:*
@@ -8813,19 +8820,19 @@ quote~  change.txt      /*quote~*
 r      change.txt      /*r*
 r.vim  syntax.txt      /*r.vim*
 raku-unicode   ft_raku.txt     /*raku-unicode*
-rand() eval.txt        /*rand()*
-random eval.txt        /*random*
-range()        eval.txt        /*range()*
+rand() builtin.txt     /*rand()*
+random builtin.txt     /*random*
+range()        builtin.txt     /*range()*
 raw-terminal-mode      term.txt        /*raw-terminal-mode*
 rcp    pi_netrw.txt    /*rcp*
 read-in-close-cb       channel.txt     /*read-in-close-cb*
 read-messages  insert.txt      /*read-messages*
 read-only-share        editing.txt     /*read-only-share*
 read-stdin     version5.txt    /*read-stdin*
-readblob()     eval.txt        /*readblob()*
-readdir()      eval.txt        /*readdir()*
-readdirex()    eval.txt        /*readdirex()*
-readfile()     eval.txt        /*readfile()*
+readblob()     builtin.txt     /*readblob()*
+readdir()      builtin.txt     /*readdir()*
+readdirex()    builtin.txt     /*readdirex()*
+readfile()     builtin.txt     /*readfile()*
 readline.vim   syntax.txt      /*readline.vim*
 recording      repeat.txt      /*recording*
 recover.txt    recover.txt     /*recover.txt*
@@ -8833,12 +8840,12 @@ recovery        recover.txt     /*recovery*
 recursive_mapping      map.txt /*recursive_mapping*
 redo   undo.txt        /*redo*
 redo-register  undo.txt        /*redo-register*
-reduce()       eval.txt        /*reduce()*
+reduce()       builtin.txt     /*reduce()*
 ref    intro.txt       /*ref*
 reference      intro.txt       /*reference*
 reference_toc  help.txt        /*reference_toc*
-reg_executing()        eval.txt        /*reg_executing()*
-reg_recording()        eval.txt        /*reg_recording()*
+reg_executing()        builtin.txt     /*reg_executing()*
+reg_recording()        builtin.txt     /*reg_recording()*
 regexp pattern.txt     /*regexp*
 regexp-changes-5.4     version5.txt    /*regexp-changes-5.4*
 register       sponsor.txt     /*register*
@@ -8848,34 +8855,34 @@ registers       change.txt      /*registers*
 rego.vim       syntax.txt      /*rego.vim*
 regular-expression     pattern.txt     /*regular-expression*
 reload editing.txt     /*reload*
-reltime()      eval.txt        /*reltime()*
-reltimefloat() eval.txt        /*reltimefloat()*
-reltimestr()   eval.txt        /*reltimestr()*
+reltime()      builtin.txt     /*reltime()*
+reltimefloat() builtin.txt     /*reltimefloat()*
+reltimestr()   builtin.txt     /*reltimestr()*
 remote.txt     remote.txt      /*remote.txt*
-remote_expr()  eval.txt        /*remote_expr()*
-remote_foreground()    eval.txt        /*remote_foreground()*
-remote_peek()  eval.txt        /*remote_peek()*
-remote_read()  eval.txt        /*remote_read()*
-remote_send()  eval.txt        /*remote_send()*
-remote_startserver()   eval.txt        /*remote_startserver()*
-remove()       eval.txt        /*remove()*
+remote_expr()  builtin.txt     /*remote_expr()*
+remote_foreground()    builtin.txt     /*remote_foreground()*
+remote_peek()  builtin.txt     /*remote_peek()*
+remote_read()  builtin.txt     /*remote_read()*
+remote_send()  builtin.txt     /*remote_send()*
+remote_startserver()   builtin.txt     /*remote_startserver()*
+remove()       builtin.txt     /*remove()*
 remove-filetype        filetype.txt    /*remove-filetype*
 remove-option-flags    options.txt     /*remove-option-flags*
-rename()       eval.txt        /*rename()*
+rename()       builtin.txt     /*rename()*
 rename-files   tips.txt        /*rename-files*
-repeat()       eval.txt        /*repeat()*
+repeat()       builtin.txt     /*repeat()*
 repeat.txt     repeat.txt      /*repeat.txt*
 repeating      repeat.txt      /*repeating*
 replacing      change.txt      /*replacing*
 replacing-ex   insert.txt      /*replacing-ex*
 reselect-Visual        visual.txt      /*reselect-Visual*
-resolve()      eval.txt        /*resolve()*
+resolve()      builtin.txt     /*resolve()*
 restore-cursor usr_05.txt      /*restore-cursor*
 restore-position       tips.txt        /*restore-position*
 restricted-mode        starting.txt    /*restricted-mode*
 retab-example  change.txt      /*retab-example*
 rethrow        eval.txt        /*rethrow*
-reverse()      eval.txt        /*reverse()*
+reverse()      builtin.txt     /*reverse()*
 rexx.vim       syntax.txt      /*rexx.vim*
 rgb.txt        gui_w32.txt     /*rgb.txt*
 rgview starting.txt    /*rgview*
@@ -8886,7 +8893,7 @@ rileft.txt        rileft.txt      /*rileft.txt*
 riscos os_risc.txt     /*riscos*
 rmd.vim        syntax.txt      /*rmd.vim*
 rot13  change.txt      /*rot13*
-round()        eval.txt        /*round()*
+round()        builtin.txt     /*round()*
 rrst.vim       syntax.txt      /*rrst.vim*
 rst.vim        syntax.txt      /*rst.vim*
 rsync  pi_netrw.txt    /*rsync*
@@ -8911,7 +8918,7 @@ ruby_no_expensive syntax.txt      /*ruby_no_expensive*
 ruby_operators syntax.txt      /*ruby_operators*
 ruby_space_errors      syntax.txt      /*ruby_space_errors*
 ruby_spellcheck_strings        syntax.txt      /*ruby_spellcheck_strings*
-rubyeval()     eval.txt        /*rubyeval()*
+rubyeval()     builtin.txt     /*rubyeval()*
 russian        russian.txt     /*russian*
 russian-intro  russian.txt     /*russian-intro*
 russian-issues russian.txt     /*russian-issues*
@@ -8959,13 +8966,13 @@ save-settings   starting.txt    /*save-settings*
 scheme.vim     syntax.txt      /*scheme.vim*
 scp    pi_netrw.txt    /*scp*
 scratch-buffer windows.txt     /*scratch-buffer*
-screenattr()   eval.txt        /*screenattr()*
-screenchar()   eval.txt        /*screenchar()*
-screenchars()  eval.txt        /*screenchars()*
-screencol()    eval.txt        /*screencol()*
-screenpos()    eval.txt        /*screenpos()*
-screenrow()    eval.txt        /*screenrow()*
-screenstring() eval.txt        /*screenstring()*
+screenattr()   builtin.txt     /*screenattr()*
+screenchar()   builtin.txt     /*screenchar()*
+screenchars()  builtin.txt     /*screenchars()*
+screencol()    builtin.txt     /*screencol()*
+screenpos()    builtin.txt     /*screenpos()*
+screenrow()    builtin.txt     /*screenrow()*
+screenstring() builtin.txt     /*screenstring()*
 script usr_41.txt      /*script*
 script-here    if_perl.txt     /*script-here*
 script-local   map.txt /*script-local*
@@ -8992,19 +8999,19 @@ scrollbind-relative     scroll.txt      /*scrollbind-relative*
 scrolling      scroll.txt      /*scrolling*
 scrollstart-variable   eval.txt        /*scrollstart-variable*
 sdl.vim        syntax.txt      /*sdl.vim*
-search()       eval.txt        /*search()*
-search()-sub-match     eval.txt        /*search()-sub-match*
+search()       builtin.txt     /*search()*
+search()-sub-match     builtin.txt     /*search()-sub-match*
 search-commands        pattern.txt     /*search-commands*
 search-offset  pattern.txt     /*search-offset*
 search-pattern pattern.txt     /*search-pattern*
 search-range   pattern.txt     /*search-range*
 search-replace change.txt      /*search-replace*
-searchcount()  eval.txt        /*searchcount()*
-searchdecl()   eval.txt        /*searchdecl()*
+searchcount()  builtin.txt     /*searchcount()*
+searchdecl()   builtin.txt     /*searchdecl()*
 searchforward-variable eval.txt        /*searchforward-variable*
-searchpair()   eval.txt        /*searchpair()*
-searchpairpos()        eval.txt        /*searchpairpos()*
-searchpos()    eval.txt        /*searchpos()*
+searchpair()   builtin.txt     /*searchpair()*
+searchpairpos()        builtin.txt     /*searchpairpos()*
+searchpos()    builtin.txt     /*searchpos()*
 section        motion.txt      /*section*
 sed.vim        syntax.txt      /*sed.vim*
 self   eval.txt        /*self*
@@ -9013,51 +9020,51 @@ send-to-menu    gui_w32.txt     /*send-to-menu*
 sendto gui_w32.txt     /*sendto*
 sentence       motion.txt      /*sentence*
 server-functions       usr_41.txt      /*server-functions*
-server2client()        eval.txt        /*server2client()*
-serverlist()   eval.txt        /*serverlist()*
+server2client()        builtin.txt     /*server2client()*
+serverlist()   builtin.txt     /*serverlist()*
 servername-variable    eval.txt        /*servername-variable*
 session-file   starting.txt    /*session-file*
 set-option     options.txt     /*set-option*
 set-spc-auto   spell.txt       /*set-spc-auto*
-setbufline()   eval.txt        /*setbufline()*
-setbufvar()    eval.txt        /*setbufvar()*
-setcellwidths()        eval.txt        /*setcellwidths()*
-setcharpos()   eval.txt        /*setcharpos()*
-setcharsearch()        eval.txt        /*setcharsearch()*
-setcmdpos()    eval.txt        /*setcmdpos()*
-setcursorcharpos()     eval.txt        /*setcursorcharpos()*
-setenv()       eval.txt        /*setenv()*
-setfperm()     eval.txt        /*setfperm()*
-setline()      eval.txt        /*setline()*
-setloclist()   eval.txt        /*setloclist()*
-setmatches()   eval.txt        /*setmatches()*
-setpos()       eval.txt        /*setpos()*
-setqflist()    eval.txt        /*setqflist()*
-setqflist-action       eval.txt        /*setqflist-action*
+setbufline()   builtin.txt     /*setbufline()*
+setbufvar()    builtin.txt     /*setbufvar()*
+setcellwidths()        builtin.txt     /*setcellwidths()*
+setcharpos()   builtin.txt     /*setcharpos()*
+setcharsearch()        builtin.txt     /*setcharsearch()*
+setcmdpos()    builtin.txt     /*setcmdpos()*
+setcursorcharpos()     builtin.txt     /*setcursorcharpos()*
+setenv()       builtin.txt     /*setenv()*
+setfperm()     builtin.txt     /*setfperm()*
+setline()      builtin.txt     /*setline()*
+setloclist()   builtin.txt     /*setloclist()*
+setmatches()   builtin.txt     /*setmatches()*
+setpos()       builtin.txt     /*setpos()*
+setqflist()    builtin.txt     /*setqflist()*
+setqflist-action       builtin.txt     /*setqflist-action*
 setqflist-examples     quickfix.txt    /*setqflist-examples*
-setqflist-what eval.txt        /*setqflist-what*
-setreg()       eval.txt        /*setreg()*
-settabvar()    eval.txt        /*settabvar()*
-settabwinvar() eval.txt        /*settabwinvar()*
-settagstack()  eval.txt        /*settagstack()*
+setqflist-what builtin.txt     /*setqflist-what*
+setreg()       builtin.txt     /*setreg()*
+settabvar()    builtin.txt     /*settabvar()*
+settabwinvar() builtin.txt     /*settabwinvar()*
+settagstack()  builtin.txt     /*settagstack()*
 setting-guifont        gui.txt /*setting-guifont*
 setting-guitablabel    tabpage.txt     /*setting-guitablabel*
 setting-tabline        tabpage.txt     /*setting-tabline*
 setuid change.txt      /*setuid*
-setwinvar()    eval.txt        /*setwinvar()*
+setwinvar()    builtin.txt     /*setwinvar()*
 sftp   pi_netrw.txt    /*sftp*
 sgml.vim       syntax.txt      /*sgml.vim*
 sgr-mouse      options.txt     /*sgr-mouse*
 sh-awk syntax.txt      /*sh-awk*
 sh-embed       syntax.txt      /*sh-embed*
 sh.vim syntax.txt      /*sh.vim*
-sha256()       eval.txt        /*sha256()*
+sha256()       builtin.txt     /*sha256()*
 shell-window   tips.txt        /*shell-window*
 shell_error-variable   eval.txt        /*shell_error-variable*
-shellescape()  eval.txt        /*shellescape()*
+shellescape()  builtin.txt     /*shellescape()*
 shift  intro.txt       /*shift*
 shift-left-right       change.txt      /*shift-left-right*
-shiftwidth()   eval.txt        /*shiftwidth()*
+shiftwidth()   builtin.txt     /*shiftwidth()*
 short-name-changed     version4.txt    /*short-name-changed*
 showing-menus  gui.txt /*showing-menus*
 sign-column    sign.txt        /*sign-column*
@@ -9081,30 +9088,30 @@ sign_unplace()  sign.txt        /*sign_unplace()*
 sign_unplacelist()     sign.txt        /*sign_unplacelist()*
 signs  sign.txt        /*signs*
 simple-change  change.txt      /*simple-change*
-simplify()     eval.txt        /*simplify()*
+simplify()     builtin.txt     /*simplify()*
 simulated-command      vi_diff.txt     /*simulated-command*
-sin()  eval.txt        /*sin()*
+sin()  builtin.txt     /*sin()*
 single-repeat  repeat.txt      /*single-repeat*
-sinh() eval.txt        /*sinh()*
+sinh() builtin.txt     /*sinh()*
 sizeofint-variable     eval.txt        /*sizeofint-variable*
 sizeoflong-variable    eval.txt        /*sizeoflong-variable*
 sizeofpointer-variable eval.txt        /*sizeofpointer-variable*
 skeleton       autocmd.txt     /*skeleton*
 skip_defaults_vim      starting.txt    /*skip_defaults_vim*
 slice  eval.txt        /*slice*
-slice()        eval.txt        /*slice()*
+slice()        builtin.txt     /*slice()*
 slow-fast-terminal     term.txt        /*slow-fast-terminal*
 slow-start     starting.txt    /*slow-start*
 slow-terminal  term.txt        /*slow-terminal*
 socket-interface       channel.txt     /*socket-interface*
-sort() eval.txt        /*sort()*
+sort() builtin.txt     /*sort()*
 sorting        change.txt      /*sorting*
 sound-functions        usr_41.txt      /*sound-functions*
-sound_clear()  eval.txt        /*sound_clear()*
-sound_playevent()      eval.txt        /*sound_playevent()*
-sound_playfile()       eval.txt        /*sound_playfile()*
-sound_stop()   eval.txt        /*sound_stop()*
-soundfold()    eval.txt        /*soundfold()*
+sound_clear()  builtin.txt     /*sound_clear()*
+sound_playevent()      builtin.txt     /*sound_playevent()*
+sound_playfile()       builtin.txt     /*sound_playfile()*
+sound_stop()   builtin.txt     /*sound_stop()*
+soundfold()    builtin.txt     /*soundfold()*
 source-vim9-script     usr_46.txt      /*source-vim9-script*
 space  intro.txt       /*space*
 spec-customizing       pi_spec.txt     /*spec-customizing*
@@ -9212,11 +9219,11 @@ spell-syntax    spell.txt       /*spell-syntax*
 spell-wordlist-format  spell.txt       /*spell-wordlist-format*
 spell-yiddish  spell.txt       /*spell-yiddish*
 spell.txt      spell.txt       /*spell.txt*
-spellbadword() eval.txt        /*spellbadword()*
+spellbadword() builtin.txt     /*spellbadword()*
 spellfile-cleanup      spell.txt       /*spellfile-cleanup*
 spellfile.vim  spell.txt       /*spellfile.vim*
-spellsuggest() eval.txt        /*spellsuggest()*
-split()        eval.txt        /*split()*
+spellsuggest() builtin.txt     /*spellsuggest()*
+split()        builtin.txt     /*split()*
 splitfind      windows.txt     /*splitfind*
 splitview      windows.txt     /*splitview*
 sponsor        sponsor.txt     /*sponsor*
@@ -9252,9 +9259,9 @@ sqlinformix.vim   syntax.txt      /*sqlinformix.vim*
 sqlj   ft_sql.txt      /*sqlj*
 sqlserver      ft_sql.txt      /*sqlserver*
 sqlsettype     ft_sql.txt      /*sqlsettype*
-sqrt() eval.txt        /*sqrt()*
+sqrt() builtin.txt     /*sqrt()*
 squirrel.vim   syntax.txt      /*squirrel.vim*
-srand()        eval.txt        /*srand()*
+srand()        builtin.txt     /*srand()*
 sscanf eval.txt        /*sscanf*
 standard-plugin        usr_05.txt      /*standard-plugin*
 standard-plugin-list   help.txt        /*standard-plugin-list*
@@ -9270,39 +9277,39 @@ starting.txt    starting.txt    /*starting.txt*
 startup        starting.txt    /*startup*
 startup-options        starting.txt    /*startup-options*
 startup-terminal       term.txt        /*startup-terminal*
-state()        eval.txt        /*state()*
+state()        builtin.txt     /*state()*
 static-tag     tagsrch.txt     /*static-tag*
 status-line    windows.txt     /*status-line*
 statusmsg-variable     eval.txt        /*statusmsg-variable*
 stl-%{ options.txt     /*stl-%{*
-str2float()    eval.txt        /*str2float()*
-str2list()     eval.txt        /*str2list()*
-str2nr()       eval.txt        /*str2nr()*
-strcasestr()   eval.txt        /*strcasestr()*
-strcharlen()   eval.txt        /*strcharlen()*
-strcharpart()  eval.txt        /*strcharpart()*
-strchars()     eval.txt        /*strchars()*
-strchr()       eval.txt        /*strchr()*
-strcspn()      eval.txt        /*strcspn()*
-strdisplaywidth()      eval.txt        /*strdisplaywidth()*
-strftime()     eval.txt        /*strftime()*
-strgetchar()   eval.txt        /*strgetchar()*
-stridx()       eval.txt        /*stridx()*
+str2float()    builtin.txt     /*str2float()*
+str2list()     builtin.txt     /*str2list()*
+str2nr()       builtin.txt     /*str2nr()*
+strcasestr()   builtin.txt     /*strcasestr()*
+strcharlen()   builtin.txt     /*strcharlen()*
+strcharpart()  builtin.txt     /*strcharpart()*
+strchars()     builtin.txt     /*strchars()*
+strchr()       builtin.txt     /*strchr()*
+strcspn()      builtin.txt     /*strcspn()*
+strdisplaywidth()      builtin.txt     /*strdisplaywidth()*
+strftime()     builtin.txt     /*strftime()*
+strgetchar()   builtin.txt     /*strgetchar()*
+stridx()       builtin.txt     /*stridx()*
 strikethrough  syntax.txt      /*strikethrough*
 string eval.txt        /*string*
-string()       eval.txt        /*string()*
+string()       builtin.txt     /*string()*
 string-functions       usr_41.txt      /*string-functions*
-string-match   eval.txt        /*string-match*
-strlen()       eval.txt        /*strlen()*
-strpart()      eval.txt        /*strpart()*
-strpbrk()      eval.txt        /*strpbrk()*
-strptime()     eval.txt        /*strptime()*
-strrchr()      eval.txt        /*strrchr()*
-strridx()      eval.txt        /*strridx()*
-strspn()       eval.txt        /*strspn()*
-strstr()       eval.txt        /*strstr()*
-strtrans()     eval.txt        /*strtrans()*
-strwidth()     eval.txt        /*strwidth()*
+string-match   builtin.txt     /*string-match*
+strlen()       builtin.txt     /*strlen()*
+strpart()      builtin.txt     /*strpart()*
+strpbrk()      builtin.txt     /*strpbrk()*
+strptime()     builtin.txt     /*strptime()*
+strrchr()      builtin.txt     /*strrchr()*
+strridx()      builtin.txt     /*strridx()*
+strspn()       builtin.txt     /*strspn()*
+strstr()       builtin.txt     /*strstr()*
+strtrans()     builtin.txt     /*strtrans()*
+strwidth()     builtin.txt     /*strwidth()*
 style-changes  develop.txt     /*style-changes*
 style-compiler develop.txt     /*style-compiler*
 style-examples develop.txt     /*style-examples*
@@ -9315,10 +9322,10 @@ sub-replace-\=  change.txt      /*sub-replace-\\=*
 sub-replace-expression change.txt      /*sub-replace-expression*
 sub-replace-special    change.txt      /*sub-replace-special*
 sublist        eval.txt        /*sublist*
-submatch()     eval.txt        /*submatch()*
+submatch()     builtin.txt     /*submatch()*
 subscribe-maillist     intro.txt       /*subscribe-maillist*
 subscript      eval.txt        /*subscript*
-substitute()   eval.txt        /*substitute()*
+substitute()   builtin.txt     /*substitute()*
 substitute-CR  version6.txt    /*substitute-CR*
 suffixes       cmdline.txt     /*suffixes*
 suspend        starting.txt    /*suspend*
@@ -9327,26 +9334,26 @@ swap-file       recover.txt     /*swap-file*
 swapchoice-variable    eval.txt        /*swapchoice-variable*
 swapcommand-variable   eval.txt        /*swapcommand-variable*
 swapfile-changed       version4.txt    /*swapfile-changed*
-swapinfo()     eval.txt        /*swapinfo()*
-swapname()     eval.txt        /*swapname()*
+swapinfo()     builtin.txt     /*swapinfo()*
+swapname()     builtin.txt     /*swapname()*
 swapname-variable      eval.txt        /*swapname-variable*
 sybase ft_sql.txt      /*sybase*
 syn-sync-grouphere     syntax.txt      /*syn-sync-grouphere*
 syn-sync-groupthere    syntax.txt      /*syn-sync-groupthere*
 syn-sync-linecont      syntax.txt      /*syn-sync-linecont*
-synID()        eval.txt        /*synID()*
-synIDattr()    eval.txt        /*synIDattr()*
-synIDtrans()   eval.txt        /*synIDtrans()*
+synID()        builtin.txt     /*synID()*
+synIDattr()    builtin.txt     /*synIDattr()*
+synIDtrans()   builtin.txt     /*synIDtrans()*
 syncbind       scroll.txt      /*syncbind*
 syncolor       syntax.txt      /*syncolor*
-synconcealed() eval.txt        /*synconcealed()*
+synconcealed() builtin.txt     /*synconcealed()*
 synload-1      syntax.txt      /*synload-1*
 synload-2      syntax.txt      /*synload-2*
 synload-3      syntax.txt      /*synload-3*
 synload-4      syntax.txt      /*synload-4*
 synload-5      syntax.txt      /*synload-5*
 synload-6      syntax.txt      /*synload-6*
-synstack()     eval.txt        /*synstack()*
+synstack()     builtin.txt     /*synstack()*
 syntax syntax.txt      /*syntax*
 syntax-functions       usr_41.txt      /*syntax-functions*
 syntax-highlighting    syntax.txt      /*syntax-highlighting*
@@ -9358,10 +9365,10 @@ syntax.txt      syntax.txt      /*syntax.txt*
 syntax_cmd     syntax.txt      /*syntax_cmd*
 sys-file-list  help.txt        /*sys-file-list*
 sysmouse       term.txt        /*sysmouse*
-system()       eval.txt        /*system()*
+system()       builtin.txt     /*system()*
 system-functions       usr_41.txt      /*system-functions*
 system-vimrc   starting.txt    /*system-vimrc*
-systemlist()   eval.txt        /*systemlist()*
+systemlist()   builtin.txt     /*systemlist()*
 s~     change.txt      /*s~*
 t      motion.txt      /*t*
 t:     eval.txt        /*t:*
@@ -9578,9 +9585,9 @@ tabnew-autocmd    tabpage.txt     /*tabnew-autocmd*
 tabpage        tabpage.txt     /*tabpage*
 tabpage-variable       eval.txt        /*tabpage-variable*
 tabpage.txt    tabpage.txt     /*tabpage.txt*
-tabpagebuflist()       eval.txt        /*tabpagebuflist()*
-tabpagenr()    eval.txt        /*tabpagenr()*
-tabpagewinnr() eval.txt        /*tabpagewinnr()*
+tabpagebuflist()       builtin.txt     /*tabpagebuflist()*
+tabpagenr()    builtin.txt     /*tabpagenr()*
+tabpagewinnr() builtin.txt     /*tabpagewinnr()*
 tag    tagsrch.txt     /*tag*
 tag-!  tagsrch.txt     /*tag-!*
 tag-binary-search      tagsrch.txt     /*tag-binary-search*
@@ -9600,8 +9607,8 @@ tag-search        tagsrch.txt     /*tag-search*
 tag-security   tagsrch.txt     /*tag-security*
 tag-skip-file  tagsrch.txt     /*tag-skip-file*
 tag-stack      tagsrch.txt     /*tag-stack*
-tagfiles()     eval.txt        /*tagfiles()*
-taglist()      eval.txt        /*taglist()*
+tagfiles()     builtin.txt     /*tagfiles()*
+taglist()      builtin.txt     /*taglist()*
 tags   tagsrch.txt     /*tags*
 tags-and-searches      tagsrch.txt     /*tags-and-searches*
 tags-file-changed      version5.txt    /*tags-file-changed*
@@ -9610,8 +9617,8 @@ tags-option       tagsrch.txt     /*tags-option*
 tagsrch.txt    tagsrch.txt     /*tagsrch.txt*
 tagstack       tagsrch.txt     /*tagstack*
 tagstack-examples      tagsrch.txt     /*tagstack-examples*
-tan()  eval.txt        /*tan()*
-tanh() eval.txt        /*tanh()*
+tan()  builtin.txt     /*tan()*
+tanh() builtin.txt     /*tanh()*
 tar    pi_tar.txt      /*tar*
 tar-contents   pi_tar.txt      /*tar-contents*
 tar-copyright  pi_tar.txt      /*tar-copyright*
@@ -9666,10 +9673,10 @@ tcsh-style      cmdline.txt     /*tcsh-style*
 tcsh.vim       syntax.txt      /*tcsh.vim*
 tear-off-menus gui.txt /*tear-off-menus*
 telnet-CTRL-]  tagsrch.txt     /*telnet-CTRL-]*
-temp-file-name eval.txt        /*temp-file-name*
+temp-file-name builtin.txt     /*temp-file-name*
 tempfile       change.txt      /*tempfile*
 template       autocmd.txt     /*template*
-tempname()     eval.txt        /*tempname()*
+tempname()     builtin.txt     /*tempname()*
 term++close    terminal.txt    /*term++close*
 term++open     terminal.txt    /*term++open*
 term-dependent-settings        term.txt        /*term-dependent-settings*
@@ -9754,7 +9761,7 @@ terminal-unix     terminal.txt    /*terminal-unix*
 terminal-use   terminal.txt    /*terminal-use*
 terminal-window        terminal.txt    /*terminal-window*
 terminal.txt   terminal.txt    /*terminal.txt*
-terminalprops()        eval.txt        /*terminalprops()*
+terminalprops()        builtin.txt     /*terminalprops()*
 terminfo       term.txt        /*terminfo*
 termresponse-variable  eval.txt        /*termresponse-variable*
 test-functions usr_41.txt      /*test-functions*
@@ -9826,14 +9833,14 @@ throw-from-catch        eval.txt        /*throw-from-catch*
 throw-variables        eval.txt        /*throw-variables*
 throwpoint-variable    eval.txt        /*throwpoint-variable*
 time-functions usr_41.txt      /*time-functions*
-timer  eval.txt        /*timer*
+timer  builtin.txt     /*timer*
 timer-functions        usr_41.txt      /*timer-functions*
-timer_info()   eval.txt        /*timer_info()*
-timer_pause()  eval.txt        /*timer_pause()*
-timer_start()  eval.txt        /*timer_start()*
-timer_stop()   eval.txt        /*timer_stop()*
-timer_stopall()        eval.txt        /*timer_stopall()*
-timers eval.txt        /*timers*
+timer_info()   builtin.txt     /*timer_info()*
+timer_pause()  builtin.txt     /*timer_pause()*
+timer_start()  builtin.txt     /*timer_start()*
+timer_stop()   builtin.txt     /*timer_stop()*
+timer_stopall()        builtin.txt     /*timer_stopall()*
+timers builtin.txt     /*timers*
 timestamp      editing.txt     /*timestamp*
 timestamps     editing.txt     /*timestamps*
 tips   tips.txt        /*tips*
@@ -9844,17 +9851,17 @@ todo    todo.txt        /*todo*
 todo.txt       todo.txt        /*todo.txt*
 toggle options.txt     /*toggle*
 toggle-revins  version4.txt    /*toggle-revins*
-tolower()      eval.txt        /*tolower()*
+tolower()      builtin.txt     /*tolower()*
 toolbar-icon   gui.txt /*toolbar-icon*
 tooltips       gui.txt /*tooltips*
-toupper()      eval.txt        /*toupper()*
-tr()   eval.txt        /*tr()*
-trim() eval.txt        /*trim()*
+toupper()      builtin.txt     /*toupper()*
+tr()   builtin.txt     /*tr()*
+trim() builtin.txt     /*trim()*
 trinary        eval.txt        /*trinary*
 trojan-horse   starting.txt    /*trojan-horse*
 true   vim9.txt        /*true*
 true-variable  eval.txt        /*true-variable*
-trunc()        eval.txt        /*trunc()*
+trunc()        builtin.txt     /*trunc()*
 truthy eval.txt        /*truthy*
 try-conditionals       eval.txt        /*try-conditionals*
 try-echoerr    eval.txt        /*try-echoerr*
@@ -9865,14 +9872,14 @@ tsrfu'  options.txt     /*tsrfu'*
 tutor  usr_01.txt      /*tutor*
 twice  if_cscop.txt    /*twice*
 two-engines    pattern.txt     /*two-engines*
-type() eval.txt        /*type()*
+type() builtin.txt     /*type()*
 type-casting   vim9.txt        /*type-casting*
 type-checking  vim9.txt        /*type-checking*
 type-inference vim9.txt        /*type-inference*
 type-mistakes  tips.txt        /*type-mistakes*
 typecorr-settings      usr_41.txt      /*typecorr-settings*
 typecorr.txt   usr_41.txt      /*typecorr.txt*
-typename()     eval.txt        /*typename()*
+typename()     builtin.txt     /*typename()*
 u      undo.txt        /*u*
 uganda uganda.txt      /*uganda*
 uganda.txt     uganda.txt      /*uganda.txt*
@@ -9890,10 +9897,10 @@ undo-two-ways   undo.txt        /*undo-two-ways*
 undo.txt       undo.txt        /*undo.txt*
 undo_ftplugin  usr_41.txt      /*undo_ftplugin*
 undo_indent    usr_41.txt      /*undo_indent*
-undofile()     eval.txt        /*undofile()*
-undotree()     eval.txt        /*undotree()*
+undofile()     builtin.txt     /*undofile()*
+undotree()     builtin.txt     /*undotree()*
 unicode        mbyte.txt       /*unicode*
-uniq() eval.txt        /*uniq()*
+uniq() builtin.txt     /*uniq()*
 unix   os_unix.txt     /*unix*
 unlisted-buffer        windows.txt     /*unlisted-buffer*
 up-down-motions        motion.txt      /*up-down-motions*
@@ -10171,7 +10178,7 @@ v_~     change.txt      /*v_~*
 vab    motion.txt      /*vab*
 val-variable   eval.txt        /*val-variable*
 valgrind       debug.txt       /*valgrind*
-values()       eval.txt        /*values()*
+values()       builtin.txt     /*values()*
 var-functions  usr_41.txt      /*var-functions*
 variable-scope eval.txt        /*variable-scope*
 variable-types vim9.txt        /*variable-types*
@@ -10255,6 +10262,7 @@ vim.w   if_lua.txt      /*vim.w*
 vim7   version7.txt    /*vim7*
 vim8   version8.txt    /*vim8*
 vim9   vim9.txt        /*vim9*
+vim9-boolean   vim9.txt        /*vim9-boolean*
 vim9-classes   vim9.txt        /*vim9-classes*
 vim9-const     vim9.txt        /*vim9-const*
 vim9-curly     vim9.txt        /*vim9-curly*
@@ -10270,6 +10278,8 @@ vim9-ignored-argument   vim9.txt        /*vim9-ignored-argument*
 vim9-import    vim9.txt        /*vim9-import*
 vim9-lambda    vim9.txt        /*vim9-lambda*
 vim9-lambda-arguments  vim9.txt        /*vim9-lambda-arguments*
+vim9-line-continuation vim9.txt        /*vim9-line-continuation*
+vim9-literal-dict      vim9.txt        /*vim9-literal-dict*
 vim9-mix       vim9.txt        /*vim9-mix*
 vim9-namespace vim9.txt        /*vim9-namespace*
 vim9-no-dict-function  vim9.txt        /*vim9-no-dict-function*
@@ -10288,7 +10298,7 @@ vim_announce    intro.txt       /*vim_announce*
 vim_dev        intro.txt       /*vim_dev*
 vim_did_enter-variable eval.txt        /*vim_did_enter-variable*
 vim_mac        intro.txt       /*vim_mac*
-vim_starting   eval.txt        /*vim_starting*
+vim_starting   builtin.txt     /*vim_starting*
 vim_use        intro.txt       /*vim_use*
 vimball        pi_vimball.txt  /*vimball*
 vimball-contents       pi_vimball.txt  /*vimball-contents*
@@ -10332,7 +10342,7 @@ vimrc_example.vim       usr_05.txt      /*vimrc_example.vim*
 vimscript-version      eval.txt        /*vimscript-version*
 vimscript-versions     eval.txt        /*vimscript-versions*
 vimtutor       usr_01.txt      /*vimtutor*
-virtcol()      eval.txt        /*virtcol()*
+virtcol()      builtin.txt     /*virtcol()*
 visual-block   visual.txt      /*visual-block*
 visual-change  visual.txt      /*visual-change*
 visual-examples        visual.txt      /*visual-examples*
@@ -10344,7 +10354,7 @@ visual-search   visual.txt      /*visual-search*
 visual-start   visual.txt      /*visual-start*
 visual-use     visual.txt      /*visual-use*
 visual.txt     visual.txt      /*visual.txt*
-visualmode()   eval.txt        /*visualmode()*
+visualmode()   builtin.txt     /*visualmode()*
 vms    os_vms.txt      /*vms*
 vms-authors    os_vms.txt      /*vms-authors*
 vms-changes    os_vms.txt      /*vms-changes*
@@ -10375,7 +10385,7 @@ white-space     pattern.txt     /*white-space*
 whitespace     pattern.txt     /*whitespace*
 wildcard       editing.txt     /*wildcard*
 wildcards      editing.txt     /*wildcards*
-wildmenumode() eval.txt        /*wildmenumode()*
+wildmenumode() builtin.txt     /*wildmenumode()*
 win16  os_win32.txt    /*win16*
 win32  os_win32.txt    /*win32*
 win32-!start   gui_w32.txt     /*win32-!start*
@@ -10402,17 +10412,17 @@ win32-vimrun  gui_w32.txt     /*win32-vimrun*
 win32-win3.1   os_win32.txt    /*win32-win3.1*
 win32-win95    os_win32.txt    /*win32-win95*
 win32s os_win32.txt    /*win32s*
-win_execute()  eval.txt        /*win_execute()*
-win_findbuf()  eval.txt        /*win_findbuf()*
-win_getid()    eval.txt        /*win_getid()*
-win_gettype()  eval.txt        /*win_gettype()*
-win_gotoid()   eval.txt        /*win_gotoid()*
-win_id2tabwin()        eval.txt        /*win_id2tabwin()*
-win_id2win()   eval.txt        /*win_id2win()*
-win_screenpos()        eval.txt        /*win_screenpos()*
-win_splitmove()        eval.txt        /*win_splitmove()*
-winbufnr()     eval.txt        /*winbufnr()*
-wincol()       eval.txt        /*wincol()*
+win_execute()  builtin.txt     /*win_execute()*
+win_findbuf()  builtin.txt     /*win_findbuf()*
+win_getid()    builtin.txt     /*win_getid()*
+win_gettype()  builtin.txt     /*win_gettype()*
+win_gotoid()   builtin.txt     /*win_gotoid()*
+win_id2tabwin()        builtin.txt     /*win_id2tabwin()*
+win_id2win()   builtin.txt     /*win_id2win()*
+win_screenpos()        builtin.txt     /*win_screenpos()*
+win_splitmove()        builtin.txt     /*win_splitmove()*
+winbufnr()     builtin.txt     /*winbufnr()*
+wincol()       builtin.txt     /*wincol()*
 window windows.txt     /*window*
 window-ID      windows.txt     /*window-ID*
 window-contents        intro.txt       /*window-contents*
@@ -10437,20 +10447,20 @@ windows.txt   windows.txt     /*windows.txt*
 windows95      os_win32.txt    /*windows95*
 windows98      os_win32.txt    /*windows98*
 windowsme      os_win32.txt    /*windowsme*
-windowsversion()       eval.txt        /*windowsversion()*
-winheight()    eval.txt        /*winheight()*
+windowsversion()       builtin.txt     /*windowsversion()*
+winheight()    builtin.txt     /*winheight()*
 winid  windows.txt     /*winid*
-winlayout()    eval.txt        /*winlayout()*
-winline()      eval.txt        /*winline()*
-winnr()        eval.txt        /*winnr()*
-winrestcmd()   eval.txt        /*winrestcmd()*
-winrestview()  eval.txt        /*winrestview()*
-winsaveview()  eval.txt        /*winsaveview()*
-winwidth()     eval.txt        /*winwidth()*
+winlayout()    builtin.txt     /*winlayout()*
+winline()      builtin.txt     /*winline()*
+winnr()        builtin.txt     /*winnr()*
+winrestcmd()   builtin.txt     /*winrestcmd()*
+winrestview()  builtin.txt     /*winrestview()*
+winsaveview()  builtin.txt     /*winsaveview()*
+winwidth()     builtin.txt     /*winwidth()*
 word   motion.txt      /*word*
 word-count     editing.txt     /*word-count*
 word-motions   motion.txt      /*word-motions*
-wordcount()    eval.txt        /*wordcount()*
+wordcount()    builtin.txt     /*wordcount()*
 workbench      starting.txt    /*workbench*
 workshop       workshop.txt    /*workshop*
 workshop-support       workshop.txt    /*workshop-support*
@@ -10467,7 +10477,7 @@ write-plugin    usr_41.txt      /*write-plugin*
 write-plugin-quickload usr_41.txt      /*write-plugin-quickload*
 write-quit     editing.txt     /*write-quit*
 write-readonly editing.txt     /*write-readonly*
-writefile()    eval.txt        /*writefile()*
+writefile()    builtin.txt     /*writefile()*
 writing        editing.txt     /*writing*
 www    intro.txt       /*www*
 x      change.txt      /*x*
@@ -10485,7 +10495,7 @@ xiterm  syntax.txt      /*xiterm*
 xml-folding    syntax.txt      /*xml-folding*
 xml-omni-datafile      insert.txt      /*xml-omni-datafile*
 xml.vim        syntax.txt      /*xml.vim*
-xor()  eval.txt        /*xor()*
+xor()  builtin.txt     /*xor()*
 xpm.vim        syntax.txt      /*xpm.vim*
 xterm-8-bit    term.txt        /*xterm-8-bit*
 xterm-8bit     term.txt        /*xterm-8bit*
index bd97d3a2bd1427219a6e00ef131623141f8fb18f..7c99a65cdedd61b727956a3927dd899bea702547 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2021 Dec 24
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Dec 27
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -38,37 +38,17 @@ browser use: https://github.com/vim/vim/issues/1234
                                                        *known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-type of v: vars should be more specific
-    v:completed_item  is dict<string>, not dict<any>
-
-E1135 is used twice
-
-"z=" in German can take a very long time, CTRL-C should interrupt it.
-
-Vim9 - Make everything work:
-- For builtin functions using tv_get_string*() use check_for_string() to be
-  more strict about the argument type (not a bool).
-    done: balloon_()
-- Check many more builtin function arguments at compile time.
-    map() could check that the return type of the function argument matches
-    the type of the list or dict member. (#8092)
-    Same for other functions, such as searchpair().
-- Test that a function defined inside a :def function is local to that
-  function, g: functions can be defined and script-local functions cannot be
-  defined.
-- Unexpected error message when using "var x: any | x.key = 9", because "x" is
-  given the type number.  Can we use VAR_ANY?
-- Check performance with callgrind and kcachegrind.
-
 Once Vim9 is stable:
 - Add the "vim9script" feature, can use has('vim9script')
+    Remove TODO in vim9.txt
 - Change the help to prefer Vim9 syntax where appropriate
-- Add all the error numbers in a good place in documentation.
 - In the generic eval docs, point out the Vim9 syntax where it differs.
+- Add all the error numbers in a good place in documentation.
 - Use Vim9 for runtime files.
     PR #7497 for autoload/ccomplete.vim
 
 Further Vim9 improvements, possibly after launch:
+- Check performance with callgrind and kcachegrind.
 - better implementation for partial and tests for that.
 - Compile options that are an expression, e.g. "expr:" in 'spellsuggest',
   'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
@@ -78,10 +58,9 @@ Further Vim9 improvements, possibly after launch:
   evaluation.
   Use the location where the option was set for deciding whether it's to be
   evaluated in Vim9 script context.
-- Handle command that is only a range more efficient than calling ISN_EXEC
 - implement :type, "import type"
-- implement enum,  "import enum".
-- implement class and interface: See |vim9-classes|
+- implement :enum,  "import enum".
+- implement :class and :interface: See |vim9-classes|
 - For range: make table of first ASCII character with flag to quickly check if
   it can be a Vim9 command. E.g. "+" can, but "." can't.
 - Inline call to map() and filter(), better type checking.
@@ -253,8 +232,6 @@ Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.
 initialization to figure out the default value from 'shell'.  Add a test for
 this.
 
-Patch to add :argdedupe. (Nir Lichtman, #6235)
-
 MS-Windows: did path modifier :p:8 stop working?  #8600
 
 test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
index b9459f35fa0dd5c9bc2f87c8618cc780d3e255a5..84c5f4a6148d88475cf8383ea16973076cc262c8 100644 (file)
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2021 Dec 22
+" Last Change: 2021 Dec 27
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
index ac96b8b3e4de80b0c1f4c636fa3595b4291e37f6..1baa1ee0fd47987c7be7d72f2b9ee619496f7f69 100644 (file)
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim Turkish Localization Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-16 17:56+0300\n"
-"PO-Revision-Date: 2021-07-16 20:00+0300\n"
+"POT-Creation-Date: 2021-12-24 16:25+0300\n"
+"PO-Revision-Date: 2021-12-24 20:00+0300\n"
 "Last-Translator: Emir SARI <emir_sari@msn.com>\n"
 "Language-Team: Turkish <https://github.com/bitigchi/vim>\n"
 "Language: tr\n"
@@ -18,6 +18,32 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+msgid "ERROR: "
+msgstr "HATA: "
+
+#, c-format
+msgid ""
+"\n"
+"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
+msgstr ""
+"\n"
+"[bayt] %lu-%lu toplam ayrılan/boşaltılan, %lu kullanımda, %lu tavan nok.\n"
+
+#, c-format
+msgid ""
+"[calls] total re/malloc()'s %lu, total free()'s %lu\n"
+"\n"
+msgstr ""
+"[çağrılar] %lu toplam re/malloc()'lar, %lu toplam free()'ler\n"
+"\n"
+
+msgid "E341: Internal error: lalloc(0, )"
+msgstr "E341: İç hata: lalloc(0, )"
+
+#, c-format
+msgid "E342: Out of memory!  (allocating %lu bytes)"
+msgstr "E342: Yetersiz bellek! (%lu bayt ayrılıyor)"
+
 msgid "E163: There is only one file to edit"
 msgstr "E163: Düzenlenecek yalnızca bir dosya var"
 
@@ -76,8 +102,9 @@ msgstr "E680: <buffer=%d>: Geçersiz arabellek numarası"
 msgid "E217: Can't execute autocommands for ALL events"
 msgstr "E217: Otokomutlar TÜM olaylar için çalıştırılamıyor"
 
-msgid "No matching autocommands"
-msgstr "Eşleşen otokomut yok"
+#, c-format
+msgid "No matching autocommands: %s"
+msgstr "Eşleşen otokomut yok: %s"
 
 msgid "E218: autocommand nesting too deep"
 msgstr "E218: Çok fazla iç içe geçmiş otokomut"
@@ -97,6 +124,12 @@ msgstr "%s otokomutu"
 msgid "E972: Blob value does not have the right number of bytes"
 msgstr "E972: İkili geniş nesne değeri doğru bayt sayısına sahip değil"
 
+msgid "add() argument"
+msgstr "add() argümanı"
+
+msgid "insert() argument"
+msgstr "insert() argümanı"
+
 msgid "E831: bf_key_init() called with empty password"
 msgstr "E831: bf_key_init() boş bir şifre ile çağrıldı"
 
@@ -121,12 +154,6 @@ msgstr "[Hızlı Düzelt Listesi]"
 msgid "E855: Autocommands caused command to abort"
 msgstr "E855: Otokomutlar komutun durmasına neden oldu"
 
-msgid "E82: Cannot allocate any buffer, exiting..."
-msgstr "E82: Arabellek ayrılamadı, çıkılıyor..."
-
-msgid "E83: Cannot allocate buffer, using other one..."
-msgstr "E83: Arabellek ayrılamadı, başka bir tane kullanılıyor..."
-
 msgid "E931: Buffer cannot be registered"
 msgstr "E931: Arabellek kaydedilemedi"
 
@@ -134,27 +161,6 @@ msgstr "E931: Arabellek kaydedilemedi"
 msgid "E937: Attempt to delete a buffer that is in use: %s"
 msgstr "E937: Kullanımda olan bir arabellek silinmeye çalışılıyor: %s"
 
-msgid "E90: Cannot unload last buffer"
-msgstr "E90: Son arabellek bellekten kaldırılamıyor"
-
-msgid "E84: No modified buffer found"
-msgstr "E84: Değiştirilmiş bir arabellek bulunamadı"
-
-msgid "E85: There is no listed buffer"
-msgstr "E85: Listelenmiş bir arabellek yok"
-
-msgid "E87: Cannot go beyond last buffer"
-msgstr "E87: Son arabellekten öteye gidilemez"
-
-msgid "E88: Cannot go before first buffer"
-msgstr "E88: İlk arabellekten öncesine gidilemez"
-
-#, c-format
-msgid "E89: No write since last change for buffer %d (add ! to override)"
-msgstr ""
-"E89: %d numaralı arabellek son değişiklikten sonra yazılmadı (geçersiz "
-"kılmak için ! ekleyin)"
-
 msgid "E515: No buffers were unloaded"
 msgstr "E515: Hiçbir arabellek bellekten kaldırılmadı"
 
@@ -185,38 +191,16 @@ msgstr[1] "%d arabellek yok edildi"
 msgid "E948: Job still running (add ! to end the job)"
 msgstr "E948: İş hâlâ sürüyor (bitirmek için ! ekleyin)"
 
-msgid "E37: No write since last change (add ! to override)"
-msgstr ""
-"E37: Son değişiklikten sonra yazılmadı (geçersiz kılmak için ! ekleyin)"
-
 msgid "E948: Job still running"
 msgstr "E948: İş hâlâ sürüyor"
 
-msgid "E37: No write since last change"
-msgstr "E37: Son değişiklikten sonra yazılmadı"
-
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Uyarı: Dosya adları taşımı"
 
-#, c-format
-msgid "E92: Buffer %d not found"
-msgstr "E92: %d numaralı arabellek bulunamadı"
-
-#, c-format
-msgid "E93: More than one match for %s"
-msgstr "E93: %s için birden çok eşleşme"
-
-#, c-format
-msgid "E94: No matching buffer for %s"
-msgstr "E94: %s için eşleşen arabellek yok"
-
 #, c-format
 msgid "line %ld"
 msgstr "%ld. satır"
 
-msgid "E95: Buffer with this name already exists"
-msgstr "E95: Aynı adda bir arabellek hâlihazırda var"
-
 msgid " [Modified]"
 msgstr " [Değiştirildi]"
 
@@ -514,10 +498,9 @@ msgid "Warning: Using a weak encryption method; see :help 'cm'"
 msgstr ""
 "Uyarı: Zayıf bir şifreleme yöntemi kullanılıyor; bilgi için: :help 'cm'"
 
-msgid ""
-"Note: Encryption of swapfile not supported, disabling swap- and undofile"
-msgstr "Takas dosyası şifrelemesi desteklenmiyor, takas ve geri al dosyası "
-"devre dışı bırakılıyor"
+msgid "Note: Encryption of swapfile not supported, disabling swap file"
+msgstr "Not: Takas dosyası şifrelenmesi desteklenmiyor, takas dosyası devre "
+"dışı bırakılacak"
 
 msgid "Enter encryption key: "
 msgstr "Şifreleme anahtarı girin: "
@@ -584,10 +567,6 @@ msgstr "extend() argümanı"
 msgid "E737: Key already exists: %s"
 msgstr "E737: Anahtar hâlihazırda var: %s"
 
-#, c-format
-msgid "E96: Cannot diff more than %d buffers"
-msgstr "E96: %d arabellekten fazlasında karşılaştırma yapılamıyor"
-
 #, c-format
 msgid "Not enough memory to use internal diff for buffer \"%s\""
 msgstr "\"%s\" arabelleği için karşılaştırma yapacak yeterli bellek yok"
@@ -595,9 +574,6 @@ msgstr "\"%s\" arabelleği için karşılaştırma yapacak yeterli bellek yok"
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: Geçici dosyalar okunamıyor veya yazılamıyor"
 
-msgid "E97: Cannot create diffs"
-msgstr "E97: Karşılaştırma yapılamıyor"
-
 msgid "E960: Problem creating the internal diff"
 msgstr "E960: Karşılaştırma hazırlanırken sorun"
 
@@ -607,41 +583,16 @@ msgstr "Yama dosyası"
 msgid "E816: Cannot read patch output"
 msgstr "E816: Yama çıktısı okunamıyor"
 
-msgid "E98: Cannot read diff output"
-msgstr "E98: Karşılaştırma çıktısı okunamıyor"
-
 msgid "E959: Invalid diff format."
 msgstr "E959: Geçersiz karşılaştırma biçimi"
 
-msgid "E99: Current buffer is not in diff mode"
-msgstr "E99: Şu anki arabellek karşılaştırma kipinde değil"
-
 msgid "E793: No other buffer in diff mode is modifiable"
 msgstr ""
 "E793: Karşılaştırma kipindeki başka hiçbir arabellek değiştirilebilir değil"
 
-msgid "E100: No other buffer in diff mode"
-msgstr "E100: Karşılaştırma kipinde başka hiçbir arabellek yok"
-
-msgid "E101: More than two buffers in diff mode, don't know which one to use"
-msgstr ""
-"E101: Karşılaştırma kipinde ikiden fazla arabellek var, hangisinin "
-"kullanılacağı belli değil"
-
-#, c-format
-msgid "E102: Can't find buffer \"%s\""
-msgstr "E102: Arabellek \"%s\" bulunamıyor"
-
-#, c-format
-msgid "E103: Buffer \"%s\" is not in diff mode"
-msgstr "E103: Arabellek \"%s\" karşılaştırma kipinde değil"
-
 msgid "E787: Buffer changed unexpectedly"
 msgstr "E787: Arabellek beklenmeyen bir biçimde değiştirildi"
 
-msgid "E104: Escape not allowed in digraph"
-msgstr "E104: Kaçan, ikili harflerde kullanılamaz"
-
 msgid "Custom"
 msgstr "Özel"
 
@@ -720,9 +671,6 @@ msgstr "Bopomofo"
 msgid "E544: Keymap file not found"
 msgstr "E544: Düğme eşlem dosyası bulunamadı"
 
-msgid "E105: Using :loadkeymap not in a sourced file"
-msgstr "E105: :loadkeymap kaynak alınmayan bir dosyada kullanılıyor"
-
 msgid "E791: Empty keymap entry"
 msgstr "E791: Boş düğme eşlem girdisi"
 
@@ -745,9 +693,6 @@ msgstr "E996: Bir liste veya sözlük kilitlenemiyor"
 msgid "E260: Missing name after ->"
 msgstr "E260: -> sonrası ad eksik"
 
-msgid "E695: Cannot index a Funcref"
-msgstr "E695: Bir Funcref dizinlenemiyor"
-
 msgid "Not enough memory to set references, garbage collection aborted!"
 msgstr "Referansları ayarlamak için yetersiz bellek, atık toplama durduruldu"
 
@@ -849,10 +794,6 @@ msgstr "E996: Ortam değişkeni kilitlenemiyor"
 msgid "E996: Cannot lock a register"
 msgstr "E996: Yazmaç kilitlenemiyor"
 
-#, c-format
-msgid "E108: No such variable: \"%s\""
-msgstr "E108: Böyle bir değişken yok: \"%s\""
-
 msgid "E743: variable nested too deep for (un)lock"
 msgstr "E743: Değişken kilitlenemez/kilidi açılamaz, çok iç içe geçmiş"
 
@@ -860,10 +801,6 @@ msgstr "E743: Değişken kilitlenemez/kilidi açılamaz, çok iç içe geçmiş"
 msgid "E963: setting %s to value with wrong type"
 msgstr "E963: %s yanlış türe sahip değere ayarlanıyor"
 
-#, c-format
-msgid "E795: Cannot delete variable %s"
-msgstr "E795: %s değişkeni silinemiyor"
-
 #, c-format
 msgid "E704: Funcref variable name must start with a capital: %s"
 msgstr "E704: Funcref değişkeni BÜYÜK harf ile başlamalıdır: %s"
@@ -872,17 +809,6 @@ msgstr "E704: Funcref değişkeni BÜYÜK harf ile başlamalıdır: %s"
 msgid "E705: Variable name conflicts with existing function: %s"
 msgstr "E705: Değişken adı mevcut işlevle çakışıyor: %s"
 
-#, c-format
-msgid "E741: Value is locked: %s"
-msgstr "E741: Değer kilitli: %s"
-
-msgid "Unknown"
-msgstr "Bilinmiyor"
-
-#, c-format
-msgid "E742: Cannot change value of %s"
-msgstr "E742: %s değeri değiştirilemiyor"
-
 msgid "E921: Invalid callback argument"
 msgstr "E921: Geçersiz geri çağırma argümanı"
 
@@ -1087,16 +1013,16 @@ msgstr "Çalıştırılıyor: %s"
 msgid "E169: Command too recursive"
 msgstr "E169: Komut çok özyineli"
 
-#, c-format
-msgid "E605: Exception not caught: %s"
-msgstr "E605: Kural dışı durum yakalanmadı: %s"
-
 msgid "End of sourced file"
 msgstr "Kaynak alınan dosyanın sonu"
 
 msgid "End of function"
 msgstr "İşlevin sonu"
 
+#, c-format
+msgid "E605: Exception not caught: %s"
+msgstr "E605: Kural dışı durum yakalanmadı: %s"
+
 msgid "E492: Not an editor command"
 msgstr "E492: Bir düzenleyici komutu değil"
 
@@ -1254,9 +1180,6 @@ msgstr "E500: Boş bir satır olarak değer biçer"
 msgid "Untitled"
 msgstr "Adsız"
 
-msgid "E196: No digraphs in this version"
-msgstr "E196: Bu sürümde ikili harfler bulunmamaktadır"
-
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: 'Vim' öneki ile kural dışı durumlar :throw edilemez"
 
@@ -1965,13 +1888,13 @@ msgid "E621: \"%s\" resource file has wrong version"
 msgstr "E621: \"%s\" kaynak dosyası sürümü hatalı"
 
 msgid "E673: Incompatible multi-byte encoding and character set."
-msgstr "E673: Uyumsuz çoklu bit kodlaması ve karakter seti."
+msgstr "E673: Uyumsuz çoklu bayt kodlaması ve karakter seti."
 
 msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
-msgstr "E674: printmbcharset çoklu bit kodlamada boş olamaz"
+msgstr "E674: printmbcharset çoklu bayt kodlamada boş olamaz"
 
 msgid "E675: No default font specified for multi-byte printing."
-msgstr "E675: Çoklu bit yazdırma için öntanımlı yazıtipi ayarlanmamış."
+msgstr "E675: Çoklu bayt yazdırma için öntanımlı yazıtipi ayarlanmamış."
 
 msgid "E324: Can't open PostScript output file"
 msgstr "E324: PostScript çıktı dosyası açılamıyor"
@@ -2040,38 +1963,14 @@ msgstr "E154: Şu dosyada yinelenen \"%s\" etiketi: %s/%s"
 
 #, c-format
 msgid "E150: Not a directory: %s"
-msgstr "E150: %s bir dizin değil"
+msgstr "E150: %s, bir dizin değil"
 
 msgid "E679: recursive loop loading syncolor.vim"
 msgstr "E679: syncolor.vim yüklenirken özyineli döngü"
 
-#, c-format
-msgid "E411: highlight group not found: %s"
-msgstr "E411: Vurgulama grubu bulunamadı: %s"
-
-#, c-format
-msgid "E412: Not enough arguments: \":highlight link %s\""
-msgstr "E412: Yetersiz sayıda argüman: \":highlight link %s\""
-
-#, c-format
-msgid "E413: Too many arguments: \":highlight link %s\""
-msgstr "E413: Çok fazla argüman: \":highlight link %s\""
-
 msgid "E414: group has settings, highlight link ignored"
 msgstr "E414: Grup ayarları mevcut, vurgulama bağlantısı yok sayıldı"
 
-#, c-format
-msgid "E415: unexpected equal sign: %s"
-msgstr "E415: Beklenmedik eşittir imi: %s"
-
-#, c-format
-msgid "E416: missing equal sign: %s"
-msgstr "E416: Eksik eşittir imi: %s"
-
-#, c-format
-msgid "E417: missing argument: %s"
-msgstr "E417: Argüman eksik: %s"
-
 #, c-format
 msgid "E418: Illegal value: %s"
 msgstr "E418: İzin verilmeyen değer: %s"
@@ -2093,6 +1992,30 @@ msgstr "E421: Renk adı veya numarası tanımlanamadı: %s"
 msgid "E422: terminal code too long: %s"
 msgstr "E422: Uçbirim kodu çok uzun: %s"
 
+#, c-format
+msgid "E411: highlight group not found: %s"
+msgstr "E411: Vurgulama grubu bulunamadı: %s"
+
+#, c-format
+msgid "E412: Not enough arguments: \":highlight link %s\""
+msgstr "E412: Yetersiz sayıda argüman: \":highlight link %s\""
+
+#, c-format
+msgid "E413: Too many arguments: \":highlight link %s\""
+msgstr "E413: Çok fazla argüman: \":highlight link %s\""
+
+#, c-format
+msgid "E415: unexpected equal sign: %s"
+msgstr "E415: Beklenmedik eşittir imi: %s"
+
+#, c-format
+msgid "E416: missing equal sign: %s"
+msgstr "E416: Eksik eşittir imi: %s"
+
+#, c-format
+msgid "E417: missing argument: %s"
+msgstr "E417: Argüman eksik: %s"
+
 #, c-format
 msgid "E423: Illegal argument: %s"
 msgstr "E423: İzin verilmeyen argüman: %s"
@@ -2144,12 +2067,9 @@ msgstr "E257: cstag: Etiket bulunamadı"
 msgid "E563: stat(%s) error: %d"
 msgstr "E563: stat(%s) hatası: %d"
 
-msgid "E563: stat error"
-msgstr "E563: stat hatası"
-
 #, c-format
 msgid "E564: %s is not a directory or a valid cscope database"
-msgstr "E564: %s bir dizin veya geçerli bir cscope veritabanı değil"
+msgstr "E564: %s, bir dizin veya geçerli bir cscope veritabanı değil"
 
 #, c-format
 msgid "Added cscope database %s"
@@ -2612,18 +2532,18 @@ msgstr "flatten() argümanı"
 msgid "E696: Missing comma in List: %s"
 msgstr "E696: Listede virgül eksik: %s"
 
-msgid "sort() argument"
-msgstr "sort() argümanı"
-
-msgid "uniq() argument"
-msgstr "uniq() argümanı"
-
 msgid "E702: Sort compare function failed"
 msgstr "E702: Sıralayıp karşılaştırma işlevi başarısız oldu"
 
 msgid "E882: Uniq compare function failed"
 msgstr "E882: Benzersizlik karşılaştırma işlevi başarısız oldu"
 
+msgid "sort() argument"
+msgstr "sort() argümanı"
+
+msgid "uniq() argument"
+msgstr "uniq() argümanı"
+
 msgid "map() argument"
 msgstr "map() argümanı"
 
@@ -2633,15 +2553,9 @@ msgstr "mapnew() argümanı"
 msgid "filter() argument"
 msgstr "filter() argümanı"
 
-msgid "add() argument"
-msgstr "add() argümanı"
-
 msgid "extendnew() argument"
 msgstr "extendnew() argümanı"
 
-msgid "insert() argument"
-msgstr "insert() argümanı"
-
 msgid "remove() argument"
 msgstr "remove() argümanı"
 
@@ -3683,7 +3597,7 @@ msgid "E354: Invalid register name: '%s'"
 msgstr "E354: Geçersiz yazmaç adı: '%s'"
 
 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
-msgstr "Türkçeye çeviren: Emir SARI <bitigchi@me.com>"
+msgstr "Türkçeye çeviren: Emir SARI <emir_sari@msn.com>"
 
 msgid "Interrupt: "
 msgstr "Yarıda kes: "
@@ -3691,6 +3605,9 @@ msgstr "Yarıda kes: "
 msgid "Press ENTER or type command to continue"
 msgstr "Sürdürmek için ENTER'a basın veya komut girin"
 
+msgid "Unknown"
+msgstr "Bilinmiyor"
+
 #, c-format
 msgid "%s line %ld"
 msgstr "%s %ld. satır"
@@ -3724,15 +3641,6 @@ msgstr ""
 "&Tümünü At\n"
 "İ&ptal"
 
-msgid "E766: Insufficient arguments for printf()"
-msgstr "E766: printf() için yetersiz argüman"
-
-msgid "E807: Expected Float argument for printf()"
-msgstr "E807: printf() için kayan noktalı değer türünde argüman bekleniyordu"
-
-msgid "E767: Too many arguments to printf()"
-msgstr "E767: printf() için çok fazla argüman"
-
 msgid "Type number and <Enter> or click with the mouse (q or empty cancels): "
 msgstr ""
 "Sayı girip <Enter>'a veya fare düğmesine basın (q veya boş iptal eder): "
@@ -3761,32 +3669,6 @@ msgstr "Bip!"
 msgid "E677: Error writing temp file"
 msgstr "E677: Geçici dosya yazılırken hata"
 
-msgid "ERROR: "
-msgstr "HATA: "
-
-#, c-format
-msgid ""
-"\n"
-"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
-msgstr ""
-"\n"
-"[bitler] toplam ayrılan/boşaltılan %lu-%lu, kullanımda %lu, doruk nokt. %lu\n"
-
-#, c-format
-msgid ""
-"[calls] total re/malloc()'s %lu, total free()'s %lu\n"
-"\n"
-msgstr ""
-"[çağrılar] toplam re/malloc()'lar %lu, toplam free()'ler %lu\n"
-"\n"
-
-msgid "E341: Internal error: lalloc(0, )"
-msgstr "E341: İç hata: lalloc(0, )"
-
-#, c-format
-msgid "E342: Out of memory!  (allocating %lu bytes)"
-msgstr "E342: Yetersiz bellek! (%lu bit ayrılıyor)"
-
 #, c-format
 msgid "Calling shell to execute: \"%s\""
 msgstr "Çalıştırmak için çağrılan kabuk: \"%s\""
@@ -3886,26 +3768,26 @@ msgstr "%ld Sütun; "
 
 #, c-format
 msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes"
-msgstr "%s%ld/%ld satır; %lld/%lld sözcük; %lld/%lld bit seçildi"
+msgstr "%s%ld/%ld satır; %lld/%lld sözcük; %lld/%lld bayt seçildi"
 
 #, c-format
 msgid ""
 "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of "
 "%lld Bytes"
 msgstr ""
-"%s%ld/%ld satır; %lld/%lld sözcük; %lld/%lld karakter; %lld/%lld bit seçildi"
+"%s%ld/%ld satır; %lld/%lld sözcük; %lld/%lld karakter; %lld/%lld bayt seçildi"
 
 #, c-format
 msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld"
-msgstr "Sütun %s/%s; Satır %ld/%ld; Sözcük %lld/%lld; Bit %lld/%lld"
+msgstr "%s/%s sütun; %ld/%ld satır; %lld/%lld sözcük; %lld/%lld bayt"
 
 #, c-format
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte "
 "%lld of %lld"
 msgstr ""
-"Sütun %s/%s; Satır %ld/%ld; Sözcük %lld/%lld; Karakter %lld/%lld; Bit %lld/"
-"%lld"
+"%s/%s sütun; %ld/%ld satır; %lld/%lld sözcük; %lld/%lld karakter; %lld/%lld "
+"bayt"
 
 #, c-format
 msgid "(+%lld for BOM)"
@@ -4023,12 +3905,6 @@ msgstr "E531: Grafik arabirimi başlatmak için \":gui\" yazın"
 msgid "E589: 'backupext' and 'patchmode' are equal"
 msgstr "E589: 'backupext' ve 'patchmode' birbirine eşit"
 
-msgid "E835: Conflicts with value of 'fillchars'"
-msgstr "E835: 'fillchars' değeriyle çakışmalar var"
-
-msgid "E834: Conflicts with value of 'listchars'"
-msgstr "E834: 'listchars' değeriyle çakışmalar var"
-
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617: GTK+ 2 grafik arabiriminde değiştirilemez"
 
@@ -4427,32 +4303,6 @@ msgstr "E944: Karakter sınıfında geriye dönük erim"
 msgid "E945: Range too large in character class"
 msgstr "E945: Karakter sınıfında erim çok büyük"
 
-#, c-format
-msgid "E53: Unmatched %s%%("
-msgstr "E53: Eşleşmemiş %s%%("
-
-#, c-format
-msgid "E54: Unmatched %s("
-msgstr "E54: Eşleşmemiş %s("
-
-#, c-format
-msgid "E55: Unmatched %s)"
-msgstr "E55: Eşleşmemiş %s)"
-
-msgid "E66: \\z( not allowed here"
-msgstr "E66: \\z('ye burada izin verilmiyor"
-
-msgid "E67: \\z1 - \\z9 not allowed here"
-msgstr "E67: \\z1 - \\z9'a burada izin verilmiyor"
-
-#, c-format
-msgid "E69: Missing ] after %s%%["
-msgstr "E69: %s%%[ sonrasında ] eksik"
-
-#, c-format
-msgid "E70: Empty %s%%[]"
-msgstr "E70: Boş %s%%[]"
-
 msgid "E956: Cannot use pattern recursively"
 msgstr "E956: Dizgi özyineli olarak kullanılamaz"
 
@@ -4478,16 +4328,6 @@ msgstr ""
 msgid "Switching to backtracking RE engine for pattern: "
 msgstr "Şu dizgi için düzenli ifade iz sürme motoruna geçiliyor: "
 
-msgid "E65: Illegal back reference"
-msgstr "E65: Geçersiz dönüş başvurusu"
-
-msgid "E63: invalid use of \\_"
-msgstr "E63: Geçersiz kullanım: \\_"
-
-#, c-format
-msgid "E64: %s%c follows nothing"
-msgstr "E64: %s%c tek başına kullanılıyor"
-
 msgid "E68: Invalid character after \\z"
 msgstr "E68: \\z sonrası geçersiz karakter"
 
@@ -4495,36 +4335,6 @@ msgstr "E68: \\z sonrası geçersiz karakter"
 msgid "E678: Invalid character after %s%%[dxouU]"
 msgstr "E678: %s%%[dxouU] sonrası geçersiz karakter"
 
-#, c-format
-msgid "E71: Invalid character after %s%%"
-msgstr "E71: %s%% sonrası geçersiz karakter"
-
-#, c-format
-msgid "E59: invalid character after %s@"
-msgstr "E59: %s@ sonrası geçersiz karakter"
-
-#, c-format
-msgid "E60: Too many complex %s{...}s"
-msgstr "E60: Çok fazla karmaşık %s{...}(lar)"
-
-#, c-format
-msgid "E61: Nested %s*"
-msgstr "E61: İç içe geçmiş %s*"
-
-#, c-format
-msgid "E62: Nested %s%c"
-msgstr "E62: İç içe geçmiş %s%c"
-
-msgid "E50: Too many \\z("
-msgstr "E50: Çok fazla \\z("
-
-#, c-format
-msgid "E51: Too many %s("
-msgstr "E51: Çok fazla %s("
-
-msgid "E52: Unmatched \\z("
-msgstr "E52: Eşleşmemiş \\z("
-
 msgid "E339: Pattern too long"
 msgstr "E339: Dizgi çok uzun"
 
@@ -4599,10 +4409,6 @@ msgstr "E878: (BSO) Dal gezinmesi için bellek ayrılamadı!"
 msgid "E748: No previously used register"
 msgstr "E748: Daha önce kullanılan bir yazmaç yok"
 
-#, c-format
-msgid "freeing %ld lines"
-msgstr "%ld satırlık yer açılıyor"
-
 #, c-format
 msgid " into \"%c"
 msgstr " \"%c"
@@ -5196,7 +5002,7 @@ msgstr "Öneriler dosyası %s yazılıyor..."
 
 #, c-format
 msgid "Estimated runtime memory use: %d bytes"
-msgstr "Tahmini çalıştırılan bellek kullanımı: %d bit"
+msgstr "Tahmini çalışma bellek kullanımı: %d bayt"
 
 msgid "E751: Output file name must not have region name"
 msgstr "E751: Çıktı dosyası bir bölge adı içermemelidir"
@@ -5255,6 +5061,15 @@ msgstr "\"%.*s\" şuna değiştirilecek:"
 msgid " < \"%.*s\""
 msgstr " < \"%.*s\""
 
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: printf() için yetersiz argüman"
+
+msgid "E807: Expected Float argument for printf()"
+msgstr "E807: printf() için kayan noktalı değer türünde argüman bekleniyordu"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: printf() için çok fazla argüman"
+
 #, c-format
 msgid "E390: Illegal argument: %s"
 msgstr "E390: İzin verilmeyen argüman: %s"
@@ -5512,7 +5327,7 @@ msgstr "E431: Etiket dosyası \"%s\" içinde biçim hatası"
 
 #, c-format
 msgid "Before byte %ld"
-msgstr "%ld bitinden önce"
+msgstr "%ld baytından önce"
 
 #, c-format
 msgid "E432: Tags file not sorted: %s"
@@ -5614,12 +5429,12 @@ msgstr "E964: Geçersiz sütun numarası: %ld"
 msgid "E966: Invalid line number: %ld"
 msgstr "E966: Geçersiz satır numarası: %ld"
 
-msgid "E965: missing property type name"
-msgstr "E965: Özellik tür adı eksik"
-
 msgid "E275: Cannot add text property to unloaded buffer"
 msgstr "E275: Bellekten kaldırılmış arabelleğe metin özelliği eklenemiyor"
 
+msgid "E965: missing property type name"
+msgstr "E965: Özellik tür adı eksik"
+
 msgid "E967: text property info corrupted"
 msgstr "E967: Metin özellik bilgisi hasarlı"
 
@@ -5712,17 +5527,17 @@ msgstr "E731: Sözlük bir Dizi yerine kullanılıyor"
 msgid "E976: Using a Blob as a String"
 msgstr "E976: İkili Geniş Nesne bir Dizi yerine kullanılıyor"
 
-msgid "E977: Can only compare Blob with Blob"
-msgstr ""
-"E977: Bir ikili geniş öğe yalnızca kendinden bir başkası ile "
-"karşılaştırılabilir"
-
 msgid "E691: Can only compare List with List"
 msgstr "E691: Bir liste yalnızca başka bir liste ile karşılaştırılabilir"
 
 msgid "E692: Invalid operation for List"
 msgstr "E692: Geçersiz liste işlemi"
 
+msgid "E977: Can only compare Blob with Blob"
+msgstr ""
+"E977: Bir ikili geniş öğe yalnızca kendinden bir başkası ile "
+"karşılaştırılabilir"
+
 msgid "E735: Can only compare Dictionary with Dictionary"
 msgstr "E735: Bir sözlük yalnızca başka bir sözlük ile karşılaştırılabilir"
 
@@ -5732,22 +5547,10 @@ msgstr "E736: Geçersiz sözlük işlemi"
 msgid "E694: Invalid operation for Funcrefs"
 msgstr "E694: Geçersiz Funcref işlemi"
 
-#, c-format
-msgid "E112: Option name missing: %s"
-msgstr "E112: Seçenek adı eksik: %s"
-
 msgid "E973: Blob literal should have an even number of hex characters"
 msgstr ""
 "E973: İkili geniş nesne hazır bilgisi çift onalt. karakterlere iye olmalıdır"
 
-#, c-format
-msgid "E114: Missing quote: %s"
-msgstr "E114: Tırnak imi eksik: %s"
-
-#, c-format
-msgid "E115: Missing quote: %s"
-msgstr "E115: Tırnak imi eksik: %s"
-
 msgid "new shell started\n"
 msgstr "yeni kabuk başlatıldı\n"
 
@@ -5940,10 +5743,6 @@ msgstr "E183: Kullanıcı tanımlı komutlar BÜYÜK harfle başlamalıdır"
 msgid "E841: Reserved name, cannot be used for user defined command"
 msgstr "E841: Ayrılmış ad, kullanıcı tanımlı komut için kullanılamaz"
 
-#, c-format
-msgid "E184: No such user-defined command: %s"
-msgstr "E184: Böyle bir kullanıcı tanımlı komut yok: %s"
-
 #, c-format
 msgid "E122: Function %s already exists, add ! to replace it"
 msgstr "E122: %s işlevi hâlihazırda mevcut, değiştirmek için ! ekleyin"
@@ -5984,10 +5783,6 @@ msgstr "E451: } bekleniyordu: %s"
 msgid "E740: Too many arguments for function %s"
 msgstr "E740: %s işlevi için çok fazla argüman"
 
-#, c-format
-msgid "E116: Invalid arguments for function %s"
-msgstr "E116: %s işlevi için geçersiz argümanlar"
-
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
 msgstr "E132: İşlevin çağırdığı derinlik 'maxfuncdepth'ten daha yüksek"
 
@@ -6014,10 +5809,6 @@ msgstr "E699: Çok fazla argüman"
 msgid "E276: Cannot use function as a method: %s"
 msgstr "E276: İşlev bir yöntem olarak kullanılamaz: %s"
 
-#, c-format
-msgid "E120: Using <SID> not in a script context: %s"
-msgstr "E120: <SID> bir betik bağlamında kullanılmıyor: %s"
-
 #, c-format
 msgid "E725: Calling dict function without Dictionary: %s"
 msgstr "E725: dic işlevi bir sözlük olmadan çağrılıyor: %s"
@@ -6358,9 +6149,6 @@ msgstr "bilgi için             :help register<Enter>  "
 msgid "menu  Help->Sponsor/Register  for information    "
 msgstr "bilgi için             Yardım -> Sponsorluk/Kayıt"
 
-msgid "[end of lines]"
-msgstr "[satırların sonu]"
-
 msgid "global"
 msgstr "global"
 
@@ -6373,6 +6161,9 @@ msgstr "pencere"
 msgid "tab"
 msgstr "sekme"
 
+msgid "[end of lines]"
+msgstr "[satırların sonu]"
+
 msgid ""
 "\n"
 "# Buffer list:\n"
@@ -6523,7 +6314,7 @@ msgstr "E137: Viminfo dosyası yazılabilir değil: %s"
 
 #, c-format
 msgid "E929: Too many viminfo temp files, like %s!"
-msgstr "E929: Çok fazla viminfo geçici dosyası, örneğin %s!"
+msgstr "E929: Çok fazla viminfo geçici dosyası; örneğin %s!"
 
 #, c-format
 msgid "E138: Can't write viminfo file %s!"
@@ -6543,10 +6334,6 @@ msgstr "E195: viminfo dosyası okuma için açılamıyor"
 msgid "Already only one window"
 msgstr "Zaten tek pencere"
 
-#, c-format
-msgid "E92: Buffer %ld not found"
-msgstr "E92: Arabellek %ld bulunamadı"
-
 msgid "E441: There is no preview window"
 msgstr "E441: Önizleme penceresi yok"
 
@@ -6583,8 +6370,8 @@ msgstr ""
 "E299: Güvenli modül olmadan kum havuzu içinde Perl değerlendirmesine izin "
 "verilmiyor"
 
-msgid "Edit with &multiple Vims"
-msgstr "Birden &fazla Vim ile düzenle"
+msgid "Edit with Vim using &tabpages"
+msgstr "Vim'de &sekme sayfaları kullanarak düzenle"
 
 msgid "Edit with single &Vim"
 msgstr "Tek bir &Vim ile düzenle"
@@ -6610,9 +6397,6 @@ msgstr "İşlem oluşturulurken hata: gvim'in yol üzerinde olduğundan emin olu
 msgid "gvimext.dll error"
 msgstr "gvimext.dll hatası"
 
-msgid "Path length too long!"
-msgstr "Yol çok uzun!"
-
 msgid "E10: \\ should be followed by /, ? or &"
 msgstr "E10: \\ sonrasında /, ? veya & gelmeli"
 
@@ -6662,112 +6446,488 @@ msgstr "E23: Başka bir dosya yok"
 msgid "E24: No such abbreviation"
 msgstr "E24: Böyle bir kısaltma yok"
 
-#, c-format
-msgid "E121: Undefined variable: %s"
-msgstr "E121: Tanımlanmamış değişken: %s"
+msgid "E25: GUI cannot be used: Not enabled at compile time"
+msgstr "E25: Grafik arabirim kullanılamaz: Derlenirken etkinleştirilmemiş"
+
+msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
+msgstr "E26: İbranca kullanılamaz: Derlenirken etkinleştirilmemiş\n"
+
+msgid "E27: Farsi support has been removed\n"
+msgstr "E27: Farsça desteği kaldırıldı\n"
 
 #, c-format
-msgid "E121: Undefined variable: %c:%s"
-msgstr "E121: Tanımlanmamış değişken: %c:%s"
+msgid "E28: No such highlight group name: %s"
+msgstr "E28: Böyle bir vurgulama grup adı yok: %s"
 
-msgid "E464: Ambiguous use of user-defined command"
-msgstr "E464: Kullanıcı tanımlı komutun belirsiz kullanımı"
+msgid "E29: No inserted text yet"
+msgstr "E29: Henüz bir metin eklenmedi"
 
-msgid "E476: Invalid command"
-msgstr "E476: Geçersiz komut"
+msgid "E30: No previous command line"
+msgstr "E30: Öncesinde komut satırı yok"
 
-#, c-format
-msgid "E476: Invalid command: %s"
-msgstr "E476: Geçersiz komut: %s"
+msgid "E31: No such mapping"
+msgstr "E31: Böyle bir eşlem yok"
 
-msgid "E710: List value has more items than targets"
-msgstr "E710: Liste değeri hedeften daha fazla ögeye sahip"
+msgid "E32: No file name"
+msgstr "E32: Dosya adı yok"
 
-msgid "E711: List value does not have enough items"
-msgstr "E711: Liste değeri yeterli ögeye sahip değil"
+msgid "E33: No previous substitute regular expression"
+msgstr "E33: Öncesinde yerine geçen bir düzenli ifade yok"
 
-msgid "E719: Cannot slice a Dictionary"
-msgstr "E719: Bir Sözlük dilimlenemiyor"
+msgid "E34: No previous command"
+msgstr "E34: Öncesinde komut yok"
 
-msgid ""
-"E856: \"assert_fails()\" second argument must be a string or a list with one "
-"or two strings"
+msgid "E35: No previous regular expression"
+msgstr "E35: Öncesinde düzenli ifade yok"
+
+msgid "E36: Not enough room"
+msgstr "E36: Yeterli alan yok"
+
+msgid "E37: No write since last change"
+msgstr "E37: Son değişiklikten sonra yazılmadı"
+
+msgid "E37: No write since last change (add ! to override)"
 msgstr ""
-"E856: \"assert_fails()\" ikinci argüman bir dizi veya bir veya iki dizili "
-"bir liste olmalıdır"
+"E37: Son değişiklikten sonra yazılmadı (geçersiz kılmak için ! ekleyin)"
 
-#, c-format
-msgid "E908: using an invalid value as a String: %s"
-msgstr "E908: Geçersiz bir değer bir Dizi yerine kullanılıyor: %s"
+msgid "E38: Null argument"
+msgstr "E38: Anlamsız argüman"
 
-msgid "E909: Cannot index a special variable"
-msgstr "E909: Özel bir değişken dizinlenemiyor"
+msgid "E39: Number expected"
+msgstr "E39: Sayı bekleniyordu"
 
 #, c-format
-msgid "E1100: Command not supported in Vim9 script (missing :var?): %s"
-msgstr "E1100: Komut Vim9 betiğinde desteklenmiyor (:var? eksik): %s"
+msgid "E40: Can't open errorfile %s"
+msgstr "E40: Hata dosyası %s açılamıyor"
 
-#, c-format
-msgid "E1001: Variable not found: %s"
-msgstr "E1001: Değişken bulunamadı: %s"
+msgid "E41: Out of memory!"
+msgstr "E41: Bellek yetersiz!"
 
-#, c-format
-msgid "E1002: Syntax error at %s"
-msgstr "E1002: %s konumunda sözdizim hatası"
+msgid "E42: No Errors"
+msgstr "E42: Hata yok"
 
-msgid "E1003: Missing return value"
-msgstr "E1003: Dönüş değeri eksik"
+msgid "E43: Damaged match string"
+msgstr "E43: Hasarlı eşleşme dizisi"
 
-#, c-format
-msgid "E1004: White space required before and after '%s' at \"%s\""
-msgstr "E1004: Şu konumda '%s' öncesinde ve sonrasında boşluk gerekiyor: \"%s\""
+msgid "E44: Corrupted regexp program"
+msgstr "E44: Bozulmuş regexp programı"
 
-msgid "E1005: Too many argument types"
-msgstr "E1005: Çok fazla argüman türü"
+msgid "E45: 'readonly' option is set (add ! to override)"
+msgstr "E45: 'readonly' seçeneği ayarlanmış (geçersiz kılmak için ! ekleyin)"
+
+msgid "E46: Cannot change read-only variable"
+msgstr "E46: Saltokunur değişken değiştirilemiyor"
 
 #, c-format
-msgid "E1006: %s is used as an argument"
-msgstr "E1006: %s bir argüman olarak kullanılıyor"
+msgid "E46: Cannot change read-only variable \"%s\""
+msgstr "E46: Saltokunur değişken \"%s\" değiştirilemiyor"
 
-msgid "E1007: Mandatory argument after optional argument"
-msgstr "E1007: İsteğe bağlı argüman sonrasında zorunlu argüman"
+msgid "E47: Error while reading errorfile"
+msgstr "E47: Hata dosyası okunurken hata"
 
-msgid "E1008: Missing <type>"
-msgstr "E1008: <tür> eksik"
+msgid "E48: Not allowed in sandbox"
+msgstr "E48: Kum havuzunda izin verilmiyor"
 
-msgid "E1009: Missing > after type"
-msgstr "E1009: Tür sonrasında > eksik"
+msgid "E49: Invalid scroll size"
+msgstr "E49: Geçersiz kaydırma boyutu"
 
-#, c-format
-msgid "E1010: Type not recognized: %s"
-msgstr "E1010: Tür tanımlanamadı: %s"
+msgid "E50: Too many \\z("
+msgstr "E50: Çok fazla \\z("
 
 #, c-format
-msgid "E1011: Name too long: %s"
-msgstr "E1011: Ad çok uzun: %s"
+msgid "E51: Too many %s("
+msgstr "E51: Çok fazla %s("
 
-#, c-format
-msgid "E1012: Type mismatch; expected %s but got %s"
-msgstr "E1012: Tür uyumsuzluğu, %s bekleniyordu, ancak %s alındı"
+msgid "E52: Unmatched \\z("
+msgstr "E52: Eşleşmemiş \\z("
 
 #, c-format
-msgid "E1013: Argument %d: type mismatch, expected %s but got %s"
-msgstr "E1013: %d argümanı: Tür uyumsuzluğu, %s bekleniyordu, ancak %s alındı"
+msgid "E53: Unmatched %s%%("
+msgstr "E53: Eşleşmemiş %s%%("
 
 #, c-format
-msgid "E1014: Invalid key: %s"
-msgstr "E1014: Geçersiz anahtar: %s"
+msgid "E54: Unmatched %s("
+msgstr "E54: Eşleşmemiş %s("
 
 #, c-format
-msgid "E1015: Name expected: %s"
-msgstr "E1015: Ad bekleniyordu: %s"
+msgid "E55: Unmatched %s)"
+msgstr "E55: Eşleşmemiş %s)"
 
 #, c-format
-msgid "E1016: Cannot declare a %s variable: %s"
-msgstr "E1016: Bir %s değişkeni tanımlanamıyor: %s"
+msgid "E59: invalid character after %s@"
+msgstr "E59: %s@ sonrası geçersiz karakter"
 
 #, c-format
-msgid "E1016: Cannot declare an environment variable: %s"
+msgid "E60: Too many complex %s{...}s"
+msgstr "E60: Çok fazla karmaşık %s{...}(lar)"
+
+#, c-format
+msgid "E61: Nested %s*"
+msgstr "E61: İç içe geçmiş %s*"
+
+#, c-format
+msgid "E62: Nested %s%c"
+msgstr "E62: İç içe geçmiş %s%c"
+
+msgid "E63: invalid use of \\_"
+msgstr "E63: Geçersiz kullanım: \\_"
+
+#, c-format
+msgid "E64: %s%c follows nothing"
+msgstr "E64: %s%c tek başına kullanılıyor"
+
+msgid "E65: Illegal back reference"
+msgstr "E65: Geçersiz dönüş başvurusu"
+
+msgid "E66: \\z( not allowed here"
+msgstr "E66: \\z('ye burada izin verilmiyor"
+
+msgid "E67: \\z1 - \\z9 not allowed here"
+msgstr "E67: \\z1 - \\z9'a burada izin verilmiyor"
+
+#, c-format
+msgid "E69: Missing ] after %s%%["
+msgstr "E69: %s%%[ sonrasında ] eksik"
+
+#, c-format
+msgid "E70: Empty %s%%[]"
+msgstr "E70: Boş %s%%[]"
+
+#, c-format
+msgid "E71: Invalid character after %s%%"
+msgstr "E71: %s%% sonrası geçersiz karakter"
+
+msgid "E72: Close error on swap file"
+msgstr "E72: Takas dosyasında kapama hatası"
+
+msgid "E73: tag stack empty"
+msgstr "E73: Etiket yığını boş"
+
+msgid "E74: Command too complex"
+msgstr "E74: Komut çok karmaşık"
+
+msgid "E75: Name too long"
+msgstr "E75: Ad çok uzun"
+
+msgid "E76: Too many ["
+msgstr "E76: Çok fazla ["
+
+msgid "E77: Too many file names"
+msgstr "E77: Çok fazla dosya adı"
+
+msgid "E78: Unknown mark"
+msgstr "E78: Bilinmeyen im"
+
+msgid "E79: Cannot expand wildcards"
+msgstr "E79: Joker karakterleri genişletilemiyor"
+
+msgid "E80: Error while writing"
+msgstr "E80: Yazma sırasında hata"
+
+msgid "E81: Using <SID> not in a script context"
+msgstr "E81: <SID> bir betik bağlamında kullanılmıyor"
+
+msgid "E82: Cannot allocate any buffer, exiting..."
+msgstr "E82: Arabellek ayrılamadı, çıkılıyor..."
+
+msgid "E83: Cannot allocate buffer, using other one..."
+msgstr "E83: Arabellek ayrılamadı, başka bir tane kullanılıyor..."
+
+msgid "E84: No modified buffer found"
+msgstr "E84: Değiştirilmiş bir arabellek bulunamadı"
+
+msgid "E85: There is no listed buffer"
+msgstr "E85: Listelenmiş bir arabellek yok"
+
+#, c-format
+msgid "E86: Buffer %ld does not exist"
+msgstr "E86: Arabellek %ld mevcut değil"
+
+msgid "E87: Cannot go beyond last buffer"
+msgstr "E87: Son arabellekten öteye gidilemez"
+
+msgid "E88: Cannot go before first buffer"
+msgstr "E88: İlk arabellekten öncesine gidilemez"
+
+#, c-format
+msgid "E89: No write since last change for buffer %d (add ! to override)"
+msgstr ""
+"E89: %d numaralı arabellek son değişiklikten sonra yazılmadı (geçersiz "
+"kılmak için ! ekleyin)"
+
+msgid "E90: Cannot unload last buffer"
+msgstr "E90: Son arabellek bellekten kaldırılamıyor"
+
+msgid "E91: 'shell' option is empty"
+msgstr "E91: 'shell' seçeneği boş"
+
+#, c-format
+msgid "E92: Buffer %d not found"
+msgstr "E92: %d numaralı arabellek bulunamadı"
+
+#, c-format
+msgid "E93: More than one match for %s"
+msgstr "E93: %s için birden çok eşleşme"
+
+#, c-format
+msgid "E94: No matching buffer for %s"
+msgstr "E94: %s için eşleşen arabellek yok"
+
+msgid "E95: Buffer with this name already exists"
+msgstr "E95: Aynı adda bir arabellek hâlihazırda var"
+
+#, c-format
+msgid "E96: Cannot diff more than %d buffers"
+msgstr "E96: %d arabellekten fazlasında karşılaştırma yapılamıyor"
+
+msgid "E97: Cannot create diffs"
+msgstr "E97: Karşılaştırma yapılamıyor"
+
+msgid "E98: Cannot read diff output"
+msgstr "E98: Karşılaştırma çıktısı okunamıyor"
+
+msgid "E99: Current buffer is not in diff mode"
+msgstr "E99: Şu anki arabellek karşılaştırma kipinde değil"
+
+msgid "E100: No other buffer in diff mode"
+msgstr "E100: Karşılaştırma kipinde başka hiçbir arabellek yok"
+
+msgid "E101: More than two buffers in diff mode, don't know which one to use"
+msgstr ""
+"E101: Karşılaştırma kipinde ikiden fazla arabellek var, hangisinin "
+"kullanılacağı belli değil"
+
+#, c-format
+msgid "E102: Can't find buffer \"%s\""
+msgstr "E102: Arabellek \"%s\" bulunamıyor"
+
+#, c-format
+msgid "E103: Buffer \"%s\" is not in diff mode"
+msgstr "E103: Arabellek \"%s\" karşılaştırma kipinde değil"
+
+msgid "E104: Escape not allowed in digraph"
+msgstr "E104: Kaçan, ikili harflerde kullanılamaz"
+
+msgid "E105: Using :loadkeymap not in a sourced file"
+msgstr "E105: :loadkeymap kaynak alınmayan bir dosyada kullanılıyor"
+
+#, c-format
+msgid "E107: Missing parentheses: %s"
+msgstr "E107: Ayraç eksik: %s"
+
+#, c-format
+msgid "E108: No such variable: \"%s\""
+msgstr "E108: Böyle bir değişken yok: \"%s\""
+
+msgid "E109: Missing ':' after '?'"
+msgstr "E109: '?' sonrası ':' eksik"
+
+msgid "E110: Missing ')'"
+msgstr "E110: ')' eksik"
+
+msgid "E111: Missing ']'"
+msgstr "E111: ']' eksik"
+
+#, c-format
+msgid "E112: Option name missing: %s"
+msgstr "E112: Seçenek adı eksik: %s"
+
+#, c-format
+msgid "E113: Unknown option: %s"
+msgstr "E113: Bilinmeyen seçenek: %s"
+
+#, c-format
+msgid "E114: Missing double quote: %s"
+msgstr "E114: Çift tırnak eksik: %s"
+
+#, c-format
+msgid "E115: Missing single quote: %s"
+msgstr "E115: Tek tırnak eksik: %s"
+
+#, c-format
+msgid "E116: Invalid arguments for function %s"
+msgstr "E116: %s işlevi için geçersiz argümanlar"
+
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Bilinmeyen işlev: %s"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: İşlev için çok fazla argüman: %s"
+
+#, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119: Şu işlev için yetersiz sayıda argüman: %s"
+
+#, c-format
+msgid "E120: Using <SID> not in a script context: %s"
+msgstr "E120: <SID> bir betik bağlamında kullanılmıyor: %s"
+
+#, c-format
+msgid "E121: Undefined variable: %s"
+msgstr "E121: Tanımlanmamış değişken: %s"
+
+#, c-format
+msgid "E121: Undefined variable: %c:%s"
+msgstr "E121: Tanımlanmamış değişken: %c:%s"
+
+#, c-format
+msgid "E184: No such user-defined command: %s"
+msgstr "E184: Böyle bir kullanıcı tanımlı komut yok: %s"
+
+msgid "E196: No digraphs in this version"
+msgstr "E196: Bu sürümde ikili harfler bulunmamaktadır"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: %s rengi ayrılamıyor"
+
+msgid "E464: Ambiguous use of user-defined command"
+msgstr "E464: Kullanıcı tanımlı komutun belirsiz kullanımı"
+
+msgid "E476: Invalid command"
+msgstr "E476: Geçersiz komut"
+
+#, c-format
+msgid "E476: Invalid command: %s"
+msgstr "E476: Geçersiz komut: %s"
+
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Bir Funcref dizinlenemiyor"
+
+msgid "E710: List value has more items than targets"
+msgstr "E710: Liste değeri hedeften daha fazla ögeye sahip"
+
+msgid "E711: List value does not have enough items"
+msgstr "E711: Liste değeri yeterli ögeye sahip değil"
+
+msgid "E719: Cannot slice a Dictionary"
+msgstr "E719: Bir Sözlük dilimlenemiyor"
+
+msgid "E741: Value is locked"
+msgstr "E741: Değer kilitli"
+
+#, c-format
+msgid "E741: Value is locked: %s"
+msgstr "E741: Değer kilitli: %s"
+
+msgid "E742: Cannot change value"
+msgstr "E742: Değer değiştirilemiyor"
+
+#, c-format
+msgid "E742: Cannot change value of %s"
+msgstr "E742: %s ögesinin değeri değiştirilemiyor"
+
+msgid "E794: Cannot set variable in the sandbox"
+msgstr "E794: Değişken kum havuzunda ayarlanamıyor"
+
+#, c-format
+msgid "E794: Cannot set variable in the sandbox: \"%s\""
+msgstr "E794: Değişken kum havuzunda ayarlanamıyor: \"%s\""
+
+msgid "E795: Cannot delete variable"
+msgstr "E795: Değişken silinemiyor"
+
+#, c-format
+msgid "E795: Cannot delete variable %s"
+msgstr "E795: %s değişkeni silinemiyor"
+
+msgid "E834: Conflicts with value of 'listchars'"
+msgstr "E834: 'listchars' değeriyle çakışmalar var"
+
+msgid "E835: Conflicts with value of 'fillchars'"
+msgstr "E835: 'fillchars' değeriyle çakışmalar var"
+
+msgid ""
+"E856: \"assert_fails()\" second argument must be a string or a list with one "
+"or two strings"
+msgstr ""
+"E856: \"assert_fails()\" ikinci argüman bir dizi veya bir veya iki dizili "
+"bir liste olmalıdır"
+
+#, c-format
+msgid "E908: using an invalid value as a String: %s"
+msgstr "E908: Geçersiz bir değer bir Dizi yerine kullanılıyor: %s"
+
+msgid "E909: Cannot index a special variable"
+msgstr "E909: Özel bir değişken dizinlenemiyor"
+
+#, c-format
+msgid "E1100: Command not supported in Vim9 script (missing :var?): %s"
+msgstr "E1100: Komut Vim9 betiğinde desteklenmiyor (:var? eksik): %s"
+
+#, c-format
+msgid "E1001: Variable not found: %s"
+msgstr "E1001: Değişken bulunamadı: %s"
+
+#, c-format
+msgid "E1002: Syntax error at %s"
+msgstr "E1002: %s konumunda sözdizim hatası"
+
+msgid "E1003: Missing return value"
+msgstr "E1003: Dönüş değeri eksik"
+
+#, c-format
+msgid "E1004: White space required before and after '%s' at \"%s\""
+msgstr ""
+"E1004: Şu konumda '%s' öncesinde ve sonrasında boşluk gerekiyor: \"%s\""
+
+msgid "E1005: Too many argument types"
+msgstr "E1005: Çok fazla argüman türü"
+
+#, c-format
+msgid "E1006: %s is used as an argument"
+msgstr "E1006: %s, bir argüman olarak kullanılıyor"
+
+msgid "E1007: Mandatory argument after optional argument"
+msgstr "E1007: İsteğe bağlı argüman sonrasında zorunlu argüman"
+
+msgid "E1008: Missing <type>"
+msgstr "E1008: <tür> eksik"
+
+msgid "E1009: Missing > after type"
+msgstr "E1009: Tür sonrasında > eksik"
+
+#, c-format
+msgid "E1010: Type not recognized: %s"
+msgstr "E1010: Tür tanımlanamadı: %s"
+
+#, c-format
+msgid "E1011: Name too long: %s"
+msgstr "E1011: Ad çok uzun: %s"
+
+#, c-format
+msgid "E1012: Type mismatch; expected %s but got %s"
+msgstr "E1012: Tür uyumsuzluğu, %s bekleniyordu; ancak %s alındı"
+
+#, c-format
+msgid "E1012: Type mismatch; expected %s but got %s in %s"
+msgstr "E1012: Tür uyumsuzluğu, %s bekleniyordu; ancak %s alındı (%s içinde)"
+
+#, c-format
+msgid "E1013: Argument %d: type mismatch, expected %s but got %s"
+msgstr "E1013: %d argümanı: Tür uyumsuzluğu, %s bekleniyordu; ancak %s alındı"
+
+#, c-format
+msgid "E1013: Argument %d: type mismatch, expected %s but got %s in %s"
+msgstr "E1013: %d argümanı: Tür uyumsuzluğu, %s bekleniyordu; ancak %s alındı "
+"(%s içinde)"
+
+#, c-format
+msgid "E1014: Invalid key: %s"
+msgstr "E1014: Geçersiz anahtar: %s"
+
+#, c-format
+msgid "E1015: Name expected: %s"
+msgstr "E1015: Ad bekleniyordu: %s"
+
+#, c-format
+msgid "E1016: Cannot declare a %s variable: %s"
+msgstr "E1016: Bir %s değişkeni tanımlanamıyor: %s"
+
+#, c-format
+msgid "E1016: Cannot declare an environment variable: %s"
 msgstr "E1016: Bir ortam değişkeni tanımlanamıyor: %s"
 
 #, c-format
@@ -6812,7 +6972,7 @@ msgstr "E1028: :def işlevi derleme başarısız"
 
 #, c-format
 msgid "E1029: Expected %s but got %s"
-msgstr "E1029: %s bekleniyordu ancak %s alındı"
+msgstr "E1029: %s bekleniyordu; ancak %s alındı"
 
 #, c-format
 msgid "E1030: Using a String as a Number: \"%s\""
@@ -6870,8 +7030,9 @@ msgstr "E1045: * sonrası \"as\" eksik"
 msgid "E1046: Missing comma in import"
 msgstr "E1046: İçe aktarımda virgül eksik"
 
-msgid "E1047: Syntax error in import"
-msgstr "E1047: İçe aktarımda sözdizim hatası"
+#, c-format
+msgid "E1047: Syntax error in import: %s"
+msgstr "E1047: İçe aktarımda sözdizim hatası: %s"
 
 #, c-format
 msgid "E1048: Item not found in script: %s"
@@ -6931,6 +7092,9 @@ msgstr "E1062: Bir Sayı dizinlenemiyor"
 msgid "E1063: Type mismatch for v: variable"
 msgstr "E1063: v: değişkeni için tür uyumsuzluğu"
 
+msgid "E1064: Yank register changed while using it"
+msgstr "E1064: Kopyalama yazmacı kullanım sırasında değiştirildi"
+
 #, c-format
 msgid "E1066: Cannot declare a register: %s"
 msgstr "E1066: Bir yazmaç tanımlanamıyor: %s"
@@ -6994,8 +7158,8 @@ msgstr "E1084: Vim9 betik işlevi %s silinemiyor"
 msgid "E1085: Not a callable type: %s"
 msgstr "E1085: Çağrılabilir bir tür değil: %s"
 
-msgid "E1086: Cannot use :function inside :def"
-msgstr "E1086: :def içinde :function kullanılamaz"
+msgid "E1086: Function reference invalid"
+msgstr "E1086: İşlev başvurusu geçersiz"
 
 msgid "E1087: Cannot use an index when declaring a variable"
 msgstr "E1087: Bir değişken tanımlarken dizinleme kullanılamaz"
@@ -7012,12 +7176,9 @@ msgstr "E1090: %s argümanına atanamıyor"
 msgid "E1091: Function is not compiled: %s"
 msgstr "E1091: İşlev derlenmemiş: %s"
 
-msgid "E1092: Cannot use a list for a declaration"
-msgstr "E1092: Tanımlama için bir liste kullanılamaz"
-
 #, c-format
 msgid "E1093: Expected %d items but got %d"
-msgstr "E1093: %d öge bekleniyordu, ancak %d alındı"
+msgstr "E1093: %d öge bekleniyordu; ancak %d alındı"
 
 msgid "E1094: Import can only be used in a script"
 msgstr "E1094: İçe aktarım yalnızca bir betikte kullanılabilir"
@@ -7031,6 +7192,9 @@ msgstr "E1096: Dönüş türü olmayan bir işlevde bir değer döndürülüyor"
 msgid "E1097: Line incomplete"
 msgstr "E1097: Satır tamamlanmamış"
 
+msgid "E1098: String, List or Blob required"
+msgstr "E1098: Dizi, Liste veya İkili Nesne gerekiyor"
+
 #, c-format
 msgid "E1099: Unknown error while executing %s"
 msgstr "E1099: %s çalıştırılırken bilinmeyen hata"
@@ -7051,7 +7215,7 @@ msgstr "E1104: > eksik"
 
 #, c-format
 msgid "E1105: Cannot convert %s to string"
-msgstr "E1105: %s bir diziye dönüştürülemiyor"
+msgstr "E1105: %s, bir diziye dönüştürülemiyor"
 
 msgid "E1106: One argument too many"
 msgstr "E1106: Bir argüman fazladan"
@@ -7207,7 +7371,8 @@ msgstr "E1148: Bir %s dizinlenemiyor"
 
 #, c-format
 msgid "E1149: Script variable is invalid after reload in function %s"
-msgstr "E1149: %s işlevindeki yeniden yüklemeden sonra betik değişkeni geçersiz"
+msgstr ""
+"E1149: %s işlevindeki yeniden yüklemeden sonra betik değişkeni geçersiz"
 
 msgid "E1150: Script variable type changed"
 msgstr "E1150: Betik değişkeni türü değiştirildi"
@@ -7218,8 +7383,9 @@ msgstr "E1151: Eşleşmeyen endfunction"
 msgid "E1152: Mismatched enddef"
 msgstr "E1152: Eşleşmeyen enddef"
 
-msgid "E1153: Invalid operation for bool"
-msgstr "E1153: Boole için geçersiz işlem"
+#, c-format
+msgid "E1153: Invalid operation for %s"
+msgstr "E1153: %s için geçersiz işlem"
 
 msgid "E1154: Divide by zero"
 msgstr "E1154: Sıfır ile bölüm"
@@ -7252,7 +7418,12 @@ msgstr "E1162: Yazmaç adı tek bir karakter olmalıdır: %s"
 
 #, c-format
 msgid "E1163: Variable %d: type mismatch, expected %s but got %s"
-msgstr "E1163: %d değişkeni: Tür uyumsuzluğu, %s bekleniyordu, ancak %s alındı"
+msgstr "E1163: %d değişkeni: Tür uyumsuzluğu, %s bekleniyordu; ancak %s alındı"
+
+#, c-format
+msgid "E1163: Variable %d: type mismatch, expected %s but got %s in %s"
+msgstr "E1163: %d değişkeni: Tür uyumsuzluğu, %s bekleniyordu; ancak %s alındı "
+"(%s içinde)"
 
 msgid "E1164: vim9cmd must be followed by a command"
 msgstr "E1164: vim9cmd sonrasında bir komut gelmelidir"
@@ -7415,8 +7586,8 @@ msgstr "E1206: %d argümanı için sözlük gerekiyor"
 msgid "E1207: Expression without an effect: %s"
 msgstr "E1207: Bir efekt olmadan ifade: %s"
 
-msgid "E1208: -complete used without -nargs"
-msgstr "E1208: -complete, -nargs olmadan kullanıldı"
+msgid "E1208: -complete used without allowing arguments"
+msgstr "E1208: -complete, izin verme argümanları olmadan kullanıldı"
 
 #, c-format
 msgid "E1209: Invalid value for a line number: \"%s\""
@@ -7426,6 +7597,173 @@ msgstr "E1209: Satır numarası için geçersiz değer: \"%s\""
 msgid "E1210: Number required for argument %d"
 msgstr "E1210: %d argümanı için sayı gerekiyor"
 
+#, c-format
+msgid "E1211: List required for argument %d"
+msgstr "E1211: %d argümanı için liste gerekiyor"
+
+#, c-format
+msgid "E1212: Bool required for argument %d"
+msgstr "E1212: %d argümanı için Boole gerekiyor"
+
+#, c-format
+msgid "E1213: Redefining imported item \"%s\""
+msgstr "E1213: İçe aktarılmış öge \"%s\" yeniden tanımlanıyor"
+
+#, c-format
+msgid "E1214: Digraph must be just two characters: %s"
+msgstr "E1214: İkili harf yalnızca iki karakter olmalıdır: %s"
+
+#, c-format
+msgid "E1215: Digraph must be one character: %s"
+msgstr "E1215: İkili harf tek bir karakter olmalıdır: %s"
+
+msgid ""
+"E1216: digraph_setlist() argument must be a list of lists with two items"
+msgstr ""
+"E1216: digraph_setlist() argümanı iki ögeli listelerin bir listesi olmalıdır"
+
+#, c-format
+msgid "E1217: Channel or Job required for argument %d"
+msgstr "E1217: %d argümanı için kanal veya iş gerekiyor"
+
+#, c-format
+msgid "E1218: Job required for argument %d"
+msgstr "E1218: %d argümanı için iş gerekiyor"
+
+#, c-format
+msgid "E1219: Float or Number required for argument %d"
+msgstr "E1219: %d argümanı için kayan noktalı değer veya sayı gerekiyor"
+
+#, c-format
+msgid "E1220: String or Number required for argument %d"
+msgstr "E1220: %d argümanı için dizi veya sayı gerekiyor"
+
+#, c-format
+msgid "E1221: String or Blob required for argument %d"
+msgstr "E1221: %d argümanı için dizi veya ikili geniş nesne gerekiyor"
+
+#, c-format
+msgid "E1222: String or List required for argument %d"
+msgstr "E1222: %d argümanı için dizi veya liste gerekiyor"
+
+#, c-format
+msgid "E1223: String or Dictionary required for argument %d"
+msgstr "E1223: %d argümanı için dizi veya sözlük gerekiyor"
+
+#, c-format
+msgid "E1224: String, Number or List required for argument %d"
+msgstr "E1224: %d argümanı için dizi, sayı veya liste gerekiyor"
+
+#, c-format
+msgid "E1225: String, List or Dictionary required for argument %d"
+msgstr "E1225: %d argümanı için dizi, liste veya sözlük gerekiyor"
+
+#, c-format
+msgid "E1226: List or Blob required for argument %d"
+msgstr "E1226: %d argümanı için liste veya ikili geniş nesne gerekiyor"
+
+#, c-format
+msgid "E1227: List or Dictionary required for argument %d"
+msgstr "E1227: %d argümanı için liste veya sözlük gerekiyor"
+
+#, c-format
+msgid "E1228: List, Dictionary or Blob required for argument %d"
+msgstr "E1228: %d argümanı için liste, sözlük veya ikili geniş nesne gerekiyor"
+
+#, c-format
+msgid "E1229: Expected dictionary for using key \"%s\", but got %s"
+msgstr "E1229: \"%s\" anahtarını kullanmak için sözlük bekleniyordu; ancak %s "
+"alındı"
+
+msgid "E1230: Encryption: sodium_mlock() failed"
+msgstr "E1230: Şifreleme: sodium_mlock() başarısız"
+
+#, c-format
+msgid "E1231: Cannot use a bar to separate commands here: %s"
+msgstr "E1231: Burada komutları ayırmak için bir çubuk kullanılamaz: %s"
+
+msgid "E1232: Argument of exists_compiled() must be a literal string"
+msgstr "E1232: exists_compiled() argümanı düz bir dizi olmalıdır"
+
+msgid "E1233: exists_compiled() can only be used in a :def function"
+msgstr "E1233: exists_compiled() yalnızca bir :def işlevinde kullanılabilir"
+
+msgid "E1234: legacy must be followed by a command"
+msgstr "E1234: legacy sonrasında bir komut gelmelidir"
+
+msgid "E1235: Function reference is not set"
+msgstr "E1235: İşlev başvurusu ayarlanmamış"
+
+#, c-format
+msgid "E1236: Cannot use %s itself, it is imported with '*'"
+msgstr "E1236: %s kendisi kullanılamaz, '*' ile içe aktarılmış"
+
+#, c-format
+msgid "E1237: No such user-defined command in current buffer: %s"
+msgstr "E1237: Geçerli arabellekte böyle bir kullanıcı tanımlı komut yok: %s"
+
+#, c-format
+msgid "E1238: Blob required for argument %d"
+msgstr "E1238: %d argümanı için ikili geniş nesne gerekiyor"
+
+#, c-format
+msgid "E1239: Invalid value for blob: %d"
+msgstr "E1239: İkili geniş nesne için geçersiz değer: %d"
+
+msgid "E1240: Resulting text too long"
+msgstr "E1240: Ortaya çıkan metin pek uzun"
+
+#, c-format
+msgid "E1241: Separator not supported: %s"
+msgstr "E1241: Ayırıcı desteklenmiyor: %s"
+
+#, c-format
+msgid "E1242: No white space allowed before separator: %s"
+msgstr "E1242: Ayırıcıdan önce boşluğa izin verilmiyor: %s"
+
+msgid "E1243: ASCII code not in 32-127 range"
+msgstr "E1243: ASCII kodu 32-127 eriminde değil"
+
+#, c-format
+msgid "E1244: Bad color string: %s"
+msgstr "E1244: Hatalı renk dizisi: %s"
+
+msgid "E1245: Cannot expand <sfile> in a Vim9 function"
+msgstr "E1245: <sfile>, bir Vim9 işlevinde genişletilemiyor"
+
+#, c-format
+msgid "E1246: Cannot find variable to (un)lock: %s"
+msgstr "E1246: Kilitlenecek/açılacak değişken bulunamıyor: %s"
+
+msgid "E1247: Line number out of range"
+msgstr "E1247: Satır numarası erim dışında"
+
+msgid "E1248: Closure called from invalid context"
+msgstr "E1248: Kapatma, geçersiz bağlamdan çağrıldı"
+
+msgid "E1249: Highlight group name too long"
+msgstr "E1249: Vurgulama grubu adı pek uzun"
+
+#, c-format
+msgid "E1250: Argument of %s must be a List, String, Dictionary or Blob"
+msgstr "E1250: %s argümanı bir liste, sözlük veya ikili geniş nesne olmalıdır"
+
+#, c-format
+msgid "E1251: List, Dictionary, Blob or String required for argument %d"
+msgstr ""
+"E1251: %d argümanı için liste, sözlük, ikili geniş nesne veya dizi gerekiyor"
+
+#, c-format
+msgid "E1252: String, List or Blob required for argument %d"
+msgstr "E1252: %d argümanı için dizi, liste veya ikili geniş nesne gerekiyor"
+
+#, c-format
+msgid "E1253: String expected for argument %d"
+msgstr "E1253: %d argümanı için dizi gerekiyor"
+
+msgid "E1254: Cannot use script variable in for loop"
+msgstr "E1254: for döngüsünde betik değişkeni kullanılamaz"
+
 msgid "--No lines in buffer--"
 msgstr "--Arabellek içinde satır yok--"
 
@@ -7519,6 +7857,10 @@ msgstr "E364: \"%s()\" için kitaplık çağrısı başarısız oldu"
 msgid "E667: Fsync failed"
 msgstr "E667: Fsync başarısız oldu"
 
+#, c-format
+msgid "E370: Could not load library %s: %s"
+msgstr "E370: %s kitaplığı yüklenemedi: %s"
+
 #, c-format
 msgid "E448: Could not load library function %s"
 msgstr "E448: %s kitaplık işlevi yüklenemedi"
@@ -7526,31 +7868,9 @@ msgstr "E448: %s kitaplık işlevi yüklenemedi"
 msgid "E477: No ! allowed"
 msgstr "E477: ! imine izin verilmiyor"
 
-msgid "E25: GUI cannot be used: Not enabled at compile time"
-msgstr "E25: Grafik arabirim kullanılamaz: Derlenirken etkinleştirilmemiş"
-
-msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
-msgstr "E26: İbranca kullanılamaz: Derlenirken etkinleştirilmemiş\n"
-
-msgid "E27: Farsi support has been removed\n"
-msgstr "E27: Farsça desteği kaldırıldı\n"
-
 msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
 msgstr "E800: Arapça kullanılamaz: Derlenirken etkinleştirilmemiş\n"
 
-#, c-format
-msgid "E28: No such highlight group name: %s"
-msgstr "E28: Böyle bir vurgulama grup adı yok: %s"
-
-msgid "E29: No inserted text yet"
-msgstr "E29: Henüz bir metin eklenmedi"
-
-msgid "E30: No previous command line"
-msgstr "E30: Öncesinde komut satırı yok"
-
-msgid "E31: No such mapping"
-msgstr "E31: Böyle bir eşlem yok"
-
 msgid "E479: No match"
 msgstr "E479: Eşleşme yok"
 
@@ -7558,24 +7878,9 @@ msgstr "E479: Eşleşme yok"
 msgid "E480: No match: %s"
 msgstr "E480: Eşleşme yok: %s"
 
-msgid "E32: No file name"
-msgstr "E32: Dosya adı yok"
-
-msgid "E33: No previous substitute regular expression"
-msgstr "E33: Öncesinde yerine geçen bir düzenli ifade yok"
-
-msgid "E34: No previous command"
-msgstr "E34: Öncesinde komut yok"
-
-msgid "E35: No previous regular expression"
-msgstr "E35: Öncesinde düzenli ifade yok"
-
 msgid "E481: No range allowed"
 msgstr "E481: Erime izin verilmiyor"
 
-msgid "E36: Not enough room"
-msgstr "E36: Yeterli alan yok"
-
 #, c-format
 msgid "E247: no registered server named \"%s\""
 msgstr "E247: \"%s\" adlı kayıtlı bir sunucu yok"
@@ -7595,22 +7900,9 @@ msgstr "E484: %s dosyası açılamıyor"
 msgid "E485: Can't read file %s"
 msgstr "E485: %s dosyası okunamıyor"
 
-msgid "E38: Null argument"
-msgstr "E38: Anlamsız argüman"
-
-msgid "E39: Number expected"
-msgstr "E39: Sayı bekleniyordu"
-
-#, c-format
-msgid "E40: Can't open errorfile %s"
-msgstr "E40: Hata dosyası %s açılamıyor"
-
 msgid "E233: cannot open display"
 msgstr "E233: Görüntü açılamıyor"
 
-msgid "E41: Out of memory!"
-msgstr "E41: Bellek yetersiz!"
-
 msgid "Pattern not found"
 msgstr "Dizgi bulunamadı"
 
@@ -7624,21 +7916,9 @@ msgstr "E487: Değişken pozitif olmalı"
 msgid "E459: Cannot go back to previous directory"
 msgstr "E459: Bir önceki dizine gidilemiyor"
 
-msgid "E42: No Errors"
-msgstr "E42: Hata yok"
-
 msgid "E776: No location list"
 msgstr "E776: Konum listesi yok"
 
-msgid "E43: Damaged match string"
-msgstr "E43: Hasarlı eşleşme dizisi"
-
-msgid "E44: Corrupted regexp program"
-msgstr "E44: Bozulmuş regexp programı"
-
-msgid "E45: 'readonly' option is set (add ! to override)"
-msgstr "E45: 'readonly' seçeneği ayarlanmış (geçersiz kılmak için ! ekleyin)"
-
 #, c-format
 msgid "E734: Wrong variable type for %s="
 msgstr "E734: %s= için yanlış değişken türü"
@@ -7650,20 +7930,15 @@ msgstr "E461: İzin verilmeyen değişken adı: %s"
 msgid "E995: Cannot modify existing variable"
 msgstr "E995: Mevcut değişken değiştirilemiyor"
 
-#, c-format
-msgid "E46: Cannot change read-only variable \"%s\""
-msgstr "E46: Salt okunur değişken \"%s\" değiştirilemiyor"
-
-#, c-format
-msgid "E794: Cannot set variable in the sandbox: \"%s\""
-msgstr "E794: Değişken kum havuzunda ayarlanamıyor: \"%s\""
-
 msgid "E928: String required"
 msgstr "E928: Dizi gerekiyor"
 
 msgid "E889: Number required"
 msgstr "E889: Sayı gerekiyor"
 
+msgid "E839: Bool required"
+msgstr "E839: Boole gerekiyor"
+
 msgid "E713: Cannot use empty key for Dictionary"
 msgstr "E713: Sözlük için boş anahtar kullanılamaz"
 
@@ -7681,14 +7956,6 @@ msgstr "E979: İkili geniş nesne sırası erimin dışında: %ld"
 msgid "E978: Invalid operation for Blob"
 msgstr "E978: İkili geniş nesne için geçersiz işlem"
 
-#, c-format
-msgid "E118: Too many arguments for function: %s"
-msgstr "E118: İşlev için çok fazla argüman: %s"
-
-#, c-format
-msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: Şu işlev için yetersiz sayıda argüman: %s"
-
 #, c-format
 msgid "E933: Function was deleted: %s"
 msgstr "E933: İşlev silinmiş: %s"
@@ -7721,10 +7988,6 @@ msgstr "E804: Bir kayan noktalı değer ile '%' kullanılamaz"
 msgid "E996: Cannot lock an option"
 msgstr "E996: Seçenek kilitlenemiyor"
 
-#, c-format
-msgid "E113: Unknown option: %s"
-msgstr "E113: Bilinmeyen seçenek: %s"
-
 #, c-format
 msgid "E998: Reduce of an empty %s with no initial value"
 msgstr "E998: Başlangıç değeri olmayan boş bir %s için reduce() yapılamıyor"
@@ -7733,12 +7996,6 @@ msgstr "E998: Başlangıç değeri olmayan boş bir %s için reduce() yapılamı
 msgid "E857: Dictionary key \"%s\" required"
 msgstr "E857: Sözlük anahtarı \"%s\" gerekiyor"
 
-msgid "E47: Error while reading errorfile"
-msgstr "E47: Hata dosyası okunurken hata"
-
-msgid "E48: Not allowed in sandbox"
-msgstr "E48: Kum havuzunda izin verilmiyor"
-
 msgid "E523: Not allowed here"
 msgstr "E523: Burada izin verilmiyor"
 
@@ -7751,33 +8008,9 @@ msgstr "E565: Pencere veya metin değişikliğine izin verilmiyor"
 msgid "E359: Screen mode setting not supported"
 msgstr "E359: Ekran kipi ayarı desteklenmiyor"
 
-msgid "E49: Invalid scroll size"
-msgstr "E49: Geçersiz kaydırma boyutu"
-
-msgid "E91: 'shell' option is empty"
-msgstr "E91: 'shell' seçeneği boş"
-
 msgid "E255: Couldn't read in sign data!"
 msgstr "E255: İşaret verisi okunamadı!"
 
-msgid "E72: Close error on swap file"
-msgstr "E72: Takas dosyasında kapama hatası"
-
-msgid "E73: tag stack empty"
-msgstr "E73: Etiket yığını boş"
-
-msgid "E74: Command too complex"
-msgstr "E74: Komut çok karmaşık"
-
-msgid "E75: Name too long"
-msgstr "E75: Ad çok uzun"
-
-msgid "E76: Too many ["
-msgstr "E76: Çok fazla ["
-
-msgid "E77: Too many file names"
-msgstr "E77: Çok fazla dosya adı"
-
 msgid "E488: Trailing characters"
 msgstr "E488: Sonda fazladan karakterler"
 
@@ -7785,34 +8018,15 @@ msgstr "E488: Sonda fazladan karakterler"
 msgid "E488: Trailing characters: %s"
 msgstr "E488: Sonda fazladan karakterler: %s"
 
-msgid "E78: Unknown mark"
-msgstr "E78: Bilinmeyen im"
-
-msgid "E79: Cannot expand wildcards"
-msgstr "E79: Joker karakterleri genişletilemiyor"
-
 msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
 msgstr "E591: 'winheight' değeri 'winminheight' değerinden küçük olamaz"
 
 msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
 msgstr "E592: 'winwidth' değeri 'winminwidth' değerinden küçük olamaz"
 
-msgid "E80: Error while writing"
-msgstr "E80: Yazma sırasında hata"
-
 msgid "E939: Positive count required"
 msgstr "E939: Pozitif sayım gerekiyor"
 
-msgid "E81: Using <SID> not in a script context"
-msgstr "E81: <SID> bir betik bağlamında kullanılmıyor"
-
-#, c-format
-msgid "E107: Missing parentheses: %s"
-msgstr "E107: Ayraç eksik: %s"
-
-msgid "E110: Missing ')'"
-msgstr "E110: ')' eksik"
-
 #, c-format
 msgid "E720: Missing colon in Dictionary: %s"
 msgstr "E720: Sözlükte iki nokta eksik: %s"
@@ -7836,7 +8050,7 @@ msgid "E463: Region is guarded, cannot modify"
 msgstr "E463: Bölge korunuyor, değiştirilemez"
 
 msgid "E744: NetBeans does not allow changes in read-only files"
-msgstr "E744: NetBeans salt okunur dosyalarda değişikliklere izin vermiyor"
+msgstr "E744: NetBeans saltokunur dosyalarda değişikliklere izin vermiyor"
 
 msgid "E363: pattern uses more memory than 'maxmempattern'"
 msgstr "E363: Dizgi 'maxmempattern' ögesinden daha fazla bellek kullanıyor"
@@ -7844,10 +8058,6 @@ msgstr "E363: Dizgi 'maxmempattern' ögesinden daha fazla bellek kullanıyor"
 msgid "E749: empty buffer"
 msgstr "E749: Boş arabellek"
 
-#, c-format
-msgid "E86: Buffer %ld does not exist"
-msgstr "E86: Arabellek %ld mevcut değil"
-
 msgid "E682: Invalid search pattern or delimiter"
 msgstr "E682: Geçersiz arama dizgisi veya sınırlandırıcısı"
 
@@ -7884,19 +8094,9 @@ msgstr "E957: Geçersiz pencere numarası"
 msgid "E686: Argument of %s must be a List"
 msgstr "E686: %s argümanı bir liste olmalı"
 
-msgid "E109: Missing ':' after '?'"
-msgstr "E109: '?' sonrası ':' eksik"
-
 msgid "E690: Missing \"in\" after :for"
 msgstr "E690: :for sonrası \"in\" eksik"
 
-#, c-format
-msgid "E117: Unknown function: %s"
-msgstr "E117: Bilinmeyen işlev: %s"
-
-msgid "E111: Missing ']'"
-msgstr "E111: ']' eksik"
-
 msgid "E581: :else without :if"
 msgstr "E581: :if olmadan :else"
 
@@ -7919,9 +8119,11 @@ msgstr "E274: Ayraçtan önce boşluğa izin verilmiyor"
 msgid "E940: Cannot lock or unlock variable %s"
 msgstr "E940: Değişken %s kilitlenemiyor veya açılamıyor"
 
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: %s rengi ayrılamıyor"
+msgid "E706: Channel or Job required"
+msgstr "E706: Kanal veya iş gerekiyor"
+
+msgid "E693: Job required"
+msgstr "E693: İş gerekiyor"
 
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "Arama dosyanın BAŞINI geçti, dosyanın SONUNDAN sürüyor"
@@ -8008,7 +8210,7 @@ msgstr ""
 "geldi"
 
 msgid "internal error: imp.find_module returned tuple with NULL"
-msgstr "iç hata: imp.find_module BOŞ bir çoklu öge döndürdü"
+msgstr "içsel hata: imp.find_module BOŞ bir çoklu öge döndürdü"
 
 msgid "cannot delete vim.Dictionary attributes"
 msgstr "vim.Dictionary öznitelikleri silinemiyor"
@@ -8025,7 +8227,7 @@ msgstr "Sağlama tablosu dürüm sırasında değişti"
 
 #, c-format
 msgid "expected sequence element of size 2, but got sequence of size %d"
-msgstr "2 boyut bir sıralama bekleniyordu, ancak %d boyut bir sıralama geldi"
+msgstr "2 boyut bir sıralama bekleniyordu; ancak %d boyut bir sıralama geldi"
 
 msgid "list constructor does not accept keyword arguments"
 msgstr "liste yapıcısı anahtar sözcük argümanları kabul etmez"
@@ -8035,7 +8237,7 @@ msgstr "liste sırası erimin dışında"
 
 #, c-format
 msgid "internal error: failed to get Vim list item %d"
-msgstr "iç hata: %d vim liste ögesi alınamadı"
+msgstr "içsel hata: %d vim liste ögesi alınamadı"
 
 msgid "slice step cannot be zero"
 msgstr "dilim adımı sıfır olamaz"
@@ -8046,13 +8248,13 @@ msgstr "genişletilmiş dilime %d boyuttan büyük bir sıralamayı atama deneme
 
 #, c-format
 msgid "internal error: no Vim list item %d"
-msgstr "iç hata: %d vim liste ögesi yok"
+msgstr "içsel hata: %d vim liste ögesi yok"
 
 msgid "internal error: not enough list items"
-msgstr "iç hata: yeterli liste ögesi yok"
+msgstr "içsel hata: Yeterli liste ögesi yok"
 
 msgid "internal error: failed to add item to list"
-msgstr "iç hata: öge listeye eklenemedi"
+msgstr "içsel hata: Öge listeye eklenemedi"
 
 #, c-format
 msgid "attempt to assign sequence of size %d to extended slice of size %d"
@@ -8083,7 +8285,7 @@ msgid "unable to get option value"
 msgstr "seçenek değeri alınamadı"
 
 msgid "internal error: unknown option type"
-msgstr "iç hata: bilinmeyen seçenek türü"
+msgstr "içsel hata: Bilinmeyen seçenek türü"
 
 msgid "problem while switching windows"
 msgstr "pencereler arasında gezinirken hata"
@@ -8170,10 +8372,10 @@ msgid "unable to convert %s to a Vim structure"
 msgstr "%s vim yapısına dönüştürülemedi"
 
 msgid "internal error: NULL reference passed"
-msgstr "iç hata: BOŞ başvuru geçirildi"
+msgstr "içsel hata: NULL başvuru geçirildi"
 
 msgid "internal error: invalid value type"
-msgstr "iç hata: geçersiz değer türü"
+msgstr "içsel hata: Geçersiz değer türü"
 
 msgid ""
 "Failed to set path hook: sys.path_hooks is not a list\n"
@@ -8341,6 +8543,9 @@ msgstr "bölümleri ayıran nroff makro adları"
 msgid "list of directory names used for file searching"
 msgstr "dosya arama için kullanılan dizin adları listesi"
 
+msgid ":cd without argument goes to the home directory"
+msgstr "argüman olmadan :cd, ev dizinine gider"
+
 msgid "list of directory names used for :cd"
 msgstr ":cd için kullanılan dizin adları listesi"
 
@@ -8703,11 +8908,14 @@ msgid "alias for 'term'"
 msgstr "'term' için arma"
 
 msgid "check built-in termcaps first"
-msgstr "önce iç termcaps'i denetle"
+msgstr "önce içsel termcaps'i denetle"
 
 msgid "terminal connection is fast"
 msgstr "uçbirim bağlantısı hızlı"
 
+msgid "request terminal key codes when an xterm is detected"
+msgstr "bir xterm algılandığında uçbirim düğme kodlarını iste"
+
 msgid "terminal that requires extra redrawing"
 msgstr "ek yenileme gerektiren uçbirim"
 
@@ -8802,11 +9010,14 @@ msgstr "araç çubuğu simgelerinin boyutu"
 msgid "room (in pixels) left above/below the window"
 msgstr "pencerenin altında/üstünde bırakılan alan (piksel)"
 
+msgid "list of ASCII characters that can be combined into complex shapes"
+msgstr "karmaşık şekillere dönüştürülebilen ASCII karakterlerinin listesi"
+
 msgid "options for text rendering"
 msgstr "metin dokuması için seçenekler"
 
 msgid "use a pseudo-tty for I/O to external commands"
-msgstr "dış komutlara, girdi çıktı için yalancı-tty kullan"
+msgstr "dış komutlara girdi-çıktı için yalancı-tty kullan"
 
 msgid ""
 "\"last\", \"buffer\" or \"current\": which directory used for the file "
@@ -9017,8 +9228,11 @@ msgstr ""
 "anahtar sözcük tamamlaması için eşanlamlılar sözlüğü dosyaları\n"
 "listesi"
 
+msgid "function used for thesaurus completion"
+msgstr "eşanlamlılar tamamlaması için kullanılan işlev"
+
 msgid "adjust case of a keyword completion match"
-msgstr "anahtar sözcük tamamlama eşleşmesinin BÜYÜK/küçük harfini ayarla"
+msgstr "anahtar sözcük tamamlama eşleşmesi BÜYÜK/küçük harf ayarla"
 
 msgid "enable entering digraphs with c1 <BS> c2"
 msgstr "c1 <BS> c2 ile ikili harflerin girilmesini etkinleştir"
@@ -9259,7 +9473,7 @@ msgid "automatically write a file when leaving a modified buffer"
 msgstr "değiştirilmiş arabellekten çıkarken dosyayı kendiliğinden yaz"
 
 msgid "as 'autowrite', but works with more commands"
-msgstr "'autowrite' gibi, ancak daha çok komutla çalışır"
+msgstr "'autowrite' gibi; ancak daha çok komutla çalışır"
 
 msgid "always write without asking for confirmation"
 msgstr "onay beklemeden her zaman yaz"
@@ -9473,13 +9687,13 @@ msgid "use phonetic Hebrew keyboard mapping"
 msgstr "fonetik İbranca klavye eşlemlemesini kullan"
 
 msgid "prepare for editing Arabic text"
-msgstr "Arapça metni düzenleme için hazırlan"
+msgstr "Arapça metin düzenleme için hazırlan"
 
 msgid "perform shaping of Arabic characters"
 msgstr "Arapça karakterlerin şekillendirmesini gerçekleştir"
 
 msgid "terminal will perform bidi handling"
-msgstr "sağdan sola yazımı uçbirim gerçekleştirecek"
+msgstr "sağdan sola yazım yönetimini uçbirim gerçekleştirecek"
 
 msgid "name of a keyboard mapping"
 msgstr "bir klavye eşlemlemesinin adı"