summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-12-27 21:33:07 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-27 21:33:07 +0000
commita4d131d11052cafcc5baad2273ef48e0dd4d09c5 (patch)
treeba27f9a8488e23c5fbf95ed42496d39d4ec980e9 /runtime
parent1cae5a0a034d0545360387407a7a409310f1efe2 (diff)
downloadvim-git-a4d131d11052cafcc5baad2273ef48e0dd4d09c5.tar.gz
Update runtime files
Diffstat (limited to 'runtime')
-rw-r--r--runtime/autoload/ccomplete.vim909
-rw-r--r--runtime/doc/change.txt8
-rw-r--r--runtime/doc/cmdline.txt11
-rw-r--r--runtime/doc/editing.txt5
-rw-r--r--runtime/doc/fold.txt2
-rw-r--r--runtime/doc/help.txt2
-rw-r--r--runtime/doc/insert.txt8
-rw-r--r--runtime/doc/map.txt4
-rw-r--r--runtime/doc/motion.txt5
-rw-r--r--runtime/doc/options.txt2
-rw-r--r--runtime/doc/remote.txt2
-rw-r--r--runtime/doc/repeat.txt5
-rw-r--r--runtime/doc/tags1018
-rw-r--r--runtime/doc/todo.txt35
-rw-r--r--runtime/filetype.vim2
15 files changed, 1046 insertions, 972 deletions
diff --git a/runtime/autoload/ccomplete.vim b/runtime/autoload/ccomplete.vim
index 95a20e16b..d8675faf6 100644
--- a/runtime/autoload/ccomplete.vim
+++ b/runtime/autoload/ccomplete.vim
@@ -1,482 +1,523 @@
-" 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
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 31843eea5..c877ddb07 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -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
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 1dc3ebe5d..1d812207b 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -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 ','.
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index fc4080cd8..d6161b11a 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -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]
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index cac76bad9..9fd7f968c 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -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.
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 13d6c8a59..b9a0600ea 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -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
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 230afb1ed..5d25847aa 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -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
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index b8806d2ca..479f447e5 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -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.
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 4412d56d1..36a7309a3 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -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.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index e8773d927..1967167b1 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -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
diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt
index 02b675a74..83fc193d1 100644
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -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
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 049fabb30..25f375e6f 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -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
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 9b5fe38c1..c2db4e6bb 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -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*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index bd97d3a2b..7c99a65cd 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -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.
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index b9459f35f..84c5f4a61 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2021 Dec 22
+" Last Change: 2021 Dec 27
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")